diff options
author | Wonchul Lee <wonchul86.lee@lge.com> | 2014-11-14 10:55:14 +0900 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2014-11-22 17:51:01 +0000 |
commit | aa2ecf5e53837f059c79330121aa305e843dc9bb (patch) | |
tree | 14a1da44ea611108b37c5fe157c5b284d90c61c4 /gst/rawparse | |
parent | d45a2f0480799e4f14c8c38c71c9a7665ba16a9d (diff) | |
download | gstreamer-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')
-rw-r--r-- | gst/rawparse/gstrawparse.c | 5 |
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) { |