platform/upstream/pulseaudio.git
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>
6 years agomeson: Comment bluez5 modules for now
Arnaud Rebillout [Thu, 20 Sep 2018 08:30:20 +0000 (15:30 +0700)]
meson: Comment bluez5 modules for now

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agomeson: Add the rtp module library
Arnaud Rebillout [Thu, 20 Sep 2018 08:10:08 +0000 (15:10 +0700)]
meson: Add the rtp module library

This is based on the existing libalsa-util library.

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agomeson: Add pulsecore internal libraries
Arnaud Rebillout [Thu, 20 Sep 2018 08:02:06 +0000 (15:02 +0700)]
meson: Add pulsecore internal libraries

This is based on the initial protocol_native library that is already
defined, and then by looking at the Makefile.am to work out the
dependencies.

It's not clear whether we really need database_c_args, maybe there's
things that can be simplified.

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agomeson: Make equalizer-sink modulde depend on fftw, add fftw dependency
Arnaud Rebillout [Thu, 20 Sep 2018 08:33:18 +0000 (15:33 +0700)]
meson: Make equalizer-sink modulde depend on fftw, add fftw dependency

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agomeson: Make systemd-login module depend on systemd
Arnaud Rebillout [Thu, 20 Sep 2018 08:34:48 +0000 (15:34 +0700)]
meson: Make systemd-login module depend on systemd

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agomeson: Propagate systemd dep to libpulsecommon and daemon
Arnaud Rebillout [Thu, 20 Sep 2018 08:06:20 +0000 (15:06 +0700)]
meson: Propagate systemd dep to libpulsecommon and daemon

This is needed now that we define HAVE_SYSTEMD_xxx

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agomeson: Add systemd-login to core dependencies
Arnaud Rebillout [Thu, 20 Sep 2018 11:58:27 +0000 (18:58 +0700)]
meson: Add systemd-login to core dependencies

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agomeson: modules/alsa: Fix udev-util include path
Arnaud Rebillout [Thu, 20 Sep 2018 08:00:05 +0000 (15:00 +0700)]
meson: modules/alsa: Fix udev-util include path

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agomeson: modules/alsa: Make alsa-util a shared library
Arnaud Rebillout [Thu, 20 Sep 2018 08:26:40 +0000 (15:26 +0700)]
meson: modules/alsa: Make alsa-util a shared library

This is to be consistent. In pa currently, as built by the autotools,
libalsa-util is a shared library. Moreover, all the libraries for the
modules, as defined in `src/meson.build`, are also shared libraries.

So let's stick to shared libraries everywhere for now, for simplicity.

We can rework that later on.

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agomeson: modules/alsa: Add udev support
Arnaud Rebillout [Thu, 20 Sep 2018 08:25:22 +0000 (15:25 +0700)]
meson: modules/alsa: Add udev support

This is needed now that we define HAVE_UDEV

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agomeson: Define HAVE_UDEV when udev is found
Arnaud Rebillout [Thu, 20 Sep 2018 11:57:17 +0000 (18:57 +0700)]
meson: Define HAVE_UDEV when udev is found

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agocore: Fix a log function when HAVE_SYSTEMD_JOURNAL && !HAVE_SYSLOG
Arnaud Rebillout [Thu, 20 Sep 2018 07:54:20 +0000 (14:54 +0700)]
core: Fix a log function when HAVE_SYSTEMD_JOURNAL && !HAVE_SYSLOG

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agogitlab-ci: Create two different jobs for autotools and meson builds
Arnaud Rebillout [Thu, 20 Sep 2018 02:46:39 +0000 (09:46 +0700)]
gitlab-ci: Create two different jobs for autotools and meson builds

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agocard: Fix typo in comments
João Paulo Rechi Vita [Wed, 8 Aug 2018 03:39:24 +0000 (20:39 -0700)]
card: Fix typo in comments

6 years agomodule-rescue-streams: Fix tab used for identation
João Paulo Rechi Vita [Wed, 8 Aug 2018 03:39:23 +0000 (20:39 -0700)]
module-rescue-streams: Fix tab used for identation

6 years agoswitch-on-connect: Add debug logs
João Paulo Rechi Vita [Wed, 8 Aug 2018 03:39:22 +0000 (20:39 -0700)]
switch-on-connect: Add debug logs

Log when module-switch-on-connect tries to change the default sink or
source.

6 years agoswitch-on-connect: Clean-up tabs used for identation
João Paulo Rechi Vita [Wed, 8 Aug 2018 03:39:21 +0000 (20:39 -0700)]
switch-on-connect: Clean-up tabs used for identation

6 years agoswitch-on-connect: Improve readability
João Paulo Rechi Vita [Wed, 8 Aug 2018 03:39:20 +0000 (20:39 -0700)]
switch-on-connect: Improve readability

Make code easier to read by moving pa_proplist_gets out of the if
condition and using pa_safe_streq.

6 years agoswitch-on-port-available: Improve readability
João Paulo Rechi Vita [Wed, 8 Aug 2018 03:39:19 +0000 (20:39 -0700)]
switch-on-port-available: Improve readability

Split a big conditional into separate checks and use pa_safe_streq
instead of checking if a pointer is valid and calling pa_streq inside a
conditional.

6 years agoi18n: Updated Czech translation
Marek Cernocky [Sun, 30 Sep 2018 15:56:17 +0000 (17:56 +0200)]
i18n: Updated Czech translation

6 years agoman: Fix a syntax issue in pacat xml
Arun Raghavan [Mon, 1 Oct 2018 12:45:50 +0000 (18:15 +0530)]
man: Fix a syntax issue in pacat xml

'cmd' is not a valid child of the 'p' tag, so we switch it to 'file',
which is how this is done later in the file already.

6 years agogitlab: Update Dockerfile to pull xmllint
Arun Raghavan [Mon, 1 Oct 2018 12:30:52 +0000 (18:00 +0530)]
gitlab: Update Dockerfile to pull xmllint

6 years agofix typo: existance -> existence
Joseph Herlant [Thu, 27 Sep 2018 00:15:40 +0000 (17:15 -0700)]
fix typo: existance -> existence

6 years agobuild-sys: Add CoC to the dist'ed files
Arun Raghavan [Wed, 19 Sep 2018 13:08:17 +0000 (18:38 +0530)]
build-sys: Add CoC to the dist'ed files

6 years agoAdopt a Code of Conduct
Arun Raghavan [Wed, 19 Sep 2018 13:08:17 +0000 (18:38 +0530)]
Adopt a Code of Conduct

This is simply the Contributor Covenant Code of Conduct document,
version 1.4.1.

6 years agofix typo: satisifed -> satisfied
Joseph Herlant [Wed, 19 Sep 2018 18:29:45 +0000 (11:29 -0700)]
fix typo: satisifed -> satisfied

6 years agoFix typo: documenation -> documentation
Joseph Herlant [Mon, 17 Sep 2018 17:05:34 +0000 (10:05 -0700)]
Fix typo: documenation -> documentation

6 years agoFix typo: managable -> manageable
Joseph Herlant [Mon, 17 Sep 2018 17:04:30 +0000 (10:04 -0700)]
Fix typo: managable -> manageable

6 years agoFix typo: substract -> subtract
Joseph Herlant [Mon, 17 Sep 2018 17:03:55 +0000 (10:03 -0700)]
Fix typo: substract -> subtract

6 years agoFix typo: transmited -> transmitted
Joseph Herlant [Mon, 17 Sep 2018 17:02:56 +0000 (10:02 -0700)]
Fix typo: transmited -> transmitted

6 years agoFix typo: definately -> definitely
Joseph Herlant [Mon, 17 Sep 2018 17:01:46 +0000 (10:01 -0700)]
Fix typo: definately -> definitely

6 years agoFix typo: prefered -> preferred
Joseph Herlant [Mon, 17 Sep 2018 17:00:57 +0000 (10:00 -0700)]
Fix typo: prefered -> preferred

6 years agoFix typo: comming -> coming
Joseph Herlant [Mon, 17 Sep 2018 17:00:14 +0000 (10:00 -0700)]
Fix typo: comming -> coming

6 years agoFix typo: recieved -> received
Joseph Herlant [Mon, 17 Sep 2018 16:59:38 +0000 (09:59 -0700)]
Fix typo: recieved -> received

6 years agoFix typo: distuingish -> distinguish
Joseph Herlant [Mon, 17 Sep 2018 16:59:03 +0000 (09:59 -0700)]
Fix typo: distuingish -> distinguish

6 years agoFix typo: properies -> properties
Joseph Herlant [Mon, 17 Sep 2018 16:58:25 +0000 (09:58 -0700)]
Fix typo: properies -> properties

6 years agoFix typo: explicitely -> explicitly
Joseph Herlant [Mon, 17 Sep 2018 16:57:20 +0000 (09:57 -0700)]
Fix typo: explicitely -> explicitly

6 years agoFix typo: differnt -> different
Joseph Herlant [Mon, 17 Sep 2018 16:56:41 +0000 (09:56 -0700)]
Fix typo: differnt -> different

6 years agoFix typo: Extention -> Extension
Joseph Herlant [Mon, 17 Sep 2018 16:55:17 +0000 (09:55 -0700)]
Fix typo: Extention -> Extension

6 years agoFix typo: Doulbe -> Double
Joseph Herlant [Mon, 17 Sep 2018 16:54:36 +0000 (09:54 -0700)]
Fix typo: Doulbe -> Double

6 years agoFix typo: dependancy -> dependency
Joseph Herlant [Mon, 17 Sep 2018 16:53:37 +0000 (09:53 -0700)]
Fix typo: dependancy -> dependency

6 years agoFix typo: occured -> occurred
Joseph Herlant [Mon, 17 Sep 2018 16:52:36 +0000 (09:52 -0700)]
Fix typo: occured -> occurred

6 years agoFix typo: occurrencies -> occurrences
Joseph Herlant [Mon, 17 Sep 2018 16:50:43 +0000 (09:50 -0700)]
Fix typo: occurrencies -> occurrences

6 years agoFix typo: Retreive -> Retrieve
Joseph Herlant [Mon, 17 Sep 2018 16:49:55 +0000 (09:49 -0700)]
Fix typo: Retreive -> Retrieve

6 years agoFix typo: controling -> controlling
Joseph Herlant [Mon, 17 Sep 2018 16:49:13 +0000 (09:49 -0700)]
Fix typo: controling -> controlling

6 years agogitlab: Add meson build to CI
Arun Raghavan [Mon, 17 Sep 2018 04:21:15 +0000 (09:51 +0530)]
gitlab: Add meson build to CI

6 years agobuild-sys: meson: Generate version.h
Arnaud Rebillout [Sat, 15 Sep 2018 15:10:43 +0000 (22:10 +0700)]
build-sys: meson: Generate version.h

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
6 years agoUpdate Brazilian Portuguese translation
Rafael Fontenelle [Sat, 1 Sep 2018 14:23:43 +0000 (14:23 +0000)]
Update Brazilian Portuguese translation

6 years agogitlab: Add support for GitLab CI
Arun Raghavan [Sat, 30 Jun 2018 06:33:30 +0000 (12:03 +0530)]
gitlab: Add support for GitLab CI

This adds a Dockerfile to generate a Docker image with the required
dependencies on top of the standard Ubuntu 18.04 image. The Gitlab CI
then runs the PulseAudio build within this image.

6 years agobluetooth: Re-add rtp.h to Makefile.am
Arun Raghavan [Wed, 22 Aug 2018 14:21:54 +0000 (19:51 +0530)]
bluetooth: Re-add rtp.h to Makefile.am

This was never explicitly added as a dependency of module-bluez5-device,
but that was hidden by the fact that it was specified for bluez4.

6 years agoalsa: Support the older model of NI's Traktor Audio 2 DJ
Will Stott [Mon, 23 Jul 2018 12:39:38 +0000 (13:39 +0100)]
alsa: Support the older model of NI's Traktor Audio 2 DJ

6 years agoobject: Fix pa_object_new macro (missing close paren)
Yclept Nemo [Tue, 17 Jul 2018 00:25:43 +0000 (20:25 -0400)]
object: Fix pa_object_new macro (missing close paren)

6 years agopacat: Fix code style
Stefan Huber [Sun, 15 Jul 2018 21:58:59 +0000 (23:58 +0200)]
pacat: Fix code style

6 years agoalsa: Suppress udev detection of sound card for some units on IEEE 1394 bus
Takashi Sakamoto [Sun, 15 Jul 2018 10:57:35 +0000 (19:57 +0900)]
alsa: Suppress udev detection of sound card for some units on IEEE 1394 bus

A bug was filed to bugzilla.kernel.org for a quirk of some models which
ALSA BeBoB driver supports.

Bug 199365 - repeating bus resets on Firewire bus with Focusrite Saffaire 26/io
https://bugzilla.kernel.org/show_bug.cgi?id=199365

Some models (two models as long as I know) have a quirk to disappear from
IEEE 1394 bus at disconnections of packet streaming. Corresponding
character devices are removed according to 'remove' callbacks of relevant
drivers from Linux dd core. Then the models re-appear on the bus by
generating bus resets and corresponding character devices are added
according to 'probe' callbacks from Linux dd core.

In a view of ALSA applications, this looks that plug-out/plug-in occur in
a sequential order for the models when they stop playback/capture substream.
For most applications, this doesn't cause large issue. However, this quirk
is not good for combination of below modules in PulseAudio. PulseAudio
enters endless loop to detect the models and start/stop PCM substream.
 - module-udev-detect
 - module-alsa-card
 - module-suspend-on-idle

In detail, please read my comment no.6:
https://bugzilla.kernel.org/show_bug.cgi?id=199365#c6

This commit suppressed udev detection of sound card for the issued models.
For the models, 'PULSE_IGNORE' flag is added to udev rules, then
module-udev-detect don't handle the models and PulseAudio never uses the
models automatically. In a scenario for users to load
module-alsa-card/module-alsa-sink/module-alsa-source by hand, although
these modules can still stop PCM substreams with module-suspend-on-idle,
PulseAudio never enters the endless loop because udev detection doesn't
work for the models. In this case, as long as special files for ALSA
character devices for these models are the same, corresponding sinks and
sources are available even if the voluntary plug-out/plug-in occur.

(Focusrite Saffire Pro 10 i/o with systemd 237)
$ udevadm info -q all -p /devices/pci0000:00/0000:00:07.0/fw1/fw1.0/sound/card1
P: /devices/pci0000:00/0000:00:07.0/fw1/fw1.0/sound/card1
E: DEVPATH=/devices/pci0000:00/0000:00:07.0/fw1/fw1.0/sound/card1
E: ID_BUS=firewire
E: ID_FOR_SEAT=sound-pci-0000_00_07_0
E: ID_ID=firewire-0x00130e01000606e0
E: ID_MODEL=Pro10IO
E: ID_MODEL_FROM_DATABASE=XIO2213A/B/XIO2221 IEEE-1394b OHCI Controller [Cheetah Express]
E: ID_MODEL_ID=0x000006
E: ID_PATH=pci-0000:00:07.0
E: ID_PATH_TAG=pci-0000_00_07_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=0x00130e01000606e0
E: ID_SERIAL_SHORT=0x00130e01000606e0
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=:systemd:seat:
E: USEC_INITIALIZED=957089064

(Focusrite Saffire Pro 26 i/o with systemd 237)
$ udevadm info -q all -p /devices/pci0000:00/0000:00:07.0/fw1/fw1.0/sound/card1
P: /devices/pci0000:00/0000:00:07.0/fw1/fw1.0/sound/card1
E: DEVPATH=/devices/pci0000:00/0000:00:07.0/fw1/fw1.0/sound/card1
E: ID_BUS=firewire
E: ID_FOR_SEAT=sound-pci-0000_00_07_0
E: ID_ID=firewire-0x00130e0100030cdd
E: ID_MODEL=Pro26IO
E: ID_MODEL_FROM_DATABASE=XIO2213A/B/XIO2221 IEEE-1394b OHCI Controller [Cheetah Express]
E: ID_MODEL_ID=0x000003
E: ID_PATH=pci-0000:00:07.0
E: ID_PATH_TAG=pci-0000_00_07_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=0x00130e0100030cdd
E: ID_SERIAL_SHORT=0x00130e0100030cdd
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=:systemd:seat:
E: USEC_INITIALIZED=1071026684

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
6 years agoi18n: update translation bug reporting links
Tanu Kaskinen [Tue, 7 Aug 2018 13:11:06 +0000 (16:11 +0300)]
i18n: update translation bug reporting links

I looked for outdated links related to the GitLab migration. These are
the only ones I found. There were also some links to various bug
reports in the old Bugzilla, but those don't really need updating, since
Bugzilla should stay readable for a long time.

6 years agodoc: Update README to point to GitLab
Arun Raghavan [Mon, 30 Jul 2018 12:14:03 +0000 (17:44 +0530)]
doc: Update README to point to GitLab

6 years agobluetooth: Remove leftover references to the BlueZ 4/5 split
João Paulo Rechi Vita [Tue, 10 Jul 2018 02:27:16 +0000 (19:27 -0700)]
bluetooth: Remove leftover references to the BlueZ 4/5 split

There is no need to mention a module argument is valid only when using
BlueZ 5 now that we don't support BlueZ 4 anymore.

6 years agobluetooth: Add missing argument to module's usage
João Paulo Rechi Vita [Tue, 10 Jul 2018 02:25:53 +0000 (19:25 -0700)]
bluetooth: Add missing argument to module's usage

module-bluetooth-discover usage was missing the autodetect_mtu argument.

6 years agogitignore: Ignore build* directories
Arun Raghavan [Mon, 23 Jul 2018 14:10:51 +0000 (19:40 +0530)]
gitignore: Ignore build* directories

We already had build-aux, might as well generalise for build directories
we create for autotools out-of-tree builds and anything meson-based.

6 years agobuild-sys: Update meson version dependency
Arun Raghavan [Mon, 23 Jul 2018 14:10:46 +0000 (19:40 +0530)]
build-sys: Update meson version dependency

We're using SIMD detection logic from 0.42.

6 years agobuild-sys: Add some missing header/function checks to meson build
Arun Raghavan [Sun, 20 May 2018 02:59:02 +0000 (08:29 +0530)]
build-sys: Add some missing header/function checks to meson build

6 years agobuild-sys: Drop ancient check for dbus_watch_get_unix_fd()
Arun Raghavan [Sun, 20 May 2018 02:57:42 +0000 (08:27 +0530)]
build-sys: Drop ancient check for dbus_watch_get_unix_fd()

This function was added shortly after dbus 1.1.0, and our minimum
required dbus version is greater than 1.4.

6 years agoformat: Expose pa_format_info convenience getters in API
Arun Raghavan [Sat, 26 May 2018 03:22:52 +0000 (08:52 +0530)]
format: Expose pa_format_info convenience getters in API

We move over helper functions to get rate, channels, channel map and
sample format (if PCM) in the public API, so users of the extended API
are more easily able to pull out these values from pa_format_info.

6 years agocard-restore: Don't restore profile on Bluetooth cards by default
João Paulo Rechi Vita [Fri, 20 Jul 2018 19:39:22 +0000 (12:39 -0700)]
card-restore: Don't restore profile on Bluetooth cards by default

We can provide a better overall user experience with Bluetooth cards by
always choosing the higher audio quality profile (A2DP) by default and
updating the profile selection dynamically according to which streams
are active at a certain moment. The default initial selection has been
addressed by "85daab272 bluetooth: set better priorities for profiles"
and the dynamic profile selection is covered by module-bluetooth-policy.

In addition, module-card-restore's database entries for Bluetooth devices
are retained after a device is removed from the system, leading to the
previously selected profile being restored after a new pairing with the
same device, with no way for the user to erase this memory and reset the
default profile except manually fiddling with module-card-restore's
database.

This commit adds a module argument to have module-card-restore ignore
Bluetooth profiles and this behavior is set as default.

6 years agoupdate NEWS
Tanu Kaskinen [Mon, 16 Jul 2018 14:44:26 +0000 (17:44 +0300)]
update NEWS

6 years agooperation: avoid state change from final state
Lyndon Brown [Thu, 5 Jul 2018 03:54:03 +0000 (04:54 +0100)]
operation: avoid state change from final state

The internal operation_set_state function already returns early if the
new state is the same as the existing state. The attached patch extends
this to return early if already in a finalised (done/cancelled) state,
i.e. blocks attempts to re-finalise into a different state.

This helps avoid unlinking more than once (or crashing on ref count
assertion).

I was not certain whether an assertion would be a better alternative -
with such a crash helping highlight usage problems...

The situation that lead to this was the thought of someone stupidly
trying to pa_operation_cancel() a callback within the callback
execution itself, while designing a solution for a memory leak related
to cancellation within my Rust binding. While no-one should do such a
thing, if they did, they'd either trip up a ref count assertion, or the
operation would be unlinked twice, which would be bad. It's a simple
thing to catch and mitigate, and could prove to be a useful
bulletproofing measure for this function in general.

6 years agoupdate NEWS
Tanu Kaskinen [Sat, 14 Jul 2018 16:25:12 +0000 (19:25 +0300)]
update NEWS

6 years agoi18n: update the Lithuanian translation
Mr. M [Sat, 14 Jul 2018 15:59:34 +0000 (18:59 +0300)]
i18n: update the Lithuanian translation

6 years agopipe-sink, pipe-source: fix file permissions
Tanu Kaskinen [Wed, 4 Jul 2018 10:40:12 +0000 (13:40 +0300)]
pipe-sink, pipe-source: fix file permissions

We recently changed the umask of the daemon from 022 to 077, which broke
module-pipe-sink in the system mode, because nobody was allowed to read
from the pipe.

module-pipe-source in the system mode was probably always broken,
because the old umask of 022 should prevent anyone from writing to the
pipe.

This patch uses chmod() after the file creation to set the permissions
to 0666, which is what the fkfifo() call tried to set.

link: https://bugs.freedesktop.org/show_bug.cgi?id=107070
6 years agoladspa-sink: fix search path
Tanu Kaskinen [Wed, 4 Jul 2018 11:25:26 +0000 (14:25 +0300)]
ladspa-sink: fix search path

Having a single level macro for stringizing LADSPA_PATH doesn't work,
because the '#' preprocessor operator doesn't expand any macros in its
parameter. As a result, we used the string "LADSPA_PATH" as the search
path, and obviously no plugins were ever found.

This adds a two-level macro in macro.h and uses that to expand and
stringize LADSPA_PATH.

link: https://bugs.freedesktop.org/show_bug.cgi?id=107078
6 years agoalsa-sink/source: Rename a variable for supported sample rates in userdata
Sangchul Lee [Thu, 28 Jun 2018 19:57:02 +0000 (04:57 +0900)]
alsa-sink/source: Rename a variable for supported sample rates in userdata

It is changed from 'rates' to 'supported_rates'.

Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agortp-send: add configurable RTP stream name
Ing. Jaroslav Safka [Wed, 4 Jul 2018 11:12:48 +0000 (13:12 +0200)]
rtp-send: add configurable RTP stream name

Add configuration option 'stream_name' for stream/session name so user
will see it on receiver side as RTP Strean ($stream_name)

ex: load-module module-rtp-send source=rtp.monitor stream_name=MyServerMedia

6 years agoalsa-util/sink/source: Add infrastructure for supported sample formats
Sangchul Lee [Thu, 28 Jun 2018 19:57:01 +0000 (04:57 +0900)]
alsa-util/sink/source: Add infrastructure for supported sample formats

There has been a function to get supported sample rates from alsa and
an array for it in userdata of each module-alsa-sink/source. Similarly,
this patch adds a function to get supported sample formats(bit depth)
from alsa and an array for it to each userdata of the modules.

Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agoi18n: Update the Korean translation
Sangchul Lee [Thu, 28 Jun 2018 17:59:42 +0000 (02:59 +0900)]
i18n: Update the Korean translation

Translate argument of module-filter-apply and fix words which are
not in common usage.

Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agosink, source: remove the state getters
Tanu Kaskinen [Tue, 26 Jun 2018 13:25:58 +0000 (16:25 +0300)]
sink, source: remove the state getters

pa_sink_get_state() and pa_source_get_state() just return the state
variable. We can as well access the state variable directly.

There are no behaviour changes, except that module-virtual-source
accessed the main thread's sink state variable from its push() callback.
I fixed the module so that it uses the thread_info.state variable
instead. Also, the compiler started to complain about comparing a sink
state variable to a source state enum value in protocol-esound.c. The
underlying bug was that a source pointer was assigned to a variable
whose type was a sink pointer (somehow using the pa_source_get_state()
macro confused the compiler enough so that it didn't complain before).
I fixed the variable type.

6 years agosink-input, source-output: remove the state getters
Tanu Kaskinen [Tue, 26 Jun 2018 13:25:57 +0000 (16:25 +0300)]
sink-input, source-output: remove the state getters

pa_sink_input_get_state() and pa_source_output_get_state() just return
the state variable. We can as well access the state variable directly.

There are no behaviour changes, except that some filter sources accessed
the main thread's state variable from their push() callbacks. I fixed
them so that they use the thread_info.state variable instead.

6 years agosink-input: remove the DRAINED state
Tanu Kaskinen [Tue, 26 Jun 2018 13:25:56 +0000 (16:25 +0300)]
sink-input: remove the DRAINED state

The only thing that the drained state was being used for was "pacmd
list-sink-inputs". In all other cases the drained and running states
were treated as equivalent. IMHO, this usage doesn't justify the
complexity that the additional state brings.

This patch was inspired by a bug report[1] that pointed out an error in
an if condition in pa_sink_input_set_state_within_thread(). The buggy
code is now removed altogether.

[1] https://bugs.freedesktop.org/show_bug.cgi?id=106982

6 years agoswitch-on-port-available: ignore bluetooth cards
Tanu Kaskinen [Fri, 29 Jun 2018 11:33:44 +0000 (14:33 +0300)]
switch-on-port-available: ignore bluetooth cards

When the user manually switches the profile of a bluetooth headset from
"off" to "a2dp_sink", the port availability changes from "unknown" to
"yes", which triggered a recursive profile change in
module-switch-on-port-available. Such recursivity isn't (and possibly
can't) be handled well (that is, PulseAudio crashed), so let's avoid
doing bluetooth profile changes from module-switch-on-port-available
(they're useless anyway).

link: https://bugs.freedesktop.org/show_bug.cgi?id=107044
6 years agotravis: Update gettext along with other packages
Arun Raghavan [Sat, 30 Jun 2018 05:21:22 +0000 (10:51 +0530)]
travis: Update gettext along with other packages

Hopefully fixes the build.

6 years agomainloop: constify is_our_api api ref
Lyndon Brown [Wed, 27 Jun 2018 03:55:13 +0000 (04:55 +0100)]
mainloop: constify is_our_api api ref

6 years agobluetooth: backend-ofono: Demote registration failure to info
João Paulo Rechi Vita [Tue, 26 Jun 2018 22:26:10 +0000 (15:26 -0700)]
bluetooth: backend-ofono: Demote registration failure to info

Now that both backend-native and backend-ofono can coexist and
backend-ofono is always loaded, even on systems without oFono, failing
to register with org.ofono is not necessarily an error.

This lowers the failure message log level from error to info.

6 years agoi18n: update Italian translation
Milo Casagrande [Fri, 22 Jun 2018 13:36:16 +0000 (15:36 +0200)]
i18n: update Italian translation

Signed-off-by: Milo Casagrande <milo@milo.name>
6 years agocontext: pa_context_get_tile_size: constify
Lyndon Brown [Thu, 7 Jun 2018 03:03:45 +0000 (04:03 +0100)]
context: pa_context_get_tile_size: constify

6 years agocontext: pa_context_get_index: constify
Lyndon Brown [Thu, 7 Jun 2018 02:56:51 +0000 (03:56 +0100)]
context: pa_context_get_index: constify

6 years agocontext: pa_context_get_server_protocol_version: constify
Lyndon Brown [Thu, 7 Jun 2018 02:56:16 +0000 (03:56 +0100)]
context: pa_context_get_server_protocol_version: constify

6 years agocontext: pa_context_get_server: constify
Lyndon Brown [Thu, 7 Jun 2018 02:55:42 +0000 (03:55 +0100)]
context: pa_context_get_server: constify

6 years agocontext: pa_context_is_local: constify
Lyndon Brown [Thu, 7 Jun 2018 02:53:45 +0000 (03:53 +0100)]
context: pa_context_is_local: constify

6 years agocontext: pa_context_is_pending: constify
Lyndon Brown [Thu, 7 Jun 2018 02:52:50 +0000 (03:52 +0100)]
context: pa_context_is_pending: constify

6 years agocontext: constify pa_context_set_error()
Tanu Kaskinen [Mon, 18 Jun 2018 08:13:40 +0000 (11:13 +0300)]
context: constify pa_context_set_error()

This allows constifying public API functions that report their errors
via the context error but don't modify the context in any other way.
Philosophical arguments could be made why this is wrong, but I believe
in practice this is a net positive change.

6 years agocontext: pa_context_rttime_restart: constify context pointer
Lyndon Brown [Thu, 7 Jun 2018 03:02:16 +0000 (04:02 +0100)]
context: pa_context_rttime_restart: constify context pointer

6 years agocontext: pa_context_rttime_new: constify context pointer
Lyndon Brown [Thu, 7 Jun 2018 03:00:42 +0000 (04:00 +0100)]
context: pa_context_rttime_new: constify context pointer

6 years agocontext: pa_context_errno: constify
Lyndon Brown [Thu, 7 Jun 2018 02:51:09 +0000 (03:51 +0100)]
context: pa_context_errno: constify

6 years agocontext: hide error attr behind pointer
Lyndon Brown [Thu, 7 Jun 2018 01:43:56 +0000 (02:43 +0100)]
context: hide error attr behind pointer

Paves the way towards more of the API using const pointers.

Some pa_context_* functions return their errors by setting the context
error, even when there's no other change in the context state. This
prevented constifying the pa_context arguments of such functions. This
patch puts the error in its own struct behind a pointer, so that setting
the error doesn't any more count as modifying the pa_context object.

6 years agostream: constify internal functions
Lyndon Brown [Thu, 7 Jun 2018 02:15:41 +0000 (03:15 +0100)]
stream: constify internal functions

6 years agoalsa-mixer: Don't move LFE in 2.1 and 4.1 modes on SB Omni Surround 5.1
Nazar Mokrynskyi [Fri, 1 Jun 2018 10:38:14 +0000 (13:38 +0300)]
alsa-mixer: Don't move LFE in 2.1 and 4.1 modes on SB Omni Surround 5.1

A bit hacky approach, but it allows to preserve LFE output position
even in reduced output modes 2.1 and 4.1.

Signed-off-by: Nazar Mokrynskyi <nazar@mokrynskyi.com>
6 years agocli-command: Report error in pa_play_file.
Tomaz Solc [Tue, 29 May 2018 07:22:59 +0000 (09:22 +0200)]
cli-command: Report error in pa_play_file.

Current code does not check whether pa_play_file call failed. Hence no error is
reported in the cli interface if playback failed because e.g. file isn't
readable by the daemon.

6 years agostream: pa_stream_get_monitor_stream: constify
Lyndon Brown [Sun, 27 May 2018 05:08:16 +0000 (06:08 +0100)]
stream: pa_stream_get_monitor_stream: constify

6 years agostream: pa_stream_get_format_info: constify
Lyndon Brown [Sun, 27 May 2018 23:03:14 +0000 (00:03 +0100)]
stream: pa_stream_get_format_info: constify

6 years agostream: pa_stream_get_underflow_index: constify
Lyndon Brown [Sun, 27 May 2018 05:00:02 +0000 (06:00 +0100)]
stream: pa_stream_get_underflow_index: constify