Bus.addWatch

Adds a bus watch to the default main context with the given priority (e.g. G_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.ObjectGst.unref after setting the bus watch.

class Bus
uint
addWatch

Parameters

priority int

The priority of the watch.

func gst.types.BusFunc

A function to call when a message is received.

Return Value

Type: uint

The event source id or 0 if bus already got an event source.