diff options
author | Vineeth T M <vineeth.tm@samsung.com> | 2015-06-19 19:51:25 +0900 |
---|---|---|
committer | Nicolas Dufresne <nicolas.dufresne@collabora.co.uk> | 2015-06-19 10:09:24 -0400 |
commit | eec791a37fd9d58d3b6f283f7b606047b4a32dba (patch) | |
tree | 20e948c2d8f3100fd654786bb0d647db6118ce3d /tools | |
parent | 757cd8ffce3c9f8e09f074c2cc5ee1368f7c3a42 (diff) |
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
Diffstat (limited to 'tools')
-rw-r--r-- | tools/gst-play.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/tools/gst-play.c b/tools/gst-play.c index a6ea68b7e..8b299a015 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, |