summaryrefslogtreecommitdiff
path: root/gst/rawparse/gstrawparse.c
diff options
context:
space:
mode:
authorWonchul Lee <wonchul86.lee@lge.com>2014-11-14 10:55:14 +0900
committerTim-Philipp Müller <tim@centricular.com>2014-11-22 17:51:01 +0000
commitaa2ecf5e53837f059c79330121aa305e843dc9bb (patch)
tree14a1da44ea611108b37c5fe157c5b284d90c61c4 /gst/rawparse/gstrawparse.c
parentd45a2f0480799e4f14c8c38c71c9a7665ba16a9d (diff)
downloadgstreamer-plugins-bad-aa2ecf5e53837f059c79330121aa305e843dc9bb.tar.gz
rawparse: send SEEKING query upstream first
Sometimes rawparse does not handle the seeking query properly, the rawparse should send the query upstream first. For example, upstream could support seeking in TIME format (but not in BYTE format), so the BYTE format seeking query that rawparse sends in push mode would fail. https://bugzilla.gnome.org/show_bug.cgi?id=722764
Diffstat (limited to 'gst/rawparse/gstrawparse.c')
-rw-r--r--gst/rawparse/gstrawparse.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gst/rawparse/gstrawparse.c b/gst/rawparse/gstrawparse.c
index bdb3190f8..ad2607b60 100644
--- a/gst/rawparse/gstrawparse.c
+++ b/gst/rawparse/gstrawparse.c
@@ -1007,6 +1007,11 @@ gst_raw_parse_src_query (GstPad * pad, GstObject * parent, GstQuery * query)
GstFormat fmt;
ret = TRUE;
+
+ /* try upstream first */
+ if (gst_pad_peer_query (rp->sinkpad, query))
+ break;
+
gst_query_parse_seeking (query, &fmt, NULL, NULL, NULL);
if (fmt != GST_FORMAT_TIME && fmt != GST_FORMAT_DEFAULT
&& fmt != GST_FORMAT_BYTES) {