GStreamer::Message3pm
Lightweight objects to signal the application of pipeline events
Overview
The various nmessage types are represented as subclasses:
- GStreamer::Message::EOS
- GStreamer::Message::Error
- GStreamer::Message::Warning
- GStreamer::Message::Info
- GStreamer::Message::Tag
- GStreamer::Message::Buffering
- GStreamer::Message::StateChanged
- GStreamer::Message::StateDirty
- GStreamer::Message::StepDone
- GStreamer::Message::ClockProvide
- GStreamer::Message::ClockLost
- GStreamer::Message::NewClock
- GStreamer::Message::StructureChange
- GStreamer::Message::StreamStatus
- GStreamer::Message::Application
- GStreamer::Message::Element
- GStreamer::Message::SegmentStart
- GStreamer::Message::SegmentDone
- GStreamer::Message::Duration
- GStreamer::Message::Latency [0.10.12]
- GStreamer::Message::AsyncStart [0.10.13]
- GStreamer::Message::AsyncDone [0.10.13]
To create a new message, you call the constructor of the corresponding class.
To check if a message is of a certain type, use the & operator on the type method:
if ($message -> type & "error") {# ...}elsif ($message -> type & "eos") {# ...}
To get to the content of a message, call the corresponding accessor:
if ($message -> type & "state-changed") {my $old_state = $message -> old_state;my $new_state = $message -> new_state;my $pending = $message -> pending;# ...}elsif ($message -> type & "segment-done") {my $format = $message -> format;my $position = $message -> position;# ...}
Methods
object = $message->src
structure = $message->get_structure
64 bit unsigned = $message->timestamp
messagetype = $message->type
Enums and flags
flags GStreamer::MessageType
•
|
'unknown' / 'GST_MESSAGE_UNKNOWN' |
|---|---|
•
|
'eos' / 'GST_MESSAGE_EOS' |
•
|
'error' / 'GST_MESSAGE_ERROR' |
•
|
'warning' / 'GST_MESSAGE_WARNING' |
•
|
'info' / 'GST_MESSAGE_INFO' |
•
|
'tag' / 'GST_MESSAGE_TAG' |
•
|
'buffering' / 'GST_MESSAGE_BUFFERING' |
•
|
'state-changed' / 'GST_MESSAGE_STATE_CHANGED' |
•
|
'state-dirty' / 'GST_MESSAGE_STATE_DIRTY' |
•
|
'step-done' / 'GST_MESSAGE_STEP_DONE' |
•
|
'clock-provide' / 'GST_MESSAGE_CLOCK_PROVIDE' |
•
|
'clock-lost' / 'GST_MESSAGE_CLOCK_LOST' |
•
|
'new-clock' / 'GST_MESSAGE_NEW_CLOCK' |
•
|
'structure-change' / 'GST_MESSAGE_STRUCTURE_CHANGE' |
•
|
'stream-status' / 'GST_MESSAGE_STREAM_STATUS' |
•
|
'application' / 'GST_MESSAGE_APPLICATION' |
•
|
'element' / 'GST_MESSAGE_ELEMENT' |
•
|
'segment-start' / 'GST_MESSAGE_SEGMENT_START' |
•
|
'segment-done' / 'GST_MESSAGE_SEGMENT_DONE' |
•
|
'duration' / 'GST_MESSAGE_DURATION' |
•
|
'latency' / 'GST_MESSAGE_LATENCY' |
•
|
'async-start' / 'GST_MESSAGE_ASYNC_START' |
•
|
'async-done' / 'GST_MESSAGE_ASYNC_DONE' |
•
|
'request-state' / 'GST_MESSAGE_REQUEST_STATE' |
•
|
'step-start' / 'GST_MESSAGE_STEP_START' |
•
|
'qos' / 'GST_MESSAGE_QOS' |
•
|
'progress' / 'GST_MESSAGE_PROGRESS' |
•
|
'any' / 'GST_MESSAGE_ANY' |
Releases
4 releases since Debian 5.0 (Lenny); the text changed 3 times.