Sets our main struct and passes it to the parent class.
Create a new application-typed message. GStreamer will never create these messages; they are a gift from us to you. Enjoy.
The message is posted when elements completed an ASYNC state change. @running_time contains the time of the desired running_time when this elements goes to PLAYING. A value of #GST_CLOCK_TIME_NONE for @running_time means that the element has no clock interaction and thus doesn't care about the running_time of the pipeline.
Create a new buffering message. This message can be posted by an element that needs to buffer data before it can continue processing. @percent should be a value between 0 and 100. A value of 100 means that the buffering completed.
Create a clock lost message. This message is posted whenever the clock is not valid anymore.
Create a clock provide message. This message is posted whenever an element is ready to provide a clock or lost its ability to provide a clock (maybe because it paused or became EOS).
Create a new custom-typed message. This can be used for anything not handled by other message-specific functions to pass a message to the app. The structure field can be %NULL.
Creates a new device-changed message. The device-changed message is produced by #GstDeviceProvider or a #GstDeviceMonitor. They announce that a device properties has changed and @device represent the new modified version of @changed_device.
This message is posted when an element has a new local #GstContext.
This message is posted when an element needs a specific #GstContext.
Progress messages are posted by elements when they use an asynchronous task to perform actions triggered by a state change.
A QOS message is posted on the bus whenever an element decides to drop a buffer because of QoS reasons or whenever it changes its processing strategy because of QoS reasons (quality adjustments such as processing at lower accuracy).
Creates a new redirect message and adds a new entry to it. Redirect messages are posted when an element detects that the actual data has to be retrieved from a different location. This is useful if such a redirection cannot be handled inside a source element, for example when HTTP 302/303 redirects return a non-HTTP URL.
This message can be posted by elements when they want to have their state changed. A typical use case would be an audio server that wants to pause the pipeline because a higher priority stream is being played.
Create a state change message. This message is posted whenever an element changed its state.
This message is posted by elements when they complete a part, when @intermediate set to %TRUE, or a complete step operation.
This message is posted by elements when they accept or activate a new step event for @amount in @format.
Create a new stream_start message. This message is generated and posted in the sink elements of a GstBin. The bin will only forward the STREAM_START message to the application if all sinks have posted an STREAM_START message.
Create a new stream status message. This message is posted when a streaming thread is created/destroyed or when the state changed.
Create a new structure change message. This message is posted when the structure of a pipeline is in the process of being changed, for example when pads are linked or unlinked.
Create a new tag message. The message will take ownership of the tag list. The message is posted by elements that discovered a new taglist.
Create a new TOC message. The message is posted by elements that discovered or updated a TOC.
Creates and appends a new entry.
Get the main Gtk struct
Retrieve the sequence number of a message.
Extracts the object managing the streaming thread from @message.
the main Gtk struct as a void*
Access the structure of the message.
Checks if @message has the given @name. This function is usually used to check the name of a custom message.
Extract the running_time from the async_done message.
Extracts the buffering percent from the GstMessage. see also gst_message_new_buffering().
Extracts the buffering stats values from @message.
Extracts the lost clock from the GstMessage. The clock object returned remains valid until the message is freed.
Extracts the clock and ready flag from the GstMessage. The clock object returned remains valid until the message is freed.
Parse a context type from an existing GST_MESSAGE_NEED_CONTEXT message.
Parses a device-added message. The device-added message is produced by #GstDeviceProvider or a #GstDeviceMonitor. It announces the appearance of monitored devices.
Parses a device-changed message. The device-changed message is produced by #GstDeviceProvider or a #GstDeviceMonitor. It announces the disappearance of monitored devices. * It announce that a device properties has changed and @device represents the new modified version of @changed_device.
Parses a device-removed message. The device-removed message is produced by #GstDeviceProvider or a #GstDeviceMonitor. It announces the disappearance of monitored devices.
Extracts the GError and debug string from the GstMessage. The values returned in the output arguments are copies; the caller must free them when done.
Returns the optional details structure, may be NULL if none. The returned structure must not be freed.
Extract the group from the STREAM_START message.
Extract the context from the HAVE_CONTEXT message.
Extracts the GError and debug string from the GstMessage. The values returned in the output arguments are copies; the caller must free them when done.
Returns the optional details structure, may be NULL if none The returned structure must not be freed.
Extracts the new clock from the GstMessage. The clock object returned remains valid until the message is freed.
Parses the progress @type, @code and @text.
Parses a property-notify message. These will be posted on the bus only when set up with gst_element_add_property_notify_watch() or gst_element_add_property_deep_notify_watch().
Extract the timestamps and live status from the QoS message.
Extract the QoS stats representing the history of the current continuous pipeline playback period.
Extract the QoS values that have been calculated/analysed from the QoS data
Parses the location and/or structure from the entry with the given index. The index must be between 0 and gst_message_get_num_redirect_entries() - 1. Returned pointers are valid for as long as this message exists.
Extract the requested state from the request_state message.
Extract the running-time from the RESET_TIME message.
Extracts the position and format from the segment done message.
Extracts the position and format from the segment start message.
Extracts the old and new states from the GstMessage.
Extract the values the step_done message.
Extract the values from step_start message.
Parses a stream-collection message.
Extracts the stream status type and owner the GstMessage. The returned owner remains valid for as long as the reference to @message is valid and should thus not be unreffed.
Parses a streams-selected message.
Extracts the change type and completion status from the GstMessage.
Extracts the tag list from the GstMessage. The tag list returned in the output argument is a copy; the caller must free it when done.
Extract the TOC from the #GstMessage. The TOC returned in the output argument is a copy; the caller must free it with gst_toc_unref() when done.
Extracts the GError and debug string from the GstMessage. The values returned in the output arguments are copies; the caller must free them when done.
Returns the optional details structure, may be NULL if none The returned structure must not be freed.
Configures the buffering stats values in @message.
Sets the group id on the stream-start message.
Set the QoS stats representing the history of the current continuous pipeline playback period.
Set the QoS values that have been calculated/analysed from the QoS data
Set the sequence number of a message.
Configures the object handling the streaming thread. This is usually a GstTask object but other objects might be added in the future.
Get the src (the element that originated the message) of the message.
Adds the @stream to the @message.
Returns the number of streams contained in the @message.
Retrieves the #GstStream with index @index from the @message.
Get the type of the message.
Get a writable version of the structure.
The message is posted when elements completed an ASYNC state change. running_time contains the time of the desired running_time when this elements goes to PLAYING. A value of GST_CLOCK_TIME_NONE for running_time means that the element has no clock interaction and thus doesn't care about the running_time of the pipeline.
This message is posted by elements when they start an ASYNC state change.
Creates a new device-added message. The device-added message is produced by #GstDeviceProvider or a #GstDeviceMonitor. They announce the appearance of monitored devices.
Creates a new device-removed message. The device-removed message is produced by #GstDeviceProvider or a #GstDeviceMonitor. They announce the disappearance of monitored devices.
Create a new duration changed message. This message is posted by elements that know the duration of a stream when the duration changes. This message is received by bins and is used to calculate the total duration of a pipeline. Elements may post a duration message with a duration of GST_CLOCK_TIME_NONE to indicate that the duration has changed and the cached duration should be discarded. The new duration can then be retrieved via a query.
Create a new eos message. This message is generated and posted in the sink elements of a GstBin. The bin will only forward the EOS message to the application if all sinks have posted an EOS message. MT safe.
Create a new element-specific message. This is meant as a generic way of allowing one-way communication from an element to an application, for example "the firewire cable was unplugged". The format of the message should be documented in the element's documentation. The structure field can be NULL. MT safe.
Create a new error message. The message will copy error and debug. This message is posted by element when a fatal event occured. The pipeline will probably (partially) stop. The application receiving this message should stop the pipeline. MT safe.
Create a new error message. The message will copy @error and @debug. This message is posted by element when a fatal event occurred. The pipeline will probably (partially) stop. The application receiving this message should stop the pipeline.
Create a new info message. The message will make copies of error and debug. MT safe. Since 0.10.12
Create a new info message. The message will make copies of @error and @debug.
This message can be posted by elements when their latency requirements have changed.
Create a new clock message. This message is posted whenever the pipeline selectes a new clock for the pipeline. MT safe.
Create a new segment done message. This message is posted by elements that finish playback of a segment as a result of a segment seek. This message is received by the application after all elements that posted a segment_start have posted the segment_done. MT safe.
Create a new segment message. This message is posted by elements that start playback of a segment as a result of a segment seek. This message is not received by the application but is used for maintenance reasons in container elements. MT safe.
Create a state dirty message. This message is posted whenever an element changed its state asynchronously and is used internally to update the states of container objects. MT safe.
Creates a new stream-collection message. The message is used to announce new #GstStreamCollection
Creates a new steams-selected message. The message is used to announce that an array of streams has been selected. This is generally in response to a #GST_EVENT_SELECT_STREAMS event, or when an element (such as decodebin3) makes an initial selection of streams.
Create a new warning message. The message will make copies of error and debug. MT safe.
Create a new warning message. The message will make copies of @error and @debug.
Get a printable name for the given message type. Do not modify or free.
Get the unique quark for the given message type.
the main Gtk struct
Messages are implemented as a subclass of #GstMiniObject with a generic #GstStructure 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 #GstBus.
The basic use pattern of posting a message on a #GstBus is as follows: |[<!-- language="C" --> gst_bus_post (bus, gst_message_new_eos()); ]|
A #GstElement usually posts messages on the bus provided by the parent container using gst_element_post_message().