Torsten Schönfeld > GStreamer-0.11 > xs/GstMessage.xs

Download:
GStreamer-0.11.tar.gz

Annotate this POD

CPAN RT

Open  3
View Bugs
Report a bug
Source   Latest Release: GStreamer-0.12

DESCRIPTION ^

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;

    # ...
  }