Handling of hang in one branch of pipeline

Federico Zamperini fzamperini at tiscali.it
Fri Sep 6 04:03:57 PDT 2013


You are right: I mixed up signals with bus messages.
In fact in my application I had to explicitly post a bus message 
whenever my handoff signal handler was invoked.
Thank you for the clarification.

Federico

Il 06/09/2013 12:51, Tim-Philipp Müller ha scritto:
> On Fri, 2013-09-06 at 12:38 +0200, Federico Zamperini wrote:
>
>> If I understood correctly, you can put an identity element in each
>> branch and handle the "handoff" signal in the bus, which is posted every
>> time a buffer is passed on.
>> You have to setup a couple of timers to trigger an alarm when no buffers
>> are passed for a certain amount of time.
>> Or otherwise look for some other similar signals from the elements that
>> are most inclined to hang.
>
> Just a quick note to avoid confusion: GObject signals like the "handoff"
> signal are always called/run from the thread that emits the signal. The
> GstBus or GLib main loop is not involved in (or required for) signal
> emission.
>
> Cheers
>   -Tim
>
>> Il 05/09/2013 11:34, Baby Octopus ha scritto:
>>> Hi,
>>>
>>> I'm having a pipeline which is more like this
>>>
>>>                                                               /--------------
>>> Branch 1 ------------ Sink 1
>>>                                                              /
>>> Source ----- Element 1 ---- Element 2 -->|
>>>                                                              \
>>>                                                               \--------------
>>> Branch 2 ------------ Sink 2
>>>
>>> Let us assume Branch 1 hangs for some reason. How can I make sure branch 2
>>> runs seamlessly?
>>> Currently the pipeline runs without any issue but just need to have a
>>> guard-band just in case if one of the branch hangs
>>>
>>> PS : I'm unable to post the whole pipeline here since it has lot more
>>> elements and I'm pretty bad at this drawing :) The usecase is Source is an
>>> MPTS IP stream, Element 2 is a tee, Branch 1 decodes program 1 and Branch 2
>>> decodes Program 2
>>>
>>> ~BO
>
>
> _______________________________________________
> 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