parsebin: Don't store bogus caps on GstStream

If we can't get the current caps when receiving a stream-start, that's fine,
they can/will be provided by other means at a later time.

What we definitely should not do is provide the starting caps of the chain,
which are potentially completely different from the end ones (like for example
`application/x-rtp`)

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7716>
This commit is contained in:
Edward Hervey 2024-10-23 14:24:36 +02:00 committed by GStreamer Marge Bot
parent 1814aec0d5
commit 3fdfef15a1

View file

@ -4129,10 +4129,6 @@ gst_parse_pad_stream_start_event (GstParsePad * parsepad, GstEvent * event)
caps = gst_pad_get_current_caps (peer);
gst_object_unref (peer);
}
if (caps == NULL && parsepad->chain && parsepad->chain->start_caps) {
/* Still no caps, use the chain start caps */
caps = gst_caps_ref (parsepad->chain->start_caps);
}
GST_DEBUG_OBJECT (parsepad,
"Saw stream_start with no GstStream. Adding one. Caps %"