[MPlayer-dev-eng] About the future - libao2

Anders Johansson ajh at atri.curtin.edu.au
Wed Nov 7 03:06:57 CET 2001


Hi,
 
[snip]

> no. my plan:
> video codec -> libvo2 core -> libvo2 driver
> 
> libvo2 core will contain all scaling, conversion etc routine, it
> will query codecs and vo drivers for supported features and
> calculates the best buffering method and conversion, allowing
> overrides by user.

[snip]

> btw. about libao2... it also need some development. the control()
> interface, resampling, sample format conversion is not implemented
> at all.

[snip]
 
> A'rpi / Astral & ESP-team

I think that your idea of having a conversion layer before the output
layer is very good and that it should be extended to libao2 as well:

audio codec -> libao2 core -> libvo2 driver

In the libao core one could put stuff like resampling and stereo
perspective panning (works only for 3 or more speakers) synthetic 4
channel stereo and sound effects (for kareoke CDs - reverb etc or
cinema - church effects for watching movies, EQ etc). I am very
interested in doing work on this. If the design is well done it would
even be possible to make a pluggable interface where people from the
outside could write sound effect modules without having to understand
the details of how mplayer works.

I have started to convert my resampling routine into assembly, but it
would be great to have a framework or some kind of specs to work from
(just function headers and a description of what the function is
supposed to do and I'll implement it).

I have found that it will be possible to control the audio playback
speed in realtime (changing the pitch a bit but not much (this is even
desirable in some cases)).

I hate GUIs (I don't even run a window manager) but I suppose it would
be nice to be able to control parameters for the different sound
modules so there should possibly be some kind of GUI call to libao2 as
well (one could for example imagine an graphical interface to place the
location of the listening position in a room).

What to do with sync (I tried to read the source but gave up (didn't
know where to start))? I have a few suggestions though.

With support I could start making the guidelines for how libao2 could
look? If anyone else is working on this already just tell me, I don't
want to start a fight :)

Cheers,
//Anders



More information about the MPlayer-dev-eng mailing list