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/7716>
This commit is contained in:
Edward Hervey 2024-10-23 14:25:52 +02:00 committed by GStreamer Marge Bot
parent 3fdfef15a1
commit a26984a72b

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