summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorphintuka <phintuka>2010-12-15 14:52:57 +0000
committerphintuka <phintuka>2010-12-15 14:52:57 +0000
commitce296fb78ef3fdddf85b0b9e358068c0d54fd6f1 (patch)
tree3f50e6b34e5cb6d59ca76a9cfc0d162be7e309f0
parentb6321014b4e845fb172e24c2dd65d7d4569cfb8a (diff)
downloadxineliboutput-ce296fb78ef3fdddf85b0b9e358068c0d54fd6f1.tar.gz
xineliboutput-ce296fb78ef3fdddf85b0b9e358068c0d54fd6f1.tar.bz2
Handle BD_EVENT_STILL (pause/resume playback)
-rw-r--r--xine/BluRay/input_bluray.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/xine/BluRay/input_bluray.c b/xine/BluRay/input_bluray.c
index a51bc43a..394b2509 100644
--- a/xine/BluRay/input_bluray.c
+++ b/xine/BluRay/input_bluray.c
@@ -346,7 +346,14 @@ static void handle_libbluray_event(bluray_input_plugin_t *this, BD_EVENT ev)
break;
case BD_EVENT_STILL:
- LOGMSG("BD_EVENT_STILL %d\n", ev.param);
+ lprintf("BD_EVENT_STILL %d\n", ev.param);
+ int paused = _x_get_fine_speed(this->stream) == XINE_SPEED_PAUSE;
+ if (paused && !ev.param) {
+ _x_set_fine_speed(this->stream, XINE_FINE_SPEED_NORMAL);
+ }
+ if (!paused && ev.param) {
+ _x_set_fine_speed(this->stream, XINE_SPEED_PAUSE);
+ }
break;
/* playback position */