mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-20 08:41:07 +00:00
decodebin: If we have a demuxer without dynamic srcpads, just assume no-more-pads
Otherwise we will wait until the multiqueue after the demuxer will overrun, which is clearly not needed then.
This commit is contained in:
parent
f149c27a61
commit
2df1e56bb7
1 changed files with 7 additions and 0 deletions
|
@ -1502,6 +1502,7 @@ analyze_new_pad (GstDecodeBin * dbin, GstElement * src, GstPad * pad,
|
||||||
if (chain->demuxer) {
|
if (chain->demuxer) {
|
||||||
GstDecodeGroup *group;
|
GstDecodeGroup *group;
|
||||||
GstDecodeChain *oldchain = chain;
|
GstDecodeChain *oldchain = chain;
|
||||||
|
GstDecodeElement *demux = (chain->elements ? chain->elements->data : NULL);
|
||||||
|
|
||||||
if (chain->current_pad)
|
if (chain->current_pad)
|
||||||
gst_object_unref (chain->current_pad);
|
gst_object_unref (chain->current_pad);
|
||||||
|
@ -1520,6 +1521,12 @@ analyze_new_pad (GstDecodeBin * dbin, GstElement * src, GstPad * pad,
|
||||||
GST_WARNING_OBJECT (dbin, "No current group");
|
GST_WARNING_OBJECT (dbin, "No current group");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* If this is not a dynamic pad demuxer, we're no-more-pads
|
||||||
|
* already before anything else happens
|
||||||
|
*/
|
||||||
|
if (!demux->no_more_pads_id)
|
||||||
|
group->no_more_pads = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((caps == NULL) || gst_caps_is_empty (caps))
|
if ((caps == NULL) || gst_caps_is_empty (caps))
|
||||||
|
|
Loading…
Reference in a new issue