[gst-devel] GStreamer summary, 11 November 2005

Andy Wingo wingo at pobox.com
Fri Nov 11 09:05:09 CET 2005

Bon dia hackers,

Happy Friday across the land. Don't start with the keyboard yet, just
chill and let the hangover subside by doing some, er, "professional
development". Time to check out what's been going on in the land of

Acontecimientos Nucleares

Odds and ends, odds and ends. GstBaseSrc now supports a mode where it
synchronizes its output to a clock, which is useful for elements which
simulate live sources. Wim fixed a bug when linking ghost pads, filesrc
got some cleanups, and sink elements now emit the correct state change
messages. gst_bus_poll can now co-exist happily with the "message"
signal, and the GstBaseTransform class that underlies most filters was
fixed to correctly support passthrough mode.

GstBaseSrc also saw a number of segment seeking fixes, which allow for
looped and reverse playback. A deadlock when flushing blocked pads was
fixed, Thomas made sure that local plugins can override system plugins
in the registry, and there were also a series of collectpads fixes and
updates for win32.

Finally, lots of documentation was reviewed and expanded. Mmm.

A Look Ahead

As we are in a freeze right now, we can't commit API-breaking patches to
CVS directly. Breaks proposed before 0.10.0 is out are being queued up
in bugzilla as blocking bug #319388 [0]. A brief look at these patches
shows changes in the following categories:

 * removals of deprecated API that doesn't work (319389, 320097, 321235)
 * name changes for consistency (319392, 319395, 320113, 320395, 320766)
 * cleanups (320324, 321061, 319940, 320423)

Surprisingly there is only one addition bug, and we're not sure if it's
needed -- to spec out filler events (319178). The one left (320299) is
to have the core take the stream lock for event functions, only if
necessary. Plugin code should then be updated not to take the stream
lock within event functions, although it will not cause an error because
the stream lock is recursive.

Of these patches, the name changes are the only thing application/plugin
writers should be concerned about. However, there is one other source of
proposed changes, which is Wim's to-do list [1], which is looking quite
formidable. We'll know what hit us on the 21st...

[0] http://bugzilla.gnome.org/showdependencytree.cgi?id=319388


I was looking at changelogs and I noticed that this is the first summary
period in which no commit was made to 0.8 core or plugins. Sweet!

The highlight of this week in plugins was Julien Moutte's directfb video
sink port. Not only does it handle all of the tricky things video sinks
should implement (reverse negotiation, hardware scaling, DMA buffer
allocation...), but it was committed with documentation and example
code. As it should be, it was first put into -bad while he worked on it,
and then he filed a bug [2] requesting that it be accepted into -good.
Truly a model for how to port plugins. Excellent work, Julien!

[2] http://bugzilla.gnome.org/show_bug.cgi?id=321240

  base: ffmpegcolorspace passthrough mode fix, better errors in
        alsasink, better seeking in ogg, playbin fixes, test sources
        let basesrc do the clock synchronization for them, v4lsrc fix,
        mux ogg correctly (mostly a forward-port from 0.8), base rtp
        depayloader fixes, baseaudiosink optimizations, new example for
        changing playback rate (not completely implemented in audio
        sinks yet)

  good: matroskamux fixes, autoaudiosink and autovideosink more robust,
        wavenc decruftifying, cairotextoverlay ported, osssink debugging
        fixes, flxdec optimizations

   bad: qtdemux supports custom genre tags, documentation fixes, tremor
        integer vorbis decoder ported, directfb video sink ported (with
        examples and documentation!)

  ugly: nothing!


Core files changed since the last summary               : 77
Lines added since the last summary                      : 3179
Lines removed                                           : 1780
Net change in core value according to sloccount(1)      : +$18,017
Total number of GStreamer bugs as of today              : 245
Number opened in the last week                          : 21
Number closed in the last week                          : 17
Net change                                              : +4
Rank among most buggy projects hosted in gnome bugzilla : 8

Current Releases

0.9.5 of all of the development modules is being released as this
newsletter goes to press. The API and ABI of these modules will not
change until 21 November.

Latest development versions:
    gstreamer:        0.9.5
    gst-plugins-base: 0.9.5
    gst-plugins-good: 0.9.5
    gst-plugins-ugly: 0.9.5
    gst-plugins-bad:  0.9.5
    gst-ffmpeg:       0.9.5
    gst-python:       0.9.5

Upcoming releases:
    21 November: 0.9.6
    28 November: 0.9.7 (the 0.10.0 prerelease)
    05 December: 0.10.0

Latest stable versions:
    gstreamer:        0.8.11
    gst-plugins:      0.8.11
    gst-ffmpeg:       0.8.7
    gst-python:       0.8.2

Featured Application: Flumotion

Christian Ferrari Schaller is our reporter on location, bringing us
these words of wisdom.

    Flumotion is just out today with a new release so I thought I would
    make it this week's featured application. Flumotion is a distributed
    streaming server using GStreamer. It supports the free Ogg Vorbis,
    Ogg Theora and Ogg Speex protocls and also jpeg video streaming.
    Today's new version supports both GStreamer 0.8 and the new sparking
    GStreamer 0.9 version. You find more information about Flumotion at:


Christian also notes that the new Flumotion release might not be out
when you read this, but it will be out before the end of the day. Word
is bond.

So kids, a little over three weeks until the big 0.10.0. Keep hacking,
keep porting, and stay away from drugs, ok? Thanks. We'll totally make
it there together. Peace.
Andy Wingo

More information about the gstreamer-devel mailing list