pulseaudio/src/modules
Tanu Kaskinen 1fe37e6d4b stream-restore: Forget pre-14.0 stream routing
Prior to commits f899d5f466 and
f62a49b8cf, GNOME's sound settings
overwrote the routing for all entries in the stream-restore database
when selecting a device. Now we prevent that from happening (see the
aforementioned commits), but the old overwritten settings can still be in
the database after updating to PulseAudio 14.0, and they can cause
problems, as documented here:
https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/832

We can't distinguish between devices set by GNOME's sound settings
and devices set by the user, so this patch discards all old device
settings, even though that is going to cause PulseAudio to forget routing
settings for many users. This is less bad than keeping the incorrect
routing settings in the database, because it's difficult for users to
figure out how to fix the situation when e.g. speaker test tones go to
the internal speakers no matter what device is selected as the default,
whereas old manual configuration can be restored restored by doing the
manual configuration again. Also, it's probably more common to have at
some point changed the default device in GNOME's sound settings than it
is to have any manual per-stream routing settings.

This is disabled by default, because this causes data loss, but
distributions that use GNOME are recommended to enable this with
the --enable-stream-restore-clear-old-devices (Autotools) or
-Dstream-restore-clear-old-devices=true (Meson) build option.

Fixes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/832
2020-06-01 18:24:16 +00:00
..
alsa alsa sink/source: fix the mixer initialization 2020-04-09 16:42:28 +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: Send initial timing packet to prime UDP connection tracking 2020-04-10 18:44:13 +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