Questions on PREROLL: let 1 buffer pass the sub-pipeline to get PREROLL working
Maurer, Marie
marie.maurer at zeiss.com
Tue May 8 14:38:02 UTC 2018
Hello,
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?
What happens when I use some element (e.g. a H264 encoder), which needs multiple buffers to generate some output data?
Do I then need to let e.g. 3 buffers pass so that PREROLL is working? And if for some circumstances nothing is coming
out of the element (e.g. because I am not sure always 3 input buffers are needed to generate 1 output buffer), then everything hangs?
Can someone shed a bit more light on this topic?
Many thanks!
Best regards,
Marie
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20180508/aeeaabcf/attachment.html>
More information about the gstreamer-devel
mailing list