DESCRIPTION

The various event types are represented as subclasses:

GStreamer::Event::FlushStart
GStreamer::Event::FlushStop
GStreamer::Event::EOS
GStreamer::Event::NewSegment
GStreamer::Event::Tag
GStreamer::Event::BufferSize
GStreamer::Event::QOS
GStreamer::Event::Seek
GStreamer::Event::Navigation
GStreamer::Event::Custom::UP
GStreamer::Event::Custom::DS
GStreamer::Event::Custom::DS::OOB
GStreamer::Event::Custom::Both
GStreamer::Event::Custom::Both::OOB

To create a new event, you call the constructor of the corresponding class.

To check if an event is of a certain type, use the type method:

if ($event -> type eq "newsegment") {
  # ...
}

elsif ($event -> type eq "eos") {
  # ...
}

To get to the content of an event, call the corresponding accessor:

if ($event -> type eq "newsegment") {
  my $update = $event -> update;
  my $rate = $event -> rate;
  my $format = $event -> format;
  my $start_value = $event -> start_value;
  my $stop_value = $event -> stop_value;
  my $stream_time = $event -> stream_time;

  # ...
}

elsif ($event -> type eq "tag") {
  my $tag = $event -> tag;

  # ...
}