From eec791a37fd9d58d3b6f283f7b606047b4a32dba Mon Sep 17 00:00:00 2001 From: Vineeth T M Date: Fri, 19 Jun 2015 19:51:25 +0900 Subject: [PATCH] tools: gst-play: fix seeking issue For positive seeking segment.stop value will be -1, when we change rate to -1, then the stop value will be udpated with the current position. And then again if we change rate to 1, the segment.stop value does not get updated and remains as position where we last changed rate to -1. Hence playback stops at that point. In case of positive rates, call gst_element_new_seek with correct values https://bugzilla.gnome.org/show_bug.cgi?id=751213 --- tools/gst-play.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/gst-play.c b/tools/gst-play.c index a6ea68b7ea..8b299a0158 100644 --- a/tools/gst-play.c +++ b/tools/gst-play.c @@ -801,11 +801,11 @@ play_do_seek (GstPlay * play, gint64 pos, gdouble rate, GstPlayTrickMode mode) break; } - if (rate > 0) + if (rate >= 0) seek = gst_event_new_seek (rate, GST_FORMAT_TIME, - seek_flags | GST_SEEK_FLAG_KEY_UNIT, + seek_flags | GST_SEEK_FLAG_ACCURATE, /* start */ GST_SEEK_TYPE_SET, pos, - /* stop */ GST_SEEK_TYPE_NONE, 0); + /* stop */ GST_SEEK_TYPE_SET, GST_CLOCK_TIME_NONE); else seek = gst_event_new_seek (rate, GST_FORMAT_TIME, seek_flags | GST_SEEK_FLAG_ACCURATE,