gstreamer/subprojects/gst-plugins-base/gst/playback
Enrique Ocaña González ccb77f72ef gsturisourcebin: Don't try to plug a typefinder on dynamic sources.
setup_source() tries to plug a typefind element unconditionally to the
source element on non-live streams, no matter if the element is dynamic
or not. In the former case, the element might not have any src pad
created, so the plugging will fail, triggering an unrecoverable error.

This patch only tries the plugging when the element is not dynamic (no
new-pad callback has been configured). In case the element is dynamic,
the callback will take care of configuration when pads appear in the
future.

This solves many regressions on the YouTube MSE Conformance Tests[1] at
least in downstream WPE 2.38[2] after migrating from GStreamer 1.16 to
1.18, a change that introduces Playbin 3.

[1] https://ytlr-cert.appspot.com/latest/main.html
[2] https://github.com/WebPlatformForEmbedded/WPEWebKit/tree/wpe-2.38

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4074>
2023-02-27 18:30:20 +01:00
..
gstdecodebin2.c decodebin2: Minor debug fix for decodepad 2022-12-18 19:14:19 +00:00
gstdecodebin3-parse.c decodebin3: fix EOS event sequence 2022-08-03 19:44:04 +01:00
gstdecodebin3.c decodebin3: Make sure event is writable before modifying 2022-10-08 10:42:59 +01:00
gstparsebin.c parsebin: Don't leak parsepad list on shutdown 2022-12-15 23:15:58 +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 Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03: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 Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03: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 playbin/playbin3: Allow setting a NULL URI 2022-04-02 01:12:55 +01:00
gstplaybin3.c playbin3: Configure combiner on pad-added if needed 2022-05-26 15:12:29 +00:00
gstplaysink.c playsink: Hold a reference to the soft volume element 2022-10-03 22:53:44 +01:00
gstplaysink.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstplaysinkaudioconvert.c playsink: Hold a reference to the soft volume element 2022-10-03 22:53:44 +01:00
gstplaysinkaudioconvert.h playsink: Hold a reference to the soft volume element 2022-10-03 22:53:44 +01:00
gstplaysinkconvertbin.c Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03: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 Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03: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 Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gststreamsynchronizer.c streamsynchronizer: set running time offset on events 2021-10-20 14:27:58 +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 Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03: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: Fix critical warnings 2022-01-13 18:01:57 +00:00
gsturidecodebin3.c uridecodebin3: Nullify current item after all play items are freed. 2021-11-16 13:25:02 +01:00
gsturisourcebin.c gsturisourcebin: Don't try to plug a typefinder on dynamic sources. 2023-02-27 18:30:20 +01:00
meson.build Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00