[gst-devel] GStreamer status 05 October
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 for links, and check the 0.10 roadmap 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.
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
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.
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.
Thomas considers it crucial that each and every one of you tatoo this
information to your forearms.
Latest development versions:
Latest stable versions:
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,
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).
More information about the gstreamer-devel