From 518f03c39b4fcdfc9e0525092208b7e561be8634 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Wed, 14 Sep 2016 18:07:55 +0200 Subject: 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). --- gst-libs/gst/player/gstplayer.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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); -- cgit v1.2.1