gstreamer/subprojects/gst-plugins-base/gst/playback
Philippe Normand eea9f74f95 decodebin3: Fix slot input linking when the associated stream has changed
Setting the input field on the empty slot prevents future linking of it and will
result in flow errors later on.

This was observed in WebKit's MediaStream source element, when it changes the
caps on one of its associated streams, from an encoded format to a raw video
format. The associated stream-id on the sticky stream-start event doesn´t
change, but the element creates a new GstStream with a different ID and sets it
on the stream-start event. Stream parsing is disabled in urisourcebin, so
decodebin3 handles the parsing. Without this patch we would end-up with unlinked
pads in decodebin3 after switching to the raw video format.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5067>
2023-07-19 09:12:53 +01:00
..
gstdecodebin2.c decodebin2: Minor debug fix for decodepad 2022-11-18 07:22:23 +00:00
gstdecodebin3-parse.c decodebin3: Don't intercept queries if no parsebin present 2023-01-20 08:54:00 +00:00
gstdecodebin3.c decodebin3: Fix slot input linking when the associated stream has changed 2023-07-19 09:12:53 +01:00
gstparsebin.c parsebin: Improve elementary stream handling 2023-03-21 11:36:13 +00:00
gstplay-enum.c Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstplay-enum.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstplaybackelement.c Replace gst-i18n-*.h with gi18n-lib.h 2022-04-19 18:01:06 +00:00
gstplaybackelements.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstplaybackplugin.c Replace gst-i18n-*.h with gi18n-lib.h 2022-04-19 18:01:06 +00:00
gstplaybackutils.c Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstplaybackutils.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstplaybin2.c playbin2: Remove dead code 2022-04-27 13:13:17 +00:00
gstplaybin3.c playback: New playback elements are no longer experimental 2023-01-21 12:28:21 +00:00
gstplaysink.c playsink: Fix volume leak 2023-04-20 16:40:22 +01:00
gstplaysink.h playbin3: Cleanup and refactor combiner sourcecombine 2022-05-06 09:10:09 +02:00
gstplaysinkaudioconvert.c playsink: Hold a reference to the soft volume element 2022-10-03 18:56:41 +00:00
gstplaysinkaudioconvert.h playsink: Hold a reference to the soft volume element 2022-10-03 18:56:41 +00:00
gstplaysinkconvertbin.c Replace gst-i18n-*.h with gi18n-lib.h 2022-04-19 18:01:06 +00:00
gstplaysinkconvertbin.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstplaysinkvideoconvert.c Replace gst-i18n-*.h with gi18n-lib.h 2022-04-19 18:01:06 +00:00
gstplaysinkvideoconvert.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstrawcaps.h playback: add onvif metadata caps to raw caps 2022-08-24 12:21:18 +03:00
gststreamsynchronizer.c streamsynchronizer: check reset-time when handling FLUSH_STOP 2023-06-01 11:15:00 +00:00
gststreamsynchronizer.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstsubtitleoverlay.c subtitleoverlay: fix mutex error if sink caps is not video 2023-07-05 13:20:34 +01:00
gstsubtitleoverlay.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gsturidecodebin.c uridecodebin: Set source element to READY before querying it 2023-02-21 12:07:57 +00:00
gsturidecodebin3.c uridecodebin3: Ensure atomic urisourcebin state change 2023-05-12 14:53:06 +01:00
gsturisourcebin.c urisourcebin: Set source element to READY before querying it 2023-07-18 14:45:12 +00:00
meson.build meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00