Report for week 28/2007 - GStreamer plugins & extensions

in the last weeks I finished the accurate MP3 seeking patch and
committed it. The Fluendo MP3 decoder still needs a small fix to have
really accurate seeking but with mad it already works perfect. [0]

While doing the change for the mad plugin I noticed that we currently
have essentially the same function for clipping a buffer in many audio
related plugins, thus I created a new function for libgstaudio that does
this. [1]

Then I implemented another GstControlSource: GstLFOControlSource. This
will give values based on a few different waveforms that could be
controlled by frequency, amplitude, etc. [2]
This still needs a review and won't make it to the next GStreamer core
release in a few days but in general it's finished, might only need a
few API adjustments.

Afterwards I started with the effects/filters. Already (essentially)
finished are simple one pole lowpass/highpass and two pole
bandpass/bandreject IIR filters[5], chebyshev[6] type I and II lowpass
and highpass filters. Especially the chebyshev type II filter needed
fairly long to implement because I had to understand and get used to the
Laplace- and Z-Transform and I only found sample implementations for
type I. A good source for understanding all this is definitely [4].
There are no bugreports with patches for these filters yet but should
come fairly soon, I only wanted to finish the bandpass/bandreject
variants of the chebyshev filters first.

At the time I tested those filters I noticed that audiotestsrc doesn't
support float and double output yet so I implemented this too. [3]
The patch still has a weird problem, i.e. annoying clipping in some
situations but I guess I should find the reason soon and get it
committed after the releases.

My mentor and I decided that, instead of starting with too many new
effects/filters, it would be more useful to get some already existing
ones in a good state and cleaned up to get them moved to
gst-plugins-good. So after finishing the chebyshev bandpass/bandreject
filter I'll care for the spectrum, equalizer and the two windowed sinc
elements first. If there's still some time I'll start a flanger element
[7] and then let's see what I want to do next ;)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]