[libbluray-devel] commit: bd_read_ext(): handle (infinite time) still mode playlists (hpi1 )
git at videolan.org
git at videolan.org
Sun Nov 28 16:27:17 CET 2010
libbluray | branch: master | hpi1 <hpi1 at anonymous.org> | Sun Nov 28 17:26:24 2010 +0200| [79cd0707a12638afbf625cdef29fb06de313cd46] | committer: hpi1
bd_read_ext(): handle (infinite time) still mode playlists
> http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=79cd0707a12638afbf625cdef29fb06de313cd46
---
src/libbluray/bluray.c | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/src/libbluray/bluray.c b/src/libbluray/bluray.c
index 0e602e5..6d158f9 100644
--- a/src/libbluray/bluray.c
+++ b/src/libbluray/bluray.c
@@ -1839,6 +1839,15 @@ int bd_read_ext(BLURAY *bd, unsigned char *buf, int len, BD_EVENT *event)
int bytes = bd_read(bd, buf, len);
if (bytes == 0) {
+
+ MPLS_PI *pi = &bd->title->pl->play_item[0];
+ if (pi->still_mode == BLURAY_STILL_INFINITE) {
+ // most likely menu background ; waiting for user interaction
+ DEBUG(DBG_BLURAY, "Reached end of infinite still mode play item\n");
+ _get_event(bd, event);
+ return 0;
+ }
+
if (bd->title_type == title_hdmv) {
hdmv_vm_resume(bd->hdmv_vm);
bd->hdmv_suspended = !hdmv_vm_running(bd->hdmv_vm);
More information about the libbluray-devel
mailing list