mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-25 11:11:08 +00:00
148 lines
4.6 KiB
Text
148 lines
4.6 KiB
Text
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 (See also part-gstbus.txt and part-gstpipeline.txt).
|
|
|
|
|
|
Message types
|
|
~~~~~~~~~~~~~
|
|
|
|
GST_MESSAGE_EOS:
|
|
|
|
Posted by sink elements. This message is posted to the application when all
|
|
the sinks in a pipeline have posted an EOS message. When performing a
|
|
flushing seek, the EOS state of the pipeline and sinks is reset.
|
|
|
|
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. This
|
|
message is typically emitted by elements that perform some sort of network
|
|
buffering. While the pipeline is buffering it should remain in the PAUSED
|
|
state. When the buffering is finished, it can resume PLAYING.
|
|
|
|
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_STATE_DIRTY:
|
|
|
|
An internal message used to instruct a pipeline hierarchy that a state
|
|
recalculation must be performed because of an ASYNC state change completed.
|
|
This message is not used anymore.
|
|
|
|
GST_MESSAGE_STEP_DONE:
|
|
|
|
An element stepping frames has finished. This is currently not used.
|
|
|
|
GST_MESSAGE_CLOCK_PROVIDE:
|
|
|
|
An element notifies its 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 its structure, This means elements were added or removed or
|
|
pads were linked or unlinked. This message is not yet used.
|
|
|
|
GST_MESSAGE_STREAM_STATUS:
|
|
|
|
Posted by an element when it starts/stops/pauses a streaming task. It
|
|
contains information about the reason why the stream state changed along
|
|
with the thread id. The application can use this information to detect
|
|
failures in streaming threads and/or to adjust streaming thread priorities.
|
|
|
|
GST_MESSAGE_APPLICATION:
|
|
|
|
The application posted a message. This message must be used when the
|
|
application posts a message on the bus.
|
|
|
|
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
|
|
to applications 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.
|
|
|
|
GST_MESSAGE_DURATION_CHANGED:
|
|
|
|
An element posts this message when it has detected or updated the stream duration.
|
|
|
|
GST_MESSAGE_ASYNC_START:
|
|
|
|
Posted by sinks when they start an asynchronous state change.
|
|
|
|
GST_MESSAGE_ASYNC_DONE:
|
|
|
|
Posted by sinks when they receive the first data buffer and complete the
|
|
asynchronous state change.
|
|
|
|
GST_MESSAGE_LATENCY:
|
|
|
|
Posted by elements when the latency in a pipeline changed and a new global
|
|
latency should be calculated by the pipeline or application.
|
|
|
|
GST_MESSAGE_REQUEST_STATE:
|
|
|
|
Posted by elements when they want to change the state of the pipeline they
|
|
are in. A typical use case would be an audio sink that requests the pipeline
|
|
to pause in order to play a higher priority stream.
|
|
|
|
GST_MESSAGE_STEP_START:
|
|
|
|
A Stepping operation has started.
|
|
|
|
GST_MESSAGE_QOS:
|
|
|
|
A buffer was dropped or an element changed its processing strategy for
|
|
Quality of Service reasons.
|
|
|
|
GST_MESSAGE_PROGRESS:
|
|
|
|
A progress message was posted. Progress messages inform the application about
|
|
the state of asynchronous operations.
|