[MPlayer-dev-eng] New audio and mixer interface, and old audio plugins

Anders Johansson ajh at watri.uwa.edu.au
Sat Jan 18 06:52:29 CET 2003


Hi,

I have started to remove the old audio plugins in my tree, found it a
bit tricky because of the dependencies with the GUI. I guess I need to
write the new interface before the old one is removed.

I started with the volume control, and found that there needs to be
some sort of reporting of the audio capabilities for the whole thing
to work nicely. When I dug around I also found an audio input
interface is starting to be built up. IMHO we should have one
interface to the audio that supports both input and output for
multiple audio devices (like audio out to two sound-cards, a network
connection and file at the same time).

I happen to have written a generic audio I/O interface for another
project I am working on (it needs a bit of work to fit with MPlayer
though). It supports arts, jack, alsa9, oss, sndfile, null and named
pipes, and it supports multiple devices. It is attached to this mail,
suppose it could give us a starting point. BTW: the funny tags in the
comments are doxygen tags.


Also, I need some help deciding one thing:
I am planning to extend the interface to the mixer to giv a more
simple interface to libaf than trying to manage dynamically added and
removed filters, there are two ways to do it: 

1. Maintain a list of desired order of the audio filters and insert
   and remove filters according to that list. If the user specified
   filter list differs from the specified order it will either be
   overridden or things will stop working.

2. Add filters dynamically according to some rule based system
   (implemented in libaf), and try to use the filter order specified
   by the user.

I guess 1. is easier to implement and will not fail very often, but
2. gives more flexibility but is more likely to give "strange" errors
and bugs.

Anyone have a better idea, otherwise I'll go for 2.?


Also is it desirable to be able to instancify multiple mixers?

//Anders
-------------- next part --------------
A non-text attachment was scrubbed...
Name: libaio.tar.gz
Type: application/octet-stream
Size: 11455 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20030118/fd830488/attachment.obj>


More information about the MPlayer-dev-eng mailing list