Bus.addWatch
uint addWatch(int priority, gst.types.BusFunc func)Adds a bus watch to the default main context with the given priority (e.g. [glib.types.PRIORITY_DEFAULT]). It is also possible to use a non-default main context set up using [glib.main_context.MainContext.pushThreadDefault] (before one had to create a bus watch source and attach it to the desired main context 'manually').
This function is used to receive asynchronous messages in the main loop. There can only be a single bus watch per bus, you must remove it before you can set a new one.
The bus watch will only work if a #GMainLoop is being run.
When func is called, the message belongs to the caller; if you want to keep a copy of it, call gst_message_ref() before leaving func.
The watch can be removed using [gst.bus.Bus.removeWatch] or by returning false from func. If the watch was added to the default main context it is also possible to remove the watch using [glib.source.Source.remove].
The bus watch will take its own reference to the bus, so it is safe to unref bus using [gst.object.ObjectWrap.unref] after setting the bus watch.
Parameters
priority | The priority of the watch. |
func | A function to call when a message is received. |