GStreamer(3)

NAME
GStreamer - Perl interface to the GStreamer library

SYNOPSIS
  use GStreamer -init;

  my $loop = Glib::MainLoop -> new();

  # set up
  my $play = GStreamer::ElementFactory -> make("playbin", "play");
  $play -> set(uri => Glib::filename_to_uri $file, "localhost");
  $play -> get_bus() -> add_watch(\&my_bus_callback, $loop);
  $play -> set_state("playing");

  # run
  $loop -> run();

  # clean up
  $play -> set_state("null");

  sub my_bus_callback {
    my ($bus, $message, $loop) = @_;

    if ($message -> type & "error") {
      warn $message -> error;
      $loop -> quit();
    }

    elsif ($message -> type & "eos") {
      $loop -> quit();
    }

    # remove message from the queue
    return TRUE;
  }

ABSTRACT
GStreamer makes everybody dance like crazy. It provides the means to play, stream, and convert nearly any type of media -- be it audio or video. GStreamer wraps the GStreamer library in a nice and Perlish way, freeing the programmer from any memory management and object casting hassles.

INITIALIZATION

GStreamer->init
    Initializes GStreamer. Automatically parses @ARGV, stripping any options known to GStreamer.

boolean = GStreamer->init_check
    Checks if initialization is possible. Returns TRUE if so.

When importing GStreamer, you can pass the "-init" option to have GStreamer->init automatically called for you. If you need to know if initialization is possible without actually doing it, use GStreamer->init_check.

VERSION CHECKING

boolean = GStreamer->CHECK_VERSION (major, minor, micro)
    •   major (integer)

    •   minor (integer)

    •   micro (integer)

    Returns TRUE if the GStreamer library version GStreamer was compiled against is newer than the one specified by the three arguments.

(major, minor, micro) = GStreamer->GET_VERSION_INFO
    Returns the version information of the GStreamer library GStreamer was compiled against.

(major, minor, micro) = GStreamer->version
    Returns the version information of the GStreamer library GStreamer is currently running against.

SEE ALSO

GStreamer::index
    Lists the automatically generated API documentation pages.

<http://gstreamer.freedesktop.org/>
    GStreamer's website has much useful information, including a good tutorial and of course the API reference, which is canonical for GStreamer as well.

Gtk2::api
    Just like Gtk2, GStreamer tries to stick closely to the C API, deviating from it only when it makes things easier and/or more Perlish. Gtk2::api gives general rules for how to map from the C API to Perl, most of which also apply to GStreamer.

Glib
    Glib is the foundation this binding is built upon. If you look for information on basic stuff like signals or object properties, this is what you should read.

AUTHORS

Torsten Schoenfeld <kaffeetisch at gmx dot de>
Brett Kosinski <brettk at frodo.dyn.gno dot org>

COPYRIGHT
Copyright (C) 2005-2011, 2013 by the gtk2-perl team