A class that represents lightweight objects to signal the application of pipeline events. More...
Inherits Gst::MiniObject.
Inherited by Gst::MessageApplication, Gst::MessageAsyncDone, Gst::MessageAsyncStart, Gst::MessageBuffering, Gst::MessageClockLost, Gst::MessageClockProvide, Gst::MessageCustom, Gst::MessageDuration, Gst::MessageElement, Gst::MessageEos, Gst::MessageError, Gst::MessageInfo, Gst::MessageLatency, Gst::MessageMixerChanged, Gst::MessageMixerMuteToggled, Gst::MessageMixerOptionChanged, Gst::MessageMixerOptionsListChanged, Gst::MessageMixerRecordToggled, Gst::MessageMixerVolumeChanged, Gst::MessageNewClock, Gst::MessageRequestState, Gst::MessageSegmentDone, Gst::MessageSegmentStart, Gst::MessageStateChanged, Gst::MessageStateDirty, Gst::MessageStepDone, Gst::MessageStepStart, Gst::MessageStreamStatus, Gst::MessageStructureChange, Gst::MessageTag, and Gst::MessageWarning.
Public Member Functions | |
virtual | ~Message () |
GstMessage* | gobj () |
Provides access to the underlying C GstMiniObject. | |
const GstMessage* | gobj () const |
Provides access to the underlying C GstMiniObject. | |
GstMessage* | gobj_copy () |
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. | |
const Gst::Structure | get_structure () const |
Access the structure of the message. | |
Glib::RefPtr< Gst::Message > | create_writable () |
Checks if a message is writable. | |
guint32 | get_seqnum () const |
Retrieve the sequence number of a message. | |
void | set_seqnum (guint32 seqnum) |
Set the sequence number of a message. | |
MessageType | get_message_type () const |
Get the GstMessageType of message. | |
ClockTime | get_timestamp () const |
Get the timestamp of message. | |
Glib::RefPtr< Gst::Object > | get_source () |
Get the object that posted the message. | |
Glib::RefPtr< const Gst::Object > | get_source () const |
virtual Glib::RefPtr < Gst::MiniObject > | copy_vfunc () const |
Virtual function called when the Gst::Message needs to be copied. | |
virtual void | finalize_vfunc () |
Virtual function called when the Gst::Message is about to be finalized. | |
Static Public Member Functions | |
static Glib::RefPtr< Gst::Message > | wrap (GstMessage* message, bool take_copy=false) |
Wrap a GstMessage in a C++ instance, creating an instance of a derived Gst::Message. |
A class that represents lightweight objects to signal the application of pipeline events.
Messages are implemented as a subclass of Gst::MiniObject with a generic Gst::Structure as the content. This allows for writing custom messages without requiring an API change while allowing a wide range of different types of messages.
Messages are posted by objects in the pipeline and are passed to the application using the Gst::Bus.
The basic use pattern of posting a message on a Gst::Bus is as follows:
bus->post(Gst::MessageEos::create(my_element));
virtual Gst::Message::~Message | ( | ) | [virtual] |
virtual Glib::RefPtr<Gst::MiniObject> Gst::Message::copy_vfunc | ( | ) | const [virtual] |
Virtual function called when the Gst::Message needs to be copied.
Reimplemented from Gst::MiniObject.
Glib::RefPtr<Gst::Message> Gst::Message::create_writable | ( | ) |
Checks if a message is writable.
If not, a writable copy is made and returned.
Reimplemented from Gst::MiniObject.
virtual void Gst::Message::finalize_vfunc | ( | ) | [virtual] |
Virtual function called when the Gst::Message is about to be finalized.
Reimplemented from Gst::MiniObject.
MessageType Gst::Message::get_message_type | ( | ) | const |
Get the GstMessageType of message.
guint32 Gst::Message::get_seqnum | ( | ) | const |
Retrieve the sequence number of a message.
Messages have ever-incrementing sequence numbers, which may also be set explicitly via set_seqnum(). Sequence numbers are typically used to indicate that a message corresponds to some other set of messages or events, for example a SEGMENT_DONE message corresponding to a SEEK event. It is considered good practice to make this correspondence when possible, though it is not required.
Note that events and messages share the same sequence number incrementor; two events or messages will never not have the same sequence number unless that correspondence was made explicitly.
MT safe.
Glib::RefPtr<const Gst::Object> Gst::Message::get_source | ( | ) | const |
Glib::RefPtr<Gst::Object> Gst::Message::get_source | ( | ) |
Get the object that posted the message.
const Gst::Structure Gst::Message::get_structure | ( | ) | const |
Access the structure of the message.
MT safe.
ClockTime Gst::Message::get_timestamp | ( | ) | const |
Get the timestamp of message.
This is the timestamp when the message was created.
const GstMessage* Gst::Message::gobj | ( | ) | const [inline] |
Provides access to the underlying C GstMiniObject.
Reimplemented from Gst::MiniObject.
GstMessage* Gst::Message::gobj | ( | ) | [inline] |
Provides access to the underlying C GstMiniObject.
Reimplemented from Gst::MiniObject.
GstMessage* Gst::Message::gobj_copy | ( | ) |
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
Reimplemented from Gst::MiniObject.
void Gst::Message::set_seqnum | ( | guint32 | seqnum | ) |
Set the sequence number of a message.
This function might be called by the creator of a message to indicate that the message relates to other messages or events. See get_seqnum() for more information.
MT safe.
seqnum | A sequence number. |
Glib::RefPtr< Gst::Message > wrap | ( | GstMessage * | message, | |
bool | take_copy = false | |||
) | [static] |
Wrap a GstMessage in a C++ instance, creating an instance of a derived Gst::Message.
Gst::wrap() would just create a Gst::Message (rather than a derived one) because the derived Gst::Message classes do not correspond to GType types in the GStreamer API.
object | The C instance | |
take_copy | false if the result should take ownership of the C instance. true if it should take a new copy or ref. |