|bool||post (const MessagePtr &message)|
|bool||hasPendingMessages () const|
|MessagePtr||peek () const|
|MessagePtr||pop (ClockTime timeout=0)|
|MessagePtr||pop (MessageType type, ClockTime timeout=0)|
|void||setFlushing (bool flush)|
|static BusPtr||create ()|
Wrapper class for GstBus.
Since the application typically only wants to deal with delivery of these messages from one thread, the Bus will marshall the messages between different threads. This is important since the actual streaming of media is done in another thread than the application.
There are three ways to get messages from a Bus:
Retrieves the first message from the bus' queue and removes it. If a timeout is specified, this function will wait for up to timeout nanoseconds for a message to get posted to the Bus and will return as soon as there is a new message or the timeout has expired.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. This version of pop() will return only messages that match the specified message type. All other messages that have been posted before the returned message will be discarded. You may use an OR combination of MessageTypes as the type to filter multiple types.
This adds a signal "watch" object, an object that will poll the bus from the event loop of the thread that called this function first. In every event loop execution, any pending messages will be popped from the bus and the "message" signal of the bus will be emitted.
The caller is responsible to cleanup by calling the removeSignalWatch() function when this functionality is no longer needed. When the bus is destroyed, the watch is removed automatically.
If this function is called multiple times, a reference count will be incremented on the same watch. You cannot have multiple watches on the same bus.
Enables the emission of the "sync-message" signal. This signal will be emitted synchronously from inside post() whenever a new message is posted. Be aware that messages are typically posted from a different thread.
This function may be called multiple times. To clean up, the caller is responsible for calling disableSyncMessageEmission() as many times as this function is called.
Disables the emission of the "sync-message" signal on the bus. If enableSyncMessageEmission() has been called multiple times, this function will decrement a reference count instead of disabling the emission, so it has to be called exactly as many times as enableSyncMessageEmission() has been called.