[pulseaudio-discuss] [PATCH v3 22/24] echo-cancel: Use webrtc's deinterleaved API
Tanu Kaskinen
tanuk at iki.fi
Wed Feb 17 13:54:51 UTC 2016
On Wed, 2016-02-17 at 18:40 +0530, Arun Raghavan wrote:
> On Wed, 2016-02-17 at 18:36 +0530, Arun Raghavan wrote:
> > On Tue, 2016-02-16 at 14:20 +0200, Tanu Kaskinen wrote:
> > > On Mon, 2016-01-18 at 13:06 +0530, arun at accosted.net wrote:
> > > > + /* FIXME: we need to be able to modify playback samples */
> > >
> > > This comment should say also why we need to be able to modify them
> > > (and
> > > I also don't understand what's preventing us from doing so now).
> >
> > Reworded this as:
> >
> > /* FIXME: we need to be able to modify playback samples, which we can't
> > * currently do. This is because module-echo-cancel processes playback
> > * frames in the source thread, and just stores playback chunks as they
> > * pass through the sink. */
Mmmh, that still doesn't answer the question why we need to be able to
modify playback samples. What processing do we want to do that we can't
currently do?
> > > > @@ -573,4 +575,9 @@ void pa_webrtc_ec_done(pa_echo_canceller *ec)
> > > > {
> > > > delete (webrtc::AudioProcessing*)ec->params.webrtc.apm;
> > > > ec->params.webrtc.apm = NULL;
> > > > }
> > > > +
> > > > + for (i = 0; i < ec->params.webrtc.rec_ss.channels; i++)
> > > > + pa_xfree(ec->params.webrtc.rec_buffer[i]);
> > > > + for (i = 0; i < ec->params.webrtc.play_ss.channels; i++)
> > > > + pa_xfree(ec->params.webrtc.play_buffer[i]);
> > >
> > > I think it's not guaranteed that rec_ss and play_ss are initialized
> > > at
> > > this point. You should check that rec_buffer and play_buffer are
> > > non-
> > > NULL before accessing them.
> >
> > There should not be a path where rec_buffer and play_buffer are not
> > initialised before done, but I'll add that check in case this becomes
> > possible in the future.
>
> Shouldn't be necessary, actually. pa_xfree() is NULL-safe.
The problem I thought there to be was that the arrays themselves were
dynamically allocated and possibly NULL, but that's not the case, so
never mind :)
--
Tanu
More information about the pulseaudio-discuss
mailing list