platform/upstream/pulseaudio.git
6 years agoFix ASAN (heap-buffer-overflow) defect 08/186908/2 accepted/tizen/unified/20180822.093810 submit/tizen/20180817.045134 submit/tizen/20180821.040322
Seungbae Shin [Thu, 16 Aug 2018 10:32:39 +0000 (19:32 +0900)]
Fix ASAN (heap-buffer-overflow) defect

[Version] 11.1-45
[Issue Type] ASAN

Change-Id: Ia1b2d315df5beb9fa302cdb2dd0786a13bee50df

6 years agosink, alsa-sink: Add conditions for selected sample format 02/184202/1 accepted/tizen/unified/20180718.071602 submit/tizen/20180718.011600
Sangchul Lee [Mon, 16 Jul 2018 08:29:49 +0000 (17:29 +0900)]
sink, alsa-sink: Add conditions for selected sample format

Conditions for selected sample rate are also revised.

[Version] 11.1-44
[Issue Type] New feature

Change-Id: I9a1eb857b37bd9e51f06cfffec32aaca69cbadd3
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agoalsa-sink/source, sink, source: Consider sample format for avoid-resampling/passthrough 82/182582/5
Sangchul Lee [Tue, 19 Jun 2018 08:04:23 +0000 (17:04 +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.

[Version] 11.1-43
[Issue Type] New feature

Change-Id: Iff4d5490b5072b7a9d711047c684f437c2db8ce0
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agoalsa-sink/source: Rename a variable for supported sample rates in userdata 81/182581/3
Sangchul Lee [Tue, 5 Jun 2018 08:45:51 +0000 (17:45 +0900)]
alsa-sink/source: Rename a variable for supported sample rates in userdata

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

[Version] 11.1-42
[Issue Type] Refactoring

Change-Id: Ic47e7a5635587c91a9f4e5f66ba35d9389b551ee
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agoalsa-util/sink/source: Add infrastructure for supported sample formats 80/182580/3
Sangchul Lee [Tue, 5 Jun 2018 08:10:34 +0000 (17:10 +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(bitdepth)
from alsa and an array for it to each userdata of the modules.

[Version] 11.1-41
[Issue Type] New feature

Change-Id: I80397d47324de0b80a24eaa619cd03da8417f746
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agosink: Keep original value of avoid-resampling option 59/180759/1 accepted/tizen/unified/20180611.015408 submit/tizen/20180605.044152 submit/tizen/20180607.021137
Sangchul Lee [Mon, 4 Jun 2018 04:12:25 +0000 (13:12 +0900)]
sink: Keep original value of avoid-resampling option

This option value is set initially from daemon.conf or modules.
Since we will manipulate this option dynamically, it is needed
to store the original value which will be used later on.
e.g.) a failure of the processing

[Version] 11.1-40
[Issue Type] Enhacement

Change-Id: I6d6a141696b41002c4490dbf33416bd299832203
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agoFix build warnings 23/180723/1
Seungbae Shin [Fri, 1 Jun 2018 09:53:52 +0000 (18:53 +0900)]
Fix build warnings

[Version] 11.1-39
[Issue Type] Build

Change-Id: I354f93f397851d2d4f508a3e6b1a52c3d64e2950

6 years agoFix source crash due to header item mismatch 99/180699/5 submit/tizen/20180601.091654
Seungbae Shin [Fri, 1 Jun 2018 07:55:18 +0000 (16:55 +0900)]
Fix source crash due to header item mismatch

[Version] 11.1-38
[Issue Type] Build

Change-Id: I26e5af0a5569e48efe8eaa30391852bb0e6ecd73

6 years agoudev-detect: Remove logic for allowing only usb device and move it to udev rule file 86/180186/3
Sangchul Lee [Fri, 25 May 2018 08:31:03 +0000 (17:31 +0900)]
udev-detect: Remove logic for allowing only usb device and move it to udev rule file

90-pulseaudio.rules is modified to mark for ignoring devices not in case of usb

[Version] 11.1-37
[Issue Type] Refactoring

Change-Id: I28900ef1d9e926a88bd5a8de68c61440f992b107
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agosink, alsa-sink: Add conditions for selected sample rate 85/180185/2
Sangchul Lee [Mon, 14 May 2018 07:29:19 +0000 (16:29 +0900)]
sink, alsa-sink: Add conditions for selected sample rate

[Version] 11.1-36
[Issue Type] Feature

Change-Id: I1385b7de93b1fec7b3bbc6baf016bdb73b8ba15d
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agoudev-detect, alsa-card: Adopt avoid resampling option from daemon.conf 23/178823/5
Sangchul Lee [Mon, 14 May 2018 05:18:58 +0000 (14:18 +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.

[Version] 11.1-35
[Issue Type] Feature

Change-Id: Ib58f269692649c98a16699756410e961fc1b8160
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agoAllow the dbus call for network_fw group 54/179854/1 accepted/tizen/unified/20180523.144412 submit/tizen/20180523.034140
DoHyun Pyun [Wed, 23 May 2018 03:36:25 +0000 (12:36 +0900)]
Allow the dbus call for network_fw group

Because the bluetoothd's group was changed from root
to network_fw. So pulseaudio should allow for network_fw
group for A2DP connection.

Change-Id: Icadc52121f1011f99597afadd0d7e5fd147d2cb0
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
6 years agoSeveral patches from upstream/master are merged with the manner of cherry-pick 70/178070/1
Sangchul Lee [Tue, 8 May 2018 04:36:14 +0000 (13:36 +0900)]
Several patches from upstream/master are merged with the manner of cherry-pick

For implement and enhance USB-DAC support on tizen platform, above all
we rebase codes based on the latest upstream's to catch up on the latest
codes easily later on.

Most of these patches are related to sink/source/alsa.

[Version] 11.1-34
[Issue Type] sync with upstream

Change-Id: I43e2c64508bbfbdc1946ae9685a2c63f40a085df
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agoalsa-sink/source: always set reconfiguration callback 69/178069/1
Sangchul Lee [Fri, 27 Apr 2018 16:07:26 +0000 (01:07 +0900)]
alsa-sink/source: always set reconfiguration callback

Reconfiguration callback should also be set in case of avoiding resampling
option. This patch set the callback for every case because the callback
has already conditions to leave if it is not needed.
Also unnecessary codes of setting alternate sample rate to 0 are removed.

Change-Id: I21adcc21c3c705722440b280d27d7d3140e907e9
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agosink: don't sync monitor suspend state when unlinking 68/178068/1
Tanu Kaskinen [Thu, 22 Feb 2018 08:06:59 +0000 (10:06 +0200)]
sink: don't sync monitor suspend state when unlinking

When the sink is unlinked, there's no need to update the monitor suspend
state. In fact, trying to do that causes an assertion failure, because
pa_source_sync_suspend() wasn't written to handle the case where the
sink is unlinked.

Change-Id: I6352eee5ec9b5b59234b738997f9c055a33b8a76
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agoalsa: fix infinite loop with Intel HDMI LPE 67/178067/1
Tanu Kaskinen [Thu, 28 Dec 2017 10:09:17 +0000 (12:09 +0200)]
alsa: fix infinite loop with Intel HDMI LPE

The Intel HDMI LPE driver works in a peculiar way when the HDMI cable is
not plugged in: any written audio is immediately discarded and underrun
is reported. That resulted in an infinite loop, because PulseAudio tried
to keep the buffer filled, which was futile since the written audio was
immediately consumed/discarded.

This patch adds special handling for the LPE driver: if the active port
of the sink is unavailable, the sink suspends itself. A new suspend
cause is added: PA_SUSPEND_UNAVAILABLE.

Change-Id: I440b50d4a3804d1a6f6e7cd9d036a1a4230c02eb
BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=100488
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agosink, source: redo state changing code 66/178066/1
Tanu Kaskinen [Mon, 19 Feb 2018 14:48:22 +0000 (16:48 +0200)]
sink, source: redo state changing code

This adds a pa_suspend_cause_t parameter to the sink/source_set_state()
functions, and moves part of the work that pa_sink/source_suspend() does
to sink/source_set_state(). The reason for this code shuffling is that I
plan to make all suspend cause changes available to modules through the
state change callbacks. This is the first step towards that.

Additionally, pa_source_sync_suspend() is changed to also update the
suspend cause of the monitor source when the suspend cause of the
monitored sink changes. That probably doesn't have much effect on
anything, but I think it makes sense to mirror the sink suspend cause in
the monitor source.

pa_source_sync_suspend() has also a bug fix: previously it was probably
possible that a sink might get suspended while in the passthrough mode.
When the sink then resumed (while still in the passthrough mode),
pa_source_sync_suspend() would resume also the monitor source, even
though the monitor source should be kept suspended when the sink is in
the passthrough mode. Now the monitor source won't be resumed in this
situation.

Change-Id: Ibdfd913c2f8cab1c27e63cbb45ffd63c27936ce0
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agosink, source: improve suspend cause logging 65/178065/1
Tanu Kaskinen [Thu, 28 Dec 2017 10:09:19 +0000 (12:09 +0200)]
sink, source: improve suspend cause logging

Previously the suspend cause was logged as a hexadecimal number, now
it's logged as a human-friendly string.

Also, the command line interface handled only a subset of causes when
printing them, now all suspend causes are printed.

Change-Id: I4388ae2a49c784fbd82318b82cf0793d121e68a7
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agosink, source: improve state change logging 64/178064/1
Tanu Kaskinen [Thu, 28 Dec 2017 10:09:18 +0000 (12:09 +0200)]
sink, source: improve state change logging

Now the old and new state is logged every time when the sink or source
state changes.

Change-Id: Ib3a95d7c9da2ce4123bbf699a0d6df953aa156dd
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agosink, source: Don't finish move if unlink happens after pa_*_move_all_start() 63/178063/1
Georg Chini [Sun, 3 Dec 2017 21:29:09 +0000 (22:29 +0100)]
sink, source: Don't finish move if unlink happens after pa_*_move_all_start()

When a sink input was unlinked between the calls to pa_sink_move_all_start() and
pa_sink_move_all_finish(), pa_sink_move_all_finish() tried to finish the move
of the already unlinked sink input, which lead to an assertion in
pa_sink_input_finish_move(). The same applies for the source side.

This patch fixes the problem by checking the state of the sink input or
source output in pa_*_move_all_finish().

Bug report: https://bugs.freedesktop.org/show_bug.cgi?id=103752

Change-Id: I4dc7a1c51b3f340adbad51229658e7218d3065d0
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agosink, source: Rework reconfiguration logic to apply to more than rate 62/178062/1
Arun Raghavan [Sun, 3 Sep 2017 11:23:17 +0000 (16:53 +0530)]
sink, source: Rework reconfiguration logic to apply to more than rate

This rejigs the update_rate() logic to encompass changes to the sample
spec as a whole, as well as passthrough status. As a result,
sinks/sources provide a reconfigure() method which allows
reconfiguration as required.

The behaviour itself is currently unchanged -- alsa-sink/-source do not
actually implement anything other than rate updates for now (nor are
they ever requested to). This can be modified in the future, to allow,
for example 24-bit output when incoming media supports it, as well as
channel count changes for passthrough sinks.

Another related change is that passthrough status is now part of
sink/source reconfiguration, and we can stop doing a suspend/unsuspend
when entering/leaving passthrough state. So that part is now divided
in two -- pa_sink_reconfigure() sets the sink in passthrough mode if
required, and pa_sink_enter_passthrough() sets up everything else
(this currently means only volumes, but could disable other processing)
for passthrough mode.

Change-Id: I0784496978f5cf2ea6db973bb62cc2033cb5207a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agoApply deny policy for default context in dbus conf 95/177895/3 accepted/tizen/unified/20180508.134726 submit/tizen/20180508.021954
Seungbae Shin [Fri, 4 May 2018 07:43:07 +0000 (16:43 +0900)]
Apply deny policy for default context in dbus conf

[Version] 11.1-33
[Issue Type] Security

Change-Id: I8e3c1724d786270a06de92ee8c8260bd12abff85

6 years agoFix for TV product build macro 84/176784/2 accepted/tizen/unified/20180424.165700 submit/tizen/20180424.040057
Seungbae Shin [Mon, 23 Apr 2018 10:25:39 +0000 (19:25 +0900)]
Fix for TV product build macro

[Version] 11.1-32
[Issue Type] Build

Change-Id: Ifd0f963c200d2e8f2c33cca48f75774cdbab5419

6 years agoFix coverity issues 02/174902/3 accepted/tizen/unified/20180423.062808 submit/tizen/20180420.084732
Sangchul Lee [Thu, 5 Apr 2018 04:24:13 +0000 (13:24 +0900)]
Fix coverity issues

[Version] 11.1-31
[Issue Type] Coverity

Change-Id: I242eb721b3aaf99f87c1b95ba5e99f5b2271c79b
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agoFix for ASAN build 40/173440/1 accepted/tizen/unified/20180327.055806 submit/tizen/20180323.020615
Seungbae Shin [Wed, 21 Mar 2018 11:14:48 +0000 (20:14 +0900)]
Fix for ASAN build

- diasble neon optimization when ASAN build is enabled.
- apply global -fPIC cflags when ASAN build is enabled.

[Version] 11.1-30
[Issue Type] ETC

Change-Id: Ifec54d73f69a816045e51d54c009fed30d3348f3

6 years agoApply ASLR on Executable 24/173424/3
Seungbae Shin [Wed, 21 Mar 2018 04:35:13 +0000 (13:35 +0900)]
Apply ASLR on Executable

remove some redundant tizen configurations from src/Makefile.am

[Version] 11.1-29
[Issue Type] Security

Change-Id: Ia3139d3ef9d1766d3270d8a63dd474a5f5effa35

6 years agoFix SVACE defects 12/172112/2 accepted/tizen/unified/20180316.062440 submit/tizen/20180314.055832
Seungbae Shin [Mon, 12 Mar 2018 02:26:07 +0000 (11:26 +0900)]
Fix SVACE defects

[Version] 11.1-28
[Issue Type] Security

Change-Id: I5fd147b9d9be23683d619c60c87a56e239a91d08

6 years agobluetooth : Modify codes to fix the svace issue 64/171564/1
DoHyun Pyun [Tue, 6 Mar 2018 00:06:53 +0000 (09:06 +0900)]
bluetooth : Modify codes to fix the svace issue

Change-Id: Ic24a10c2a0d457b3f5216bced89297166df33b6c
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
6 years agorole-ducking: Add support for fade-in/out feature 63/170763/2 accepted/tizen/unified/20180227.062917 submit/tizen/20180226.072000
Sangchul Lee [Thu, 22 Feb 2018 04:29:47 +0000 (13:29 +0900)]
role-ducking: Add support for fade-in/out feature

related patches
 : 4c528a5790096e2e16f2e6a36e65498c6e8df5cb - sc11.lee@samsung.com - 2016-07-18 - role-ducking: Add support for fade-in/fade-out feature

[Version] 11.1-27
[Issue Type] Feature

Change-Id: I4136a8eb7b29d04014d0649fc9f0406c31a6c7e6
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agostream-interaction: Add support for fading in case of ducking/unducking 57/170757/3
Sangchul Lee [Thu, 22 Feb 2018 03:48:20 +0000 (12:48 +0900)]
stream-interaction: Add support for fading in case of ducking/unducking

Ducking/unducking with fade-in/out can be applied according to variables for fading duration.

[Version] 11.1-26
[Issue Type] Feature

Change-Id: I6621dbae308966054f9fb49f29b07af1eeb02bc1
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agostream-interaction: Modify codes to use idxset and macro 56/170756/3
Sangchul Lee [Thu, 22 Feb 2018 03:47:13 +0000 (12:47 +0900)]
stream-interaction: Modify codes to use idxset and macro

Revise variable name and type(change interaction_state(hashmap) to interacted_inputs(idxset)).
Use PA_IDXSET_FOREACH macro instead of for loop and idxset functions.

[Version] 11.1-25
[Issue Type] Enhancement

Change-Id: I2637cb654322619bb7dc2b90e436b924d0146965
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agovolume, sink-input: Add support for volume ramp factor 54/170754/3
Sangchul Lee [Wed, 21 Feb 2018 02:54:59 +0000 (11:54 +0900)]
volume, sink-input: Add support for volume ramp factor

Using pa_sink_input_set_volume_ramp() is hard to manage if there are several callers.
These new volume ramp factor APIs make it easy for caller to use and to set more than
one volume ramp factor. New volume ramp factor will be applied by the multiplication
of the other ramp factors that have been already set.

Added functions are as below.
 - pa_sink_input_add_volume_ramp_factor()
 - pa_sink_input_remove_volume_ramp_factor()
 - pa_cvolume_ramp_compatible()
 - pa_sw_cvolume_ramp_multiply()
 - pa_cvolume_ramp_valid()

Removed function is as below.
 - pa_sink_input_set_volume_ramp()

[Version] 11.1-24
[Issue Type] Feature

Change-Id: I8e3ce848126874c421779b1227d57cd9fe65ee36
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agoRefactor codes regarding volume ramp 69/170569/4
Sangchul Lee [Wed, 21 Feb 2018 00:46:00 +0000 (09:46 +0900)]
Refactor codes regarding volume ramp

mix: Use pa_sample_size_of_format function instead of format_sample_size_table.
volume, mix: Revise according to PA coding convention.
sink-input: Add static check_and_apply_ramp function to reduce duplicated codes.

[Version] 11.1-23
[Issue Type] Refactor

Change-Id: I9e1d5d955c4b822a4f9ef2046fd83ed3d10b46f1
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agoAdd support for volume ramping 63/170563/3
Sangchul Lee [Tue, 20 Feb 2018 08:35:12 +0000 (17:35 +0900)]
Add support for volume ramping

original patches
 : 0669a009c0d2544d49c8576e890345ef327fcb0e - jungsup4.lee@samsung.com - 2016-09-20 - sink-input: do pa_volume_ramp_memchunk before resampling
 : ab81f8e37b459c15e57c29526920da6fe3f1d954 - jeongyeon.kim@samsung.com - 2016-07-18 - pulsecore: Fix calculation of volume ramping methods
 : 3bd51059094fba451bd80668c60df82d745caa5b - jaska.uimonen@helsinki.fi - 2014-05-28 - volume ramp: adding volume ramping to sink-input
 : dec8d87b399d1ef544c4a741033ed37f69478f20 - jaska.uimonen@helsinki.fi - 2014-05-28 - volume ramp: additions to the low level infra

[Version] 11.1-22
[Issue Type] Feature

Change-Id: Id5ddaf582b907743821b0551b321a586cd508d13
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agobluetooth : Apply tizen patchsets 95/170395/5
DoHyun Pyun [Tue, 20 Feb 2018 00:26:17 +0000 (09:26 +0900)]
bluetooth : Apply tizen patchsets

Change-Id: Ib4ba5f9f90feeea33ff9f4247358254149273a19
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
6 years agoladspa-sink: dbus implementation for tizen 58/170158/2
Sangchul Lee [Wed, 14 Feb 2018 01:16:20 +0000 (10:16 +0900)]
ladspa-sink: dbus implementation for tizen

original patch
 : 2257e23898e3c2c79aac52d3545c2389040dd273 - jeongyeon.kim@samsung.com - 2017-05-26 - ladspa-sink: dbus implementation for tizen

[Version] 11.1-21
[Issue Type] Tizen modification

Change-Id: Ied0961c8b58e4941df0a91592e8d78f8c6467aab
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agofilter-apply: Add 'autoclean_interval' module argument 52/170052/3
Sangchul Lee [Tue, 13 Feb 2018 05:33:20 +0000 (14:33 +0900)]
filter-apply: Add 'autoclean_interval' module argument

original patch
 : 8339a13fd40b519958218660f986947f8290c98c - sc11.lee@samsung.com - 2017-07-05 - filter-apply: Add "autoclean_interval" module argument

Now it is possible to set interval time of "autoclean" behavior.
Deafult time is 10 seconds which is the same as before.

[Version] 11.1-20
[Issue Type] Tizen modification

Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Change-Id: I340ff5d35afbe00cf49930e88938a2bc1a9d3b5c

6 years agofilter-apply: Add support for filter group 34/170034/2
Sangchul Lee [Tue, 13 Feb 2018 04:50:04 +0000 (13:50 +0900)]
filter-apply: Add support for filter group

original patches
 : 620e42074870b3bc2be19cac85044373cd30ffd6 - jeongyeon.kim@samsung.com - 2017-05-26 05:34:57 filter-apply: Add ability to pass parameters to a filter module
 : 58ba9215ea0e1aa2cda2b966464ee25b9fad1be3 - jeongyeon.kim@samsung.com - 2017-03-29 17:16:13 filter-apply: support group of filters

[Version] 11.1-19
[Issue Type] Feature

Change-Id: I08172a76179681bb0bac7f55906436119c78b24f
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agofilter-apply: Eliminate nested and redundant hook events 33/170033/1
KimJeongYeon [Sat, 9 Dec 2017 20:00:20 +0000 (21:00 +0100)]
filter-apply: Eliminate nested and redundant hook events

original patch
 :https://github.com/pulseaudio/pulseaudio/commit/922f08b7872207d958d2b87726b096f02f594943

In proces(), the do_move() function calls pa_{sink_input,source_output}_set_property().
This triggers a call to {sink_input,source_output}_proplist_cb() which called process()
a second time.

This patch avoids the duplicate and nested call to process() by checking if
PA_PROP_FILTER_APPLY_MOVING is set in {sink_input,source_output}_proplist_cb().

Change-Id: I41dc6263057ffce5d9cd8a35964554c06fe223a1

6 years agofilter-apply: Do not re-route stream to master sink/source when manually moved to... 32/170032/1
KimJeongYeon [Sat, 29 Apr 2017 09:32:23 +0000 (11:32 +0200)]
filter-apply: Do not re-route stream to master sink/source when manually moved to filter

original patch
 :https://github.com/pulseaudio/pulseaudio/commit/46fb1b8c5dfeb9611ba9035ff7a09dbb620c54ea

Currently, if a stream is manually moved to a filter sink or source managed by
module-filter-apply, the stream will be silently re-routed to the master sink
or source, because the filter.apply property is not set on that stream. We can
assume, that the users intention however was to have the stream filtered.

Therefore this patch changes the logic, so that the stream will not be moved
to the master but remains on the filter sink or source. To handle the change
of a property correctly, the filter.apply property must be set temporarily.
An additional property filter.apply.set_by_mfa was introduced to mark those
streams, so that filter.apply can be removed again when the stream moves away
from the filter.

Change-Id: I446532bd53c299244d1b487c124c4910b715fdce

6 years agoModify pulseaudio-system.conf for dbus configuration 09/170009/1
Sangchul Lee [Tue, 13 Feb 2018 00:06:54 +0000 (09:06 +0900)]
Modify pulseaudio-system.conf for dbus configuration

add to allow send destination
add to set privilege for setting volume level

original patches
 : 8e2f4f855517f8538086bc81f7a645d61ef427ae - seungbae.shin@samsung.com - 2016-03-02 - Add privilege check on dbus policy configuration (with some cleanups)
 : 1f23375b1c28b376586018447a95dc58af67d9f8 - sc11.lee@samsung.com - 2015-07-08 - Modify pulseaudio-system.conf file for updating dbus access right, policy/sound-player: change dbus path

[Version] 11.1-18
[Issue Type] Tizen modification

Change-Id: I44528433b8acc87e52f322f7ce78552cd9d88442
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agofixup! Add .gbs.conf for upstream branch build 47/169947/1
Seungbae Shin [Mon, 12 Feb 2018 08:25:05 +0000 (17:25 +0900)]
fixup! Add .gbs.conf for upstream branch build

Change-Id: I18bd1e46141186cee09a0060d09058c262c67525

6 years agoAdd .gbs.conf for upstream branch build 33/169933/1
Seungbae Shin [Mon, 12 Feb 2018 07:18:55 +0000 (16:18 +0900)]
Add .gbs.conf for upstream branch build

https://source.tizen.org/documentation/reference/git-build-system/maintenance-models-supported-gbs

[Version] 11.1-17
[Issue Type] Tizen modification

Change-Id: Id911eaf7617c1f7d515d09b576c55ec0ea0715da

6 years agoCreate sink-input/source-ouput with previous sink/source set 32/169932/3
Seungbae Shin [Mon, 12 Feb 2018 07:11:26 +0000 (16:11 +0900)]
Create sink-input/source-ouput with previous sink/source set

original patch
 : d8d1be18efdc04b010cbb4b5f97ca53128b0674e - 2015-07-15 - jho.mok@samsung.com - Fix crash, and some debugging code

[Version] 11.1-16
[Issue Type] Tizen modification

Change-Id: I9ed6ff50e7486d4e6bb3d63a48432fee393320b4

6 years agoAdd ommited build flags for tizen to AM_CFLAGS 11/169911/2
Sangchul Lee [Mon, 12 Feb 2018 05:30:06 +0000 (14:30 +0900)]
Add ommited build flags for tizen to AM_CFLAGS

Since AM_CFLAGS are commonly used for compiling modules,
it is used for tizen build flags which will be applied to modules.

[Version] 11.1-15
[Issue Type] Enhancement

Change-Id: Iac3a90ce518722edd0bdeb02ad6906ff5022a45d
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agoAdd empty pop protection feature 25/169425/5
Seungbae Shin [Tue, 6 Feb 2018 12:12:01 +0000 (21:12 +0900)]
Add empty pop protection feature

original patches
 : fc24ad2b36d735bc48229519a2638e91c36913c5 - 2017-01-23 - seungbae.shin@samsung.com - Reset zero-pop timestamp when sink-input state is not running
 : 3b758c752d11b25557057c89202e9004f88dc2c0 - 2016-07-13 - seungbae.shin@samsung.com - Revise zero pop log messages
 : 4ede897013c362375df581b72db56afe4ac4ce94 - 2016-06-30 - seungbae.shin@samsung.com - Notify pop-timeout event to client when there is no data for long time

[Version] 11.1-14
[Issue Type] Feature

Change-Id: I6681d2aacc52ea188575b024dbc7815778624766

6 years agoAdd pa-simple extension feature 05/169405/3
Seungbae Shin [Tue, 6 Feb 2018 09:25:10 +0000 (18:25 +0900)]
Add pa-simple extension feature

original patches
 : d4ca31c91835a15f9be027977cf381dd5c50d997 - 2016-04-25 - seungbae.shin@samsung.com - Remove unused function added by Tizen
 : 323a454fc9a06d8627800cca7c7e9183c9f70497 - 2014-05-28 - vivian.zhang@intel.com - changes to pa simple api - samsung

[Version] 11.1-13
[Issue Type] Feature

Change-Id: Ib980addf75630079713edc734ecae228d09a97df

6 years agoAdd prelink / lwipc feature, disable pcm-dump feature for TV product 47/169347/4
Seungbae Shin [Tue, 6 Feb 2018 06:22:24 +0000 (15:22 +0900)]
Add prelink / lwipc feature, disable pcm-dump feature for TV product

original patches
 : ae799fd05f37f4e3bbd0e2f4435b2bbd01eab540 - 2016-08-18 - jungsup4.lee@samsung.com - Applying light weight ipc
 : 44216168d3e8ba13c86d8eb78ff5f9cb5cec3020 - 2016-05-20 - seonmi.jin@samsung.com - [TV] Add configuration --enable-prelink
 : 8528b1b7b6fa6d703efdff92576b233ccf3a6201 - 2017-12-20 - seungbae.shin@samsung.com - Disable pcm-dump feature by default on TV

[Version] 11.1-12
[Issue Type] TV PROD Feature

Change-Id: Ic921dfabd5163dac61fb90fe072c327193761f06

6 years agoAdd pa-ready feature 35/169335/5
Seungbae Shin [Tue, 6 Feb 2018 05:17:55 +0000 (14:17 +0900)]
Add pa-ready feature

original patches
 :44106a0434254ce6798fcd6cb8a06642fb6a2d7c - jho.mok@samsung.com - 2016-09-08- make pa-ready as feature
 :4c30a4731d5ab495a3e5105396f09a31f931b739 - jaska.uimonen@intel.com - 2013-08-08 - create pa_ready file - samsung

[Version] 11.1-11
[Issue Type] feature

Change-Id: Ief098e2aaed7e94d8f8d9ef03e98ce7b8284c700

6 years agoalsa-card, udev-detect: Add support for using udev only for USB devices 13/169313/7
Sangchul Lee [Tue, 6 Feb 2018 02:35:39 +0000 (11:35 +0900)]
alsa-card, udev-detect: Add support for using udev only for USB devices

original patch
 : 9ae05a9c6216ba7918c25b4f5442a45f9ee7f2cc - jaska.uimonen@intel.com - 2014-05-28 - use udev only for usb devices - samsung

[Version] 11.1-10
[Issue Type] feature

Change-Id: I42f3711519ebc8ee1268dc3ac6a65f90bb5f0626
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agoAdd support for privilege checks 62/169262/6
Sangchul Lee [Mon, 5 Feb 2018 08:21:25 +0000 (17:21 +0900)]
Add support for privilege checks

privileges
 : http://tizen.org/privilege/volume.set
 : http://tizen.org/privilege/recorder

original patches are as below
 : 0cf5d5a0f41fba3a28ee6015100a6e7b6381c703 - jho.mok@samsung.com - 2016-05-24 - New context API for privilege check
 : dc5392a2efea4ea0e2ab3b710feb23d2aad01ee6 - seungbae.shin@samsung.com - 2015-12-11 - [Security] return security error properly & revise cynara code
 : 77911b41919979db908735f6e17dafcf8002435e - o.switalski@samsung.com - 2015-11-19 - Apply cynara privilege checks

[Version] 11.1-9
[Issue Type] feature

Change-Id: I47c121d09d4ca6b5258b077a30ad2ca4f10809a9
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agoidxset: Add pa_idxset_filtered_copy function to copy existing idxset with a condition 00/169100/6
Sangchul Lee [Thu, 23 Feb 2017 02:01:08 +0000 (11:01 +0900)]
idxset: Add pa_idxset_filtered_copy function to copy existing idxset with a condition

same as patch below
 : 6bf96c1b89d149e62a02bb2c2cc233c18e82889d - sc11.lee@samsung.com - 2017-02-23

[Version] 11.1-8
[Issue Type] feature

Change-Id: I31adcc84aaaca5ea29f35e3c7f194dd6399746f7
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agosink, source: Add variables for managing devices 56/169056/6
Sangchul Lee [Fri, 2 Feb 2018 05:10:53 +0000 (14:10 +0900)]
sink, source: Add variables for managing devices

original patches are as below
 : a0318cb9f5eec9b5e0962e1fd8c4579041525a94 - sc11.lee@samsung.com - 2015-10-06 - Add variable for checking if it uses internal codec in sink/source
 : f072f302c387bd4f2a25950734681c7eb8145b01 - jho.mok@samsung.com - 2015-06-24 - Add device manager, on disabled status Gather module-policy related files into tizen directory

[Version] 11.1-7
[Issue Type] feature

Change-Id: Icc89db2ad6f05bad422b010830240845761a8f87
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agoAdd support for pcm dump 37/169037/5
Sangchul Lee [Fri, 2 Feb 2018 03:56:27 +0000 (12:56 +0900)]
Add support for pcm dump

original patches
 : 9cc8f487ce077b3edfd3ae169df9c8b793d4dc9c - jungsup4.lee@samsung.com - 2017-05-11 - sink-input: Enhance PCM dump
 : d2f6895a10071acd1929d6fa7a6c4bfbefb2d39b - hs7388.lee@samsung.com - 2017-03-28 - Enhance log format for dlog & enhance pcm dump, remove unused code

[Version] 11.1-6
[Issue Type] feature

Change-Id: I71c60a7be35da26ddf80779d986cd744aca91b4f
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agoproplist, protocol-native: Apply buffer attributes 39/168939/9
Sangchul Lee [Thu, 1 Feb 2018 08:16:45 +0000 (17:16 +0900)]
proplist, protocol-native: Apply buffer attributes

it is related to below patches
 : 10324be41198d40cb8629474ac34e4735fc39613 - sc11.lee@samsung.com -2016-06-24 -protocol-native: Update buffer attributes only when values are -1 or not set by client
 : bcc11fa2914306ec92713f0fcf6d32741e855c66 - sc11.lee@samsung.com -2016-06-14 -Rename function for updating buffer attributes
 : 2357db40776ef6c4346f5e5c386105f6e4bdb62e - sc11.lee@samsung.com -2016-04-29 -Add null checking for getting buffer attribute and add error checking for hook fire of sink-input/source-output new

[Version] 11.1-5
[Issue Type] feature

Change-Id: If199ba3d9b77c8647a8250ed34bda73d91b150df
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agoproplist: Add support for stream-manager of module-tizenaudio-policy 29/168929/5
Sangchul Lee [Thu, 1 Feb 2018 07:21:23 +0000 (16:21 +0900)]
proplist: Add support for stream-manager of module-tizenaudio-policy

it is also related to original patch below
 : 97a359b2c325e035c315e46107f9e244567d6946 - sc11.lee@samsung.com - 2017-03-14 - proplist: Add PA_PROP_MEDIA_FOCUS_ID definition

[Version] 11.1-4
[Issue Type] feature

Change-Id: I626e7efa1777bd05da5aa34c2946252dfb544ccb
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agoAdd pulsecore pkg-config file 04/168904/6
Sangchul Lee [Thu, 1 Feb 2018 04:04:03 +0000 (13:04 +0900)]
Add pulsecore pkg-config file

origin patch
 : bd75f47eaacbad720ddede3123e7cc87d450d806 - seonmi.jin@samsung.com - 2015-09-17 - build install pulsecore headers

[Version] 11.1-3
[Issue Type] pkg config file

Change-Id: I124ddd41b2aa19359e8185e17d6217c34209fb74
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agoAdd systemd service file for tizen platform based on 4.0 version 08/168708/7
Sangchul Lee [Tue, 30 Jan 2018 07:56:49 +0000 (16:56 +0900)]
Add systemd service file for tizen platform based on 4.0 version

a commit of tizen_4.0 branch is applied.
 : 7f7ce82aa5631db285d1f771993fb350f5546db1 - seungbae.shin@samsung.com - Add explict dependancy on systemd-tmpfiles-setup service

below are diff. comparing to tizen_4.0 branch
 : unused pulseaudio.socket file is removed in /usr/lib/systemd/system/ directory
 : do not copy service file to /usr/lib/systemd/user/ directory

[Version] 11.1-2
[Issue Type] Service file

Change-Id: Ie45de0bea0e9616f9d12b052ad329dfa63a0bb3b
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agoAdd support for dlog 84/168484/7
Sangchul Lee [Mon, 29 Jan 2018 02:43:52 +0000 (11:43 +0900)]
Add support for dlog

original patches are as below
 : d2f6895a10071acd1929d6fa7a6c4bfbefb2d39b - hs7388.lee@samsung.com - 2017-03-28 - Enhance log format for dlog & enhance pcm dump, remove unused code
 : 2411e1330151cd11ee45aafb12de35a48c7fd5b0 - vivian.zhang@intel.com - 2014-05-28 - add support for dlog - samsung

[Version] 11.1-1
[Issue Type] Feature

Change-Id: I7780ce3731afdc670fe8a684c91b9d6329e1ed32
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agoAdd initial spec file for tizen public 53/168353/3
Sangchul Lee [Fri, 26 Jan 2018 04:34:01 +0000 (13:34 +0900)]
Add initial spec file for tizen public

 Feature enable status
     Enable memfd shared memory:    no
     Enable X11:                    no
     Enable OSS Output:             no
     Enable OSS Wrapper:            no
     Enable EsounD:                 no
     Enable Alsa:                   yes
     Enable CoreAudio:              no
     Enable Solaris:                no
     Enable WaveOut:                no
     Enable GLib 2.0:               yes
     Enable Gtk+ 3.0:               no
     Enable GConf:                  no
     Enable Avahi:                  no
     Enable Jack:                   no
     Enable Async DNS:              no
     Enable LIRC:                   no
     Enable D-Bus:                  yes
     Enable BlueZ 4:                no
     Enable BlueZ 5:                yes
         Enable ofono headsets:     yes
         Enable native headsets:    no
     Enable udev:                   yes
       Enable HAL->udev compat:     no
     Enable systemd
       Daemon (Socket Activation):  yes
       Login (Session Tracking):    no
       Journal (Logging):           yes
     Enable TCP Wrappers:           no
     Enable libsamplerate:          no
     Enable IPv6:                   no
     Enable OpenSSL (for Airtunes): yes
     Enable fftw:                   no
     Enable orc:                    no
     Enable Adrian echo canceller:  yes
     Enable speex (resampler, AEC): yes
     Enable soxr (resampler):       no
     Enable WebRTC echo canceller:  no
     Enable gcov coverage:          no
     Enable unit tests:             no
     Database
       tdb:                         no
       gdbm:                        no
       simple database:             yes

     System User:                   pulse
     System Group:                  pulse
     Access Group:                  pulse-access
     Enable per-user EsounD socket: no
     Force preopen:                 no
     Preopened modules:             all

     Legacy Database Entry Support: yes

[Version] 11.1-0
[Issue Type] Spec

Change-Id: I5bf12c4173ad0df2fd48319cd70dee9739fd0483
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agoMerge branch 'upstream/11.1' into tizen 37/168337/1
Sangchul Lee [Fri, 26 Jan 2018 01:18:23 +0000 (10:18 +0900)]
Merge branch 'upstream/11.1' into tizen

Change-Id: I9cda970c0b2b8cd40a4883559d9707718bf3ecd9
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agoInitialize codes based on 11.1 36/168336/1
Sangchul Lee [Fri, 26 Jan 2018 01:17:02 +0000 (10:17 +0900)]
Initialize codes based on 11.1

Change-Id: I0826e35f3806e89de2b6cc7a1d3060101e1fd8d8
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agoInitialize git 10/168210/1
Sangchul Lee [Thu, 25 Jan 2018 03:54:20 +0000 (12:54 +0900)]
Initialize git

The previous tizen branch is based on PulseAudio 5.0 + a lot of patches from Intel.
Since we do use features from Intel and it also brings complicated situation to merge
upstream codes, we decide to initialize this git from the beginning.
Next patches which are upstream codes and tizen patches will be coming soon.

Change-Id: I5b80f66bd1cb1525133321733f05cf790d975a3f
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agoDisable pcm-dump feature by default on TV 64/164664/1
Seungbae Shin [Tue, 19 Dec 2017 08:36:07 +0000 (17:36 +0900)]
Disable pcm-dump feature by default on TV

[Version] 5.0-124
[Issue Type] Security

Change-Id: Id2fa8bbe74635d09a8fd394cbccf013b26de1597
(cherry picked from commit 0982ee20c86b54b0d4ac29e5d3ba2097af7649e2)

6 years agobluetooth-policy: Revise role according to Tizen policy 94/163894/1 accepted/tizen/unified/20171214.154143 submit/tizen/20171214.052708 submit/tizen/20171214.053311
Sangchul Lee [Wed, 13 Dec 2017 01:36:29 +0000 (10:36 +0900)]
bluetooth-policy: Revise role according to Tizen policy

Change-Id: I32626ffc2a030ac243493a270f83617fcf9c2668
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
(cherry picked from commit 6bf9ae23e52622c5aa0fe0881785a5d1392f9b80)

7 years agoRemove not supported update script 27/151327/1 accepted/tizen/unified/20170922.065214 submit/tizen/20170921.061238
Sunmin Lee [Fri, 8 Sep 2017 01:47:41 +0000 (10:47 +0900)]
Remove not supported update script

RW update script for Tizen 2.4 (to 3.0) is not necessary in Tizen 4.0.
(Tizen 4.0 does not support upgrade from Tizen 2.4)
Remove this file in terms of clearing the redundancy.

Change-Id: I85813870ddeeea0b4fbe0266e481fb7b3621648d
(cherry picked from commit db45997b7745c7c75401db34a186204f4b961ce5)

7 years agoupdate NEWS upstream/11.1 v11.1
Tanu Kaskinen [Mon, 18 Sep 2017 14:40:00 +0000 (17:40 +0300)]
update NEWS

7 years agoNEWS: add GNU Hurd support
Tanu Kaskinen [Tue, 5 Sep 2017 10:23:58 +0000 (13:23 +0300)]
NEWS: add GNU Hurd support

For some reason this was left out when copying the feature list from the
release notes.

7 years agobluez: Don't crash on strange MTU sizes
Arun Raghavan [Wed, 13 Sep 2017 07:19:28 +0000 (12:49 +0530)]
bluez: Don't crash on strange MTU sizes

We got reports of this with automatically detected MTUs that weren't
frame aligned.

7 years agobluez: Don't autodetect MTU by default
Arun Raghavan [Wed, 13 Sep 2017 03:52:27 +0000 (09:22 +0530)]
bluez: Don't autodetect MTU by default

This breaks a lot of headsets, so disabling by default. Can be
re-enabled in configuration for specific hardware where it is deemed
necessary.

Also added some debug logging to be able to examine what MTU size is
reported by the device.

BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=102660
7 years agoalsa-mixer: add mixer handling to the fallback stereo case
Tanu Kaskinen [Fri, 8 Sep 2017 12:10:41 +0000 (15:10 +0300)]
alsa-mixer: add mixer handling to the fallback stereo case

Some sound cards don't have any alsa-lib configuration, but they used to
work well enough up to PulseAudio 10. PulseAudio 11 stopped using "hw:0"
for the analog-stereo mapping, and instead defined it as a fallback
mapping without any mixer handling. As a result, switching between
headphones and speakers stopped working without changing the mixer
settings manually at least on Toshiba Chromebook 2. This patch adds the
mixer handling back to the fallback mapping.

I also renamed "unknown-stereo" to "stereo-fallback", because I like
that name more.

BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=102560
7 years agosink: remove priority bonus for the "internal" form factor
Tanu Kaskinen [Wed, 6 Sep 2017 13:08:29 +0000 (16:08 +0300)]
sink: remove priority bonus for the "internal" form factor

We're supposed to prioritize USB sound cards over PCI sound cards, but
the priority bonus for the "internal" form factor prevents this from
happening. Not all (if any) USB sound cards have the form factor
property set, whereas at least on my laptop the on-board sound card has
the form factor set to "internal".

7 years agosink, source: fix out of date comments
Tanu Kaskinen [Sun, 10 Sep 2017 19:32:57 +0000 (22:32 +0300)]
sink, source: fix out of date comments

update_shared_real_volume() doesn't exist. I checked that
update_real_volume() does what the comments claim
update_shared_real_volume() to do.

7 years agosink, source: don't try to update volumes of not-yet-linked devices
Tanu Kaskinen [Sun, 10 Sep 2017 19:32:56 +0000 (22:32 +0300)]
sink, source: don't try to update volumes of not-yet-linked devices

The order of the pa_sink_input_put() and pa_sink_put() calls in filter
modules was swapped in commit edc465da77 ("virtual sources and sinks:
Don't double attach a sink input or source output on filter load").
If flat volumes and volume sharing is enabled, the pa_sink_input_put()
call will update volumes of the whole tree of virtual sinks that are
connected to the root sink. The recursive updating procedure tried to
also update the volume of the new sink for which pa_sink_put() had not
yet been called, causing an assertion failure.

This patch tries to make sure that the volume of not-yet-linked sinks
is never changed. pa_sink_put() will set the sink volume correctly, so
it's fine to skip the not-yet-linked sinks during pa_sink_input_put().

BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=102549
7 years agobluetooth: Fix build warnings 76/149176/1 accepted/tizen/unified/20170914.230148 submit/tizen/20170912.051952 submit/tizen/20170914.073859
DoHyun Pyun [Tue, 12 Sep 2017 00:58:55 +0000 (09:58 +0900)]
bluetooth: Fix build warnings

Change-Id: I0411938d904f64b6e7bd7a13a044b1d553ad9251
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
7 years agoupdate NEWS v11.0
Tanu Kaskinen [Tue, 5 Sep 2017 09:10:29 +0000 (12:10 +0300)]
update NEWS

7 years agobluez5-device: lower sink/source priority for Audio gateway or a2dp source
Georg Chini [Sat, 2 Sep 2017 19:46:04 +0000 (21:46 +0200)]
bluez5-device: lower sink/source priority for Audio gateway or a2dp source

When a phone is connected via bluetooth and switches to HFP, the sinks
and sources will have higher priority than the built-in devices.
Therefore they are chosen as default and module-bluetooth-policy will
incorrectly insert loopback modules that loop the phone back to itself.

This patch fixes the problem by lowering the priority of sink and source
if PulseAudio is in the headset role. The priority is also lowered if the
device is an a2dp source. In both cases it does not make sense to make the
source or sink default unless there is no other sound device available.

7 years agocore: ignore devices that are not linked when choosing the default sink or source
Tanu Kaskinen [Wed, 30 Aug 2017 18:51:15 +0000 (21:51 +0300)]
core: ignore devices that are not linked when choosing the default sink or source

Sources should probably be added to pa_core.sources in pa_source_put(),
but currently they're added in pa_source_new(). A lot of stuff can
happen between the pa_source_new() and pa_source_put() calls, and
it has happened that the default source was updated during this time.
Therefore, pa_core_update_default_source() needs to take it into account
that not every source is necessarily linked.

7 years agoi18n: add a Norwegian Nynorsk translation
Karl Ove Hufthammer [Thu, 17 Aug 2017 11:15:09 +0000 (14:15 +0300)]
i18n: add a Norwegian Nynorsk translation

7 years agotunnel-{sink, source}-new: Fix assertion when used with loopback or combine-sink
Georg Chini [Sat, 12 Aug 2017 20:29:26 +0000 (22:29 +0200)]
tunnel-{sink, source}-new: Fix assertion when used with loopback or combine-sink

Currently pulseaudio crashes with an assertion in pa_rtpoll_item_new_asyncmsgq_read()
or pa_rtpoll_item_new_asyncmsgq_write() if a loopback is applied to a tunnel-new
sink or source, because tunnel-{sink,source}-new do not set thread_info.rtpoll.
The same applies to module-combine-sink and module-rtp-recv.

This patch is not a complete fix for the problem but provides a temporary band-aid
by initializing thread_info.rtpoll properly. The rtpoll created is never run, but
loopback and combine-sink nevertheless work, see comments in the code.

This patch does not work for module-rtp-recv, but using rtp-recv with a remote
sink does not seem to make a lot of sense anyway.

link: https://bugs.freedesktop.org/show_bug.cgi?id=73429
7 years agoi18n: update the Lithuanian translation
Moo [Tue, 15 Aug 2017 05:41:59 +0000 (08:41 +0300)]
i18n: update the Lithuanian translation

7 years agoUpdate rw upgrade script 95/143595/1
Seungbae Shin [Thu, 10 Aug 2017 11:41:14 +0000 (20:41 +0900)]
Update rw upgrade script

[Version] 5.0-124
[Issue Type] RW Upgrade

Change-Id: Id6eb863a90e39f4777cf499baf27aec58247bdc6

7 years agofixup! Apply ASLR 97/143297/1 accepted/tizen/4.0/unified/20170828.221808 accepted/tizen/unified/20170809.135531 submit/tizen/20170809.082250 submit/tizen_4.0/20170828.100007
Seungbae Shin [Wed, 9 Aug 2017 08:17:33 +0000 (17:17 +0900)]
fixup! Apply ASLR

[Version] 5.0-123
[Issue Type] Cleanup

Change-Id: I8ba3dffc37314c5a2015422476a91c5223baa608

7 years agoconf-parser: provide a replacement for scandir on Win32
Vadim Troshchinskiy [Fri, 4 Aug 2017 13:05:31 +0000 (15:05 +0200)]
conf-parser: provide a replacement for scandir on Win32

PA builds fine on MinGW except for the use of the scandir function in
pulsecore/conf-parser.c, so I provided a Win32 implementation. With this
patch the latest code builds on Win32 without problems.

7 years agoecho-cancel: don't set latency range if the device doesn't support dynamic latency
Tanu Kaskinen [Thu, 3 Aug 2017 07:38:01 +0000 (10:38 +0300)]
echo-cancel: don't set latency range if the device doesn't support dynamic latency

pa_sink/source_set_latency_range() has an assertion that is triggered
when setting the latency range on a fixed latency device.

BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=102020
7 years agoInstall LGPL licenes instead of GPL for util package 33/142233/1
Seungbae Shin [Thu, 3 Aug 2017 06:33:05 +0000 (15:33 +0900)]
Install LGPL licenes instead of GPL for util package

(only python script(qpaeq) is GPL licensed but not installed)

[Version] 5.0-122
[Issue Type] Cleanup

Change-Id: I12b0f752fe2be2bb115991ee2ee99deee8a3b427

7 years agoFix 'set but not used' build warning 27/141327/2 accepted/tizen/4.0/unified/20170816.010257 accepted/tizen/unified/20170801.054919 submit/tizen/20170731.062712 submit/tizen_4.0/20170811.094300
Seungbae Shin [Mon, 31 Jul 2017 03:56:48 +0000 (12:56 +0900)]
Fix 'set but not used' build warning

[Version] 5.0.121
[Issue Type] Cleanup

Change-Id: Ia9ddcc066f55c9015f5955e4002da2a1bb779968

7 years agosconv: Cleanup ARM NEON code 08/141308/1
Peter Meerwald [Wed, 16 Apr 2014 16:20:16 +0000 (18:20 +0200)]
sconv: Cleanup ARM NEON code

Fix compiler warning, code formatting

Change-Id: I480591aedc6ae265ac0f1a8a8b8c58483da976f3
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Seungbae Shin <seungbae.shin@samsung.com>
7 years agomodules: Fix compiler warning comparing 0 with bool 07/141307/1
Peter Meerwald [Wed, 13 Jan 2016 22:52:11 +0000 (23:52 +0100)]
modules: Fix compiler warning comparing 0 with bool

modules/module-stream-restore.c: In function 'clean_up_db':
modules/module-stream-restore.c:2344:74: warning: comparison of constant '0' with boolean expression is always true [-Wbool-compare]
         pa_assert_se(entry_write(u, item->entry_name, item->entry, true) >= 0);

reported by Ubuntu gcc-6

Change-Id: Iac596a9bbf341040adc9b8012f6ea916f4787461
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Seungbae Shin <seungbae.shin@samsung.com>
7 years agocore: Work around -Wlogical-not-parentheses warnings 05/141305/1
Peter Meerwald [Tue, 26 May 2015 21:35:10 +0000 (23:35 +0200)]
core: Work around -Wlogical-not-parentheses warnings

pulsecore/sink.c: In function 'pa_sink_put':
pulsecore/sink.c:648:53: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
     pa_assert(!(s->flags & PA_SINK_DYNAMIC_LATENCY) == (s->thread_info.fixed_latency != 0));
                                                     ^

pulsecore/source.c: In function 'pa_source_put':
pulsecore/source.c:599:55: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
     pa_assert(!(s->flags & PA_SOURCE_DYNAMIC_LATENCY) == (s->thread_info.fixed_latency != 0));
                                                       ^
rewrite expression to suppress warning:
!(x & MASK) == (y != 0)
<->
!(x & MASK) == !(y == 0)

Change-Id: Iba926986cc16d17f0d74e7ca58d987592dfa7ed7
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Seungbae Shin <seungbae.shin@samsung.com>
7 years agopacat: fix a memory issue
Denis Shulyaka [Sun, 30 Jul 2017 20:40:19 +0000 (23:40 +0300)]
pacat: fix a memory issue

If only part of the buffer is written into stdout by stdout_callback,
the buffer_index variable is increased by the number of written bytes,
buffer_length variable is decreased while the allocated buffer size
remains the same. That suggests that the current allocated size is
calculated as (buffer_index + buffer_length). However the current
stream_read_callback implementation writes new data to the start of the
buffer and allocates too little space, so that (buffer + buffer_index +
buffer_length - 1) could actully point outside of the allocated buffer.

7 years agoi18n: update Polish translation
Piotr Drąg [Tue, 25 Jul 2017 15:26:06 +0000 (17:26 +0200)]
i18n: update Polish translation

https://bugs.freedesktop.org/show_bug.cgi?id=101918

7 years agobuild-sys: add coverity/model.c to the tarball v10.99.1
Tanu Kaskinen [Mon, 24 Jul 2017 23:27:31 +0000 (02:27 +0300)]
build-sys: add coverity/model.c to the tarball

7 years agobuild-sys: bump sonames
Tanu Kaskinen [Mon, 24 Jul 2017 22:47:58 +0000 (01:47 +0300)]
build-sys: bump sonames

7 years agosimple: fix negative latency handling
Tanu Kaskinen [Tue, 11 Jul 2017 18:21:43 +0000 (21:21 +0300)]
simple: fix negative latency handling

pa_usec_t is an unsigned type, but there were calculations that used it
as if it were a signed type.

If the latency is negative, pa_simple_get_latency() now reports 0.

Added some comments too.

7 years agosimple: Change latency estimation to account for already-read data in pa_simple_get_l...
Ted Ying [Thu, 1 Jun 2017 22:00:20 +0000 (18:00 -0400)]
simple: Change latency estimation to account for already-read data in pa_simple_get_latency().

BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=81075
7 years agolog: Do not print thread name in case of dlog 76/139776/1 accepted/tizen/unified/20170724.020311 submit/tizen/20170721.075214
Sangchul Lee [Thu, 20 Jul 2017 08:57:47 +0000 (17:57 +0900)]
log: Do not print thread name in case of dlog

[Version] 5.0.120
[Issue Type] Logs

Change-Id: Iab60d9dbc98a82cd2163689745ee4b48e0212f42
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
7 years agoprotocol-native: fix bytes-to-usec conversion of "on-the-fly" data
Tanu Kaskinen [Tue, 11 Jul 2017 18:16:17 +0000 (21:16 +0300)]
protocol-native: fix bytes-to-usec conversion of "on-the-fly" data

The on_the_fly_snapshot variable contains the amount of bytes that has
been sent from the source IO thread to the main thread, but not yet
pushed to the stream memblockq. The data is in the stream format, but
the bytes-to-usec conversion used the source format, which caused random
latency reporting errors.

BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=81075
7 years agocore: change configured_default_sink/source type to string
Tanu Kaskinen [Thu, 29 Jun 2017 21:09:34 +0000 (00:09 +0300)]
core: change configured_default_sink/source type to string

This allows us to restore the default device properly when a
hotpluggable device (e.g. a USB sound card) is set as the default, but
unplugged temporarily. Previously we would forget that the unplugged
device was ever set as the default, because we had to set
configured_default_sink to NULL to avoid having a stale pa_sink pointer,
and also because module-default-device-restore couldn't resolve the name
of a currently-unplugged device to a pa_sink pointer.

BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=89934
7 years agofix dbus message leaks
Tanu Kaskinen [Mon, 3 Jul 2017 14:35:08 +0000 (17:35 +0300)]
fix dbus message leaks

I reviewed all places that call
dbus_connection_send_with_reply_and_block(), and found several places
where dbus messages aren't properly unreffed.