[gst-devel] GStreamer status 05 October

Andy Wingo wingo at pobox.com
Wed Oct 5 07:03:59 CEST 2005


Mwa lala po oohacker yoGStreamer,


It's that time of the week again, where we take a caffeine-assisted look
at last week's events in GStreamer. So whether you percolate, filter,
steep or express, fill your mug and prepare to be educated.


Release, Release, Release, Release, Release, Release, Release
-------------------------------------------------------------

Seven of them, my friends. Version 0.9.3 of GStreamer core,
plugins-base, -good, -bad, -ugly, ffmpeg, and gst-python were released
on Monday by Master Builder Thomas Vander Stichele (+47 endurance).
Check the main page[0] for links, and check the 0.10 roadmap[1] to see
how we're doing for the release. The next releases will be on 17
October, at which point the API will be frozen for four weeks. Any API
changes after 17 October will have to go through bugzilla, be reviewed,
and applied on 14 November. API stability for that time means 17 October
will be a great time to start porting your application to 0.9.

[0] http://gstreamer.freedesktop.org/
[1] http://article.gmane.org/gmane.comp.video.gstreamer.devel/13768


Core Happenings
---------------

GStreamer is an abnormal GObject-based library in that it is
multithreaded. Because GTK+ is normally programmed from one thread,
programmers are not accustomed to having to think about concurrency. To
make application programming simpler, GStreamer 0.9 offers the ability
to marshal messages from the pipeline into the main thread.

GStreamer does this by the use of a bus, where messages are received,
handled synchronously, and then depending on the return value of the
synchronous handler they can be placed on a threadsafe queue. There is
GLib integration that creates a GSource to operate in the main context,
so you can handle messages from this queue in your main loop.
Integration with other main loop APIs is also possible.

Last week Wim Taymans made it even easier to use the bus. Now the
suggested way to use the bus is to connect to signals on the bus instead
of installing a bus watch. To listen for all messages, you connect to
the "message" signal. To listen for only EOS messages, you can connect
to "message::eos" (using the "detailed signal" functionality in GLib).
To use these signals, you will have to first call
gst_bus_add_signal_watch(), to add the bus integration to the main loop,
and gst_bus_remove_signal_watch() to clean up.

You also have to option to receive signals synchronously via the
"sync-message" signal, but most programmers will find the "message"
signal to be more convenient.

Other core changes include the normal bug fixes, refcount fixes in tee,
and the destruction of a couple of race conditions that affected mp3
playback.


Plugin Activity
---------------

Cutting to the quick, a brief look at activity by module:

  base: more robust error handling in ogg, theora, vorbis; cleanup fixes

  good: rtp payloading bugfixes, enable tag reading in flacdec, flacenc
        ported to 0.9, cleanup fixes, dv query fixes

   bad: qtdemux locking fix

  ugly: elite real demuxer work by Michael Smith

FFMpeg also has gotten some love these days from Thomas and Wim.


Bug Status
----------

Total number of GStreamer bugs as of today : 207
Number opened in the last week             : +13
Number closed in the last week             : -23
Net change                                 : -10

We are again #9 in the GNOME bug rankings. Frankly though I don't see
how these numbers add up -- we were at 207 bugs last week. Does this
prove the existence of a divine being? Stay tuned next week to find out.


Current Releases
----------------

Thomas considers it crucial that each and every one of you tatoo this
information to your forearms.

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

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


Featured Application: Thoggen
-----------------------------

Christian Schaller lets us know how to back up DVDs with GStreamer.

    Looking for a tool to backup your DVD's? Well you are in luck. This
    week we take a look at Thoggen, written by Tim Müller, which gives
    you a nice looking GTK+ GUI for ripping your DVD's into Ogg files.
    It uses HAL/d-bus for DVD detection and provides nice features such
    as preview, picture cropping and picture resizing. So free yourself
    from DivX and move into the world of Ogg.

    You find Thoggen and lots of screenshots on the Thoggen website,
    http://thoggen.net/.


Well well, there went another week and this status newsletter is all we
have to show for it, that and some code and tarballs and stuff. I'm now
syndicating this newsletter over RSS at
http://gstreamer.freedesktop.org/news/status-rss-1.0.xml, for the more
technologically inclined out there. However it is you read, farewell for
another half-fortnight. Tu hackeni nenyanyu (Happy hacking).
-- 
Andy Wingo
http://wingolog.org/





More information about the gstreamer-devel mailing list