[MPlayer-G2-dev] libaf

Arpi arpi at thot.banki.hu
Fri Aug 1 18:27:29 CEST 2003


> I will try to convert libaf to the new general config system this
> weekend. Is there anything else you want me to change in the audio
> filter layer while I am at it?

yes, rewrite from scratch :)))
ok just joke.

but i would like a stream/fifo like implementation instead of this current
packet i/o style. the packet stuff would be ok, if you could accurately
predict (calculate) in/out packet sizes, but i see it's not possible for
many filters.

what i really want to see in libaf, is very similar to vf layer:
the bottom end (ao) requiest N samples (or bytes), from the af
layer. then the last af filter is called to produce N samples.
This filter then calculates that it needs M samples to be able to
produce exactly N samples. then it calls the previous filter in line,
to produce M samples and so on, up to the codec.

actually the current libaf is similar, but it in first pass tries to
estimate the required number of samples from codec (by multiplying constant
sample in/out ratio of each filter), then ask codec to produce such amount
of samples, then route this packet through all filters down to ao.
it results inaccurate buffering (buffers are dinamically resized to fit the
data size, and filters sometimes overflow the buffers, by producing more
samples than predicted before). and as result, it almost never match the
wanted number of samples at ao.

> How is it going with the inclusion of my chages to libao?

just before the last release i readed your patch (after creating patch 
from your double-packed patched version - next time please send patches)
but i have too much things i don't like as-is.
Mostly by API and parameter/naming style, so it's easier to fix myself than
explain and get you fix. I want a similar API to libvo (and other libs).
I'll do it, but nowdays i was busy with other stuff.
(like the new Timer api, porters (macosx, win32 etc) get ready for a big
timer update, you'll have to write new timer drivers for your arch!)

A'rpi / Astral & ESP-team

Developer of MPlayer G2, the Movie Framework for all - http://www.MPlayerHQ.hu

More information about the MPlayer-G2-dev mailing list