summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorVineeth T M <vineeth.tm@samsung.com>2015-06-19 19:51:25 +0900
committerNicolas Dufresne <nicolas.dufresne@collabora.co.uk>2015-06-19 10:09:24 -0400
commiteec791a37fd9d58d3b6f283f7b606047b4a32dba (patch)
tree20e948c2d8f3100fd654786bb0d647db6118ce3d /tools
parent757cd8ffce3c9f8e09f074c2cc5ee1368f7c3a42 (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.c6
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,