Dynamic Pipelines
Jon Lovewell
jon at csoftware.co.uk
Mon Apr 12 15:15:04 UTC 2021
Hello All,
I am looking at adding branches to a running pipeline dynamically and have run into a problem.
My setup is Windows 10, running GStreamer V1.18.3 MSVC, and using GstSharp V 1.18.
I have a very simple pipeline
"videotestsrc ! capsfilter caps=\"{caps}\" ! tee name=tee ! queue ! avimux ! filesink location=C:\\\\Temp\\\\GstRecordings\\\\Test.avi"
Where caps are "video/x-raw, format=BGRA, height=240, width=320, framerate=30/1"
When the pipeline transitions to the playing state I add a timeout handler with a 2 second delay to add a branch to the 'tee' to display the video, the branch looks like this
"queue ! videoconvert ! capsfilter caps=\"{caps}\" ! autovideosink"
Where caps are "video/x-raw, format=NV12, height=240, width=320, framerate=30/1"
The branch is added, linked and synched successfully. I can see that all the elements transition to the playing state except for the video sink which only transitions to 'ready' and the pipeline transitions to paused.
If I swap out 'autovideosink' for 'fakesink' the same thing happens. However, if I swap out the entire branch with the following
"queue ! videoconvert ! x264enc ! h264parse !capsfilter caps=\"{caps}\" ! fakesink"
Where caps are "video/x-h264, stream-format=byte-stream, alignment=au"
Then all the elements transition to playing and I can also see the pipeline transition back to playing.
I would be grateful for any handy hints or tips, help or assistance, especially that relating to debug categories that I could use to help identify the problem.
Many Thanks
Jon
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20210412/29a35a37/attachment-0001.htm>
More information about the gstreamer-devel
mailing list