diff --git a/src/media/audio/pulseaudio/audiostream.cpp b/src/media/audio/pulseaudio/audiostream.cpp index 1dca00a16b219d33cde13181e50e93a223a47c88..dad31489158db225f82adf4520bb44d14993e500 100644 --- a/src/media/audio/pulseaudio/audiostream.cpp +++ b/src/media/audio/pulseaudio/audiostream.cpp @@ -59,6 +59,15 @@ AudioStream::AudioStream(pa_context* c, std::unique_ptr<pa_proplist, decltype(pa_proplist_free)&> pl(pa_proplist_new(), pa_proplist_free); pa_proplist_sets(pl.get(), PA_PROP_FILTER_WANT, "echo-cancel"); + pa_proplist_sets( + pl.get(), "filter.apply.echo-cancel.parameters", // needs pulseaudio >= 11.0 + "use_volume_sharing=0" // share volume with master sink/source + " use_master_format=1" // use format/rate/channels from master sink/source + " aec_args=\"" + "digital_gain_control=1" + " analog_gain_control=0" + " experimental_agc=1" + "\""); audiostream_ = pa_stream_new_with_proplist(c, desc,