The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

GStreamer - (DEPRECATED) Perl interface to version 0.10.x of 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

DEPRECATED GStreamer wraps version 0.10.x of the GStreamer C libraries in a nice and Perlish way, freeing the programmer from any memory management and object casting hassles.

DESCRIPTION

NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE

This module has been deprecated by the Gtk-Perl project. This means that the module will no longer be updated with security patches, bug fixes, or when changes are made in the Perl ABI. The Git repo for this module has been archived (made read-only), it will no longer possible to submit new commits to it. You are more than welcome to ask about this module on the Gtk-Perl mailing list, but our priorities going forward will be maintaining Gtk-Perl modules that are supported and maintained upstream; this module is neither.

Since this module is licensed under the LGPL v2.1, you may also fork this module, if you wish, but you will need to use a different name for it on CPAN, and the Gtk-Perl team requests that you use your own resources (mailing list, Git repos, bug trackers, etc.) to maintain your fork going forward.

  • Perl URL: https://gitlab.gnome.org/GNOME/perl-gstreamer

  • Upstream URL: https://gitlab.freedesktop.org/gstreamer/gstreamer

  • Last upstream version: 0.10.35

  • Last upstream release date: 2011-06-15

  • Migration path for this module: G:O:I

  • Migration module URL: https://metacpan.org/pod/Glib::Object::Introspection

NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE

This module only works with the 0.10.x series of the GStreamer C libraries. There is another Perl module, GStreamer1, that is intended for the 1.x series of the GStreamer C libraries. GStreamer1 is located at https://metacpan.org/pod/GStreamer1.

The two C libraries, as well as their associated Perl modules, can be installed concurrently on the same host.

See the POD for GStreamer1 (https://metacpan.org/pod/GStreamer1) for more information about that module.

NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE

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.

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.

GStreamer1

Perl bindings for version 1.x of the GStreamer C libraries. The two C libraries, as well as their associated Perl modules, can be installed concurrently on the same host.

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