With GStreamer 1.21 (1.22 due very soon now), MSE is broken, the MR that broken it for us is: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3601 In our pipeline urisourcebin creates one parsebin per stream, because the source element pads have no caps configured yet. After this MR was merged urisourcebin now lets the first stream setup correctly, but for the second, it emits an error "Adaptive demuxer is not streams-aware, check your installation" which arguably in our pipeline is a bit weird, the adaptive demuxer in this case is the second parsebin, which hasn't had the chance to receive a stream collection yet. When our MSE src exposes its pads the caps are already known, but we push the CAPS events too late, after exposing the pads, so they're not stick'ed on the pads yet at the moment urisourcebin calls get_pad_get_current_caps() in order to decide whether or not it should create a parsebin for the new stream...
Tracking issue for GStreamer: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1675
Created attachment 464192 [details] gst log
Workaround proposed -> https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3658