parsebin: Store caps on parsepad as early as possible

When analyzing a new pad, we can store the updated caps on the GstStream if they
are fixed.

If they are not fixed, this function will be called again once the element will
provide them.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7764>
This commit is contained in:
Edward Hervey 2024-10-23 14:25:52 +02:00 committed by Backport Bot
parent 9641fac29f
commit f7ab9f91e7

View file

@ -1339,6 +1339,11 @@ analyze_new_pad (GstParseBin * parsebin, GstElement * src, GstPad * pad,
gst_pad_set_active (GST_PAD_CAST (parsepad), TRUE);
parse_pad_set_target (parsepad, pad);
/* If we know the caps, store them in the parsepad GstStream */
if (gst_caps_is_fixed (caps)) {
gst_parse_pad_update_caps (parsepad, caps);
}
/* 1. Emit 'autoplug-continue' the result will tell us if this pads needs
* further autoplugging. Only do this for fixed caps, for unfixed caps
* we will later come here again from the notify::caps handler. The