Gst.parse-launch vs manual pipeline creation

Olivier Crête olivier.crete at collabora.com
Tue Jun 21 00:04:32 UTC 2016


On Mon, 2016-06-20 at 17:04 +0300, Krutskikh Ivan wrote:
> I use gstreamer 1.8.X with python and gi. For convenience I use
> Gst.parse-launch() for creating pipelines. But the more I use those
> approach, I stumble upon issues:
> 
> 1) Sometimes set_state(Gst.State.NULL) results in gstreamer exception
> about some elements that should be manually set to NULL state.
> Sometimes (like on handling EOS message) it works, sometimes it
> crashes with segmentation fault with my whole multithread app =(. I
> came up with a workaround for simple pipelines ( no tee's etc.): I
> set src element to state_null and after that the whole pipeline. This
> kind of works, but only with straight pipelines.  

Are you doing something else than setting the pipeline to PLAYING then
back to NULL? What is your pipeline?


> 2) I cannot re-use my pipeline after it was set to state NULL. That's
> less of a problem: I can just re-init my pipeline from scratch.
> 
> Are both of those issues the results of my lazy approach of using
> Gst.parse-launch() instean of creating pipeline manually? And how can

Normally, parse_launch() should work multiple times, unless you have
pipelines with sometimes pads like demuxers or decodebin, in that case,
the "auto-linking" only happens the first time and you need to re-
create it.

-- 
Olivier Crête
olivier.crete at collabora.com


More information about the gstreamer-devel mailing list