[gst-devel] Entry points for new media hackers

Ronald Bultje rbultje at ronald.bitfreak.net
Thu Dec 18 02:17:01 CET 2003


Hi all,

we'd like to draw your attention to an email from Christian Schaller on
gnome-multimedia some time ago. See the archives on
http://mail.gnome.org/archives/gnome-multimedia/2003-December/msg00065.html for details.

He summarizes a small TODO list of things that need to be done for
Gnome-2.6 and GStreamer integration. We figured some of these tasks
might be cool for people interested in hacking on media-related tasks,
but looking for a "how to get started" point. Well, here's your chance!

What
--
The two that I want to propose here are the acme (part of
control-center) and volume-applet (part of gnome-applets) tasks. Both
involve porting an existing mixer-application to the GStreamer mixer
interface. The advantage of this is instant ALSA support and possible
future Sun Solaris support (we're working on this). Of course, we
support OSS too. Both advantages are important for the future of Gnome.
Besides that, it makes them use the same backend for mixing, which looks
better from the outside.

How
--
A good example of a Gnome application using the GStreamer mixer
interface is GStreamer volume control, which replaces Gnome Volume
Control in gnome-media 2.5. It's a total of 500 lines of code. Still
pretty much, but it explains everything, like getting a mixer element
from GStreamer, the mixer functions and the whole UI related to this.
We, unfortunately, don't have simpler example code for now, but this
should be doable for now. The appropriate Gnome CVS module is
'gnome-media', directory gst-mixer/src/mixer.c.
If you prefer headers as an API description, look at the 'gst-plugins'
module in GStreamer CVS (at sourceforge), directory
gst-libs/gst/mixer/mixer.h. The API is a mere 5 functions. Note that
this doesn't include the API needed to create elements implementing a
mixer, that's explained in the gnome-media mixer.
Note that you need GStreamer and GStreamer Plugins version 0.7.2
(including development heaedrs) or (preferrably) HEAD CVS to work on
this.
Acme and volume-applet both live in their parent CVS module
(control-center and gnome-applets) in Gnome CVS.

If you want to work on any of these two tasks, please let us know (you
can simply email us by replying to this or let us know on IRC -
irc.freenode.net #gstreamer).

The end goal is to get non-GStreamer developers familiar with the
GStreamer application API, to get new applications/modules to use
GStreamer and to maybe even attract some new developers for GStreamer.

Good luck & love y'all,

Ronald
(on behave of the GStreamer team)

PS: the mixer API (as most of the application API) has been stabilized
for Gnome-2.6 / GStreamer-0.8, so you don't need to worry about API
instability.

-- 
Ronald Bultje <rbultje at ronald.bitfreak.net>
Linux Video/Multimedia developer





More information about the gstreamer-devel mailing list