diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2016-09-14 18:07:55 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2016-09-30 13:43:19 +0300 |
commit | 518f03c39b4fcdfc9e0525092208b7e561be8634 (patch) | |
tree | 863edeb70bcbfebb4efcd53b029bd4197e008d25 | |
parent | f5700c4c55997a001cf30ac74e6f8f3d6ec568a1 (diff) | |
download | gstreamer-plugins-bad-518f03c39b4fcdfc9e0525092208b7e561be8634.tar.gz |
player: Don't change state to PLAYING immediately if a seek is pending
We first have to finish the seek (in PAUSED) and move to PLAYING once
the seek is actually finished (unless a new one is pending then).
-rw-r--r-- | gst-libs/gst/player/gstplayer.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gst-libs/gst/player/gstplayer.c b/gst-libs/gst/player/gstplayer.c index 871ba4312..0ff5b7816 100644 --- a/gst-libs/gst/player/gstplayer.c +++ b/gst-libs/gst/player/gstplayer.c @@ -2547,7 +2547,8 @@ gst_player_play_internal (gpointer user_data) change_state (self, GST_PLAYER_STATE_BUFFERING); if (self->current_state >= GST_STATE_PAUSED && !self->is_eos - && self->buffering >= 100) { + && self->buffering >= 100 && !(self->seek_position != GST_CLOCK_TIME_NONE + || self->seek_pending)) { state_ret = gst_element_set_state (self->playbin, GST_STATE_PLAYING); } else { state_ret = gst_element_set_state (self->playbin, GST_STATE_PAUSED); |