]> git.sesse.net Git - vlc/commitdiff
bluray: Handle overlay when no data is returned
authorPetri Hintukainen <phintuka@users.sourceforge.net>
Mon, 10 Feb 2014 11:27:04 +0000 (13:27 +0200)
committerJean-Baptiste Kempf <jb@videolan.org>
Mon, 10 Feb 2014 14:48:17 +0000 (15:48 +0100)
Fixes HDMV menus with still image background and BD-J menus without background video.
Remove incorrect end of title log message.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
modules/access/bluray.c

index b6f1f96cebe6e13325af5c2fc08e6ae1b3b6634d..5d469cea79801311a302b3fb55507b3d26a08a3b 100644 (file)
@@ -1539,10 +1539,6 @@ static int blurayDemux(demux_t *p_demux)
 
         nread = bd_read(p_sys->bluray, p_block->p_buffer,
                         NB_TS_PACKETS * BD_TS_PACKET_SIZE);
-        if (nread < 0) {
-            block_Release(p_block);
-            return nread;
-        }
     } else {
         nread = bd_read_ext(p_sys->bluray, p_block->p_buffer,
                             NB_TS_PACKETS * BD_TS_PACKET_SIZE, &e);
@@ -1550,16 +1546,6 @@ static int blurayDemux(demux_t *p_demux)
             blurayHandleEvent(p_demux, &e);
             bd_get_event(p_sys->bluray, &e);
         }
-        if (nread < 0) {
-            block_Release(p_block);
-            return -1;
-        }
-        if (nread == 0) {
-            if (e.event == BD_EVENT_NONE)
-                msg_Info(p_demux, "We reached the end of a title");
-            block_Release(p_block);
-            return 1;
-        }
     }
 
     if (p_sys->current_overlay != -1) {
@@ -1578,6 +1564,13 @@ static int blurayDemux(demux_t *p_demux)
         }
     }
 
+    if (nread <= 0) {
+        block_Release(p_block);
+        if (nread < 0)
+            return -1;
+        return 1;
+    }
+
     p_block->i_buffer = nread;
 
     stream_DemuxSend(p_sys->p_parser, p_block);