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

Anders Johansson ajh at watri.uwa.edu.au
Mon Jan 20 11:10:31 CET 2003


Hi,

> > This is a safety setting to make sure the user doesn't blow up his
> > stereo, to override use -af volume=0
> 
> This is nonsense! 

OK, I'll change it.

> > > Also I have some ideas for speeding up the volume filter a lot and
> > > supporting more features like soft clipping in the integer code. Is it
> > > ok to commit stuff to libaf or do you want to take care of all the
> > > changes for now?
> > 
> > I don't care much about integer processing, commit anything you want
> > as long as it doesn't brake anything else. If you plan to do any
> > changes to float stuff, then my only concern is that the dynamic range
> > shouldn't be affected, i.e look out for conversions and floating point
> > underflow, and stick to float not double.
> 
> Hmm, the float code is very slow too, so maybe I'll try to improve it
> too for people who want to use it. Does it actually work now?

Yes, I have never had any problems with it.

> > > One other idea, and this could apply to video filters too... It'd be
> > > nice to have a way of specifying default filters that always get used,
> > > in addition to ones specified on the command line. For example I
> > > imagine dxr3 users always want -vop lavc at the end of their chain,
> > > and users with yv12-impaired cards might always want -vop yuy2 at the
> > > end. Similarly someone might always want to have the surround filter
> > > loaded, and not have to manually specify it every time when using
> > > other filters on the commandline.
> > 
> > What do you mean? The surround filter gets unloaded automatically if
> > it isn't needed, you can have it enabled always.
> 
> Right. But suppose I put af=surround in my .mplayer/config, then I use
> a command like mplayer -af volume foo.avi. Surround won't get loaded
> unless I manually do -af volume,surround, and I'm likely to forget
> this if surround is normally auto-loaded by my config file.

Ah, never thought about that, but that's actually lack of feature in the
config parser.

> > > > Also is it desirable to be able to instancify multiple mixers?
> > > 
> > > IMHO yes, all filter modules should be reentrant and support multiple
> > > instances.
> > 
> > Sorry, perhaps I wasn't very clear. I mean the mixer found in mixer.c,
> > thats where I will write the runtime interface to the audio filter
> > layer. It will sort of look (in terms of functionality) like the
> > interface found on a combined D/A and amplifier that are used along
> > with stand alone DVD players. Is it desirable to perhaps create
> > different interfaces to the audio filter layer and have them
> > dynamically loadable, or is it overkill, that is my question? This
> > will be applicable to mencoder as well where one perhaps will want one
> > mixer for each audio stream.
> 
> Hmm... IMHO mixer.c is sort of irrelevant to mencoder; you wouldn't
> need to be adjusting settings interactively during the movie, just
> with initial config to the audio filters on the command line. 

I'm thinking about a future "meditor"

> But perhaps there's something I don't understand that makes it
> useful. I'd see what Arpi has to say on this matter.

I'll implement it in a way such that it can easily be converted in the
future, i.e store all global variables in a struct-> . That way if it
is needed in the future one can add an extra input parameter to all the
functions which is a pointer to the current instance.

> Rich

//Anders



More information about the MPlayer-dev-eng mailing list