Skip to content

Assertion in WebRTC AEC on desktop when clock rate is higher than 16000 Hz #2404

@nanangizz

Description

@nanangizz

Assertion line:
../../webrtc/src/webrtc//modules/audio_processing/aec/aec_core.c:1765: WebRtcAec_ProcessFrames: Assertion `aec->num_bands == num_bands' failed.

Steps to reproduce the behavior:

  1. run pjsua app with parameter: --snd-clock-rate=48000
  2. start sound device, e.g: cc 0 0
  3. assertion occurs!

After investigation, there seem to be a bug in our AEC wrapper, it wrongly passes channel count to WebRtcAec_Process(), while it actually expects number of bands (number of bands is not channel count). The WebRTC expects that audio samples splitted into high bands and low band when clock rate is higher than 16000 Hz. The audio band splitting can be done via WebRTC AudioBuffer.

Thanks to Marcus Froeschl, Thomas Hackl, and Arkadiusz Wroński for the reports.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions