Seungbae Shin [Wed, 29 Jul 2020 08:57:19 +0000 (17:57 +0900)]
thread-posix: retry thread joining if failed
print some logs related to threaded-mainloop
[Version] 13.0-10
[Issue Type] Debugging
Change-Id: Iaf415b422b8857ad5b84ee398da6d1535e468232
Seungbae Shin [Fri, 24 Jul 2020 10:41:49 +0000 (19:41 +0900)]
module-loopback: rollback calculation of requested buffer latency due to bluetooth sync issue
[Version] 13.0-9
[Issue Type] audio sync
Change-Id: Ic4e7c4cba0fa31f41c33c1c3fc4870de28665f8e
Wootak Jung [Tue, 30 Jun 2020 06:22:47 +0000 (15:22 +0900)]
bluez5-util: Add DelayReporting flag on endpoint registration
Change-Id: I1234032fd03a70913bdc5d81a9a9a770580fcc8f
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Jaechul Lee [Fri, 22 May 2020 04:39:10 +0000 (13:39 +0900)]
sound-file-stream: Fix pulseaudio crash when invalid samples are pushed
memblockq only allows to push aligned data but a invalid file that has
not aligned samples was played though wav-player.
pulseaudio was crashed in pa_memblockq_push function.
pa_assert(uchunk->length % bq->base == 0);
[Version] 13.0-8
[Issue Type] Bugs (TFDF-10411)
Change-Id: I9f117bb3402ef94b46e4b77e7d188f1722f23114
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
Jaechul Lee [Fri, 15 May 2020 04:46:10 +0000 (13:46 +0900)]
alsa-sink: Adds handling EAGAIN in try_recover
snd_pcm_avail returns a negative value sometimes. It depends on H/W. So,
trying to recover function was added and print out the state of the
buffer.
[Version] 13.0.7
[Issue Type] TSIX-3385
Change-Id: Ia5f97261d6216e2a64e40d0432e03c5c816ba022
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
jaechul lee [Mon, 11 May 2020 04:51:40 +0000 (04:51 +0000)]
Merge "Allow tone-player interface" into tizen
jaechul lee [Mon, 11 May 2020 04:20:46 +0000 (04:20 +0000)]
Merge "pactl: Adds set-pcm-dump command" into tizen
Jaechul Lee [Wed, 22 Apr 2020 03:46:16 +0000 (12:46 +0900)]
Allow tone-player interface
[Version] 13.0-6
[Issue Type] None
Change-Id: I6fbf3a2a78cf5ac3773c39fa5670d6ed49372a1b
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
Jaechul Lee [Mon, 27 Apr 2020 03:47:51 +0000 (12:47 +0900)]
Fix build warning
[Version] 13.0.4
[Issue Type] Bug
Change-Id: Ib64feeaf9debec9abec70a1358983d9d7946cf90
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
Jaechul Lee [Thu, 23 Apr 2020 08:08:00 +0000 (17:08 +0900)]
pactl: Adds set-pcm-dump command
This commit is from
d2f6895a1. Unused functions such as
pcm_dump_option and defines regarding gstreamer have been removed.
[Version] 13.0-5
[Issue Type] None
Change-Id: I9d1be1ab5e38e4f7b21b6d99687bf66d8f50f896
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
Daniil Kovalev [Sat, 2 Nov 2019 18:43:51 +0000 (21:43 +0300)]
Fix memory leak in context_free
In commit
f727cd9a `int error` member in `struct pa_context` was changed
to `pa_context_error *error`. The memory that is allocated with
`pa_xnew0` in src/pulse/context.c:142 is never freed, and it causes
a leak of 4 bytes. The leak can be easily detected with leak-sanitizer.
[jcsing.lee: backport mainline commit
5fdde3fa8 for fixing memory leak]
Change-Id: I08bd62a2b390a7e9025186b6eb00c0c0dfc87bb2
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
sanghyeok.oh [Tue, 7 Apr 2020 07:17:38 +0000 (16:17 +0900)]
Allow signal to pulseaudio
Signal from callmgrd to pulseaudio has denied.
Feb 17 13:38:47 localhost dbus[333]: [system] Rejected send message, 2 matched rules; type="signal", sender=":1.40" (uid=601 pid=549 comm="/usr/bin/callmgrd ") interface="org.tizen.AudioClient1" member="ClientSubscribed" error name="(unset)" requested_reply="0" destination="org.freedesktop.DBus" privilege="(n/a)" (uid=122 pid=453 comm="/usr/bin/pulseaudio ") rule(<deny send_destination="org.pulseaudio.Server" />)
Feb 17 13:39:46 localhost dbus[333]: [system] Rejected send message, 2 matched rules; type="signal", sender=":1.79" (uid=5001 pid=1360 comm="/usr/apps/org.tizen.multi-assistant-service/bin/or") interface="org.tizen.AudioClient1" member="ClientSubscribed" error name="(unset)" requested_reply="0" destination="org.freedesktop.DBus" privilege="(n/a)" (uid=122 pid=453 comm="/usr/bin/pulseaudio ") rule(<deny send_destination="org.pulseaudio.Server" />)
Change-Id: I0ea45a53f64212044ab772e09bc3a59456470708
Jaechul Lee [Thu, 26 Mar 2020 07:54:58 +0000 (16:54 +0900)]
pulsecore: Adds pa_play_file_repeat function
[Version] 13.0-4
[Issue Type] None
Change-Id: I704a7aa9e8fd871f47af3988b8c2997ed293692f
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
Sangchul Lee [Mon, 9 Mar 2020 03:33:22 +0000 (12:33 +0900)]
card-restore: Fix memory leak
[Version] 13.0-3
[Issue Type] Coverity defect
Change-Id: If6a5f8a7acedc0b6be5acf9ce270f8757ab6529c
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 9 Mar 2020 03:11:05 +0000 (12:11 +0900)]
null-sink: Fix memory leak in pa__init()
[Version] 13.0-2
[Issue Type] Coverity
Change-Id: I4e831abe1000b8428a1256bc72c81d7136e02726
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 7 Feb 2020 02:57:20 +0000 (11:57 +0900)]
Merge branch 'upstream/13.0' into tizen
[Version] 13.0-1
[Issue Type] Upgrade
Change-Id: I252236dc28ad2be6fa4cb7f44fd942aeb83f5396
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Jeongmo Yang [Wed, 29 Jan 2020 01:58:46 +0000 (10:58 +0900)]
mix: Update logic to set ramp finished flag
- The ramp finished flag could not be set as TRUE although "left" is reached to 0.
[Version] 11.1-81
[Profile] Common
[Issue Type] Update
Change-Id: I8ac34723379b42e41d12b9f685395bb0c7af6bba
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
Seungbae Shin [Fri, 1 Nov 2019 01:44:40 +0000 (10:44 +0900)]
sink-input: fix to add ducking silence block with correct sample spec
[Version] 11.1-80
[Issue Type] Bug fix
Change-Id: I2dc445abdd121178d4890089b0a63520dba6f271
Tanu Kaskinen [Fri, 13 Sep 2019 13:18:43 +0000 (16:18 +0300)]
build-sys: Add missing files to release tarballs
Tanu Kaskinen [Fri, 13 Sep 2019 12:48:51 +0000 (15:48 +0300)]
update NEWS
Danny O'Brien [Mon, 2 Sep 2019 07:06:49 +0000 (00:06 -0700)]
man: Add description of pactl special names.
Arun Raghavan [Mon, 2 Sep 2019 04:29:29 +0000 (09:59 +0530)]
build-sys: Fix documentation of version info
The comment has been incorrect for a while now. Thanks to Jan Steffens
for pointing this out.
Moo [Sun, 1 Sep 2019 13:16:20 +0000 (13:16 +0000)]
l10n: Update lt.po
Arun Raghavan [Sun, 1 Sep 2019 07:35:10 +0000 (13:05 +0530)]
build-sys: Bump version info for libpulse
Minor implementation change since last release (we now load X11
properties only for SSH connections).
Rafael Fontenelle [Fri, 30 Aug 2019 13:12:24 +0000 (13:12 +0000)]
po: Update Brazilian Portuguese translation
Nicolas Fella [Fri, 30 Aug 2019 11:07:52 +0000 (11:07 +0000)]
daemon: Drop KDE-specific loading of module-device-manager
Newer versions of Plasma no longer use this module, and the consensus
seems to be that module-switch-on-connect works better for most cases.
Fixes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/509
Carlos Garnacho [Sat, 22 Jun 2019 12:33:59 +0000 (14:33 +0200)]
client-conf: Avoid loading X11 properties unless SSH_CONNECTION is set
Reading properties from the X11 root window is meant to provide 1:1 results
with reading the configuration directly in the local case. This configuration
is essentially different only in remote cases.
Add an extra check for the SSH_CONNECTION envvar, so we don't even need
opening a X11 display connection for IPC in the most usual case.
Russell Treleaven [Mon, 19 Aug 2019 10:54:06 +0000 (10:54 +0000)]
gitlab: white space change to Bug.md
Add a second whitespace at the end of the line to force a newline in the
output.
David Emett [Sat, 27 Jul 2019 21:24:42 +0000 (22:24 +0100)]
dbus: fix ActiveProfile setting
Just like with handle_set_active_port, we need to look up the profile
corresponding to the provided path rather than doing a name comparison.
Fixes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/709
Pali Rohár [Tue, 27 Aug 2019 03:11:27 +0000 (08:41 +0530)]
bluetooth: Only perform write-related calculations when we have a sink
This avoids a potential divide-by-zero when we try to decide how much to
write to the sink in the source thread when there is no sink.
Fixes https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/717
Arun Raghavan [Thu, 22 Aug 2019 13:23:13 +0000 (18:53 +0530)]
build-sys: meson: Process subdirectories before generating configuration
Subdirectories add to the top-level cdata (specifically, the SIMD
detection happens in the pulsecore meson.build), so we were missing
HAVE_MMX/SSE2/NEON defines without this fix.
Arun Raghavan [Thu, 22 Aug 2019 12:28:20 +0000 (17:58 +0530)]
build-sys: meson: Fixes for some ARM compiler checks
Yuri Chornoivan [Mon, 19 Aug 2019 08:35:06 +0000 (08:35 +0000)]
po: update Ukrainian translation
Russell Treleaven [Sun, 18 Aug 2019 20:48:23 +0000 (20:48 +0000)]
Update Bug.md to encourage users to attach pa-info output to bug reports
Arun Raghavan [Sat, 17 Aug 2019 10:42:37 +0000 (16:12 +0530)]
build-sys: meson: Give ourselves a little more timeout headroom
We're seeing CI failures due to once-test sometimes taking long. Let's
give ourselves a little more space per test (2 min -> 5 min) to avoid
this.
RODRIGUEZ Christophe [Sat, 17 Aug 2019 10:43:20 +0000 (10:43 +0000)]
raop: Fix infinite loop in raop-sink with UDP mode
There are potentially unresolved issues around the EAGAIN logic, but
this should prevent an infinite loop and log flood in the mean time.
Fixes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/695
Arun Raghavan [Thu, 15 Aug 2019 10:19:30 +0000 (15:49 +0530)]
build-sys: meson: Add a bunch of missing checks
Arun Raghavan [Thu, 15 Aug 2019 10:00:41 +0000 (15:30 +0530)]
build-sys: meson: Add mkfifo checks for module-pipe-*
Arun Raghavan [Thu, 15 Aug 2019 10:00:26 +0000 (15:30 +0530)]
build-sys: meson: Add some missing declaration checks
Arun Raghavan [Thu, 15 Aug 2019 10:00:00 +0000 (15:30 +0530)]
build-sys: meson: Add a check for fast 64-bit operations
Arun Raghavan [Thu, 15 Aug 2019 07:38:14 +0000 (13:08 +0530)]
build-sys: meson: Add ARMv6 instruction check
Arun Raghavan [Thu, 15 Aug 2019 07:37:54 +0000 (13:07 +0530)]
build-sys: meson: Add atomic ops related checks
Lucas Stach [Tue, 13 Aug 2019 15:27:37 +0000 (17:27 +0200)]
meson: add stdint.h to checked headers
Without this check we won't ever define HAVE_STDINT_H, which isn't used
in pulse directly, but is needed by e.g. the speex headers to work
correctly.
Lucas Stach [Tue, 13 Aug 2019 15:08:13 +0000 (17:08 +0200)]
meson: allow to build bluez support without libbluetooth
pulseaudio does not link against libbluetooth, as it's only talking to the
bluez daemon over dbus. So the build dependency on libbluetooth is overly
restrictive, as some embedded systems choose to ship without libbluetooth
but still have bluez daemon support.
This syncs the meson to the autotools configuration behavior by changing
the bluez option to a default on boolean.
Lucas Stach [Tue, 13 Aug 2019 14:01:01 +0000 (16:01 +0200)]
meson: fix build files list when building with NEON
Sync the meson NEON build files list with the autotools build
sources list. Fixes "ERROR: File svolume_neon.c does not exist."
Jan Alexander Steffens (heftig) [Tue, 13 Aug 2019 19:47:23 +0000 (21:47 +0200)]
build-sys: meson: Fix 2 cases of joining paths w/o join_paths
Fixes https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/712
Tanu Kaskinen [Tue, 13 Aug 2019 13:49:31 +0000 (16:49 +0300)]
bootstrap.sh: don't set sysconfdir and localstatedir configure options
I don't know why these options were being passed to configure
(--sysconfdir has been there from the very beginning, --localstatedir
got added when the system mode was added). Overwriting system files by
default is not good, so let's not set these options.
Jan Alexander Steffens (heftig) [Thu, 8 Aug 2019 18:23:12 +0000 (20:23 +0200)]
build-sys: meson: Add some missing checks
- Header and function checks from configure.ac
(some libc, some libpthread, dladdr from libdl)
- Find iconv and check constness
Russell Treleaven [Thu, 8 Aug 2019 16:30:05 +0000 (12:30 -0400)]
add script to collect information for bug reports
Milo Casagrande [Wed, 7 Aug 2019 07:53:37 +0000 (09:53 +0200)]
l10n: Update Italian translation
* Fixed typo.
* Fixed use of double quotes.
Signed-off-by: Milo Casagrande <milo@milo.name>
Arun Raghavan [Tue, 6 Aug 2019 16:25:44 +0000 (21:55 +0530)]
build-sys: autotools: Add meson build files to EXTRA_DIST
As we currently still generate our tarballs using autotools, let's make
sure the meson build system is distributed with the tarball.
Arun Raghavan [Mon, 5 Aug 2019 08:49:27 +0000 (14:19 +0530)]
build-sys: Move svolume-*.c to libpulsecore
The various software volume implementations were being built as part of
libpulsecommon for some reason. These should only ever be used in the
daemon, so they should be in libpulsecore.
Arun Raghavan [Mon, 5 Aug 2019 08:39:44 +0000 (14:09 +0530)]
build-sys: meson: Fix minor typo in orc build
Arun Raghavan [Mon, 5 Aug 2019 05:09:49 +0000 (10:39 +0530)]
build-sys: meson: Add symbol versioning as in autotools
Adds the -version-script linker argument that we use with autotools to
version symbols in our public API.
Arun Raghavan [Mon, 5 Aug 2019 05:00:50 +0000 (10:30 +0530)]
build-sys: meson: Fix some defines for default.pa generation
Removes a warning from HAVE_GCONF not being set, and fixes generation of
a large section that depends on OS_IS_WIN32 being explicitly set to 0.
We can't set OS_IS_WIN32 to 0 by default since a bunch of code uses it
via an ifdef rather than by value.
Arun Raghavan [Fri, 2 Aug 2019 21:11:55 +0000 (02:41 +0530)]
build-sys: meson: Correctly set up RPATH
This was being done automatically by autotools, now we need to manually
specify this for each executable/library with a dependency in a
non-standard directory.
Arun Raghavan [Fri, 2 Aug 2019 20:22:09 +0000 (01:52 +0530)]
build-sys: meson: Add -Wl,no-delete to relevant libraries
This mirrors the autotools option for all server-side dynamic libraries.
Sangchul Lee [Wed, 31 Jul 2019 02:48:32 +0000 (11:48 +0900)]
stream-interaction: Fix crash when moving a ducked sink-input
The operation of a ducked stream in sink_input_move_start_cb()
should differ from sink_input_unlink_cb().
[Version] 11.1-79
[Issue Type] Bug fix
Change-Id: I698f3ca232b7151aaae021572a559d54bc3209bf
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 30 Jul 2019 01:22:28 +0000 (10:22 +0900)]
role-ducking, role-cork, stream-interaction: Fetch and apply upstream codes
- stream-interaction: Support for triggering ducking/cork by source-output
: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/commit/
0f4f109a3c1035ef3d8321ff836f83b3b6157326
- stream-interaction: Use PA_IDXSET_FOREACH macro to iterate idxset
: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/commit/
5540f728e52e9c369079e3ac83b8bc55e3519079
- role-ducking, role-cork: Add use_source_trigger argument
: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/commit/
65cc86f609525a89b740de6b366e35277763e32c
[Version] 11.1-78
[Issue Type] Upstream patch
Change-Id: I9b707e873a6fd1c50ee8fb47f82f09b8a092cd7f
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Jordi Mas [Sun, 28 Jul 2019 10:17:39 +0000 (10:17 +0000)]
Fixes to Catalan translation
Jan Alexander Steffens (heftig) [Wed, 10 Jul 2019 23:32:57 +0000 (01:32 +0200)]
meson: Fix installation of headers
To match Autotools:
- internal.h should not be installed
- Install simple.h and version.h
Jan Alexander Steffens (heftig) [Wed, 10 Jul 2019 23:25:38 +0000 (01:25 +0200)]
meson: Fix library versioning to match Autotools
For ease of maintaining both build systems, use the same version info
sequences as configure.ac. This should be simplified after Autotools has
been dropped.
Jan Alexander Steffens (heftig) [Wed, 10 Jul 2019 22:52:50 +0000 (00:52 +0200)]
meson: Fix build of padsp
- Rename "pulsedspdir" to the same "padsplibdir" that Autotools uses.
- Add a new option "pulsedsp-location" that is only used for padsp.in,
just like Autotools' --with-pulsedsp-location.
- Use 'set' instead of 'set_quoted' to avoid PULSEDSP_LOCATION getting
quoted twice.
Pali Rohár [Sun, 21 Jul 2019 15:07:02 +0000 (17:07 +0200)]
bluetooth: Fix usage of RTP structures in SBC codec
Rename struct rtp_payload to rtp_sbc_payload as it is specific for SBC
codec payload.
Add proper checks for endianity in rtp.h header and use uint8_t type
where appropriated.
Field frame_count is only 4 bit number, so add checks to prevent overflow.
And because is_fragmented field is not parsed by decoder there is no
support for decoding fragmented SBC frames. So throw an error in this case.
Pali Rohár [Sun, 21 Jul 2019 15:07:01 +0000 (17:07 +0200)]
bluetooth: Change A2DP codec API of reset() method to indicate failure
SBC codec reset() method may fail, so propagate this failure to caller.
Pali Rohár [Sun, 21 Jul 2019 15:07:00 +0000 (17:07 +0200)]
bluetooth: Fix usage of MTU, buffer sizes and return values of encode/decode methods
Add explanation why minimal bitpool value is used in SBC codec as initial
bitpool value for A2DP source.
Set buffer size for reading/writing from/to A2DP socket to exact link MTU
value. This would ensure that A2DP codec does not produce larger packet as
maximal possible size which can be sent.
Because A2DP socket is of SOCK_SEQPACKET type, it is guaranteed that
we do not read two packets via one read/recvmsg call.
Properly check for all return values of encode/encode methods of A2DP codec
functions. They may fail at different levels. Also encode or decode API
method may return zero length buffer (e.g. because of algorithmic delay of
codec), so do not fail in this case.
Seungbae Shin [Fri, 14 Jun 2019 03:36:52 +0000 (12:36 +0900)]
Migrate OpenSSL 1.0.2 to OpenSSL 1.1.1
https://bugs.tizen.org/browse/TC-2600
[Version] 11.1-77
[Issue type] Migration
Change-Id: I01479d0d92cb72e5a2441097d07b6f59cb024788
Arun Raghavan [Tue, 19 Feb 2019 03:57:02 +0000 (09:27 +0530)]
source: Fix a bad condition that made source events not be emitted
This broke during a refactor of sink/source state-change.
https://cgit.freedesktop.org/pulseaudio/pulseaudio/commit/?id=
db788229c66369a7b1283173183662b7f5e6c742
[Version] 11.1-76
[Profile] Common
[Issue Type] Upstream patch
Change-Id: I670281dcb94aa7d2bcc24b05cd44b99fa7ffc376
Georg Chini [Sun, 21 Jul 2019 13:07:18 +0000 (15:07 +0200)]
Commit
fd9e3452 removed -ffast-math from the compile flags. Under some
conditions this may lead to massive slowdown of floating point operations
when underflows or denormals are encountered. In particular, this problem
was observed with the soxr resampler after applying
https://gitlab.freedesktop.org/pulseaudio/pulseaudio/merge_requests/120
Therefore this patch adds -ffast-math to the link flags of the pulseaudio
daemon. Linking with -ffast-math adds a procedure set_fast_math() to the
startup code of the daemon. On x86, the procedure sets bit 6 and 15 of the
mxcsr register. When these bits are set, denormals and results of
underflowing operations are truncated to 0.
Piotr Drąg [Sat, 20 Jul 2019 12:13:29 +0000 (14:13 +0200)]
i18n: update Polish translation
S Page [Tue, 16 Jul 2019 06:23:50 +0000 (06:23 +0000)]
pasuspender: explain program argument in help
Fixes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/706
Arun Raghavan [Thu, 11 Jul 2019 05:27:31 +0000 (10:57 +0530)]
svolume: Mark channel parameter as earlyclobber
For all our MMX/SSE code, we use a temporary channel variable, assigned
to the DI register, which is zero'ed as the very first operation in the
inline assembly code, before any other code is run.
With GCC 9.1, while using -O2, the DI register is also used for the
input operand. This is perfectly legal, but causes our code to become
incorrect because the output operand that is assigned to DI is not
explicitly marked as being clobbered before inputs are read.
This change fixes the problem by adding an earlyclobber annotation (&)
to the DI output argument.
Kaleb Ercanbrack [Thu, 11 Jul 2019 14:09:58 +0000 (14:09 +0000)]
alsa-mixer: Add a missing USB product ID for SteelSeries Arctis 7
Jan Alexander Steffens (heftig) [Wed, 10 Jul 2019 23:41:55 +0000 (01:41 +0200)]
build-sys: Install cmedia-high-speed-true-hdaudio.conf
This profile set was missing from the installation.
Jeongmo Yang [Thu, 11 Jul 2019 06:16:37 +0000 (15:16 +0900)]
Add to check privilege in case of ActivateDucking DBus method
[Version] 11.1.75
[Profile] Common
[Issue Type] New feature
Change-Id: Ie52a6745dd399251188ad506f0659dc5d526449a
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
Arun Raghavan [Thu, 11 Jul 2019 02:24:13 +0000 (07:54 +0530)]
build-sys: meson: Disable coverage by default
Sangchul Lee [Mon, 8 Jul 2019 05:39:08 +0000 (14:39 +0900)]
proplist: Add PA_PROP_MEDIA_ROUTE_AUTO_PREFERRED_DEVICE_ROLE property
[Version] 11.1.74
[Issue type] New feature
Change-Id: I8aadbe1842fbc89ead5ced97457f2c75a93318c7
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Arun Raghavan [Mon, 1 Jul 2019 15:49:04 +0000 (21:19 +0530)]
build-sys: Fixes for i18n parts of the meson build
Sangchul Lee [Thu, 13 Jun 2019 02:31:19 +0000 (11:31 +0900)]
proplist: Add PA_PROP_DEVICE_ROLE property
[Version] 11.1.73
[Issue type] New feature
Change-Id: I9c61e89aa86f3fa2cb95be6aad996e89cea098eb
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Arun Raghavan [Thu, 4 Jul 2019 08:49:33 +0000 (14:19 +0530)]
build-sys: Bump libpulse soversion
We've added new API and updated an enum. A bunch of function parameters
have been marked as const, but this probably shouldn't count as a change
anyway.
Arun Raghavan [Mon, 1 Jul 2019 01:52:55 +0000 (07:22 +0530)]
core-util: Fix detection when running in a VM
The original code that was written was trying to detect what hypervisor
we were running under, rather than testing the presence bit first. We
don't really need the former, so let's use the more comprehensive latter
instead.
Fixes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/684
Georg Chini [Wed, 3 Jul 2019 10:32:50 +0000 (12:32 +0200)]
sink-input: fix rewriting render memblockq when nothing should be rewound
If process_rewind() is called with nbytes = 0, process_rewind() will
nevertheless request a rewrite of the render memblockq.
This patch fixes the problem by adding the render memblockq length to the
rewrite amount only if nbytes > 0.
Georg Chini [Wed, 3 Jul 2019 10:32:16 +0000 (12:32 +0200)]
source-output: Fix rewinding bug
Currently the rewind logic for the source output is broken if the output
does not implement a process_rewind() callback. In that case, the read
index of the delay memblockq is rewound. This is wrong, because the data
that is going to be re-written was not yet read. Instead the write index
should be rewound and the read index left untouched. This is the reason
for the rewind glitches of monitor sources.
Frédéric Danis [Wed, 19 Jun 2019 09:09:11 +0000 (11:09 +0200)]
bluetooth: Fix crash when disabling Bluetooth adapter
This crash occurs when PA is connected to a phone through the oFono
backend.
When disabling the Bluetooth adapter, pa_bluetooth_device is removed before
hf_audio_card. Both keep refs on pa_bluetooth_transport. Those removal will
call pa_bluetooth_transport_free() from device_free() (bluez5-util.c) and
hf_audio_card_free() (backend-ofono.c).
In the end, the call to pa_bluetooth_transport_free() calls
pa_hasmap_remove() through pa_bluetooth_transport_unlink(), but since
memory has already been freed, the second try results in a segfault.
Triggering hf_audio_card removal during pa_bluetooth_device removal allows
hf_audio_card to be freed at the right time.
Frédéric Danis [Tue, 18 Jun 2019 08:15:15 +0000 (10:15 +0200)]
bluetooth: Fix crash in setup_stream()
setup_stream() crashes when calling set_nonblock() with an invalid
stream_fd.
On a new call, the ofono backend gets notified of a new connection.
The ofono backend sets the transport state to playing, and that triggers
a profile change, which sets up the stream for the first time.
Then module-bluetooth-policy sets up the loopbacks. The loopbacks get
fully initialized before the crash.
After module-bluetooth-policy has done its things, the execution
continues in the transport state change hook. The next hook user is
module-bluez5-device, whose handle_transport_state_change() function
gets called. It will then set up the stream again even though it's
already set up. I'm not sure if that's a some kind of a bug.
setup_stream() can handle the case where it's unnecessarily called,
though, so this second setup is not a big problem.
The crash happens, because the connection died due to POLLHUP in the IO
thread before the second setup_stream() call.
Alan Coopersmith [Thu, 27 Jun 2019 01:32:40 +0000 (18:32 -0700)]
core-util: Use /proc/fd on Solaris as well in pa_close_all
Gets rid of > 65,000 unnecessary close() syscalls
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Alan Coopersmith [Thu, 27 Jun 2019 00:31:14 +0000 (17:31 -0700)]
meson: check for sys/filio.h
Needed for FIONREAD on Solaris
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Alan Coopersmith [Thu, 27 Jun 2019 00:16:51 +0000 (17:16 -0700)]
meson: fix builds on platorms without libsystemd
Without this, meson on Solaris exits with:
src/daemon/meson.build:138:15: ERROR: Unknown variable "systemd_dep".
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Piotr Drąg [Sun, 30 Jun 2019 14:37:28 +0000 (16:37 +0200)]
i18n: update Polish translation
INSUN PYO [Mon, 24 Jun 2019 02:22:21 +0000 (11:22 +0900)]
Change the config value of the systemd service ("false" -> "no")
"no" and "false" have the same meaning, but the document has "no".
Also, since the parsing order is "no" first, there is some performance gain.
Change-Id: I21da095f13644e643a95ee74ef4630083a4571b4
muzena [Sun, 23 Jun 2019 12:26:22 +0000 (14:26 +0200)]
Update Croatian translation
Tanu Kaskinen [Sat, 8 Jun 2019 08:44:43 +0000 (11:44 +0300)]
main: Log more information when executing default.pa fails
"Failed to initialize daemon" is not as informative message as it could
be. This change was inspired by the discussion in this bug:
https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/597
Topi Miettinen [Wed, 10 Apr 2019 11:44:28 +0000 (14:44 +0300)]
daemon: Harden systemd service
Signed-off-by: Topi Miettinen <toiwoton@gmail.com>
Tanu Kaskinen [Sun, 16 Jun 2019 09:09:27 +0000 (12:09 +0300)]
a2dp-codec-sbc: get rid of compiler warnings
The warnings:
modules/bluetooth/a2dp-codec-sbc.c: In function ‘default_bitpool’:
modules/bluetooth/a2dp-codec-sbc.c:161:13: warning: this statement may fall through [-Wimplicit-fallthrough=]
switch (mode) {
^~~~~~
modules/bluetooth/a2dp-codec-sbc.c:169:9: note: here
case SBC_SAMPLING_FREQ_44100:
^~~~
modules/bluetooth/a2dp-codec-sbc.c:170:13: warning: this statement may fall through [-Wimplicit-fallthrough=]
switch (mode) {
^~~~~~
modules/bluetooth/a2dp-codec-sbc.c:180:9: note: here
case SBC_SAMPLING_FREQ_48000:
^~~~
These were valid warnings in that an invalid channel mode would result
in unintended fallthroughs, but the end result would anyway been a crash
in the pa_assert_not_reached() at the end of the function, so
functionally there's no change.
Tanu Kaskinen [Sat, 15 Jun 2019 08:14:33 +0000 (11:14 +0300)]
.gitignore: add atomic-test
Sangchul Lee [Tue, 11 Jun 2019 07:22:17 +0000 (16:22 +0900)]
sink-input: Skip rewinding if a ramp was set in case of SET_SOFT_VOLUME
This patch is to fix a noise issue in case of unducking with fade in.
[Version] 11.1.72
[Issue type] Bug fix
Change-Id: Id135b2cc4fac31c2213b9d4cd3eaa16b22d5a601
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Thomas Hutschenreuther [Wed, 29 May 2019 17:20:37 +0000 (19:20 +0200)]
atomic: fix load and store for armv7 and higher
The original atomic implementation in pulseaudio based on
libatomic stated that the intent was to use full memory barriers.
According to [1], the load and store implementation based on
gcc builtins matches sequential consistent (i.e. full memory barrier)
load and store ordering only for x86.
I observed random crashes in client applications using memfd srbchannel
transport on an armv8-aarch64 platform (cortex-a57).
In all those crashes the first read on the pstream descriptor
(the size field) was wrong and looked like it contained old data.
I boiled the relevant parts of the srbchannel implementation down to
a simple test case and could observe random test failures.
So I figured that the atomic implementation was broken for armv8
with respect to cross-cpu memory access ordering consistency.
In order to come up with a minimal fix, I used the newer
__atomic_load_n/__atomic_store_n builtins from gcc.
With
aarch64-linux-gnu-gcc (Linaro GCC 7.3-2018.05) 7.3.1
20180425
they compile to
ldar and stlxr on arm64, which is correct according to [1] and [2].
The other atomic operations based on __sync builtins don't need
to be touched since they already are of the full memory barrier
variety.
[1] https://www.cl.cam.ac.uk/~pes20/cpp/cpp0xmappings.html
[2] <https://community.arm.com/developer/ip-products/processors
/b/processors-ip-blog/posts/armv8-a-architecture-2016-additions>
Piotr Drąg [Mon, 10 Jun 2019 13:55:07 +0000 (15:55 +0200)]
i18n: update Polish translation
Tanu Kaskinen [Mon, 10 Jun 2019 11:18:47 +0000 (14:18 +0300)]
sink, source: Don't change suspend cause when unlinking
See the added comments for why this is necessary.
Fixes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/667
shdown [Sun, 9 Jun 2019 13:40:14 +0000 (13:40 +0000)]
mainloop: fix timeout assignment in pa_mainloop_prepare
The function calculates the correct timeout (in microseconds) to assign
in the `u` variable, but then assigns `m->prepared_timeout` the value
of the `timeout` argument (in milliseconds).