pulseaudio/src/modules
Hui Wang 3549a4d926 alsa-mixer: store the ucm_device with the order of their priority
There is some case that multiple ucm devices share an amixer Jack
like "Headphones", "Headset" and "Mic2" share the "Headphone Mic Jack",
When the Jack state is changed, the module-switch-on-port-available
will process them in the order they are in the jack->ucm_devices, and
the last device will decide the final setting.

But usually users put priority for those devices and expect the
final setting is based on the highest priority device if there is no
other policies like manual selection. So here do some change to store
the ucm_devices according to their priority (from low to high).

For example, we have ucm devices definition like below (ucm2):
               SectionDevice."Mic2" {
                        Comment "Headphones Stereo Microphone"
			...
                        Value {
                                CapturePriority 200
				...
                }

                SectionDevice."Headset" {
                        Comment "Headset Mono Microphone"
			...
                        Value {
                                CapturePriority 300
				...
                        }
                }

Without this patch, the final setting is based on Mic2, after applying
this patch, the final setting is based on the Headset (with higher
priority than Mic2).

Signed-off-by: Hui Wang <hui.wang@canonical.com>
2020-06-10 08:46:51 +03:00
..
alsa alsa-mixer: store the ucm_device with the order of their priority 2020-06-10 08:46:51 +03:00
bluetooth bluetooth: Ensure that only one A2DP codec is registered to bluez 2020-03-19 14:02:40 +01:00
dbus dbus: fix ActiveProfile setting 2019-08-27 08:51:27 +05:30
echo-cancel virtual sources: Propagate asyncmsgq change after source-output move 2020-01-13 20:40:04 +01:00
gconf build-sys: introduce a special build flag to explicitly disables running from build tree 2018-12-11 16:15:32 +02:00
gsettings meson: convert post-install.sh to python 2019-11-14 21:10:00 +02:00
jack module-jackdbus-detect: Separate sink/source channels arguments 2020-01-02 16:44:15 +00:00
macosx core: Expose API to elevate a thread to realtime priority 2018-06-21 06:29:32 +05:30
oss build-sys: meson: Correctly set up RPATH 2019-08-05 09:52:32 +05:30
raop raop-sink: Fix compiler warnings 2020-06-04 15:37:00 +00:00
rtp raop: Add autoreconnect feature 2019-12-22 09:43:14 +00:00
x11 X11: Add xauthority parameter 2019-11-21 14:44:09 +02:00
ladspa.h update FSF addresses to FSF web page 2015-01-14 22:20:40 +02:00
Makefile build-sys: readd stub makefiles to subdirectories to make building with emacs easier 2012-05-15 14:17:58 +02:00
meson.build meson: link libintl if it's not provided by libc 2019-09-25 04:42:03 +00:00
module-allow-passthrough.c allow-passthrough: fix hook return value 2018-05-07 16:53:57 +03:00
module-always-sink.c build-sys: Stop using symdef headers for modules 2017-12-12 12:58:52 +05:30
module-always-source.c build-sys: Stop using symdef headers for modules 2017-12-12 12:58:52 +05:30
module-augment-properties.c build-sys: Stop using symdef headers for modules 2017-12-12 12:58:52 +05:30
module-card-restore.c card-restore: prevent segfault caused by 'restore_bluetooth_profile=true' 2019-12-08 01:24:13 -03:00
module-cli.c build-sys: Stop using symdef headers for modules 2017-12-12 12:58:52 +05:30
module-combine-sink.c sink, source: remove the state getters 2018-07-02 21:23:13 +03:00
module-combine.c build-sys: Stop using symdef headers for modules 2017-12-12 12:58:52 +05:30
module-console-kit.c set exit_idle_time to 0 when we detect a session 2018-06-21 06:02:21 +05:30
module-default-device-restore.c build-sys: Stop using symdef headers for modules 2017-12-12 12:58:52 +05:30
module-detect.c build-sys: Stop using symdef headers for modules 2017-12-12 12:58:52 +05:30
module-device-manager.c source: move the streams to the default_source when the source unlink 2019-12-14 18:40:19 +00:00
module-device-restore.c build-sys: Stop using symdef headers for modules 2017-12-12 12:58:52 +05:30
module-equalizer-sink.c sink, source: remove the state getters 2018-07-02 21:23:13 +03:00
module-esound-compat-spawnfd.c build-sys: Stop using symdef headers for modules 2017-12-12 12:58:52 +05:30
module-esound-compat-spawnpid.c build-sys: Stop using symdef headers for modules 2017-12-12 12:58:52 +05:30
module-esound-sink.c optimize set_state_in_io_thread() callbacks 2018-06-21 06:05:36 +05:30
module-filter-apply.c source: move the streams to the default_source when the source unlink 2019-12-14 18:40:19 +00:00
module-filter-heuristics.c build-sys: Stop using symdef headers for modules 2017-12-12 12:58:52 +05:30
module-hal-detect-compat.c build-sys: Stop using symdef headers for modules 2017-12-12 12:58:52 +05:30
module-intended-roles.c source: move the streams to the default_source when the source unlink 2019-12-14 18:40:19 +00:00
module-ladspa-sink.c ladspa-sink: Suspend virtual sink when master is suspended 2019-03-25 05:16:15 +00:00
module-lirc.c build-sys: Stop using symdef headers for modules 2017-12-12 12:58:52 +05:30
module-loopback.c loopback: fix callback name in comment 2019-05-29 11:07:01 +03:00
module-match.c build-sys: Stop using symdef headers for modules 2017-12-12 12:58:52 +05:30
module-mmkbd-evdev.c build-sys: Stop using symdef headers for modules 2017-12-12 12:58:52 +05:30
module-native-protocol-fd.c build-sys: Stop using symdef headers for modules 2017-12-12 12:58:52 +05:30
module-null-sink.c null-sink: allow clients to configure the supported formats 2019-09-24 02:36:56 +00:00
module-null-source.c null-source: fix multiple bugs 2019-03-29 06:11:06 +00:00
module-pipe-sink.c pipe-sink, pipe-source: fix file permissions 2018-07-10 14:44:46 +03:00
module-pipe-source.c pipe-sink, pipe-source: fix file permissions 2018-07-10 14:44:46 +03:00
module-position-event-sounds.c build-sys: Stop using symdef headers for modules 2017-12-12 12:58:52 +05:30
module-protocol-stub.c build-sys: Stop using symdef headers for modules 2017-12-12 12:58:52 +05:30
module-remap-sink.c sink-input, source-output: remove the state getters 2018-07-02 18:54:03 +03:00
module-remap-source.c virtual sources: Propagate asyncmsgq change after source-output move 2020-01-13 20:40:04 +01:00
module-rescue-streams.c source: move the streams to the default_source when the source unlink 2019-12-14 18:40:19 +00:00
module-role-cork.c role-ducking, role-cork: Add use_source_trigger argument 2019-03-26 14:54:15 +00:00
module-role-ducking.c role-ducking, role-cork: Add use_source_trigger argument 2019-03-26 14:54:15 +00:00
module-rygel-media-server.c build-sys: Stop using symdef headers for modules 2017-12-12 12:58:52 +05:30
module-sine-source.c pass pa_suspend_cause_t to set_state_in_io_thread() callbacks 2018-03-20 13:00:44 +02:00
module-sine.c build-sys: Stop using symdef headers for modules 2017-12-12 12:58:52 +05:30
module-solaris.c core: Expose API to elevate a thread to realtime priority 2018-06-21 06:29:32 +05:30
module-stream-restore.c stream-restore: Forget pre-14.0 stream routing 2020-06-01 18:24:16 +00:00
module-suspend-on-idle.c sink, source: remove the state getters 2018-07-02 21:23:13 +03:00
module-switch-on-connect.c switch-on-connect: Blacklist HDMI devices by default 2019-12-27 11:24:36 +02:00
module-switch-on-port-available.c switch-on-port-available: Check if we need to change the active profile 2018-12-14 10:10:26 +02:00
module-systemd-login.c set exit_idle_time to 0 when we detect a session 2018-06-21 06:02:21 +05:30
module-tunnel-sink-new.c pass pa_suspend_cause_t to set_state_in_io_thread() callbacks 2018-03-20 13:00:44 +02:00
module-tunnel-source-new.c pass pa_suspend_cause_t to set_state_in_io_thread() callbacks 2018-03-20 13:00:44 +02:00
module-tunnel.c sink, source: remove the state getters 2018-07-02 21:23:13 +03:00
module-udev-detect.c udev-detect, alsa-card: Adopt avoid resampling option from daemon.conf 2018-06-21 06:30:25 +05:30
module-virtual-sink.c sink, source: remove the state getters 2018-07-02 21:23:13 +03:00
module-virtual-source.c virtual sources: Propagate asyncmsgq change after source-output move 2020-01-13 20:40:04 +01:00
module-virtual-surround-sink.c virtual-surround-sink: Use correct sample spec with memblockq 2020-01-05 09:31:07 +02:00
module-volume-restore.c build-sys: Stop using symdef headers for modules 2017-12-12 12:58:52 +05:30
module-waveout.c core: Expose API to elevate a thread to realtime priority 2018-06-21 06:29:32 +05:30
module-zeroconf-discover.c build-sys: Stop using symdef headers for modules 2017-12-12 12:58:52 +05:30
module-zeroconf-publish.c build-sys: Stop using symdef headers for modules 2017-12-12 12:58:52 +05:30
reserve-monitor.c reserve: Move get_name_owner() to the public rd_device API 2013-01-31 13:56:25 +02:00
reserve-monitor.h More spelling fixes 2011-08-25 11:27:47 +01:00
reserve-wrap.c update FSF addresses to FSF web page 2015-01-14 22:20:40 +02:00
reserve-wrap.h update FSF addresses to FSF web page 2015-01-14 22:20:40 +02:00
reserve.c fix dbus message leaks 2017-07-17 19:29:21 +03:00
reserve.h reserve: Move get_name_owner() to the public rd_device API 2013-01-31 13:56:25 +02:00
stdin-util.c gconf, gsettings: fix config.h includes 2018-04-19 14:38:18 +03:00
stdin-util.h gconf, gsettings: fix config.h includes 2018-04-19 14:38:18 +03:00
stream-interaction.c stream-interaction: Remove useless condition 2019-03-26 14:54:15 +00:00
stream-interaction.h role-cork: prepare merge with role-ducking: replace "cork" with "interact" where appropriate 2016-03-15 13:02:04 +02:00
udev-util.c udev: Deal with unavailable bus property 2015-04-13 08:35:53 +05:30
udev-util.h update FSF addresses to FSF web page 2015-01-14 22:20:40 +02:00