tsdemux: First send SEEKING queries upstream

This commit is contained in:
Sebastian Dröge 2011-08-23 09:40:16 +02:00
parent ca0df16d52
commit a27b7b6712

View file

@ -407,9 +407,17 @@ gst_ts_demux_srcpad_query (GstPad * pad, GstQuery * query)
GST_DEBUG ("query seeking"); GST_DEBUG ("query seeking");
gst_query_parse_seeking (query, &format, NULL, NULL, NULL); gst_query_parse_seeking (query, &format, NULL, NULL, NULL);
if (format == GST_FORMAT_TIME) { if (format == GST_FORMAT_TIME) {
gst_query_set_seeking (query, GST_FORMAT_TIME, gboolean seekable = FALSE;
demux->parent.mode != BASE_MODE_PUSHING, 0,
demux->segment.duration); if (gst_pad_peer_query (pad, query))
gst_query_parse_seeking (query, NULL, &seekable, NULL, NULL);
/* If upstream is not seekable in TIME format we use
* our own values here */
if (!seekable)
gst_query_set_seeking (query, GST_FORMAT_TIME,
demux->parent.mode != BASE_MODE_PUSHING, 0,
demux->segment.duration);
} else { } else {
GST_DEBUG_OBJECT (demux, "only TIME is supported for query seeking"); GST_DEBUG_OBJECT (demux, "only TIME is supported for query seeking");
res = FALSE; res = FALSE;