summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorphintuka <phintuka>2010-12-17 13:24:04 +0000
committerphintuka <phintuka>2010-12-17 13:24:04 +0000
commitf1c252fceda0169e24803e724684eaaca7e50b19 (patch)
tree6db448ed727bc135ea600ed1b83ebb101189b368
parent2c2d3ba6eb7a441e35109bd5e9fc28bda09691ca (diff)
downloadxineliboutput-f1c252fceda0169e24803e724684eaaca7e50b19.tar.gz
xineliboutput-f1c252fceda0169e24803e724684eaaca7e50b19.tar.bz2
Allow stopping playback while browsing in menus with still image backgrounds
-rw-r--r--xine/BluRay/input_bluray.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/xine/BluRay/input_bluray.c b/xine/BluRay/input_bluray.c
index 3a7e3e87..b72c9c81 100644
--- a/xine/BluRay/input_bluray.c
+++ b/xine/BluRay/input_bluray.c
@@ -661,8 +661,14 @@ static off_t bluray_plugin_read (input_plugin_t *this_gen, char *buf, off_t len)
BD_EVENT ev;
result = bd_read_ext (this->bdh, (unsigned char *)buf, len, &ev);
handle_libbluray_event(this, ev);
- if (result == 0)
+ if (result == 0) {
handle_events(this);
+ if (ev.event == BD_EVENT_NONE) {
+ if (this->stream->demux_action_pending) {
+ break;
+ }
+ }
+ }
} while (!this->error && result == 0);
} else {
result = bd_read (this->bdh, (unsigned char *)buf, len);