Multiple Source Pipeline Hangs

Tim-Philipp Müller t.i.m at zen.co.uk
Tue May 7 08:05:33 PDT 2013


On Tue, 2013-05-07 at 07:09 -0700, johnwesting wrote:

> I'm not sure where I got this from but I thought with GStreamer
> versions 0.8 is less than 0.10, does that mean the threading feature
> was removed from newer versions? Why?
> 
> 
> If I don't have the option of creating threads using the {} brackets
> then how can I spawn additional threads using gst-launch? I tried
> placing queues everywhere I could in the pipeline but this still did
> not solve the problem.

In 0.10 and 1.0 you can force the creation of a new streaming thread by
inserting a queue (or multiqueue) element into the pipeline.

In 0.8 scheduling (when data would flow between which pads) worked
completely differently, there were dedicated schedulers which would try
to figure out which pads needed attention etc. In 0.10/1.0 we leave this
kind of scheduling mostly to the kernel.

 Cheers
  -Tim

> 
> On Tue, May 7, 2013 at 6:18 AM, Tim-Philipp Müller-2 [via
> GStreamer-devel] <[hidden email]> wrote:
>         On Tue, 2013-05-07 at 08:50 +0100, David Röthlisberger wrote:
>         
>         > On 6 May 2013, at 21:50, John Westing wrote: 
>         > > 
>         > > I read the article and understand that the problem is
>         likely an issue with threading, hence the reason for the {}
>         brackets described in my first post: {} brackets in a
>         gst-launch pipeline spawn an additional thread for the
>         elements surrounded in the brackets. However, in my case when
>         I use the {} brackets I get the GStreamer warning "Error
>         during parsing: syntax error, unexpected $undefined" as
>         described in my first post. 
>         > 
>         > Interesting, I didn't know that! Where is this documented? A
>         Google 
>         > search for "gst-launch brackets thread" returns this man
>         page: 
>         > http://linux.about.com/library/cmd/blcmdl1_gst-launch.htm
>         > 
>         > which says: 
>         > 
>         >     A group of elements surrounded by curly braces {, } will
>         be executed 
>         >     in a separate thread. 
>         > 
>         > However, it isn't clear what version of GStreamer the above
>         corresponds 
>         > to. On my Ubuntu 12.10 system, neither the man page for
>         gst-launch-0.10 
>         > nor gst-launch-1.0 contain this text (nor any mention of
>         "{").
>         That { } syntax for a new thread is GStreamer 0.8 syntax. It
>         doesn't do 
>         anything in 0.10.x or 1.x. It's probably best to ignore every
>         document 
>         where you find these in a gst-launch context. 
>         
>         Cheers 
>          -Tim 
>         
>         _______________________________________________ 
>         gstreamer-devel mailing list 
>         
>         [hidden email] 
>         http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>         
>         
>         
>         ______________________________________________________________
>         If you reply to this email, your message will be added to the
>         discussion below:
>         http://gstreamer-devel.966125.n4.nabble.com/Multiple-Source-Pipeline-Hangs-tp4659808p4659814.html 
>         To unsubscribe from Multiple Source Pipeline Hangs, click
>         here.
>         NAML 
> 
> 
> 
> 
> ______________________________________________________________________
> View this message in context: Re: Multiple Source Pipeline Hangs
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel




More information about the gstreamer-devel mailing list