Gst::Message Class Reference

Gst::Message — Lightweight objects to signal the application of pipeline events. More...

#include <message.h>

Inheritance diagram for Gst::Message:

Gst::MiniObject 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::MessageNewClock Gst::MessageSegmentDone Gst::MessageSegmentStart Gst::MessageStateChanged Gst::MessageStateDirty Gst::MessageTag Gst::MessageWarning

List of all members.

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.
Glib::RefPtr<Gst::Messagecopy () const
 Creates a copy of the message.
const Gst::Structure get_structure () const
 Access the structure of the message.
Glib::RefPtr<Gst::Messagecreate_writable ()
 Checks if a message is writable.
MessageType get_message_type () const
 Get the GstMessageType of message.
ClockTime get_timestamp () const
 Get the timestamp of message.
Glib::RefPtr<Gst::Objectget_source ()
 Get the object that posted the message.
Glib::RefPtr<const Gst::Objectget_source () const

Static Public Member Functions

static Glib::RefPtr<Gst::Messagewrap (GstMessage* message, bool take_copy=false)
 Wrap a GstMessage* in a C++ instance, creating an instance of a derived Gst::Message.


Detailed Description

Gst::Message — 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));

Constructor & Destructor Documentation

virtual Gst::Message::~Message (  )  [virtual]


Member Function Documentation

Glib::RefPtr<Gst::Message> Gst::Message::copy (  )  const

Creates a copy of the message.

MT safe.

Returns:
A copy of the message.

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.

Returns:
A Gst::Message (possibly the same pointer) that is writable.

Reimplemented from Gst::MiniObject.

MessageType Gst::Message::get_message_type (  )  const

Get the GstMessageType of message.

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.

Returns:
The structure of the message. The structure is still owned by the message, which means that you should not free it and that the pointer becomes invalid when you free 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.

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.

Parameters:
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.
Returns:
A C++ instance that wraps this C instance.


The documentation for this class was generated from the following file:

Generated on Thu Jan 15 09:33:13 2009 for gstreamermm by  doxygen 1.5.7.1