[MPlayer-dev-eng] [PATCH] Audio balance feature

Reimar Doeffinger Reimar.Doeffinger at stud.uni-karlsruhe.de
Sun Jun 17 15:38:13 CEST 2007


Hello,
On Sun, Jun 17, 2007 at 08:34:22PM +0800, Zuxy Meng wrote:
> 2007/6/17, Reimar Doeffinger <Reimar.Doeffinger at stud.uni-karlsruhe.de>:
> > [...]
> > > +void mixer_getbalance(mixer_t *mixer, float *val)
> > > +{
> > > +  *val = 0.f;
> > > +  if(!mixer->audio_out || !mixer->afilter)
> > > +    return;
> >
> > What's the point in checking for audio_out?
> 
> Does mixer->afilter != 0 imply mixer->audio_out != 0? If so then this
> would be redundant. I simply did the same check as mixer_getvolume.

Well, does your code failt if mixer->audio_out == 0? The volume
functions only check because of mixer->audio_out->control AFAIK.

[...]
> > > +  af_init(mixer->afilter);
> > > +  /* make all other channels pass thru since by default pan blocks all */
> > > +  memset(level, 0, sizeof(level));
> > > +  for (i = 2; i < AF_NCH; i++) {
> > > +    arg_ext.ch = i;
> > > +    level[i] = 1.f;
> > > +    af_pan_balance->control(af_pan_balance,
> > > +     AF_CONTROL_PAN_LEVEL | AF_CONTROL_SET, &arg_ext);
> > > +    level[i] = 0.f;
> > > +  }
> >
> > I think this should be done in af_pan as well.
> 
> You mean to change to default setting of af_pan?

Or move it as it is into the set balance function. That might be very
slightly better, but I have no real preference.

> > I'd strongly suggest
> > using the same code as for volume control in mixer.c, possibly even
> > factoring it out into a new function (e.g. af_control_rev_autoadd).
> 
> Maybe later:-)

Just suggesting it because there are some difference I wanted to avoid
asking about seperately like the extra af_init.

Greetings,
Reimar Doeffinger



More information about the MPlayer-dev-eng mailing list