
GStreamer: Release notes for GStreamer 0.9.1 "Left"
        

The GStreamer team is petrified to announce a new release
in the 0.9.x development series of the
core of the GStreamer streaming media framework.


The 0.9.x series is a development series and not recommended for end users.
It is not API or ABI compatible with the stable 0.8.x series.
It is, however, parallel installable with the 0.8.x series.


The main focus of the 0.9 series is to make GStreamer threadsafe.


This module, gstreamer, only contains core functionality.
For actual media playback, you will need other modules.
gst-plugins-base contains a basic set of well-supported plugins.

Other modules will be released later on when they are ready.

  
Features of this release
    
      * Parallel installability with 0.8.x series
      * Threadsafe design and API

Bugs fixed in this release
    

Download

You can find source releases of gstreamer in the download directory:
http://gstreamer.freedesktop.org/src/gstreamer/

GStreamer Homepage

More details can be found on the project's website:
http://gstreamer.freedesktop.org/

Support and Bugs

We use GNOME's bugzilla for bug reports and feature requests:
http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer

Developers

CVS is hosted on cvs.freedesktop.org.
All code is in CVS and can be checked out from there.
Interested developers of the core library, plug-ins, and applications should
subscribe to the gstreamer-devel list. If there is sufficient interest we
will create more lists as necessary.

        
Applications

At this point, ports of existing applications to 0.9 are still experimental.
There are patches for totem and jamboree.

  
Contributors to this release
    
      * Andy Wingo
      * David Schleef
      * Edward Hervey
      * Jan Schmidt
      * Ronald Bultje
      * Stefan Kost
      * Thomas Vander Stichele
      * Tim-Philipp Müller
      * Wim Taymans
 
