qtdemux: don't respond to a position query in BYTE format with a TIME position

https://bugzilla.gnome.org/show_bug.cgi?id=729553
This commit is contained in:
Eric Trousset 2014-05-09 16:48:58 +02:00 committed by Tim-Philipp Müller
parent 9872c19491
commit bd51aa7aa8

View file

@ -737,12 +737,17 @@ gst_qtdemux_handle_src_query (GstPad * pad, GstObject * parent,
GST_LOG_OBJECT (pad, "%s query", GST_QUERY_TYPE_NAME (query)); GST_LOG_OBJECT (pad, "%s query", GST_QUERY_TYPE_NAME (query));
switch (GST_QUERY_TYPE (query)) { switch (GST_QUERY_TYPE (query)) {
case GST_QUERY_POSITION: case GST_QUERY_POSITION:{
if (GST_CLOCK_TIME_IS_VALID (qtdemux->segment.position)) { GstFormat fmt;
gst_query_parse_position (query, &fmt, NULL);
if (fmt == GST_FORMAT_TIME
&& GST_CLOCK_TIME_IS_VALID (qtdemux->segment.position)) {
gst_query_set_position (query, GST_FORMAT_TIME, gst_query_set_position (query, GST_FORMAT_TIME,
qtdemux->segment.position); qtdemux->segment.position);
res = TRUE; res = TRUE;
} }
}
break; break;
case GST_QUERY_DURATION:{ case GST_QUERY_DURATION:{
GstFormat fmt; GstFormat fmt;