Commit graph

9489 commits

Author SHA1 Message Date
Vasilis Tsiligiannis
28347d0602 start-pulseaudio-x11: Make 'plasma' version check shell portable
Currently, the version check snippet uses a 'bash' extension which
arithemtically evaluates variables prior to expansion. This approach
does not nesseceraly work on other shells which may complain with
'5: Illegal numer' error. Expand the arithmetic expression before
evaluation to avoid such an error.

Signed-off-by: Vasilis Tsiligiannis <acinonyx@openwrt.gr>
2019-11-18 16:27:03 +02:00
David Heidelberg
4d9d458268 meson: convert to install_headers
Instead of install_data use correct install_headers

Signed-off-by: David Heidelberg <david@ixit.cz>
2019-11-14 21:11:01 +02:00
David Heidelberg
5231483432 meson: convert post-install.sh to python
Inspired by: 36a2e4f8a7 (0cc1139e3347f573ae1feee5b73dbc8a8a21fcfa_0_14)

Signed-off-by: David Heidelberg <david@ixit.cz>
2019-11-14 21:10:00 +02:00
Arun Raghavan
a17cc55c4c rtp: Add some logging to know what backend is being used
Should make debugging any issues that come up easier.
2019-11-08 17:39:40 +05:30
Sebastian Dröge
a34d2e547b rtp: Properly timestamp buffers in the GStreamer sender pipeline
Otherwise default timestamping will happen, which might not be correct,
especially not after the stream was suspended for a while.
2019-11-08 17:39:40 +05:30
Sebastian Dröge
72dbbcbc65 rtp: Use udpsink instead of fdsink for the GStreamer RTP implementation 2019-11-08 17:39:40 +05:30
Sebastian Dröge
7f6571e1cc rtp: Use yes/no in configure instead of 1/0 2019-11-08 17:39:40 +05:30
Arun Raghavan
74f8456acb rtp: Add a GStreamer-based RTP implementation
This adds a GStreamer-based RTP implementation to replace our own. The
original implementation is retained for cases where it is not possible
to include GStreamer as a dependency.

The idea with this is to be able to start supporting more advanced RTP
features such as RTCP, non-PCM audio, and potentially synchronised
playback.

Signed-off-by: Arun Raghavan <arun@arunraghavan.net>
2019-11-08 17:39:40 +05:30
Arun Raghavan
eb912d3605 rtpoll: Separate out before/after/work callback userdata
It is possible that we might want to have a separate userdata to be used
for these callbacks, so let's split them out.

This is particularly needed when using an pa_rtpoll_item around pa_fdsem
since that uses its own before/after callback but will essentially have
whatever is using the fdsem set up the work callback appropriately (and
thus at least the work callback's userdata needs to be separated from
the before/after callback -- we might as well then just separate all
three).

Signed-off-by: Arun Raghavan <arun@arunraghavan.net>
2019-11-08 17:39:03 +05:30
Arun Raghavan
d15291bbbb rtp: Hide RTP implementation details from module-rtp-*
This moves RTP implementation-specific information out of
module-rtp-send/recv. This is basically done by making the
pa_rtp_context structure opaque from the perspective of these modules.
We can then potentially replace the underlying RTP implementation with
something else transparently.

One RTP detail that does "leak" is the RTP timestamp. We provide this to
module-rtp-recv so that it can perform rate adjustments to match the
sender rate.

Signed-off-by: Arun Raghavan <arun@arunraghavan.net>
2019-11-08 17:39:03 +05:30
Arun Raghavan
0548cdc6d6 rtp: Move MTU handling to the RTP implementation
module-rtp-send itself doesn't really need to handle this, the
implementation can keep track (and make sure sending happens in MTU
sized chunks).

Signed-off-by: Arun Raghavan <arun@arunraghavan.net>
2019-11-08 17:39:03 +05:30
Arun Raghavan
02fa9d5fc6 rtp: Drop support for non-L16 media
There doesn't seem much value in supporting streaming U8/mulaw/alaw on
the network, and it's unlikely these get any testing. Makes more sense
to drop these formats and just convert to L16 if we're dealing with
source media in that format.

Signed-off-by: Arun Raghavan <arun@arunraghavan.net>
2019-11-08 17:39:03 +05:30
Arun Raghavan
7766f0e8d7 rtp: Don't use cookie for SSRC
Publishing the cookie on multicast seems to be a bad idea.

Signed-off-by: Arun Raghavan <arun@arunraghavan.net>
2019-11-08 17:39:03 +05:30
Arun Raghavan
a9a3f0874a rtp: Make init return a value for success/failure
This will be used in the future when writing other RTP implementations
that can fail on init.

Signed-off-by: Arun Raghavan <arun@arunraghavan.net>
2019-11-08 17:39:03 +05:30
Timo Gurr
7670dffe59 meson: allow to disable installing completions 2019-11-07 12:50:56 +00:00
Daniil Kovalev
5fdde3fa83 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.
2019-11-02 22:54:03 +03:00
Rickie Schroeder
470c210cdc start-pulseaudio-x11: fix KDE version check
Current check wasn't working in case when $DESKTOP_SESSION wasn't set
which happens when session is started without display manager like sddm.
Parsing "plasmashell -v" output should be more reliable and less hacky.

This also changes legacy backticks `...` to modern $(...) as recommended
by shellcheck:
https://github.com/koalaman/shellcheck/wiki/SC2006

Fixes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/751
2019-10-31 15:42:41 +02:00
ckdo
aee67ba806 rtp: Fix reverted test for INHIBIT_AUTO_SUSPEND_ONLY_WITH_NON_MONITOR_SOURCES
RTP Monitor sources were never suspended when
inhibit_auto_suspend=only_with_non_monitor_sources

Fixes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/735
2019-10-26 16:36:19 +03:00
Tanu Kaskinen
248a77c7fd alsa-mixer: recognize the "Speaker Jack" control
This control has been seen in the wild:
https://lists.freedesktop.org/archives/pulseaudio-discuss/2017-August/028595.html
(The pastebin link in that mail might not work anymore, but the paste
just shows that there's a Speaker Jack control).
2019-10-26 16:21:27 +03:00
Felipe Sateler
64b259c2c9 qpaeq: use python3 instead of python 2
The script was already compatible, so lets just switch interpreter
2019-10-25 08:39:03 -03:00
Felipe Sateler
f3609ee3d0 qpaeq: Drop unused imports
Neither sip nor PyQt5 are used. From PyQt5 we only use the named imports just below
2019-10-25 08:34:59 -03:00
Peter Levine
e4450d8b58 atomic: Explicitly cast void* to unsigned long 2019-09-26 15:05:53 +03:00
Rasmus Thomsen
bff163089c meson: link libintl if it's not provided by libc
This fixes the build on musl with external gettext
2019-09-25 04:42:03 +00:00
Tanu Kaskinen
d72a3a5eca null-sink: allow clients to configure the supported formats
The set_formats() callback is already implemented, so the only thing
missing was the SET_FORMATS flag.
2019-09-24 02:36:56 +00:00
ckdo
0d22558b47 raop: Fix non working tcp mode 2019-09-24 02:29:59 +00:00
Tanu Kaskinen
ba73faa4c0 daemon-conf: disable flat-volumes by default
Almost all distributions patch the configuration to disable
flat-volumes, because users tend to find the concept confusing (and it
also causes nasty surprises when some application pushes the volume to
100%). Let's remove the need for patching and disable the feature by
default.

Fixes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/691
2019-09-23 07:48:48 +03:00
Tanu Kaskinen
3dff31e19c alsa-mixer-path-test: Hide unused functions when building with Meson
Silences these warnings:

[509/574] Compiling C object 'src/tests/a4ccf2d@@alsa-mixer-path-test@exe/alsa-mixer-path-test.c.o'.
../src/tests/alsa-mixer-path-test.c:24:20: warning: ‘load_makefile’ defined but not used [-Wunused-function]
 static pa_strlist *load_makefile() {
                    ^~~~~~~~~~~~~
../src/tests/alsa-mixer-path-test.c:17:20: warning: ‘get_default_paths_dir’ defined but not used [-Wunused-function]
 static const char *get_default_paths_dir(void) {
                    ^~~~~~~~~~~~~~~~~~~~~
2019-09-20 17:10:57 +03:00
Tanu Kaskinen
da86c8af44 Update NEWS
The release notes, on which the NEWS file is based on, weren't complete
at the time of release. Now the notes should be complete.
2019-09-20 16:50:01 +03:00
Jan Alexander Steffens (heftig)
7e039c4ff7 meson: Define TUNNEL_SINK for module-tunnel-sink
This was missing, so it was building another tunnel-source instead.

Fixes https://bugs.archlinux.org/task/63755
2019-09-20 12:18:11 +00:00
Jan Alexander Steffens (heftig)
2619ddad57 autotools: Put module-tunnel-source X11_CFLAGS into CFLAGS instead of LDFLAGS
Seems this happened because the order of automake variables for modules
is not consistent.
2019-09-20 15:03:57 +03:00
Milo Casagrande
5c1d1a70b6 l10n: Update Italian translation
Signed-off-by: Milo Casagrande <milo@milo.name>
2019-09-19 09:58:16 +02:00
Tanu Kaskinen
200618b32f build-sys: Add missing files to release tarballs 2019-09-13 16:20:03 +03:00
Tanu Kaskinen
52dc0dadf6 update NEWS 2019-09-13 15:48:51 +03:00
Danny O'Brien
f508ad192e man: Add description of pactl special names. 2019-09-02 00:06:49 -07:00
Arun Raghavan
3fa0daee37 build-sys: Fix documentation of version info
The comment has been incorrect for a while now. Thanks to Jan Steffens
for pointing this out.
2019-09-02 04:31:53 +00:00
Moo
f68b180097 l10n: Update lt.po 2019-09-01 13:16:20 +00:00
Arun Raghavan
fb530e0f3b build-sys: Bump version info for libpulse
Minor implementation change since last release (we now load X11
properties only for SSH connections).
2019-09-01 13:05:10 +05:30
Rafael Fontenelle
56187cbf02 po: Update Brazilian Portuguese translation 2019-08-30 16:56:50 +00:00
Nicolas Fella
68f5bf86bc 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
2019-08-30 11:07:52 +00:00
Carlos Garnacho
79a8efb45c 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.
2019-08-27 08:27:16 +00:00
Russell Treleaven
b80b19e060 gitlab: white space change to Bug.md
Add a second whitespace at the end of the line to force a newline in the
output.
2019-08-27 09:00:02 +05:30
David Emett
b76f668253 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
2019-08-27 08:51:27 +05:30
Pali Rohár
bdf66c4693 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
2019-08-27 08:44:27 +05:30
Arun Raghavan
1172daf19b 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.
2019-08-22 19:05:40 +05:30
Arun Raghavan
f515443fa0 build-sys: meson: Fixes for some ARM compiler checks 2019-08-22 19:05:40 +05:30
Yuri Chornoivan
d830c66613 po: update Ukrainian translation 2019-08-19 08:35:06 +00:00
Russell Treleaven
19dd84c221 Update Bug.md to encourage users to attach pa-info output to bug reports 2019-08-18 20:48:23 +00:00
Arun Raghavan
a7caa9d393 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.
2019-08-17 16:14:45 +05:30
RODRIGUEZ Christophe
2e7c0ee8f8 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
2019-08-17 10:43:20 +00:00
Arun Raghavan
27e72814d0 build-sys: meson: Add a bunch of missing checks 2019-08-15 18:57:13 +05:30