Bus.addWatchFull

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 g_main_context_push_thread_default() (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 gst_message_ref() before leaving @func.

The watch can be removed using gst_bus_remove_watch() 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 g_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
uint
addWatchFull

Parameters

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.

Meta