mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-05 17:09:48 +00:00
d6f1c517f3
While decodebin3 could handle changes in inputs (ex: changing codecs), there was still one limitation which was when changing between sources which had non-intersecting stream types (ex: switching from a video-only source to a audio-only source). While the decoder *could* change to the proper codec ... it would carry on using a `DecodebinOutputStream` associated to that stream type (and therefore with pads with the wrong name). In order to handle this: * We notify the `MultiQueueSlot` of the change in `GstStreamType` if it already had an associated inputstream (ex: the one associated with the static sink pad) * We detect such changes on the output of multiqueue as soon as possible (i.e. when we get the GST_EVENT_STREAM_START for the new stream type) by discarding the associated output. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1669 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4703> |
||
---|---|---|
.. | ||
gstdecodebin2.c | ||
gstdecodebin3-parse.c | ||
gstdecodebin3.c | ||
gstparsebin.c | ||
gstplay-enum.c | ||
gstplay-enum.h | ||
gstplaybackelement.c | ||
gstplaybackelements.h | ||
gstplaybackplugin.c | ||
gstplaybackutils.c | ||
gstplaybackutils.h | ||
gstplaybin2.c | ||
gstplaybin3.c | ||
gstplaysink.c | ||
gstplaysink.h | ||
gstplaysinkaudioconvert.c | ||
gstplaysinkaudioconvert.h | ||
gstplaysinkconvertbin.c | ||
gstplaysinkconvertbin.h | ||
gstplaysinkvideoconvert.c | ||
gstplaysinkvideoconvert.h | ||
gstrawcaps.h | ||
gststreamsynchronizer.c | ||
gststreamsynchronizer.h | ||
gstsubtitleoverlay.c | ||
gstsubtitleoverlay.h | ||
gsturidecodebin.c | ||
gsturidecodebin3.c | ||
gsturisourcebin.c | ||
meson.build |