platform/upstream/pulseaudio.git
5 years agotests: Shorten how long daemon tests take to run
Arun Raghavan [Sat, 13 Oct 2018 05:31:45 +0000 (11:01 +0530)]
tests: Shorten how long daemon tests take to run

We split out some of the check-daemon tests that take a long time to
run, and also reduce how long we wait for the daemon to start up. This
should make the CI process quicker.

5 years agobuild-sys: Add the ability to disable maintainer mode
Arun Raghavan [Mon, 15 Oct 2018 03:33:25 +0000 (09:03 +0530)]
build-sys: Add the ability to disable maintainer mode

This allows us to disable automatically updating build system files in
case things change. This is desirable in the common case, but not
necessarily for CI, where we want the ability to take a build directory
as an artifact from one stage to the next (i.e. into a fresh checkout).

5 years agomemblockq: fix typo: yepp -> yep
Diego Viola [Sun, 13 Jan 2019 17:02:59 +0000 (17:02 +0000)]
memblockq: fix typo: yepp -> yep

5 years agomeson: Fix some config generation warnings
Arun Raghavan [Thu, 27 Dec 2018 12:02:30 +0000 (17:32 +0530)]
meson: Fix some config generation warnings

5 years agosystem.pa: Drop mention of module-hal-detect
Arun Raghavan [Thu, 27 Dec 2018 12:03:00 +0000 (17:33 +0530)]
system.pa: Drop mention of module-hal-detect

We dropped HAL support years ago.

5 years agomeson: Add some platform specific configuration data
Arnaud Rebillout [Mon, 22 Oct 2018 04:57:26 +0000 (11:57 +0700)]
meson: Add some platform specific configuration data

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Fix HAVE_AF_UNIX, add check for mkfifo function
Arnaud Rebillout [Mon, 22 Oct 2018 04:39:56 +0000 (11:39 +0700)]
meson: Fix HAVE_AF_UNIX, add check for mkfifo function

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Process and install files: default.pa, system.pa, daemon.conf, client.conf
Arnaud Rebillout [Mon, 22 Oct 2018 04:31:04 +0000 (11:31 +0700)]
meson: Process and install files: default.pa, system.pa, daemon.conf, client.conf

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Sort the core dependencies a bit
Arnaud Rebillout [Sun, 21 Oct 2018 10:15:04 +0000 (17:15 +0700)]
meson: Sort the core dependencies a bit

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Display summary and warnings at the end of the meson configure step
Arnaud Rebillout [Fri, 19 Oct 2018 12:08:03 +0000 (19:08 +0700)]
meson: Display summary and warnings at the end of the meson configure step

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Typo in man/meson.build
Arnaud Rebillout [Sun, 21 Oct 2018 08:41:28 +0000 (15:41 +0700)]
meson: Typo in man/meson.build

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Add optional legacy-database-entry-format support
Arnaud Rebillout [Sun, 21 Oct 2018 10:09:28 +0000 (17:09 +0700)]
meson: Add optional legacy-database-entry-format support

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Add optional libsamplerate support
Arnaud Rebillout [Sun, 21 Oct 2018 10:00:25 +0000 (17:00 +0700)]
meson: Add optional libsamplerate support

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Add optional SoX Resampler support
Arnaud Rebillout [Sun, 21 Oct 2018 09:47:03 +0000 (16:47 +0700)]
meson: Add optional SoX Resampler support

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Add optional IPv6 support
Arnaud Rebillout [Sun, 21 Oct 2018 09:34:55 +0000 (16:34 +0700)]
meson: Add optional IPv6 support

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Add optional Async NS support
Arnaud Rebillout [Sun, 21 Oct 2018 09:22:59 +0000 (16:22 +0700)]
meson: Add optional Async NS support

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Add optional GSettings support
Arnaud Rebillout [Sun, 21 Oct 2018 08:39:30 +0000 (15:39 +0700)]
meson: Add optional GSettings support

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Add optional Gtk+ support
Arnaud Rebillout [Sat, 20 Oct 2018 08:41:28 +0000 (15:41 +0700)]
meson: Add optional Gtk+ support

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Add optional libpulse-mainloop-glib
Arnaud Rebillout [Sat, 20 Oct 2018 08:30:19 +0000 (15:30 +0700)]
meson: Add optional libpulse-mainloop-glib

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Add optional GLib support
Arnaud Rebillout [Sat, 20 Oct 2018 08:29:03 +0000 (15:29 +0700)]
meson: Add optional GLib support

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Add a sanity check regarding echo cancellers
Arnaud Rebillout [Fri, 19 Oct 2018 11:44:20 +0000 (18:44 +0700)]
meson: Add a sanity check regarding echo cancellers

Taken straight out of the configure.ac file.

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Make Adrian echo canceller optional
Arnaud Rebillout [Fri, 19 Oct 2018 11:39:09 +0000 (18:39 +0700)]
meson: Make Adrian echo canceller optional

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: adrian-aec requires libm
Arnaud Rebillout [Fri, 19 Oct 2018 11:30:05 +0000 (18:30 +0700)]
meson: adrian-aec requires libm

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Make webrtc optional
Arnaud Rebillout [Fri, 19 Oct 2018 11:25:55 +0000 (18:25 +0700)]
meson: Make webrtc optional

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Make hal-compat optional
Arnaud Rebillout [Fri, 19 Oct 2018 11:18:58 +0000 (18:18 +0700)]
meson: Make hal-compat optional

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Make udev optional
Arnaud Rebillout [Fri, 19 Oct 2018 11:11:31 +0000 (18:11 +0700)]
meson: Make udev optional

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Make speex optional
Arnaud Rebillout [Fri, 19 Oct 2018 11:09:13 +0000 (18:09 +0700)]
meson: Make speex optional

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Make openssl optional, fix build when openssl is disabled
Arnaud Rebillout [Fri, 19 Oct 2018 11:00:59 +0000 (18:00 +0700)]
meson: Make openssl optional, fix build when openssl is disabled

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Make lirc optional
Arnaud Rebillout [Fri, 19 Oct 2018 10:58:21 +0000 (17:58 +0700)]
meson: Make lirc optional

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Make fftw optional
Arnaud Rebillout [Fri, 19 Oct 2018 10:51:58 +0000 (17:51 +0700)]
meson: Make fftw optional

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Make jack optional
Arnaud Rebillout [Fri, 19 Oct 2018 10:48:31 +0000 (17:48 +0700)]
meson: Make jack optional

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Use assert() to validate the prefix
Arnaud Rebillout [Fri, 19 Oct 2018 10:45:12 +0000 (17:45 +0700)]
meson: Use assert() to validate the prefix

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Fix bluez5 version requirement
Arnaud Rebillout [Fri, 19 Oct 2018 10:43:21 +0000 (17:43 +0700)]
meson: Fix bluez5 version requirement

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Make bluez optional
Arnaud Rebillout [Fri, 19 Oct 2018 10:40:06 +0000 (17:40 +0700)]
meson: Make bluez optional

I can't promise that the logic is *exactly* the same as the logic
currently in use with the autotools, but it seems correct to me.

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Make avahi optional
Arnaud Rebillout [Fri, 19 Oct 2018 10:04:01 +0000 (17:04 +0700)]
meson: Make avahi optional

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Make systemd optional
Arnaud Rebillout [Fri, 19 Oct 2018 09:43:44 +0000 (16:43 +0700)]
meson: Make systemd optional

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Also set HAVE_ALSA when alsa is enabled
Arnaud Rebillout [Fri, 19 Oct 2018 09:38:38 +0000 (16:38 +0700)]
meson: Also set HAVE_ALSA when alsa is enabled

Just following the configure file.

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Make alsa optional
Arnaud Rebillout [Fri, 19 Oct 2018 09:37:05 +0000 (16:37 +0700)]
meson: Make alsa optional

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomodule-stream-restore: Silence compiler warnings when dbus is disabled
Arnaud Rebillout [Fri, 19 Oct 2018 09:28:57 +0000 (16:28 +0700)]
module-stream-restore: Silence compiler warnings when dbus is disabled

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Make dbus optional, fix build with dbus disabled
Arnaud Rebillout [Fri, 19 Oct 2018 09:24:25 +0000 (16:24 +0700)]
meson: Make dbus optional, fix build with dbus disabled

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Adjust fixme comment for daemon
Arnaud Rebillout [Tue, 9 Oct 2018 05:07:05 +0000 (12:07 +0700)]
meson: Adjust fixme comment for daemon

Man pages are handled in man/meson.build, that's where FIXMEs and TODOs
are now.

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Install start-pulseaudio-x11 if x11 is found
Arnaud Rebillout [Tue, 9 Oct 2018 04:56:33 +0000 (11:56 +0700)]
meson: Install start-pulseaudio-x11 if x11 is found

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Build pax11publish only if X11 is found
Arnaud Rebillout [Tue, 9 Oct 2018 04:53:04 +0000 (11:53 +0700)]
meson: Build pax11publish only if X11 is found

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Make x11 optional, bump meson requirement
Arnaud Rebillout [Tue, 9 Oct 2018 04:44:02 +0000 (11:44 +0700)]
meson: Make x11 optional, bump meson requirement

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Tighter coupling of XOrg dependencies
Arnaud Rebillout [Tue, 9 Oct 2018 04:41:07 +0000 (11:41 +0700)]
meson: Tighter coupling of XOrg dependencies

If `x11-xcb` is found, then let's force other X11 dependencies to be
there as well. That makes things a bit easier, and that's also what is
done in the autotools build system.

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Add a comment to mark the beginning of the configuration data section
Arnaud Rebillout [Tue, 9 Oct 2018 03:40:51 +0000 (10:40 +0700)]
meson: Add a comment to mark the beginning of the configuration data section

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Create bindir and libdir variables
Arnaud Rebillout [Tue, 9 Oct 2018 03:37:42 +0000 (10:37 +0700)]
meson: Create bindir and libdir variables

This is to avoid using the construct 'join_paths(prefix, get_option(...))'
everywhere in the meson files. It's better to settle the paths question
once and for all at the beginning.

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Add a sanity check to the prefix option
Arnaud Rebillout [Tue, 9 Oct 2018 03:31:16 +0000 (10:31 +0700)]
meson: Add a sanity check to the prefix option

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
5 years agomeson: Add pulsedspdir option
Arnaud Rebillout [Tue, 9 Oct 2018 03:26:57 +0000 (10:26 +0700)]
meson: Add pulsedspdir option

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agoalsa-ucm: Fix UCM devices which names share a prefix being seen as the same
Hans de Goede [Mon, 24 Dec 2018 11:45:48 +0000 (12:45 +0100)]
alsa-ucm: Fix UCM devices which names share a prefix being seen as the same

Before this commit ucm_port_contains() was using a strncmp to compare
UCM-device-names without first checking that the part of the port_name
being compared and the device-name have the same length, this was causing
it to return true for both "InternalMic-IN1" and "InternalMic-IN12" when
port_name contained "InternalMic-IN1".

We hit this with the bytcr_rt5651 UCM profile which has "InternalMic-IN1",
"InternalMic-IN2" and "InternalMic-IN12" devices, for devices with their
internal mic connected to IN1, or IN2, or using stereo internal mics
connected to both. This problem resulted in various problems including
the RECMIXL? BST2 switch getting turned on when selecting only
"InternalMic-IN1", as well as confusing the gnome-control-center sound
panel, which could not figure out which device is selected in this case.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
6 years agodockerfile: Install Meson from upstream tarball
Arnaud Rebillout [Mon, 19 Nov 2018 07:30:37 +0000 (14:30 +0700)]
dockerfile: Install Meson from upstream tarball

This is because the meson build requires meson 0.47, which is not
available in the current Ubuntu LTS (18.04).

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agomodule-alsa-card: Update the active profile's availability last
João Paulo Rechi Vita [Thu, 13 Dec 2018 21:07:08 +0000 (13:07 -0800)]
module-alsa-card: Update the active profile's availability last

The previous commit introduces logic in module-switch-on-port-available
that may change a card's active profile when its availability changes to
PA_AVAILABLE_NO. To choose the new active profile, it needs a consistent
view of the new availability of all profiles, so this commit changes the
order which the ALSA driver updates all profiles' availability to ensure
the active profile is last.

This is not generic enough to cover cases were we may want to take an
action on availability changes of profiles other than the active one
that also need a consistent view of all profiles' availability. But we
don't have any callbacks implementing such action at the moment.

6 years agoswitch-on-port-available: Check if we need to change the active profile
João Paulo Rechi Vita [Tue, 11 Dec 2018 00:16:46 +0000 (16:16 -0800)]
switch-on-port-available: Check if we need to change the active profile

When a port becomes unavailble its profile may also become unavailable.
If that profile is the card's active profile, we need to switch the
card's active profile to a different one.

If we don't do that a card may get stuck on a profile without available
ports, but its sink and source will still exist, preventing
module-rescue-streams to move the streams to a different card with
available ports.

The relation between port availability and profile availability is
defined by the driver, and for the ALSA driver a profile is considered
available if there is at least one (available || unknown) port for each
direction implemented by the profile. Because of that we can only check
the profile's availability and priority when looking for the best
profile and don't need to look at port's priorities.

https://phabricator.endlessm.com/T24904

6 years agobuild-sys: introduce a special build flag to explicitly disables running from build...
Hongxu Jia [Fri, 7 Dec 2018 07:48:49 +0000 (15:48 +0800)]
build-sys: introduce a special build flag to explicitly disables running from build tree

It is helpful to improve reproducibility build [1] since
PA_SRCDIR/PA_BUILDDIR contains build path,
--disable-running-from-build-tree could drop these macros at
precompilation.

[1] https://reproducible-builds.org/

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
6 years agoswitch-on-connect: Do not ignore HDMI sinks
João Paulo Rechi Vita [Wed, 8 Aug 2018 05:00:52 +0000 (22:00 -0700)]
switch-on-connect: Do not ignore HDMI sinks

HDMI ports are normally present on cards connected to an internal bus,
and module-switch-on-connect should switch to them when a HDMI monitor
is plugged.

This is specially relevant on setups where the HDMI port of a machine is
connected to a different audio card then the analog outputs, which is
the case for machines with AMD graphics cards.

6 years agoalsa-mixer: Add support for 2018 Arctis 7
Zakhary Husak [Wed, 24 Oct 2018 04:54:56 +0000 (04:54 +0000)]
alsa-mixer: Add support for 2018 Arctis 7

6 years agoraop: fix typo: modules -> modulus
Tanu Kaskinen [Mon, 7 Nov 2016 15:12:56 +0000 (17:12 +0200)]
raop: fix typo: modules -> modulus

6 years agoraop: add error handling to rsa_encrypt()
Tanu Kaskinen [Mon, 7 Nov 2016 15:12:55 +0000 (17:12 +0200)]
raop: add error handling to rsa_encrypt()

When reviewing another change in rsa_encrypt(), Felipe Sateler pointed
out some deficiencies in error handling. This patch adds error handling
for all openssl calls in rsa_encrypt().

This patch doesn't propagate the error all the way up to the
pa_rtsp_client owner, because there's no mechanism for doing that. I
could implement such mechanism myself, but I think it's better I don't
make such complex changes to the RAOP code, because I don't have any
RAOP hardware to test the changes. The result is that module-raop-sink
will just sit around without doing anything. I think this is still
better than having no error handling at all.

6 years agoalsa-mixer: Update to support Arctis Pro Wireless headset
jorisc90 [Thu, 25 Oct 2018 23:59:13 +0000 (23:59 +0000)]
alsa-mixer: Update to support Arctis Pro Wireless headset

The Arctis 7 configuration can be used as is - the ALSA PCM and mixer
interfaces are the same.

6 years agoalsa-sink/source, sink, source: Consider sample format for avoid-resampling/passthrough
Sangchul Lee [Thu, 15 Nov 2018 16:12:05 +0000 (01:12 +0900)]
alsa-sink/source, sink, source: Consider sample format for avoid-resampling/passthrough

Sample format(e.g. 16 bit, 24 bit) was not considered even if the
avoid-resampling option is set or the passthrough mode is used.
This patch checks both sample format and rate of a stream to
determine whether to avoid resampling in case of the option is set.
In other word, it is possble to use the stream's original sample
format and rate without resampling as long as these are supported
by the device.

pa_sink_input_update_rate() and pa_source_output_update_rate() are
renamed to pa_sink_input_update_resampler() and pa_source_output
_update_resampler() respectively.

functions are added as below.
 pa_sink_set_sample_format(), pa_sink_set_sample_rate(),
 pa_source_set_sample_format(), pa_source_set_sample_rate()

Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agoresampler: Fix confusion between rear and side channels for 5.1 layouts
Alexander E. Patrakov [Sat, 13 Oct 2018 17:11:20 +0000 (22:11 +0500)]
resampler: Fix confusion between rear and side channels for 5.1 layouts

mpv and vlc play "normal" 5.1 AC3 and DTS files as if they had a
"5.1 (Side)" layout. Which is fine and consistent with ITU
recommendations if the user has a proper 7.1 system. But if the user
actually has a 5.1 system, PulseAudio will try to remap, poorly, between
the "5.1 (Side)" and "5.1" layouts, sending either an average between
front and rear channels, or an attenuated version of that average,
depending on the remixing-use-all-sink-channels setting.

This is not desired, the "Side" channels should be sent to "Rear", it is
only an unfortunate nomenclature confusion.

This patch does not fix 5.1 <-> 7.1 remixing.

Signed-off-by: Alexander E. Patrakov <patrakov@gmail.com>
6 years agoalsa-mixer: swap lineout and headphone priorities
Tanu Kaskinen [Sun, 28 Oct 2018 11:15:53 +0000 (13:15 +0200)]
alsa-mixer: swap lineout and headphone priorities

Headphones should have higher priority than lineout. Many people have
speakers always connected to lineout, and when plugging in headphones,
the audio should move to the headphones, which requires headphones
to have higher priority than lineout.

Previously this was handled by marking lineout unavailable when plugging
in headphones, but we don't do that any more.

6 years agoalsa-mixer: don't make lineout unavailable when headphones are plugged in
Tanu Kaskinen [Sun, 28 Oct 2018 11:10:36 +0000 (13:10 +0200)]
alsa-mixer: don't make lineout unavailable when headphones are plugged in

This reverts commit 66f97c35bda9524985b8d34d9a7dbfa9b1359df5. The commit
message was:

    alsa-mixer: Disable line-out if headphone jack is plugged

    Line-out gets muted when headphones are plugged in on HDA cards, encode
    this in the line-out path so pulse can match that state.

I don't think the mentioned auto-muting happens any more by default,
and some users want to use lineout while having headphones plugged in.

Fixes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/583
6 years ago.gitignore: add passthrough-test
Tanu Kaskinen [Tue, 23 Oct 2018 16:18:26 +0000 (19:18 +0300)]
.gitignore: add passthrough-test

6 years agodaemon-conf: fix printing avoid-resampling in pa_daemon_conf_dump()
Tanu Kaskinen [Tue, 23 Oct 2018 15:35:09 +0000 (18:35 +0300)]
daemon-conf: fix printing avoid-resampling in pa_daemon_conf_dump()

The bool was inverted for some reason - maybe because the next line
prints enable-remixing that needs to be inverted from disable_remixing,
and somehow this logic was accidentally copied to the avoid-resampling
handling.

Fixes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/568
6 years agogitignore: Ignore cscope files
Arun Raghavan [Sun, 21 Oct 2018 15:59:20 +0000 (16:59 +0100)]
gitignore: Ignore cscope files

6 years agoRemove active_profile
David Hewitt [Wed, 17 Oct 2018 17:12:29 +0000 (17:12 +0000)]
Remove active_profile

6 years agovala: add pa_card_port_info bindings
David Hewitt [Wed, 17 Oct 2018 10:09:55 +0000 (10:09 +0000)]
vala: add pa_card_port_info bindings

6 years agovala: Fix card profile array bindings
David Hewitt [Mon, 15 Oct 2018 09:15:15 +0000 (09:15 +0000)]
vala: Fix card profile array bindings

6 years agovolume-test: Allow rounding without having to allow a random number of errors
Joseph Herlant [Thu, 11 Oct 2018 18:46:54 +0000 (11:46 -0700)]
volume-test: Allow rounding without having to allow a random number of errors

6 years agopassthrough-test: Add a test for volume set/restore
Arun Raghavan [Mon, 3 Sep 2018 12:28:24 +0000 (17:58 +0530)]
passthrough-test: Add a test for volume set/restore

6 years agotests: Add a unit test for passthrough support
Arun Raghavan [Mon, 3 Sep 2018 12:11:54 +0000 (17:41 +0530)]
tests: Add a unit test for passthrough support

This adds some basic infrastructure to test passthrough support. Right
now, it just creates a passthrough stream and makes sure negotiation
works. We'll add in more tests as we go along.

6 years agonull-sink: Add support for reconfiguration and non-PCM formats
Arun Raghavan [Mon, 3 Sep 2018 12:07:55 +0000 (17:37 +0530)]
null-sink: Add support for reconfiguration and non-PCM formats

This makes it easier to manually test as well as add unit tests for
passthrough support.

6 years agobuild-sys: Fix meson version detection logic
Arun Raghavan [Thu, 11 Oct 2018 14:08:19 +0000 (19:38 +0530)]
build-sys: Fix meson version detection logic

This sync the meson version detection to match what we do in the
autotools build, which is to use git-version-gen, which in turn looks
for <topdir>/.tarball-version, or generates the version based on a git
tag or environment variable.

6 years agoi18n: Provide *ngettext() stubs when NLS is diabled
Arun Raghavan [Thu, 11 Oct 2018 14:18:20 +0000 (19:48 +0530)]
i18n: Provide *ngettext() stubs when NLS is diabled

6 years agocard: Log initial profile selection
João Paulo Rechi Vita [Thu, 21 Jun 2018 01:36:59 +0000 (18:36 -0700)]
card: Log initial profile selection

Add logs to pa_card_choose_initial_profile and pa_card_set_profile to
have detailed logging of the profile initialization logic.

6 years agodevice-port: Use pa_available_to_string
João Paulo Rechi Vita [Mon, 13 Aug 2018 19:31:06 +0000 (12:31 -0700)]
device-port: Use pa_available_to_string

Replace using the ternary operator with pa_available_to_string to print
value of a pa_available_t.

6 years agocli-text: Use pa_available_to_string
João Paulo Rechi Vita [Mon, 13 Aug 2018 19:58:59 +0000 (12:58 -0700)]
cli-text: Use pa_available_to_string

Replace the local available_to_string with calling
pa_available_to_string from card.h.

6 years agocard: Create pa_available_to_string
João Paulo Rechi Vita [Mon, 13 Aug 2018 19:19:41 +0000 (12:19 -0700)]
card: Create pa_available_to_string

Add a new function to the card API that returns the string
representation of a pa_available_t variable.

6 years agobuild-sys: Set minimum required meson version to 0.44.0
Arun Raghavan [Thu, 11 Oct 2018 09:58:32 +0000 (15:28 +0530)]
build-sys: Set minimum required meson version to 0.44.0

We now use get_unquoted() during manual page generation which requires
0.44.0 or greater.

6 years agoi18n: Fixed plural forms handling
Marek Cernocky [Tue, 2 Oct 2018 09:20:10 +0000 (11:20 +0200)]
i18n: Fixed plural forms handling

6 years agomeson: Build and install man pages
Arnaud Rebillout [Mon, 1 Oct 2018 05:57:12 +0000 (12:57 +0700)]
meson: Build and install man pages

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agowebrtc: Silence -Wsign-compare warning
Arnaud Rebillout [Mon, 1 Oct 2018 03:56:48 +0000 (10:56 +0700)]
webrtc: Silence -Wsign-compare warning

  webrtc.cc:202:19: warning: comparison of integer expressions of different signedness:
  'int' and 'std::vector<webrtc::CartesianPoint<float> >::size_type' {aka 'long unsigned int'}

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agomeson: Enable echo-cancel module, add libwebrtc_util lib, add speex and webrtc depend...
Arnaud Rebillout [Mon, 1 Oct 2018 04:01:47 +0000 (11:01 +0700)]
meson: Enable echo-cancel module, add libwebrtc_util lib, add speex and webrtc dependencies

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agomeson: Enable ladspa module
Arnaud Rebillout [Mon, 1 Oct 2018 02:17:01 +0000 (09:17 +0700)]
meson: Enable ladspa module

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agomeson: Enable oss module and padsp util
Arnaud Rebillout [Thu, 27 Sep 2018 08:39:21 +0000 (15:39 +0700)]
meson: Enable oss module and padsp util

Regarding the module:

This is unlike the autotools where liboss-util is built as a library,
here we build everything in the oss module, as apparently there's no
other consumer for liboss-util.

Regarding padsp:

Setting the install mode for padsp requires meson 0.47, so instead we
set padsp.in as executable in the git repository (which is what glib
does for gdbus-codegen btw).

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agomeson: Enable bluetooth modules, add bluez_util lib, add bluez and sbc dependencies
Arnaud Rebillout [Sat, 22 Sep 2018 10:37:19 +0000 (17:37 +0700)]
meson: Enable bluetooth modules, add bluez_util lib, add bluez and sbc dependencies

Please notice that the bluez5 version seems wrong in the dependency
declaration: `>= 4.x`, while we're talking about version 5.

The ofono part will need to be made optional when we start to work on
the meson_options file.

I follow the current configure.ac to define 'HAVE_BLUEZ', but it looks
like this part would benefit from a bit of rework. Setting HAVE_BLUEZ
when we have dbus+sbc sounds weird, there's probably a better name for
this variable.

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agomeson: Do not build dbus files as a library
Arnaud Rebillout [Sat, 22 Sep 2018 09:17:43 +0000 (16:17 +0700)]
meson: Do not build dbus files as a library

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agomeson: Enable console-kit module
Arnaud Rebillout [Thu, 20 Sep 2018 12:42:48 +0000 (19:42 +0700)]
meson: Enable console-kit module

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agomeson: Enable lirc module, add lirc dependency
Arnaud Rebillout [Thu, 20 Sep 2018 12:30:21 +0000 (19:30 +0700)]
meson: Enable lirc module, add lirc dependency

This is unlike the autotools where we check that a header exist, here we
use pkgconfig because upstream ships a pkgconfig. I don't know from
which version though...

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agomeson: Enable mmkbd-evdev module
Arnaud Rebillout [Thu, 20 Sep 2018 11:55:10 +0000 (18:55 +0700)]
meson: Enable mmkbd-evdev module

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agomeson: Enable zeroconf modules
Arnaud Rebillout [Thu, 20 Sep 2018 11:43:05 +0000 (18:43 +0700)]
meson: Enable zeroconf modules

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agomeson: Enable x11 modules, add x11 related dependencies
Arnaud Rebillout [Thu, 20 Sep 2018 11:35:53 +0000 (18:35 +0700)]
meson: Enable x11 modules, add x11 related dependencies

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agomeson: Enable raop-discover module, add avahi dependency
Arnaud Rebillout [Thu, 20 Sep 2018 10:37:12 +0000 (17:37 +0700)]
meson: Enable raop-discover module, add avahi dependency

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agomeson: modules/raop: Fix rtsp_client.h include path
Arnaud Rebillout [Thu, 20 Sep 2018 10:10:16 +0000 (17:10 +0700)]
meson: modules/raop: Fix rtsp_client.h include path

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agomeson: Enable raop-sink module, add raop lib, add openssl dependency
Arnaud Rebillout [Thu, 20 Sep 2018 10:05:06 +0000 (17:05 +0700)]
meson: Enable raop-sink module, add raop lib, add openssl dependency

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agomeson: Enable jack modules, add jack dependency
Arnaud Rebillout [Thu, 20 Sep 2018 09:48:25 +0000 (16:48 +0700)]
meson: Enable jack modules, add jack dependency

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agomeson: Enable dbus-protocol module
Arnaud Rebillout [Thu, 20 Sep 2018 09:36:34 +0000 (16:36 +0700)]
meson: Enable dbus-protocol module

This is similar to alsa and rtp modules.

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agomeson: Fix all the missing dependencies uncovered by -Wl,--no-undefined
Arnaud Rebillout [Thu, 20 Sep 2018 08:41:49 +0000 (15:41 +0700)]
meson: Fix all the missing dependencies uncovered by -Wl,--no-undefined

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agomeson: Build modules with '-Wl,no-undefined'
Arnaud Rebillout [Thu, 20 Sep 2018 08:36:13 +0000 (15:36 +0700)]
meson: Build modules with '-Wl,no-undefined'

This flag will make the loader fail if symbols are not resolved. It
seems to be our best bet to uncover every missing module dependencies.

For more details, I recommend to read:
<http://www.kaizou.org/2015/01/linux-libraries/>

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>