platform/upstream/pulseaudio.git
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

6 years agostream: pa_stream_[writable|readable]_size: constify
Lyndon Brown [Sun, 27 May 2018 04:57:52 +0000 (05:57 +0100)]
stream: pa_stream_[writable|readable]_size: constify

6 years agostream: pa_stream_is_[suspended|corked]: constify
Lyndon Brown [Sun, 27 May 2018 04:54:02 +0000 (05:54 +0100)]
stream: pa_stream_is_[suspended|corked]: constify

6 years agostream: pa_stream_get_device_[index|name]: constify
Lyndon Brown [Sun, 27 May 2018 04:51:30 +0000 (05:51 +0100)]
stream: pa_stream_get_device_[index|name]: constify

6 years agostream: pa_stream_get_index: constify
Lyndon Brown [Sun, 27 May 2018 04:49:23 +0000 (05:49 +0100)]
stream: pa_stream_get_index: constify

6 years agostream: pa_stream_get_context: constify
Lyndon Brown [Sun, 27 May 2018 04:45:36 +0000 (05:45 +0100)]
stream: pa_stream_get_context: constify

6 years agostream: pa_stream_get_state: constify
Lyndon Brown [Sun, 27 May 2018 04:43:01 +0000 (05:43 +0100)]
stream: pa_stream_get_state: constify

6 years agooperation: pa_operation_get_state: constify
Lyndon Brown [Sun, 27 May 2018 05:14:29 +0000 (06:14 +0100)]
operation: pa_operation_get_state: constify

6 years agomainloop: constify get_retval functions
Lyndon Brown [Sun, 27 May 2018 05:39:11 +0000 (06:39 +0100)]
mainloop: constify get_retval functions

6 years agocontext: pa_context_get_state: constify
Lyndon Brown [Sun, 27 May 2018 05:24:17 +0000 (06:24 +0100)]
context: pa_context_get_state: constify

6 years agocontext: pa_context_get_protocol_version: constify
Lyndon Brown [Mon, 28 May 2018 00:12:39 +0000 (01:12 +0100)]
context: pa_context_get_protocol_version: constify

6 years agocontext: pa_context_new_with_proplist: constify proplist param
Lyndon Brown [Sat, 26 May 2018 22:50:55 +0000 (23:50 +0100)]
context: pa_context_new_with_proplist: constify proplist param

6 years agovolume: pa_cvolume_get_position: constify
Lyndon Brown [Sun, 27 May 2018 06:56:11 +0000 (07:56 +0100)]
volume: pa_cvolume_get_position: constify

6 years agoalsa-mixer: make the mono mapping a fallback only
Tanu Kaskinen [Fri, 1 Jun 2018 08:24:01 +0000 (11:24 +0300)]
alsa-mixer: make the mono mapping a fallback only

If a sound card doesn't have the "front" device defined for it, we have
to use the "hw" device for stereo. Not so long ago, the analog-stereo
mapping had "hw:%f" in its device-strings and everything worked great,
except that it caused trouble with the Intel HDMI LPE driver that uses
the first "hw" device for HDMI, and we were incorrectly detecting it as
an analog device. That problem was fixed in commit ea3ebd09, which
removed "hw:%f" from analog-stereo and added a new stereo fallback
mapping for "hw".

Now the problem is that if a sound card doesn't have the "front" device
defined for it, and it supports both mono and stereo, only the mono
mapping is used, because the stereo mapping is only a fallback. This
patch makes the mono mapping a fallback too, so the mono mapping is used
only if there's absolutely nothing else that works.

This can cause trouble at least in theory. Maybe someone actually wants
to use mono output on a card that supports both mono and stereo. But
that seems quite unlikely.

6 years agoscache: pa_context_play_sample_with_proplist: constify proplist param
Lyndon Brown [Sun, 27 May 2018 04:15:14 +0000 (05:15 +0100)]
scache: pa_context_play_sample_with_proplist: constify proplist param

If the given proplist is NULL, the function creates a new (empty)
proplist. That caused a compiler warning after the constification, which
is why the new proplist is now created using a separate variable.

6 years agoscache: pa_context_play_sample_with_proplist: clarify proplist param
Lyndon Brown [Sun, 27 May 2018 04:14:04 +0000 (05:14 +0100)]
scache: pa_context_play_sample_with_proplist: clarify proplist param

Existing documentation was unclear about which property list would be the
one changed (merged into), making it seem (along with the non-const
proplist pointer param, which needs changing seperately), that the proplist
object for which a pointer is given will be the one merged into, instead of
the internal cached entry's proplist.

6 years agoproplist: pa_proplist_equal: constify proplist pointers
Lyndon Brown [Sun, 27 May 2018 03:42:36 +0000 (04:42 +0100)]
proplist: pa_proplist_equal: constify proplist pointers

6 years agoproplist: pa_proplist_[size|isempty]: constify proplist pointer
Lyndon Brown [Sun, 27 May 2018 03:40:07 +0000 (04:40 +0100)]
proplist: pa_proplist_[size|isempty]: constify proplist pointer

6 years agoproplist: pa_proplist_contains: constify proplist pointer
Lyndon Brown [Sun, 27 May 2018 03:35:33 +0000 (04:35 +0100)]
proplist: pa_proplist_contains: constify proplist pointer

6 years agoproplist: pa_proplist_to_string[_sep]: constify proplist pointer
Lyndon Brown [Sun, 27 May 2018 03:31:49 +0000 (04:31 +0100)]
proplist: pa_proplist_to_string[_sep]: constify proplist pointer

6 years agocontext: pa_context_proplist_update: constify proplist pointer
Lyndon Brown [Sun, 27 May 2018 02:04:43 +0000 (03:04 +0100)]
context: pa_context_proplist_update: constify proplist pointer

6 years agotagstruct: pa_tagstruct_put_format_info: constify format pointer
Lyndon Brown [Sun, 27 May 2018 02:02:30 +0000 (03:02 +0100)]
tagstruct: pa_tagstruct_put_format_info: constify format pointer

6 years agotagstruct: pa_tagstruct_put_proplist: constify proplist pointer
Lyndon Brown [Sun, 27 May 2018 02:01:14 +0000 (03:01 +0100)]
tagstruct: pa_tagstruct_put_proplist: constify proplist pointer

6 years agoproplist: pa_proplist_gets: constify proplist pointer
Lyndon Brown [Sun, 27 May 2018 03:10:53 +0000 (04:10 +0100)]
proplist: pa_proplist_gets: constify proplist pointer

6 years agoproplist: pa_proplist_get: constify proplist pointer
Lyndon Brown [Sun, 27 May 2018 01:59:12 +0000 (02:59 +0100)]
proplist: pa_proplist_get: constify proplist pointer

6 years agoproplist: pa_proplist_iterate: constify proplist pointer
Lyndon Brown [Sun, 27 May 2018 01:45:47 +0000 (02:45 +0100)]
proplist: pa_proplist_iterate: constify proplist pointer

6 years agoproplist: add and use const version of MAKE_HASHMAP macro
Lyndon Brown [Sun, 27 May 2018 01:41:54 +0000 (02:41 +0100)]
proplist: add and use const version of MAKE_HASHMAP macro

6 years agohashmap: constify pointer of pa_hashmap_get
Lyndon Brown [Sun, 27 May 2018 01:57:12 +0000 (02:57 +0100)]
hashmap: constify pointer of pa_hashmap_get

relies upon the same having just been done for the private hash_scan
function

6 years agohashmap: constify pointer of private hash_scan function
Lyndon Brown [Sun, 27 May 2018 01:56:11 +0000 (02:56 +0100)]
hashmap: constify pointer of private hash_scan function

paves the way for doing the same for pa_hashmap_get and users of it

6 years agohashmap: constify hashmap ptr for various functions
Lyndon Brown [Sun, 27 May 2018 01:27:43 +0000 (02:27 +0100)]
hashmap: constify hashmap ptr for various functions

6 years agobuild-sys: Update meson.build based on recent changes
Arun Raghavan [Sun, 20 May 2018 02:38:42 +0000 (08:08 +0530)]
build-sys: Update meson.build based on recent changes

Bump the protocol version, and drop (commented out) references to BlueZ
4.

6 years agoudev-detect, alsa-card: Adopt avoid resampling option from daemon.conf
Sangchul Lee [Thu, 24 May 2018 16:29:53 +0000 (01:29 +0900)]
udev-detect, alsa-card: Adopt avoid resampling option from daemon.conf

Previously, the "avoid-resampling" option of daemon.conf is to make the
daemon try to use the stream sample rate if possible for all sinks or
sources.

This patch applies this option to module-udev-detect and module-alsa-card
as a module argument in order to override the default value of daemon.conf.

As a result, user can use this argument for more fine-grained control.
e.g.) set it false in daemon.conf and set it true for module-udev-detect
or a particular module-alsa-card in default.pa.(or vice versa)

To set it, use "avoid_resampling=true or false" as the module argument.

Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agoalsa-mixer: More output modes for SB Omni Surround 5.1 and cleanup
Nazar Mokrynskyi [Tue, 8 May 2018 22:51:23 +0000 (01:51 +0300)]
alsa-mixer: More output modes for SB Omni Surround 5.1 and cleanup

There are only stereo and 5.1 output modes supported natively on this
sound card, but with this config more modes like 2.1, 4.0, 4.1 and 5.0
are now exposed. Also profiles list is cleaner now with all profiles
explicitly specified.

Last thing is removed support for microphone on Linux kernels older than
4.3-rc1, which shouldn't be an issue with future version of PulseAudio
likely be installed on newer kernels anyway.

Signed-off-by: Nazar Mokrynskyi <nazar@mokrynskyi.com>
6 years agomap-file: Fix typo while adding pa_thread_make_realtime
Arun Raghavan [Thu, 10 May 2018 09:01:36 +0000 (14:31 +0530)]
map-file: Fix typo while adding pa_thread_make_realtime

6 years agonull-sink,null-source: Use realtime scheduling if possible
Arun Raghavan [Fri, 4 May 2018 13:48:15 +0000 (19:18 +0530)]
null-sink,null-source: Use realtime scheduling if possible

We do this on other sink/source modules, and in general it makes sense
to do so here as well.

6 years agocore-format: fix TrueHD and DTS-HD channel maps
Tanu Kaskinen [Sat, 5 May 2018 13:01:06 +0000 (16:01 +0300)]
core-format: fix TrueHD and DTS-HD channel maps

Since these formats use 8 channels, the channel map needs to be
configured to 8 channels as well.

6 years agocore: Expose API to elevate a thread to realtime priority
Arun Raghavan [Sat, 21 Apr 2018 04:15:26 +0000 (09:45 +0530)]
core: Expose API to elevate a thread to realtime priority

This should make it easier for clients to elevate their audio threads to
real time priority without having to dig through much through specific
system internals.

6 years agoPROTOCOL: Bump to version 33
Arun Raghavan [Fri, 4 May 2018 17:16:53 +0000 (22:46 +0530)]
PROTOCOL: Bump to version 33

Required for the addition of new pa_encoding_t values.

6 years agoformat: Add support for Dolby TrueHD and DTS-HD HBR passthrough
Pierre-Louis Bossart [Tue, 15 Aug 2017 17:24:12 +0000 (12:24 -0500)]
format: Add support for Dolby TrueHD and DTS-HD HBR passthrough

Add definitions and fixups for channel count

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
6 years agortp-send: remove dead code
Sangchul Lee [Thu, 3 May 2018 16:27:21 +0000 (01:27 +0900)]
rtp-send: remove dead code

Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years ago.gitignore: add m4/extern-inline.m4 and remove-ptcdate.sed
Tanu Kaskinen [Tue, 17 Apr 2018 11:16:16 +0000 (14:16 +0300)]
.gitignore: add m4/extern-inline.m4 and remove-ptcdate.sed

6 years agoUse upstream gettext instead intltool
Javier Jardón [Mon, 2 Apr 2018 19:48:29 +0000 (20:48 +0100)]
Use upstream gettext instead intltool

6 years agoi18n: update the Ukrainian translation
Yuri Chornoivan [Sun, 18 Mar 2018 10:37:42 +0000 (12:37 +0200)]
i18n: update the Ukrainian translation

6 years agoi18n: update the Indonesian translation
Andika Triwidada [Sun, 4 Mar 2018 16:05:14 +0000 (18:05 +0200)]
i18n: update the Indonesian translation

6 years agoi18n: update the Lithuanian translation
Mr. M [Thu, 15 Feb 2018 08:29:48 +0000 (10:29 +0200)]
i18n: update the Lithuanian translation

6 years agobluetooth: policy: Remove BlueZ 4 related code
Luiz Augusto von Dentz [Mon, 26 Mar 2018 14:15:51 +0000 (17:15 +0300)]
bluetooth: policy: Remove BlueZ 4 related code

This removes hfpw option and profile which were only used by BlueZ 4.

6 years agobluetooth: Remove BlueZ 4 support
Luiz Augusto von Dentz [Mon, 26 Mar 2018 14:15:50 +0000 (17:15 +0300)]
bluetooth: Remove BlueZ 4 support

BlueZ 4 is no longer supported by BlueZ community for a long long time,
also by moving to BlueZ 5 it should make it even more clearer that
BlueZ 4 is no longer an option.

6 years agobluetooth: ofono: Use Acquire method if available
Luiz Augusto von Dentz [Thu, 22 Mar 2018 12:56:00 +0000 (14:56 +0200)]
bluetooth: ofono: Use Acquire method if available

Attempt to use Acquire method if available since it directly returns
the fd in the reply or an error if that the connection could not be
created while Connect offer neither of these and depend on
NewConnection to deliver the fd.

6 years agooptimize set_state_in_io_thread() callbacks
Raman Shyshniou [Tue, 20 Mar 2018 13:26:20 +0000 (16:26 +0300)]
optimize set_state_in_io_thread() callbacks

Source and sink are passed in arguments to set_state_in_io_thread()
callbacks. There is optimal to access them directly.

6 years agoset exit_idle_time to 0 when we detect a session
Tanu Kaskinen [Tue, 6 Mar 2018 13:09:06 +0000 (15:09 +0200)]
set exit_idle_time to 0 when we detect a session

As the comments explain, this fixes relogin problems on some systems
that remove our sockets on logout without terminating the daemon.

6 years agoalsa-mixer: add support for SteelSeries Arctis 5 and renamed Arctis 7 files appropriately
Bert Hekman [Tue, 13 Feb 2018 19:06:12 +0000 (20:06 +0100)]
alsa-mixer: add support for SteelSeries Arctis 5 and renamed Arctis 7 files appropriately

6 years agoalsa-card: improve the profile availability logic
Tanu Kaskinen [Tue, 20 Feb 2018 09:55:14 +0000 (11:55 +0200)]
alsa-card: improve the profile availability logic

When a new card shows up (during pulseaudio startup or hotplugged),
pulseaudio needs to pick the initial profile for the card. Unavailable
profiles shouldn't be picked, but module-alsa-card sometimes marked
unavailable profiles as available, causing bad initial profile choices.

This patch changes module-alsa-card so that it marks all profiles
unavailable whose all output ports or all input ports are unavailable.
Previously only those profiles were marked as unavailable whose all
ports were unavailable. For example, if a profile contains one sink and
one source, and the sink is unavailable and the source is available,
previously such profile was marked as available, but now it's marked as
unavailable.

BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=102902
6 years agoloopback: use source sample spec and channel map by default
Raman Shyshniou [Tue, 20 Feb 2018 20:32:57 +0000 (21:32 +0100)]
loopback: use source sample spec and channel map by default

Currently the loopback module uses sample spec and channel map of the
sink by default. It leads to double resample if source and sink sample
specs are different and no rate/format specified in arguments. This
patch causes the source sample spec and channel map to be used by
default.

6 years agoloopback: add max_latency_msec argument
Raman Shyshniou [Tue, 20 Feb 2018 20:29:16 +0000 (21:29 +0100)]
loopback: add max_latency_msec argument

Currently loopback module indefinitely increases latency if underruns
occur. This patch allows to set up the upper limit of latency.

6 years agocore-util: correct error in set_nonblock()
Georg Chini [Tue, 13 Feb 2018 17:17:08 +0000 (18:17 +0100)]
core-util: correct error in set_nonblock()

set_nonblock() will always set the file descriptor to non-blocking,
regardless of the nonblock argument.

This patch fixes the issue by passing the correct argument to the
fcntl() call. The bug had no impact because there is only one caller
of pa_make_fd_block() in poll-win32.c

6 years agobuild-sys: First pass at a meson-ified build system
Arun Raghavan [Mon, 31 Jul 2017 11:37:36 +0000 (12:37 +0100)]
build-sys: First pass at a meson-ified build system

This is a working implementation of a build with meson. The server,
utils, and most modules build with this, and it is possible to run from
a build tree and play/capture audio on ALSA devices.

There are a number of FIXMEs, of course, and a number of features that
need to be enabled (modules, dependencies, installation, etc.), but this
should provide everything we need to get there relatively quickly.

To use this, install meson (distro package, or mesonbuild.com) and run:

  $ cd <pulseaudio src dir>
  $ meson <builddir>
  $ ninja -C <builddir>

6 years agoalsa-mixer: add a profile-set file to fix iec958 input and output on CMEDIA USB2...
Jean-Philippe Guillemin [Mon, 12 Feb 2018 17:14:21 +0000 (19:14 +0200)]
alsa-mixer: add a profile-set file to fix iec958 input and output on CMEDIA USB2.0 High-Speed True HD Audio

The iec958 output uses device 2 and the iec958 input uses device 0. The
USB configuration in alsa doesn't set up the device numbers correctly,
which is why we need custom configuration in PulseAudio. Ideally this
would be fixed in alsa, but trying to get help for that wasn't
successful.