Skip to content

Commit

Permalink
Audio: Crossover: Fix a mistake in s32 processing core
Browse files Browse the repository at this point in the history
The filters state need to be retrieved for every channel as
it is done in other s16 and s24 processing cores. The mistake
caused very distorted sound with waveform discontinuity every
copy period, e.g. 1 ms.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
  • Loading branch information
singalsu committed Aug 11, 2023
1 parent 68c8d77 commit a7a2dfc
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion src/audio/crossover/crossover_generic.c
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,7 @@ static void crossover_s32_default(struct comp_data *cd,

for (ch = 0; ch < nch; ch++) {
idx = ch;
state = &cd->state[0];
state = &cd->state[ch];
for (i = 0; i < frames; i++) {
x = audio_stream_read_frag_s32(source_stream, idx);
cd->crossover_split(*x, out, state);
Expand Down

0 comments on commit a7a2dfc

Please sign in to comment.