summaryrefslogtreecommitdiff
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-12-12 20:05:19 +0000
commit5cb7dc6e34166ae627721a893885080571856dd0 (patch)
tree67dec4d15d9d1a197549507fda18b34a3890893c
parent368dbe54ebdd9a2c9c49031abec4f1202550894e (diff)
downloadgstreamer-plugins-bad-5cb7dc6e34166ae627721a893885080571856dd0.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
-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 eff74dcbf..e8c9fec5f 100644
--- a/gst/rawparse/gstrawparse.c
+++ b/gst/rawparse/gstrawparse.c
@@ -1011,6 +1011,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) {