pulseaudio/src/modules
Georg Chini e08124f6ba sink/source: Don't update default sink/source before calling PA_CORE_HOOK_{SINK,SOURCE}_PUT
In sink_put() and source_put(), pa_core_update_default_{sink,source}() was called
before the PA_CORE_HOOK_{SINK,SOURCE}_PUT hook. Therefore module-switch-on-connect
could not correctly determine the old default sink/source if no user default was
set and a sink/source with higher priority than any other sink/source turned up.

This patch corrects the problem by swapping the order of the hook call and the
pa_core_update_default_sink() call.

Additionally it corrects a problem in module-switch-on-connect. If, after the
change above, the new sink/source was the first sink/source to appear, pulseaudio
would crash because module-switch-on-connect assumed that the default sink/source
was not NULL. The patch checks if the default sink/source is NULL and only sets
the new default sink/source in that case.
2017-05-18 07:47:27 +02:00
..
alsa alsa: don't assume that hw:x is an analog output 2017-05-02 14:23:56 +03:00
bluetooth bluez5-device: Correctly handle suspend/resume cyle for audio gateway role of ofono backend 2017-05-04 13:14:51 +02:00
dbus improve default sink/source handling 2017-05-02 16:10:19 +03:00
echo-cancel virtual sources and sinks: Don't double attach a sink input or source output on filter load 2017-05-18 07:46:46 +02:00
gconf modules: Fix struct namespace collision on Solaris 2015-07-29 08:09:41 +05:30
jack jack-sink: fix latency calculation 2017-05-02 16:53:40 +03:00
macosx source/sink: Allow pa_{source, sink}_get_latency_within_thread() to return negative values 2017-04-17 19:50:10 +02:00
oss source/sink: Allow pa_{source, sink}_get_latency_within_thread() to return negative values 2017-04-17 19:50:10 +02:00
raop source/sink: Allow pa_{source, sink}_get_latency_within_thread() to return negative values 2017-04-17 19:50:10 +02:00
rtp source/sink: Allow pa_{source, sink}_get_latency_within_thread() to return negative values 2017-04-17 19:50:10 +02:00
x11 x11-bell: ignore volume from X11 2017-01-19 03:00:45 +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
module-allow-passthrough.c allow-passthrough: Fix indentation 2017-03-27 20:32:25 +02:00
module-always-sink.c always-sink: simplify hook management with pa_module_hook_connect() 2015-12-21 05:37:28 +02:00
module-augment-properties.c conf-parser: add support for .d directories 2015-12-14 13:45:39 +01:00
module-card-restore.c card-restore: don't switch profiles when availability changes 2016-08-10 21:37:33 +03:00
module-cli.c update FSF addresses to FSF web page 2015-01-14 22:20:40 +02:00
module-combine-sink.c source/sink: Allow pa_{source, sink}_get_latency_within_thread() to return negative values 2017-04-17 19:50:10 +02:00
module-combine.c update FSF addresses to FSF web page 2015-01-14 22:20:40 +02:00
module-console-kit.c update FSF addresses to FSF web page 2015-01-14 22:20:40 +02:00
module-default-device-restore.c improve default sink/source handling 2017-05-02 16:10:19 +03:00
module-defs.h.m4 Remove pa_bool_t and replace it with bool. 2013-07-04 12:25:30 +03:00
module-detect.c detect: Don't deprecate module-detect on non-Linux systems 2016-04-25 19:44:10 +03:00
module-device-manager.c module-device-manager: Refine logic to ignore filtered streams 2016-05-07 11:02:01 +05:30
module-device-restore.c module-*-restore: use pa_module_hook_connect 2015-04-10 09:26:40 +02:00
module-equalizer-sink.c virtual sources and sinks: Don't double attach a sink input or source output on filter load 2017-05-18 07:46:46 +02:00
module-esound-compat-spawnfd.c update FSF addresses to FSF web page 2015-01-14 22:20:40 +02:00
module-esound-compat-spawnpid.c update FSF addresses to FSF web page 2015-01-14 22:20:40 +02:00
module-esound-sink.c source/sink: Allow pa_{source, sink}_get_latency_within_thread() to return negative values 2017-04-17 19:50:10 +02:00
module-filter-apply.c filter-apply: Add ability to pass parameters to a filter module 2017-04-13 21:24:46 +02:00
module-filter-heuristics.c module-filter-*: use pa_module_hook_connect 2015-04-10 09:26:47 +02:00
module-hal-detect-compat.c update FSF addresses to FSF web page 2015-01-14 22:20:40 +02:00
module-intended-roles.c improve default sink/source handling 2017-05-02 16:10:19 +03:00
module-ladspa-sink.c virtual sources and sinks: Don't double attach a sink input or source output on filter load 2017-05-18 07:46:46 +02:00
module-lirc.c update FSF addresses to FSF web page 2015-01-14 22:20:40 +02:00
module-loopback.c source/sink: Allow pa_{source, sink}_get_latency_within_thread() to return negative values 2017-04-17 19:50:10 +02:00
module-match.c update FSF addresses to FSF web page 2015-01-14 22:20:40 +02:00
module-mmkbd-evdev.c update FSF addresses to FSF web page 2015-01-14 22:20:40 +02:00
module-native-protocol-fd.c update FSF addresses to FSF web page 2015-01-14 22:20:40 +02:00
module-null-sink.c source/sink: Allow pa_{source, sink}_get_latency_within_thread() to return negative values 2017-04-17 19:50:10 +02:00
module-null-source.c source/sink: Allow pa_{source, sink}_get_latency_within_thread() to return negative values 2017-04-17 19:50:10 +02:00
module-pipe-sink.c source/sink: Allow pa_{source, sink}_get_latency_within_thread() to return negative values 2017-04-17 19:50:10 +02:00
module-pipe-source.c source/sink: Allow pa_{source, sink}_get_latency_within_thread() to return negative values 2017-04-17 19:50:10 +02:00
module-position-event-sounds.c update FSF addresses to FSF web page 2015-01-14 22:20:40 +02:00
module-protocol-stub.c update FSF addresses to FSF web page 2015-01-14 22:20:40 +02:00
module-remap-sink.c virtual sources and sinks: Don't double attach a sink input or source output on filter load 2017-05-18 07:46:46 +02:00
module-remap-source.c virtual sources and sinks: Don't double attach a sink input or source output on filter load 2017-05-18 07:46:46 +02:00
module-rescue-streams.c improve default sink/source handling 2017-05-02 16:10:19 +03:00
module-role-cork.c role-cork: prepare merge with role-ducking: replace "cork" with "interact" where appropriate 2016-03-15 13:02:04 +02:00
module-role-ducking.c role-ducking: Add support for ducking group 2016-04-20 16:31:31 +03:00
module-rygel-media-server.c Rename functions with "tostring" in the name to one with "to_string" to conform with the convention. 2015-09-25 17:29:02 +05:30
module-sine-source.c source/sink: Allow pa_{source, sink}_get_latency_within_thread() to return negative values 2017-04-17 19:50:10 +02:00
module-sine.c sink-input/source-output: Don't crash when cork() is called without valid sink or source 2017-03-29 07:10:28 +02:00
module-solaris.c source/sink: Allow pa_{source, sink}_get_latency_within_thread() to return negative values 2017-04-17 19:50:10 +02:00
module-stream-restore.c stream-restore: With dbus-proto fix segfault if e->device is NULL. 2016-04-29 15:52:51 +03:00
module-suspend-on-idle.c sink-input/source-output: Don't crash when cork() is called without valid sink or source 2017-03-29 07:10:28 +02:00
module-switch-on-connect.c sink/source: Don't update default sink/source before calling PA_CORE_HOOK_{SINK,SOURCE}_PUT 2017-05-18 07:47:27 +02:00
module-switch-on-port-available.c switch-on-port-available: prefer ports that have been selected by the user 2016-05-03 11:49:35 +05:30
module-systemd-login.c update FSF addresses to FSF web page 2015-01-14 22:20:40 +02:00
module-tunnel-sink-new.c source/sink: Allow pa_{source, sink}_get_latency_within_thread() to return negative values 2017-04-17 19:50:10 +02:00
module-tunnel-source-new.c source/sink: Allow pa_{source, sink}_get_latency_within_thread() to return negative values 2017-04-17 19:50:10 +02:00
module-tunnel.c source/sink: Allow pa_{source, sink}_get_latency_within_thread() to return negative values 2017-04-17 19:50:10 +02:00
module-udev-detect.c udev-detect: don't use readdir_r(), it's deprecated 2017-03-10 00:32:34 +02:00
module-virtual-sink.c virtual sources and sinks: Don't double attach a sink input or source output on filter load 2017-05-18 07:46:46 +02:00
module-virtual-source.c virtual sources and sinks: Don't double attach a sink input or source output on filter load 2017-05-18 07:46:46 +02:00
module-virtual-surround-sink.c virtual sources and sinks: Don't double attach a sink input or source output on filter load 2017-05-18 07:46:46 +02:00
module-volume-restore.c update FSF addresses to FSF web page 2015-01-14 22:20:40 +02:00
module-waveout.c source/sink: Allow pa_{source, sink}_get_latency_within_thread() to return negative values 2017-04-17 19:50:10 +02:00
module-zeroconf-discover.c zeroconf-discover: fix a memory leak 2016-09-21 12:25:15 +03:00
module-zeroconf-publish.c zeroconf-publish: fix unitialized DBusError 2017-01-12 14:10:13 +02:00
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 reserve: Fix leaking NameLost signals after release+acquire 2013-01-31 14:04:45 +02:00
reserve.h reserve: Move get_name_owner() to the public rd_device API 2013-01-31 13:56:25 +02:00
stream-interaction.c stream-interaction: Fix a memory leak 2016-08-10 22:23:02 +05:30
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