alsa-mixer: Add "Line Out Jack" to analog-output.conf

A stationary computer usually has headphone jack(s) and line out jacks.
In some cases analog-output.conf will be a subset of
analog-output-headphones.conf, causing line outs to be unusable (because
headphones are unplugged).

This late in the cycle, this was the safest way I could think of to try
to fix this for a particular computer. In later versions of PulseAudio
we could consider making a dedicated line out path instead, and have
proper jack detection there.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
map-file: Remove pa_format_info_free2

The function doesn't exist anymore.
sink-input/source-output: Don't set save_volume if volume is not writable

This fixes a later assertion failure in module-stream-restore.

Buglink: https://bugs.launchpad.net/bugs/896602
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
bluetooth: Create ports before card profiles

Both operations are currently independent and their order can therefore
be swapped.
bluetooth: Fix missing port->profile association

Commit 17b3cb954b179392e80b0a46d8f2ba4693aec386 merged Bluetooth ports
into two ports (one for input, one for output) but the association
between ports and profiles was lost.

BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=64713
sink-input,source-output: Deal with FIX* flags and extended API

The sample spec fixup when FIX* flags are set was not being propagated
to the pa_format_info, causing the two to be out of sync when FIX* was
used.
core-util: Add pa_safe_streq

Like pa_streq, but does not blow up on NULL pointers.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
module-device-manager: Fix description restore

e->description is a pointer, not a fixed char array. Hence it
makes no sense to use strncmp.

This fixes a compiler warning when compiling under Ubuntu.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
rtp: Reset timestamp with correct size if not found

This fixes a compiler warning when building under Ubuntu.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
build-sys: Bump soname

We dropped pa_format_info_free2 as an exposed symbol, but this was never
exposed via headers, so not counting this as ABI change.
osx: Fix latency querying

get_latency_us() used an uninitialized variable, and an incorrect
scope for some of the AudioObjectGetPropertyData() calls. As a result,
audio would randomly not work at all.

BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=65122
Add a NEWS file

Short version based on Tanu's longer notes posted on list (and now on
the wiki, linked from this file.
build-sys: Bump soname
switch-on-port-available: Prepare for dual-direction ports going away

As an extra, I broke try_to_switch_profile() into smaller
functions, because the two levels of loops with continue
statements inside both were a bit hard to follow.
switch-on-port-available: Remove a redundant function argument
switch-on-port-available: Fix error reporting style
alsa-mixer: Introduce "description-key" option for paths

Previously the path description was looked up based on the
path name only. Since there can be multiple paths that use
the same description, it had to be possible to have multiple
paths with the same name.

Having the same name with multiple paths makes identifying
the paths more complex than necessary, so the plan is to
make it impossible to have paths with the same name. This
patch prepares for that by retaining the possibility to
still have the same description with multiple paths. Instead
of the path name, the path description is looked up by using
the "path description key" if it is set (path name is still
used as a fallback lookup key).
alsa-mixer: Remove the "name" option from the "General" section of path configuration files

This means that the path names will always correspond to the
path configuration file names, so they will automatically be
unique (in the scope of one card).
device-port: Make it impossible to have dual-direction ports
bluetooth: Remove unnecessary braces