mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-23 10:11:08 +00:00
asfdemux: Send duration query upstream first
An upstream element (like mms or some dlna source) might be able to answer the query. Try that first, else fallback to standard logic
This commit is contained in:
parent
ccb4ae449a
commit
ec19c9b6e4
1 changed files with 14 additions and 11 deletions
|
@ -4218,21 +4218,24 @@ gst_asf_demux_handle_src_query (GstPad * pad, GstObject * parent,
|
|||
break;
|
||||
}
|
||||
|
||||
GST_OBJECT_LOCK (demux);
|
||||
res = gst_pad_query_default (pad, parent, query);
|
||||
if (!res) {
|
||||
GST_OBJECT_LOCK (demux);
|
||||
|
||||
if (demux->segment.duration != GST_CLOCK_TIME_NONE) {
|
||||
GST_LOG ("returning duration: %" GST_TIME_FORMAT,
|
||||
GST_TIME_ARGS (demux->segment.duration));
|
||||
if (demux->segment.duration != GST_CLOCK_TIME_NONE) {
|
||||
GST_LOG ("returning duration: %" GST_TIME_FORMAT,
|
||||
GST_TIME_ARGS (demux->segment.duration));
|
||||
|
||||
gst_query_set_duration (query, GST_FORMAT_TIME,
|
||||
demux->segment.duration);
|
||||
gst_query_set_duration (query, GST_FORMAT_TIME,
|
||||
demux->segment.duration);
|
||||
|
||||
res = TRUE;
|
||||
} else {
|
||||
GST_LOG ("duration not known yet");
|
||||
res = TRUE;
|
||||
} else {
|
||||
GST_LOG ("duration not known yet");
|
||||
}
|
||||
|
||||
GST_OBJECT_UNLOCK (demux);
|
||||
}
|
||||
|
||||
GST_OBJECT_UNLOCK (demux);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue