summaryrefslogtreecommitdiff
path: root/gst/speed
diff options
context:
space:
mode:
authorEdward Hervey <bilboed@bilboed.com>2014-06-02 10:11:58 +0200
committerEdward Hervey <bilboed@bilboed.com>2014-06-02 10:11:58 +0200
commit16fd917632c0992349ca28cf9108e9562c493ad7 (patch)
tree9c1b33a505f61ea3d61638609bc777ba174f5682 /gst/speed
parente7a0d7d0ed5fe33b85ae5506acf19ff3ba354303 (diff)
downloadgstreamer-plugins-bad-16fd917632c0992349ca28cf9108e9562c493ad7.tar.gz
speed: make position query able to convert bytes to time
(same as 744c58d71b21475d2edd5b9334e277cfa4c53260 but for the position query) It was only querying in time, but then trying to use dead bytes to time conversion code. Coverity 1139677
Diffstat (limited to 'gst/speed')
-rw-r--r--gst/speed/gstspeed.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gst/speed/gstspeed.c b/gst/speed/gstspeed.c
index 27e41c7ca..f845fd624 100644
--- a/gst/speed/gstspeed.c
+++ b/gst/speed/gstspeed.c
@@ -275,6 +275,12 @@ speed_src_query (GstPad * pad, GstObject * parent, GstQuery * query)
gst_query_set_position (query, GST_FORMAT_TIME, -1);
if (!gst_pad_peer_query_position (filter->sinkpad, rformat, &cur)) {
+ GST_LOG_OBJECT (filter, "TIME query on peer pad failed, trying BYTES");
+ rformat = GST_FORMAT_BYTES;
+ if (!gst_pad_peer_query_position (filter->sinkpad, rformat, &cur)) {
+ GST_LOG_OBJECT (filter, "BYTES query on peer pad failed too");
+ goto error;
+ }
GST_LOG_OBJECT (filter, "query on peer pad failed");
goto error;
}