Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#998809: jami: No echo cancellation on pipewire-pulse

486 views
Skip to first unread message

Bruno Kleinert

unread,
Nov 8, 2021, 2:20:03 AM11/8/21
to
Package: jami
Version: 20210112.2.b757bac~ds1-1
Severity: normal
X-Debbugs-Cc: fu...@debian.org

Hi,

I'm using Jami with speakers and webcam microphone. When I use pipewire-pulse
instead of pulseaudio, there is no echo cancellation applied in Jami (People I
call tell me they hear an echo of themselves).

When I use Jami on pulseaudio, /usr/lib/pulse-15.0+dfsg1/modules/module-echo-
cancel.so is used to cancel the echo. Instead, on pipewire-pulse
/usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-echo-cancel.so seems
to be available, but is not used to cancel the echo. I would expect echo
cancellation to work on both audio daemons.

I report the bug against jami because I observe and reproduce it with this
package. If it is an issue in one of the pipewire packages, please forward
accordingly.

Cheers,
Bruno



-- System Information:
Debian Release: bookworm/sid
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 5.14.0-4-amd64 (SMP w/8 CPU threads)
Kernel taint flags: TAINT_WARN
Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8) (ignored: LC_ALL set to de_DE.utf-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages jami depends on:
ii dconf-gsettings-backend [gsettings-backend] 0.40.0-2
ii jami-daemon 20210112.2.b757bac~ds1-1
ii libayatana-appindicator3-1 0.5.5-3
ii libc6 2.32-4
ii libcairo2 1.16.0-5
ii libcanberra-gtk3-0 0.30-8
ii libcanberra0 0.30-8
ii libclutter-1.0-0 1.26.4+dfsg-3
ii libclutter-gtk-1.0-0 1.8.4-4+b1
ii libgcc-s1 11.2.0-10
ii libgdk-pixbuf-2.0-0 2.42.6+dfsg-2
ii libglib2.0-0 2.70.1-1
ii libgtk-3-0 3.24.30-3
ii libnm0 1.32.12-1
ii libnotify4 0.7.9-3
ii libpango-1.0-0 1.48.10+ds1-1
ii libqrencode4 4.1.1-1
ii libqt5core5a 5.15.2+dfsg-12
ii libqt5dbus5 5.15.2+dfsg-12
ii libqt5gui5 5.15.2+dfsg-12
ii libqt5sql5 5.15.2+dfsg-12
ii libqt5sql5-sqlite 5.15.2+dfsg-12
ii libstdc++6 11.2.0-10
ii libwebkit2gtk-4.0-37 2.34.1-1
ii libx11-6 2:1.7.2-2+b1

jami recommends no packages.

jami suggests no packages.

-- no debconf information

Bruno Kleinert

unread,
Nov 15, 2021, 12:50:05 AM11/15/21
to
I found a workaround:
  1. Copy /usr/share/pipewire/pipewire-pulse.conf to ~/.config/pipewire/
  2. Edit and add { name = libpipewire-module-echo-cancel } into section context.modules = [ … ]
  3. systemctl --user restart pipewire-pulse.service
  4. Check with pavucontrol if the virtual device 'Echo Cancel Capture' records from the desired physical device
  5. In Jami's media settings, select 'Echo Cancel sink' and 'Echo Cancel source' as recording and output devices


In jami-daemon src/media/audio/pulseaudio/pulselayer.cpp I found some "magic" related to PulseAudio's echo-cancel module, but I don't understand how that does the trick for PulseAudio and if that is supposed to also work with PipeWire.
signature.asc
0 new messages