gstreamer/subprojects/gst-plugins-base/gst/playback
Edward Hervey 0db6149880 decodebin3: Handle streams without CAPS or TIME segment
decodebin3 will do its best to figure out whether a parsebin is required to
process the incoming stream.

The problem is that for push-based stream it could happen that the stream would
not provide any caps, resulting in nothing being linked internally.

Furthermore, there is the possibility that a stream *with* caps would not be
using a TIME segment, which is required for multiqueue to properly work.

In order to fix those two issues, we force the usage of parsebin on push-based
streams:
* When the pad is linked, if upstream can't provide any caps
* When we get a non-TIME segment

Fixes #2521

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4492>
2023-04-27 12:50:21 +00:00
..
gstdecodebin2.c playback: drop use of GSlice 2023-01-24 15:25:06 +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: Handle streams without CAPS or TIME segment 2023-04-27 12:50:21 +00:00
gstparsebin.c parsebin: Improve elementary stream handling 2023-03-21 07:26:37 +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 gst-plugins-base: re-indent with GNU indent 2.2.12 2023-03-17 03:18:53 +00: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 playback: drop use of GSlice 2023-01-24 15:25:06 +00:00
gstplaybin3.c uridecodebin3: Handle redirection errors 2023-03-22 11:28:47 +00:00
gstplaysink.c playsink: Fix volume leak 2023-04-20 14:21:15 +00: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 gst-plugins-base: re-indent with GNU indent 2.2.12 2023-03-17 03:18:53 +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 playback: drop use of GSlice 2023-01-24 15:25:06 +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 gst-plugins-base: re-indent with GNU indent 2.2.12 2023-03-17 03:18:53 +00: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-08 11:07:21 +00:00
gsturidecodebin3.c uridecodebin3: Remove play items that were never connected 2023-03-23 07:39:48 +01:00
gsturisourcebin.c urisourcebin: Activate pad before transferring sticky events 2023-03-20 18:11:26 +00:00
meson.build meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00