Broadcast an event in gstreamer

Stirling Westrup swestrup at gmail.com
Wed Apr 29 12:13:46 PDT 2015


On Wed, Apr 29, 2015 at 1:59 PM, Yogesh Tyagi <yogesh.bit2006 at gmail.com>
wrote:

> Hi,
>
> Is it possible to broadcast a custom event in gstreamer so that it reaches
> all the downstream and upstream elements?
>
> I want to keep a variable in one element and whenever this variable is
> updated, I want to generate an event which would carry the updated value of
> this variable to all the elements in pipeline so that these elements can
> update their private copy of variable.
>

You CAN define custom bidirectional events, but I'm not sure how well
they'd propagate. I'd hope they would reach every element, but I can
imagine piplelines where that wouldn't work. Things like this:

       +--- aud !  aud  ! aud ---+
src---<                           >---snk
       +--- vid ! [vid] ! vid ---+

So, if you have two parallel processing pipes (audio, and video, for
example) and the [vid] element sends out a bidirectional event, the src and
snk elements will see it, but I doubt any of the aud elements will.

If that's a problem then I recommend that the element that needs to change
the variable sends out a signal that the main program is looking for. When
it gets it, it sends an event through the pipeline from one end (src, for
example) that DOES reach all the elements.

-- 
Stirling Westrup
Programmer, Entrepreneur.
https://www.linkedin.com/e/fpf/77228
http://www.linkedin.com/in/swestrup
http://technaut.livejournal.com
http://sourceforge.net/users/stirlingwestrup
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20150429/1e62c8f1/attachment.html>


More information about the gstreamer-devel mailing list