GStreamer(3) User Contributed Perl Documentation GStreamer(3)NAMEGStreamer - 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;
}
ABSTRACTGStreamer 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-2008 by the gtk2-perl team
perl v5.14.0 2009-02-22 GStreamer(3)