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 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 GLib main loop is being run.

When func is called, the message belongs to the caller; if you want to keep a copy of it, call Message.ref before leaving func.

The watch can be removed using 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 Source.remove.

The bus watch will take its own reference to the bus, so it is safe to unref bus using gst_object_unref() after setting the bus watch.

MT safe.

class Bus


priority int

The priority of the watch.

func GstBusFunc

A function to call when a message is received.

userData void*

user data passed to func.

notify GDestroyNotify

the function to call when the source is removed.

Return Value

Type: uint

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