Skip to content

decodebin3: Avoid duplicate streams

Elements emitting stream collections do so by not only posting the GST_MESSAGE_STREAM_COLLECTION, but also then pushing a GST_EVENT_STREAM_COLLECTION through each srcpad.

The latter is how decodebin3 detects stream collections itself, as the GST_MESSAGE_STREAM_COLLECTION may be posted before the source element is added to the pipeline and therefore missed.

But it should be noted: when the source has two srcpads the stream collection event is received twice!

When decodebin3 receives several stream collections it reacts by creating a new one combining all the streams... But the code doing so did not take into account the case mentioned before, where both collections are actually the same and have the same streams. This patch fixes that.

Merge request reports