[pulseaudio-discuss] [PATCH 07/23] echo-cancel: Fix zeroing of w in AEC_leaky()

Tanu Kaskinen tanuk at iki.fi
Thu Feb 14 06:45:26 PST 2013


On Thu, 2013-02-14 at 16:42 +0200, Tanu Kaskinen wrote:
> On Wed, 2013-02-13 at 17:26 +0100, Peter Meerwald wrote:
> > From: Peter Meerwald <p.meerwald at bct-electronic.com>
> > 
> > bug probably caused by alignment requirement; sizeof(a->w) is a pointer, sizeof(a->w_arr) is an array
> 
> The patch is good, I'll apply it. But speaking of w alignment, isn't the
> alignment code in AEC_init() wrong? Currently it's:
> 
> a->w = (REAL *) (((uintptr_t) a->w_arr) + (((uintptr_t) a->w_arr) % 16));
> 
> Shouldn't it be
> 
> a->w = (REAL *) (((uintptr_t) a->w_arr) - (((uintptr_t) a->w_arr) % 16) + 16 / sizeof(REAL));
> 
> ?

Sorry, dividing by sizeof(REAL) shouldn't be there, since the
calculation is in byte domain. I got confused by the w_arr declaration.

-- 
Tanu



More information about the pulseaudio-discuss mailing list