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 authored and cujomalainey committed Aug 18, 2023
1 parent 5bcbcf1 commit df460c8
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 df460c8

Please sign in to comment.