<div dir="ltr"><div><div><div><div><div><div><div>Hey all,<br><br></div>I'm using the module-echo-cancel using webrtc. I'm having two problems loading the module:<br><br></div><div>1) I can't figure out how to pass multiple aec_args. When I do<br></div><div><br>$ pactl load-module module-echo-cancel aec_method=webrtc aec_args="mobile=1 comfort_noise=1"<br></div><div><br></div><div>I get the following logs:<br></div><div><br>E: [pulseaudio] module-echo-cancel.c: Failed to parse module arguments.<br>E: [pulseaudio] module.c: Failed to load module "module-echo-cancel" (argument:"aec_method=webrtc aec_args=mobile=1 comfort_noise=1"): initialization failed.<br><br></div><div>It seems pactl strips away the quotation marks around the arguments? Both arguments are recognized if I only supply them separately, so I know they are correct.<br></div><div><br><br></div>2) pactl load-module seems to ignore format, rate and channels arguments. When I execute<br></div></div><br></div>$ pactl load-module module-echo-cancel aec_method=webrtc source_name=echo_cancel_source sink_name=echo_cancel_sink format=s16le rate=44100 channels=2<br><br></div>The module loads successfully. But when I check the sinks and sources, my sources are not stereo or 44,1 kHz.<br></div>The sample rate isn't really an issue, but I have to use stereo AEC.<br><div><br>4    echo_cancel_source    module-echo-cancel.c    float32le 2ch 32000Hz    SUSPENDED<br>5    echo_cancel_sink.monitor    module-echo-cancel.c    float32le 1ch 32000Hz    SUSPENDED<br><br>2    echo_cancel_sink    module-echo-cancel.c    float32le 1ch 32000Hz    SUSPENDED<br><br>And I get the following log:<br><div><div><br>I: [pulseaudio] module-echo-cancel.c: Using AEC engine: webrtc<br>I: [pulseaudio] module-echo-cancel.c: Sample rates of play and out stream differ. Adjusting rate of play stream.<br>I: [pulseaudio] source.c: Created source 4 "echo_cancel_source" with sample spec float32le 2ch 32000Hz and channel map front-left,front-right<br>I: [pulseaudio] source.c:     device.master_device = "alsa_input.usb-Burr-Brown_from_TI_USB_Audio_CODEC-00.analog-stereo"<br>I: [pulseaudio] source.c:     device.class = "filter"<br>I: [pulseaudio] source.c:     device.intended_roles = "phone"<br>I: [pulseaudio] source.c:     device.description = "USB Audio CODEC  Analog Stereo (echo cancelled with USB Audio CODEC  Analog Stereo)"<br>I: [pulseaudio] source.c:     device.icon_name = "audio-input-microphone"<br>I: [pulseaudio] sink.c: Created sink 2 "echo_cancel_sink" with sample spec float32le 1ch 32000Hz and channel map mono<br>I: [pulseaudio] sink.c:     device.master_device = "alsa_output.usb-Burr-Brown_from_TI_USB_Audio_CODEC-00.analog-stereo"<br>I: [pulseaudio] sink.c:     device.class = "filter"<br>I: [pulseaudio] sink.c:     device.intended_roles = "phone"<br>I: [pulseaudio] sink.c:     device.description = "USB Audio CODEC  Analog Stereo (echo cancelled with USB Audio CODEC  Analog Stereo)"<br>I: [pulseaudio] sink.c:     device.icon_name = "audio-card"<br>I: [pulseaudio] source.c: Created source 5 "echo_cancel_sink.monitor" with sample spec float32le 1ch 32000Hz and channel map mono<br>I: [pulseaudio] source.c:     device.description = "Monitor of USB Audio CODEC  Analog Stereo (echo cancelled with USB Audio CODEC  Analog Stereo)"<br>I: [pulseaudio] source.c:     device.class = "monitor"<br>I: [pulseaudio] source.c:     device.icon_name = "audio-input-microphone"<br>I: [pulseaudio] source-output.c: Trying to change sample rate<br>I: [pulseaudio] alsa-source.c: Updating rate for device front:1, new rate is 48000<br>I: [pulseaudio] source.c: Changed sampling rate successfully<br>I: [pulseaudio] source-output.c: Rate changed to 48000 Hz<br>I: [alsa-source-USB Audio] alsa-source.c: Trying resume...<br>I: [alsa-source-USB Audio] alsa-source.c: Resumed successfully...<br>I: [alsa-source-USB Audio] alsa-source.c: Starting capture.<br>I: [pulseaudio] source-output.c: Created output 1 "Echo-Cancel Source Stream" on alsa_input.usb-Burr-Brown_from_TI_USB_Audio_CODEC-00.analog-stereo with sample spec float32le 2ch 32000Hz and channel map front-left,front-right<br>I: [pulseaudio] source-output.c:     <a href="http://media.name">media.name</a> = "Echo-Cancel Source Stream"<br>I: [pulseaudio] source-output.c:     media.role = "filter"<br>I: [pulseaudio] source-output.c:     <a href="http://module-stream-restore.id">module-stream-restore.id</a> = "source-output-by-media-role:filter"<br>I: [alsa-sink-USB Audio] alsa-sink.c: Trying resume...<br>I: [alsa-sink-USB Audio] alsa-sink.c: Resumed successfully...<br>I: [alsa-sink-USB Audio] alsa-sink.c: Starting playback.<br>I: [pulseaudio] resampler.c: Resampler 'ffmpeg' cannot do variable rate, reverting to resampler 'auto'.<br>I: [pulseaudio] remap_neon.c: Using ARM NEON mono to stereo remapping<br>I: [pulseaudio] speex.c: Choosing speex quality setting 1.<br>I: [pulseaudio] sink-input.c: Created input 2 "Echo-Cancel Sink Stream" on alsa_output.usb-Burr-Brown_from_TI_USB_Audio_CODEC-00.analog-stereo with sample spec float32le 1ch 32000Hz and channel map mono<br>I: [pulseaudio] sink-input.c:     <a href="http://media.name">media.name</a> = "Echo-Cancel Sink Stream"<br>I: [pulseaudio] sink-input.c:     media.role = "filter"<br>I: [pulseaudio] sink-input.c:     <a href="http://module-stream-restore.id">module-stream-restore.id</a> = "sink-input-by-media-role:filter"<br>I: [pulseaudio] module.c: Loaded "module-echo-cancel" (index: #19; argument: "aec_method=webrtc source_name=echo_cancel_source sink_name=echo_cancel_sink format=s16le rate=44100 channels=2").<br>E: [alsa-source-USB Audio] module-echo-cancel.c: Doing resync<br>E: [alsa-source-USB Audio] module-echo-cancel.c: Playback too far ahead (96683), drop source 24744<br><br></div><div>Do you have any idea what causes this?<br><br></div><div>All the best,<br></div><div>Koenraad<br></div></div></div></div>