When to use bus instead of element signals

Kai Wohlfahrt kai.wohlfahrt at gmail.com
Thu Apr 9 09:53:54 UTC 2020


Hi all,

The first chapters of the documentation say that the pipeline 
communicates with the application through the bus (via messages and 
events). However, a lot of the examples directly use signals on 
individual elements. I'm specifically interested in the `webrtc` plugin, 
and for example connect(elem, "on-negotiation-needed", ...) and 
emit(elem, "create-offer", ...) signals, but "pad-added" comes up in the 
tutorial for example.

For a beginner, in which cases would I listen for a bus message instead 
of connecting to a signal on an element? Is it possible to turn a signal 
on an element into a message on the bus? And similarly, when would I 
send an event to an element instead of emitting a signal on it? I'm not 
very familiar with GObject, so I might be missing something obvious.

The documentation is otherwise amazing, both in terms of thorough API 
references and beginner tutorials - thank you very much :)

Kai


More information about the gstreamer-devel mailing list