Sangchul Lee [Tue, 26 Mar 2019 14:14:19 +0000 (23:14 +0900)]
stream-interaction: Remove useless condition
Signed-off-by: Sangchul Lee
Sangchul Lee [Mon, 18 Mar 2019 05:46:13 +0000 (14:46 +0900)]
role-ducking, role-cork: Add use_source_trigger argument
This is added to keep backward compatibility. The default value of
this new argument is false. Therefore, triggering by source-output
will be activated only if it is set to true explicitly.
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 18 Mar 2019 05:45:14 +0000 (14:45 +0900)]
stream-interaction: Use PA_IDXSET_FOREACH macro to iterate idxset
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 11 Mar 2019 03:00:11 +0000 (12:00 +0900)]
stream-interaction: Support for triggering ducking/cork by source-output
Previously, media.role property of only sink-input is used to
determine to trigger and apply ducking or cork to sink-inputs.
On the other hand, some use cases require that source-output
also need to trigger the effect to sink-inputs. Therefore this
patch adds logic to retrieve source-ouputs to find trigger role
by checking media.role property and apply ducking/cork to sink-
inputs that meet conditions.
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
scootergrisen [Mon, 25 Mar 2019 16:44:05 +0000 (16:44 +0000)]
i18n: Update Danish translation
scootergrisen [Mon, 25 Mar 2019 12:47:34 +0000 (13:47 +0100)]
i18n: Add danish translation
Georg Chini [Tue, 12 Feb 2019 19:38:09 +0000 (20:38 +0100)]
ladspa-sink: Suspend virtual sink when master is suspended
Currently, the ladspa-sink is not suspended when the master sink is suspended.
With this patch, the ladspa-sink will be suspended with suspend cause
PA_SUSPEND_UNAVAILABLE when the master sink is suspended for other reasons
than PA_SUSPEND_IDLE. This fixes issue #15.
Georg Chini [Tue, 12 Feb 2019 19:21:01 +0000 (20:21 +0100)]
sink, source: Call sink input suspend callback also on suspend cause change
Currently, virtual sinks and sources are not suspended when the master sink
or source is suspended. To implement this, the slave must be able to track
the suspend cause of the master.
With this patch, the sink input suspend callback will not only be called
when the sink or source is changing state, but also when the suspend cause
changes. Similar to the set_state_in_*_thread_cb() functions, the suspend
callback receives a state and a suspend cause as additional arguments.
Because the new state and suspend cause of the sink or source have already
been set, the old values are passed to the callback.
Georg Chini [Sat, 9 Mar 2019 19:19:34 +0000 (20:19 +0100)]
alsa: Improve resume logic after alsa suspend
Currently, when a system is waking up from suspend, the resume process of the
ALSA sink and source is unstable. Sometimes the device needs to be restarted
multiple times and when the system was suspended between snd_pcm_mmap_begin()
and snd_pcm_mmap_commit(), pulseaudio crashes on resume.
Additionally, variables are not reset after the resume, so that sink/source
report wrong latencies.
This patch fixes the issues by closing and re-opening the PCM if recovery
from an error condition is not possible. Additionally, the variables are
reset, so that latencies are reported correctly.
Georg Chini [Fri, 1 Mar 2019 19:00:52 +0000 (20:00 +0100)]
loopback: Add option fast_adjust_threshold_msec
After a suspend/resume cycle of a system, it may be possible that module-loopback
accumulates several seconds of audio in the memblockq before the alsa sink becomes
active again. Also it may be possible for other reasons that the actual loopback
latency is too different from the target latency to be adjusted in a reasonable
time by the normal rate controller.
This patch adds the option fast_adjust_threshold_msec to module-loopback. If set,
the latency will be forcefully adjusted to the target latency by dropping or
inserting samples if the actual latency differs more than fast_adjust_threshold_msec
from the target latency.
Also the calculation of the real adjust time would fail when the system was
suspended because that case was not considered. Now the real adjust time
calculation is skipped if the time passed between two calls of adjust_rates()
appears significantly too long.
Piotr Drąg [Sun, 10 Mar 2019 20:03:20 +0000 (21:03 +0100)]
Remove bad characters from Malayalam translation
Milo Casagrande [Tue, 12 Mar 2019 13:46:43 +0000 (14:46 +0100)]
i18n: update Italian translation
Signed-off-by: Milo Casagrande <milo@milo.name>
Sangchul Lee [Mon, 18 Mar 2019 07:47:55 +0000 (16:47 +0900)]
core-util: Use size_t for out parameter of pa_split_*in_place()
pa_split_in_place() and pa_split_spaces_in_place() are modifed
to use size_t type instead of integer type.
alsa-ucm.c is revised according to this change.
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Tanu Kaskinen [Thu, 14 Mar 2019 19:10:50 +0000 (21:10 +0200)]
build-sys: Lower the minimum gettext version
The old minimum version was set in commit
57e3ccaf51 based on what the
commit author happened to have installed at the time. Russell Treleaven
now confirmed that Debian 8's gettext version, 0.19.3, works fine too,
or at least PulseAudio builds without errors. There might be room to
lower the required version even further, but that requires someone to
test older gettext versions.
Tanu Kaskinen [Sat, 2 Mar 2019 17:46:22 +0000 (19:46 +0200)]
alsa-mixer: improve a comment in udev rules
The word "identical" was being used in a weird way that could make the
comment a bit difficult to undertand.
Takashi Sakamoto [Tue, 26 Feb 2019 04:55:55 +0000 (13:55 +0900)]
alsa-mixer: distinguish Focusrite Saffire Pro 10 i/o from Liquid Saffire 56
In a former commit
37358e42c49a ("alsa: Suppress udev detection of sound
card for some units on IEEE 1394 bus"), PulseAudio has udev rules to
suppress handling some units on IEEE 1394 bus for a below issue:
Bug 199365 - repeating bus resets on Firewire bus with Focusrite Saffaire 26/io
https://bugzilla.kernel.org/show_bug.cgi?id=199365
However, I found that the rules match another model; Focusrite Liquid
Saffire 56. For detail, refer to below patch for Linux sound subsystem:
[alsa-devel] [PATCH] ALSA: bebob: use more identical mod_alias for
Saffire Pro 10 I/O against Liquid Saffire 56
https://mailman.alsa-project.org/pipermail/alsa-devel/2019-February/146003.html
For PulseAudio, the udev rule should be improved, because Liquid Saffire 56
(an application of TCAT TCD2200 ASIC, a.k.a Dice Jr.) can be handled by
pulseaudio without the issue.
This commit changes udev rule with model name instead of model_id from
configuration ROM. Below is data on udevd for Liquid Saffire 56, for
your information:
$ udevadm info -q all -p /sys/bus/firewire/devices/fw1.0/sound/card2/
P: /devices/pci0000:00/0000:00:01.2/0000:03:00.2/0000:04:07.0/0000:0a:00.0/0000:0b:00.0/fw1/fw1.0/sound/card2
E: DEVPATH=/devices/pci0000:00/0000:00:01.2/0000:03:00.2/0000:04:07.0/0000:0a:00.0/0000:0b:00.0/fw1/fw1.0/sound/card2
E: ID_BUS=firewire
E: ID_FOR_SEAT=sound-pci-0000_0b_00_0
E: ID_ID=firewire-0x00130e04018001e9
E: ID_MODEL=LIQUID_SAFFIRE_56
E: ID_MODEL_FROM_DATABASE=XIO2213A/B/XIO2221 IEEE-1394b OHCI Controller [Cheetah Express]
E: ID_MODEL_ID=0x000006
E: ID_PATH=pci-0000:0b:00.0
E: ID_PATH_TAG=pci-0000_0b_00_0
E: ID_PCI_CLASS_FROM_DATABASE=Serial bus controller
E: ID_PCI_INTERFACE_FROM_DATABASE=OHCI
E: ID_PCI_SUBCLASS_FROM_DATABASE=FireWire (IEEE 1394)
E: ID_SERIAL=0x00130e04018001e9
E: ID_SERIAL_SHORT=0x00130e04018001e9
E: ID_VENDOR=Focusrite
E: ID_VENDOR_FROM_DATABASE=Texas Instruments
E: ID_VENDOR_ID=0x00130e
E: SOUND_INITIALIZED=1
E: SUBSYSTEM=sound
E: SYSTEMD_WANTS=sound.target
E: TAGS=:seat:systemd:
E: USEC_INITIALIZED=
9802422583
Fixes: 37358e42c49a ("alsa: Suppress udev detection of sound card for some units on IEEE 1394 bus")
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Arun Raghavan [Tue, 19 Feb 2019 03:57:02 +0000 (09:27 +0530)]
source: Fix a bad condition that made source events not be emitted
This broke during a refactor of sink/source state-change.
scootergrisen [Sat, 16 Feb 2019 01:18:22 +0000 (01:18 +0000)]
Replace "!" to "." so string is identical with other string.
scootergrisen [Sat, 16 Feb 2019 01:15:44 +0000 (01:15 +0000)]
Change "!" to "." to match other identical string.
scootergrisen [Sat, 16 Feb 2019 00:57:27 +0000 (00:57 +0000)]
channel/s to channel(s)
scootergrisen [Fri, 15 Feb 2019 15:08:10 +0000 (15:08 +0000)]
Remove space in "Digital Passthrough (IEC958)"
scootergrisen [Fri, 15 Feb 2019 12:26:46 +0000 (12:26 +0000)]
"e g " to "e.g."
scootergrisen [Fri, 15 Feb 2019 09:19:53 +0000 (09:19 +0000)]
Remove "module" from "module user requested module"
scootergrisen [Fri, 15 Feb 2019 08:13:08 +0000 (08:13 +0000)]
Add missing space
Georg Chini [Sun, 3 Feb 2019 18:13:22 +0000 (19:13 +0100)]
virtual-source: Fix crash in combination with module-loopback
Similar to module-tunnel-sink-new, module-virtual-source did not create
a rtpoll for the uplink sink. This lead to a crash when the uplink sink
was used by module loopback, because module-loopback relies on the sink
to provide a rtpoll. Additionally, the sink was not unlinked when the
module was unloaded.
This patch fixes both issues. The rtpoll created is never run by the sink,
so the patch is no real fix but just a workaround to make module-loopback
happy.
Russell Treleaven [Wed, 13 Feb 2019 15:11:42 +0000 (15:11 +0000)]
give users a template that encourages complete bug reports
João Paulo Rechi Vita [Thu, 3 Jan 2019 02:14:17 +0000 (18:14 -0800)]
card: Only fire the profile available changed hook for linked cards
pa_card_profile_set_available needs to check if the card is linked
before firing PA_CORE_HOOK_CARD_PROFILE_AVAILABLE_CHANGED, so callbacks
connected to it receive a fully initialized card object.
This fixes a crash introduced by commit
30a551bbc
"switch-on-port-available: Check if we need to change the active
profile".
Arun Raghavan [Mon, 28 May 2018 15:44:00 +0000 (21:14 +0530)]
protocol-native: Fix format ownership while creating record streams
Tanu Kaskinen [Thu, 17 Jan 2019 12:43:39 +0000 (14:43 +0200)]
bluez5-device: use correct RTP payload type
If one device tries to use PulseAudio to send audio over A2DP to another
device with bluez-alsa, that doesn't work because PulseAudio uses an
incorrect RTP payload type and bluez-alsa checks that the RTP payload
type is correct. According to the A2DP spec, the payload type should be
set to a number between 96 and 127.
Fixes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/591
Arun Raghavan [Sat, 12 Jan 2019 04:17:12 +0000 (09:47 +0530)]
pactl: Fix some corner cases when setting sink formats
Mostly deals with failure more gracefully, and NULL-initialises the
format array for safety.
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.
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).
Diego Viola [Sun, 13 Jan 2019 17:02:59 +0000 (17:02 +0000)]
memblockq: fix typo: yepp -> yep
Arun Raghavan [Thu, 27 Dec 2018 12:02:30 +0000 (17:32 +0530)]
meson: Fix some config generation warnings
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.
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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.
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
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>
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.
Zakhary Husak [Wed, 24 Oct 2018 04:54:56 +0000 (04:54 +0000)]
alsa-mixer: Add support for 2018 Arctis 7
Tanu Kaskinen [Mon, 7 Nov 2016 15:12:56 +0000 (17:12 +0200)]
raop: fix typo: modules -> modulus
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.
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.
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>
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>
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.
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
Tanu Kaskinen [Tue, 23 Oct 2018 16:18:26 +0000 (19:18 +0300)]
.gitignore: add passthrough-test
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
Arun Raghavan [Sun, 21 Oct 2018 15:59:20 +0000 (16:59 +0100)]
gitignore: Ignore cscope files
David Hewitt [Wed, 17 Oct 2018 17:12:29 +0000 (17:12 +0000)]
Remove active_profile
David Hewitt [Wed, 17 Oct 2018 10:09:55 +0000 (10:09 +0000)]
vala: add pa_card_port_info bindings
David Hewitt [Mon, 15 Oct 2018 09:15:15 +0000 (09:15 +0000)]
vala: Fix card profile array bindings
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