[vlc-devel] [PATCH] bluray: use bd_menu_call() for Top Menu

Petri Hintukainen phintuka at gmail.com
Fri Oct 30 21:15:04 CET 2015


- bd_menu_call() uses different UO mask (this is fixed also in libbluray git).
- bd_menu_call() stores last playback position.
---
 modules/access/bluray.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/modules/access/bluray.c b/modules/access/bluray.c
index 8c9fd40..707669e 100644
--- a/modules/access/bluray.c
+++ b/modules/access/bluray.c
@@ -1422,16 +1422,19 @@ static int bluraySetTitle(demux_t *p_demux, int i_title)
     demux_sys_t *p_sys = p_demux->p_sys;
 
     if (p_sys->b_menu) {
+        int result;
         if (i_title <= 0) {
             msg_Dbg(p_demux, "Playing TopMenu Title");
+            result = bd_menu_call(p_sys->bluray, -1);
         } else if (i_title >= (int)p_sys->i_title - 1) {
             msg_Dbg(p_demux, "Playing FirstPlay Title");
-            i_title = BLURAY_TITLE_FIRST_PLAY;
+            result = bd_play_title(p_sys->bluray, BLURAY_TITLE_FIRST_PLAY);
         } else {
             msg_Dbg(p_demux, "Playing Title %i", i_title);
+            result = bd_play_title(p_sys->bluray, i_title);
         }
 
-        if (bd_play_title(p_sys->bluray, i_title) == 0) {
+        if (result == 0) {
             msg_Err(p_demux, "cannot play bd title '%d'", i_title);
             return VLC_EGENERIC;
         }
-- 
2.5.0



More information about the vlc-devel mailing list