[gst-devel] GStreamer state of affairs

Christian Fredrik Kalager Schaller Uraeus at linuxrising.org
Thu Aug 22 09:10:08 CEST 2002

I felt that in order to both get a better sense of direction and to see
where we are at this time I try and write up this status report of
GStreamer. It is meant as a starting ground for a little bit of
discussion on who/where/what/when for the GStreamer team. My plan is to
take this document togheter with additons/corrections and other feedback
I get and use it to replace the current non-functional gstreamer dotplan

I also CC this to the GNOME desktop-devel list as they probably are
interested to see how we are doing in regards to the upcomming GNOME 2.2

GStreamer Core
Pretty stable currently. Wim Taymans(wtay) told me he felt we probably
where API stable at this point. All changes he wanted to do at this
point in time would not change the API. 

Only important change pending is Ronald Bultje(BBB)'s patch on the state
handling needed for his v4l2 element.

There are still many little snags that needs polishing, but Thomas
Vander Stichele(thomasvs) is hard at work polishing, hopefully Wim
Taymans will also join this effort upon his return from vacation.
One major issue is that when caps-negotation fails to find matching caps
it just continue trying infinitly.

The editor seems to have been one of the great hits during thomasvs
presentation at the Boston GNOME summit. Andy Wingo(wingo) is still
working hard on this one and the first release can be expected shortly.
Almost all crasher bugs are gone, the known ones remaining are caused by
bugs in some of the plugins. Biggest sinner here is the gnome-vfs plugin
currently (any chance you get to do the planned rewrite of it Bastien?)

Jorn Baayen(jorn) is back from his vacation and is hard at work trying
to stabilize the application in preparation for GNOME 2.2. Things are
starting to look really good. One major bug atm is performance with
large song collections, Jorn would probably appreciate some help with
this. Dennis Smit is working on adding visualtization support to RB.

Working quite stably atm. Stebe Baker's(sbaker) immediate plans are to
add support for metadata to it. Other issues are a playlist
and maybe some better error handling when gstreamer fails to play a
media file.

Our video recording application. The development of this application has
been on hold for some time while Ronald Bultje(BBB) has focused on the
new v4l2 plugin.
This plugin is mostly done now only waiting for Wim to approve the
needed changes to the core (which will be in about 14 days when Wim
returns from vacation.) Ronald plans to continue on Gst-rec now that the
new plugin is done. 

David Schleef(ds) have been coding like a madman lately and created a
flash library including a gstreamer flash plugin.
Hopefully this code will get commited to gstreamer CVS soon.
David also plans on hacking on mozstreamer (or maybe some other plugin
code?) in order to give us a browser plugin that
can do everything with embeded media that windows users are so used to.

Rtp plugin
Zeeshan Ali(zeenix) is still working on the rewrite of the RTP plugin
and moving it to the oRTP library. The effort is currently waiting for a
response to a mail sent to Simon Morlat (author of oRTP) about some
issues Zeeshan have.

Non-Linear Editor
Wim Taymans(wtay) is currently focusing his effort on the
gnonlin library. Knowing Wim it will not be long before we have
something for people to see here, but it will even with Wim at the helm
still probably be some time before we have a
fullfeatured editor availble.

License Audit
I have been trying to get many of the libraries we depend on relicensed
from the GPL to the LGPL. Apart from the positive reponse from the
Effectv people I have had little success so far. Problem has actually
not been people saying no, but people being hard/impossible to reach
with their email addresses just bouncing my mail.

One of the positive reponses I got a some time ago was from ffmpeg
author Fabrice Bellard who where willing to let us use the libavcodec
part under the LGPL. Question is if this is enough? If we want to use
the ffmpeg code for avi and asf decoding/encoding I guess I need to ask
if he would be willing to let us use that. Not that switching to ffmpeg
for avi would give us a more restrictive license that avifile as avifile
is also GPL.

Professional Audio
Thanks to Andy Wingo we now have working and well functioning support
for both the ALSA sound architecture and the Jack audio server. Coupled
with the continued genereal improvements in the core we should now be at
a place where gstreamer is starting to look very good as a foundation
for people wanting to do professional audio applications. Andy and Leif
Johnson's beatbox application will also hopefully serve as a proof of
concept towards this group of developers.

Utility library for GNOME
In regards to the upcomming GNOME 2.2 release and how GStreamer will
integrate there was some talk at the summit 
on the need for a small utility library for people just needing basic
audio support for their application. monkey-media is a candidate here
and Jorn have already made patches for the different components in
GNOME2 to move then to using monkey-media. Some questions are raised to
wether maybe monkey-media is overkill for the task, but for the time
being it is what we have.

MAS support
Leon and Mike presented MAS to use at the Boston summit. MAS is for
those who don't know it a crossplattform mediaserver
(http://www.mediaapplicationserver.net). Creating a plugin for this has
been on the GStreamer agenda for some time, but
there still hasn't been an official release of MAS and the MAS CVS don't
seem to get synced very often. The priority of this tasks depends a lot
on wether the GNOME community and/or the important GNOME system
integrators like Red Hat, Sun, Mandrake and Ximian plans on utilizing
this soundserver anytime soon. 

We are quite strong here now thanks to Tim Jansen(tjansen) who recently
provided us with Qt/C++ bindings. Coupled with our longtime support for
the arts soundserver I think we are getting to a point where we have a
pretty good case.

** Outstanding issues **
DVD playback
People are successfully playing back vob files from the DVD currently,
but that does not qualify as having good DVD support. Hopefully David I.
Lehn(taaz) and Billy Biggs(vektor)
 can be talked into starting on a real DVD player for GStreamer
(probably basing it on the gst-player code?)

Media formats
We currently support a very large number of media formats, but we still
lack support for some of the more important ones like asf, wmf and
realvideo. Our Quicktime support would also become much better if we
could include the sorenson-compatible codec now bundled with Xine. 

There is lots of code available out there for use to use as a starting
point for adding plugins for these formats, question is which code to
use and a factor here should maybe be what chance we have to get to use
that code under the LGPL. I will in addition to contacting ffmpeg also
contact the xine people to see what their willingness to use their stuff
under the LGPL is. Any suggestions for other sources to check with in
order to get access to LGPL code please let me know.

Short term I think getting asf support is the most important task, and
as David Schleef gets our browser plugin up and running maybe having
wmf/real support will become more important if we want to transparantly
support webradio etc.

Output plugins
Our most glaring holes in the area of output plugins is output plugins
for Sun and HP-UX audio. Since GNOME will be the desktop on these
systems we really need to have native output on these plattforms.
Problem here is that none of the current developers use the operating
systems so motivation to create them has been low. Hopefully as more and
more apps for GStreamer becomes useable people will appear using these
systems who will help us create output plugins for those plattforms.
Irix audio support would also be nice. 

More information about the gstreamer-devel mailing list