Messages -------- Messages are refcounted lightweight objects to signal the application of pipeline events. 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. Message types ------------- GST_MESSAGE_EOS: The pipeline went to EOS. This means that all the sink elements in the pipeline posted the EOS message to the bus. GST_MESSAGE_ERROR: An element in the pipeline got into an error state. The message carries a GError and a debug string describing the error. This usually means that part of the pipeline is not streaming anymore. GST_MESSAGE_WARNING: An element in the pipeline encountered a condition that made it produce a warning. This could be a recoverable decoding error or some other non fatal event. The pipeline continues streaming after a warning. GST_MESSAGE_INFO: An element produced an informational message. GST_MESSAGE_TAG: An element decoded metadata about the stream. The message carries a GstTagList with the tag information. GST_MESSAGE_BUFFERING: An element is buffering data and that could potentially take some time. GST_MESSAGE_STATE_CHANGED: An element changed state in the pipeline. The message carries the old, new and pending state of the element. GST_MESSAGE_STEP_DONE: An element stepping frames has finished. GST_MESSAGE_CLOCK_PROVIDE: An element notifies it capability of providing a clock for the pipeline. GST_MESSAGE_CLOCK_LOST: The current clock as selected by the pipeline became unusable. The pipeline will select a new clock on the next PLAYING state change. GST_MESSAGE_NEW_CLOCK: A new clock was selected for the pipeline. GST_MESSAGE_STRUCTURE_CHANGE: The pipeline changed of structure, This means elements were added or removed or pads were linked or unlinked. GST_MESSAGE_STREAM_STATUS: An element posted information about the stream it is handling. This could include information about the length of the stream. GST_MESSAGE_APPLICATION: The application posted a message. GST_MESSAGE_ELEMENT: Element-specific message, see the specific element's documentation GST_MESSAGE_SEGMENT_START: An element started playback of a new segment. This message is not forwarded the the application but is used internally to schedule SEGMENT_DONE messages. GST_MESSAGE_SEGMENT_DONE: An element or bin completed playback of a segment. This message is only posted on the bus if a SEGMENT seek is performed on a pipeline.