Questions on PREROLL: let 1 buffer pass the sub-pipeline to get PREROLL working
Tim Müller
tim at centricular.com
Tue May 8 15:14:40 UTC 2018
On Tue, 2018-05-08 at 14:38 +0000, Maurer, Marie wrote:
Hi Marie,
> I have a single live video pipeline:
>
> v4l2src -> caps -> tee -> queue -> v4l2sink
>
> With this pipeline I can change state from NULL to PLAYING and vice
> versa.
>
> Now I connect a sub-pipeline to the above tee, where I can create one
> or more still images from the live video.
> Because I want only one image at a time I let only one buffer pass my
> sub-pipeline, every time a picture is requested.
> To survive pipeline state changes, I must let pass 1 frame data
> packet (via a pad probe callback function),
> otherwise PREROLL does not work and complete pipeline does not go to
> PLAYING.
>
> Is this the common way to let 1 buffer pass and drop all others to
> get PREROLL running? Or is there a better way?
You could try setting async=false on the new sink you add (not to be
confused with the "sync" property) where you don't have regular buffer
flows.
Cheers
-Tim
--
Tim Müller, Centricular Ltd - http://www.centricular.com
More information about the gstreamer-devel
mailing list