doc: Update LICENSE to reflect optional libpulse dep on libdbus
alsa: Trivial whitespace deletion
sink-input: Don't assert when removing non-existent volume factor

This makes it easier for users of this API to add/updated a volume
factor by doing a _remove_volume_factor() followed by an
add_volume_factor(), rather than having to either remember whether this
is the first set operation or have an API to query whether a factor has
already been set.
pacat: Added support for recording from one specific sink input

BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=66326
bash-completion: Fix device completion for pacat

The Bash shell completion for pacat --device combines the name of the
last sink and the name of the first source. This patch fixes that by
adding a whitespace separator in the list of devices.

Buglink: https://bugs.freedesktop.org/show_bug.cgi?id=68106
client-conf: refactor cookie loaders

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
tunnel-sink-new: add a rewrite of module-tunnel using libpulse

The old tunnel module duplicates functionality that is in libpulse,
due to implementing the native protocol, and the protocol code in
the old tunnel module tends to get broken every now and then, because
people forget to update the tunnel module protocol implementation
when changing the native protocol. module-tunnel-sink-new avoids this
problem by using libpulse to communicate with the remote server.

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
source-output: Get the correct source for "direct_on_input" streams

If a capture stream captures from a single sink input (so the capture
stream is a so called "direct on input" stream), then it needs to
connect to the monitor source of the sink to which the sink input is
connected. Previously the correct source was not figured out
automatically, causing the capture stream creation to fail.
sink, source: Reduce indentation level in *_update_rate()
sink, source: Don't care about default and alternate rate in passthrough mode

In passthrough mode the device rate is set to match the stream rate,
and the default and alternate rates are ignored.
sink, source: Fix default and alternate rate assertions
sink, source: Small readability improvement
sink, source: Return early from pa_*_update_rate(), if there's no need to do anything
resampler: Make resampler struct implementation agnostic

The pa_resampler struct contains many implementation specific
structures. These create overhead and don't belong there anyways.

This patch moves the implementation specific structures out of the
pa_resampler structure.
resampler: Move the fix method logic into a separate function
resampler: fix_method use switch instead of if/else

This way the fix method function should be more readable and easier to
expand in the future.
resampler: Move the work format finding logic into a separate function
resampler: choose_work_format use switch instead of if/else

This way the function for choosing the work format should
be more readable and easier to expand in the future.
resampler: Add a function for comparing sample format precision
Resampler: Don't use the peaks resampler for upsampling

This patch fixes this assertion:
    Assertion 'r->i_ss.rate >= r->o_ss.rate' failed at ../../src/pulsecore/resampler.c:1744, function peaks_init(). Aborting.