decodebin3: Allow re-using inputs
authorEdward Hervey <edward@centricular.com>
Thu, 10 Nov 2022 08:13:35 +0000 (09:13 +0100)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Wed, 16 Nov 2022 14:01:46 +0000 (14:01 +0000)
commitf785b3d58485234542dd893f2d15913007e8ab7f
treeb4ac800c3a374145465686770e61f9c09cc0feec
parent1f8d8b2df68c0a252322121aba6179c9e747f5fa
decodebin3: Allow re-using inputs

DecodebinInput (and their backing parsebin or identity) are no longer released
when the corresponding sinkpad is unlinked, but when it's released.

The parsebin element will be resetted:
* If incoming caps are incompatible (was the case before)
* Or when unlinking and it was previously pull-based

This opens the way to use decodebin3 with changing inputs (i.e. gapless)

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