No description
Find a file
Hui Wang 749d5960a5 alsa-mixer: enable the alsa auto-mute if headphone is the active port
After applying the commit 19e34d8d5b, the speakers could be set to
active port and could output sound when headphone is plugging in. But
it introduced a regression on some old machines, on them there are
only one mute and one volume control shared between speakers and
headphone, pulseaudio can't mute the speaker standalone when the
headphone is playing sound. In such a case, it needs to count on
alsa auto-mute to mute the speaker by setting pinctl to 0x0.

To fix this regression and meanwhile not to impact the fix of the
commit 19e34d8d5b, Boris proposed a good idea in the issues#1297,
based on that idea, I wrote this patch and validated it on a physical
machine:
 - After booting up, the speaker is the active output port, in this
   case, the auto-mute is disabled and speakers' Pin-ctls: 0x40: OUT
 - plugging a headphone, the headphone is the active output port, in
   this case, the auto-mute is enabled and speakers' Pin-ctls: 0x00:
 - keeping headphone plugged, use pacmd to change the active port to
   speaker, the auto-mute becomes disabled and speakers' Pin-ctls:
   0x40: OUT

BTW, the patch will not bring any impact to the systems using the ucm
in pulseaudio, that is to say, it will not impact most modern laptops.

Thanks to Boris Gjenero to propose the idea of the fix.

Fixes: 19e34d8d5b ("alsa-mixer: disable the Auto-Mute once the system has speaker")
Closes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1297
Signed-off-by: Hui Wang <hui.wang@canonical.com>
2024-04-17 10:29:41 +08:00
.gitlab doc: Add some contributor guidelines 2021-01-04 15:30:38 +00:00
coverity build: Add Coverity scan model 2017-03-06 08:22:33 +01:00
doc card: handle sticky profile flag 2021-06-10 10:30:58 +00:00
doxygen build-sys: Fix a couple of meson warnings 2021-05-17 16:07:33 -04:00
man pactl, pacmd: Allow to unset the configured default sink or source 2023-03-25 20:55:48 +00:00
po Translated using Weblate (Korean) 2023-08-12 12:25:19 -04:00
scripts meson: Add DEF file to export APIs in Windows 2023-03-16 13:05:44 +05:30
shell-completion shell-completion: Fix typo in --use-pid-file= suggestion 2023-10-24 22:53:51 +03:00
src alsa-mixer: enable the alsa auto-mute if headphone is the active port 2024-04-17 10:29:41 +08:00
subprojects build-sys: Add a wrap file for Orc 2024-03-22 08:53:46 -04:00
vala vala: Couple of libpulse binding fixes 2021-09-22 15:56:27 +00:00
.gitignore build-sys: Add a webrtc-audio-processing wrap file 2023-09-01 11:21:12 -04:00
.gitlab-ci.yml ci: Drop -werror in build 2023-09-01 11:21:27 -04:00
.mailmap add a .mailmap file for git shortlog 2009-02-04 22:41:45 +01:00
CODE_OF_CONDUCT.md Adopt a Code of Conduct 2018-09-26 02:39:00 +00:00
CONTRIBUTING.md CONTRIBUTING.md: fix another typo 2021-07-30 13:13:46 +00:00
git-version-gen git-version-gen: Avoid further processing when tarball-version is present 2015-10-20 16:55:23 +02:00
GPL * rename "LICENSE" to "LGPL" 2006-04-20 12:33:00 +00:00
LGPL * rename "LICENSE" to "LGPL" 2006-04-20 12:33:00 +00:00
libpulse-mainloop-glib.pc.in build: Fix static linking 2012-07-17 11:05:34 +05:30
libpulse-simple.pc.in build: Fix static linking 2012-07-17 11:05:34 +05:30
libpulse.pc.in build: Fix static linking 2012-07-17 11:05:34 +05:30
LICENSE qpaeq: change license from AGPL to LGPL v2.1 2017-09-19 21:29:44 +03:00
meson.build build-sys: Bump cpp_std to c++17 2023-09-01 11:21:11 -04:00
meson_options.txt meson: use proper type for bools 2022-09-21 07:06:45 +00:00
NEWS Update NEWS for 17.0 2024-01-12 12:22:09 -05:00
PROTOCOL protocol-native: add message sending capability 2020-12-03 14:41:39 +00:00
pulseaudio-text.svg merge 'lennart' branch back into trunk. 2007-10-28 19:13:50 +00:00
pulseaudio.supp Add a Valgrind suppression file 2014-09-21 11:00:51 +03:00
pulseaudio.svg Add PulseAudio logo to tree. 2006-08-28 06:25:41 +00:00
PulseAudioConfig.cmake.in build-sys: Provide a simple CMake Config setup (similar to pkgconfig) 2011-10-19 23:49:23 +01:00
PulseAudioConfigVersion.cmake.in build-sys: Provide a simple CMake Config setup (similar to pkgconfig) 2011-10-19 23:49:23 +01:00
README doc: link to site documentation for IRC channels 2021-06-14 18:55:33 +03:00
todo build-sys: Stop using symdef headers for modules 2017-12-12 12:58:52 +05:30

PULSEAUDIO SOUND SERVER

WEB SITE:
	http://pulseaudio.org/

GIT:
	https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git

GitLab:
	https://gitlab.freedesktop.org/pulseaudio/pulseaudio

MAILING LIST:
	http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

GIT COMMITS MAILING LIST:
	http://lists.freedesktop.org/mailman/listinfo/pulseaudio-commits

TRAC/BUGZILLA TICKET CHANGES MAILING LIST:
	http://lists.freedesktop.org/mailman/listinfo/pulseaudio-bugs

IRC:
	https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Community/#ircandmatrix

FRESHMEAT:
	http://freshmeat.net/projects/pulseaudio/

OHLOH:
	http://www.ohloh.net/projects/4038

AUTHORS:
	Several

HACKING:
	In order to run pulseaudio from the build dir:
	  meson build
	  meson compile -C build
	  build/src/daemon/pulseaudio -n -F build/src/daemon/default.pa -p $(pwd)/build/src/modules/

SPELLING:
        PulseAudio