Dynamic pipeline (videosink swapping)
rob at teegee.cloud
Sat Apr 2 11:00:18 UTC 2022
On 31/3/22 17:31, Victor Jaquez via gstreamer-devel wrote:
> On Thu, 31 Mar 2022 at 16:00, Rob Kramer via gstreamer-devel wrote:
>> The idea is basically to have a video running or paused in the background,
>> and sometimes add a videosink to it. Or, to have a few pre-rolled
>> headless/fakesink pipelines lying around that can be quickly assigned a
>> videosink for instant playback without prerolling pause.
> You're using gstreamer-vaapi for decoding and VASurface are a scarse
> resource which doesn't relate friendly with tee.
> Uninstall gstreamer-vaapi and use a sofware-based decoder, or try the
> new va plugins in gstreamer 1.20, where the VASurfaces creation is
> less restrictive.
You're right, removing the vaapi module works. With vaapi enabled,
version 1.20 doesn't fix the problem though; it's the same as 1.18.
Does that mean the tee-fakesink method won't work if vaapi is used? Do
you know how else I could dynamically add or remove the videosink of a
pre-rolled or paused pipeline? I don't need multiple sinks, just a way
to 'cache' a few headless, prerolled pipelines, so that any of them can
be instantaneously started (without unpredictable preroll delay).
More information about the gstreamer-devel