GStreamer
GStreamer - Perl interface to the GStreamer library
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;
}
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.
- 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.
- boolean = GStreamer->CHECK_VERSION (major, minor, micro)
-
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.
- 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.
- Torsten Schoenfeld <kaffeetisch at gmx dot de>
- Brett Kosinski <brettk at frodo.dyn.gno dot org>
Copyright (C) 2005-2008 by the gtk2-perl team
[Top]
Generated by Marek::Pod::HTML 0.49 on Wed Dec 16 22:59:45 2009