decodebin3: Don't output bogus GST_MESSAGE_STREAMS_SELECTED
authorEdward Hervey <edward@centricular.com>
Fri, 5 Aug 2022 08:37:23 +0000 (10:37 +0200)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Wed, 23 Nov 2022 12:19:21 +0000 (12:19 +0000)
commitd12534d21d94d39db1176a003deed73e8cea4012
treef2a83dc8ee9869f1e0aad37b48ce7d2ccb7ffd55
parent9794c9bfd04216e293e695112522f07c13618abe
decodebin3: Don't output bogus GST_MESSAGE_STREAMS_SELECTED

When `is_selection_done` is called, it checks that all the requested streams are
present in the active stream list ...

... except there could very well be a (about to be removed) stream from the
previous selection present.

Therefore filter the list of streams we add to the message by the streams which
are actually requested.

Fixes issues when switching between different stream types (ex: video-only to
audio-only).

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3457>
subprojects/gst-plugins-base/gst/playback/gstdecodebin3.c