[MPlayer-dev-eng] [PATCH] af_pan.c: Avoid zero output channels when reinit af pan

Zuxy Meng zuxy.meng at gmail.com
Wed Jun 13 11:10:19 CEST 2007


Hi,

2007/6/13, Reimar Doeffinger <Reimar.Doeffinger at stud.uni-karlsruhe.de>:
> Hello,
> On Wed, Jun 13, 2007 at 09:53:47AM +0800, Zuxy Meng wrote:
> > Index: libaf/af_pan.c
> > ===================================================================
> > --- libaf/af_pan.c    ?????? 23545??
> > +++ libaf/af_pan.c    ????????????
> > @@ -22,6 +22,7 @@
> >  // Data for specific instances of this filter
> >  typedef struct af_pan_s
> >  {
> > +  int nch; // Number of output channels; zero means same as input
> >    float level[AF_NCH][AF_NCH];       // Gain level for each channel
> >  }af_pan_t;
> >
> > @@ -38,6 +39,7 @@
> >      af->data->rate   = ((af_data_t*)arg)->rate;
> >      af->data->format = AF_FORMAT_FLOAT_NE;
> >      af->data->bps    = 4;
> > +    af->data->nch    = s->nch ? s->nch: ((af_data_t*)arg)->nch;
> >      af->mul.n        = af->data->nch;
> >      af->mul.d             = ((af_data_t*)arg)->nch;
> >      af_frac_cancel(&af->mul);
> > @@ -48,7 +50,7 @@
> >        ((af_data_t*)arg)->bps = af->data->bps;
> >        return AF_FALSE;
> >      }
> > -    return control(af,AF_CONTROL_PAN_NOUT | AF_CONTROL_SET, &af->data->nch);
> > +    return AF_OK;
> >    case AF_CONTROL_COMMAND_LINE:{
> >      int   nch = 0;
> >      int   n = 0;
> > @@ -104,7 +106,7 @@
> >            " between 1 and %i. Current value is %i\n",AF_NCH,((int*)arg)[0]);
> >        return AF_ERROR;
> >      }
> > -    af->data->nch=((int*)arg)[0];
> > +    s->nch=af->data->nch=((int*)arg)[0];
>
> Hmm.. why is it necessary to set af->data->nch here?

No it isn't since a REINIT is required after NOUT being set.

>
> > Index: libaf/af_pan.c
> > ===================================================================
> > --- libaf/af_pan.c    ?????? 23545??
> > +++ libaf/af_pan.c    ????????????
> > @@ -183,6 +185,6 @@
> >      "pan",
> >      "Anders",
> >      "",
> > -    AF_FLAGS_NOT_REENTRANT,
> > +    AF_FLAGS_REENTRANT,
>
> Seems ok to me, I'd say go ahead.

OK. Thanks.

-- 
Zuxy
Beauty is truth,
While truth is beauty.
PGP KeyID: E8555ED6



More information about the MPlayer-dev-eng mailing list