Commit graph

396 commits

Author SHA1 Message Date
Felipe Sateler
ad047c2c79 daemon: Use Type=notify for systemd service
This ensures systemd knows when pulseaudio finishes loading, thus never
marking pulseaudio as active if startup fails.
2015-09-25 17:29:02 +05:30
Deepak Srivastava
2d5eec2d2c Rename functions with "tostring" in the name to one with "to_string" to conform with the convention.
component: core

<EP-E358F00C1D9A449EAE69225B9D2530F8>
BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=88833

Signed-off-by: Deepak Srivastava <srivastava.d@samsung.com>
2015-09-25 17:29:02 +05:30
Peter Meerwald
cadbb2b315 daemon: No need to check optarg, -p requires argument
CID 1323589

getopt() makes sure that we have an argument for -p
remove the broken check for optarg being set
2015-09-16 08:03:48 +02:00
Deepak Srivastava
a3bf429efd Removed exclamation marks from user-visible messages.
<EP-E358F00C1D9A449EAE69225B9D2530F8>
According to rationale-"http://techbase.kde.org/Projects/Usability/HIG/Exclamation_points" as suggested in reported bug.
Component: misc

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

Signed-off-by: Deepak Srivastava <srivastava.d@samsung.com>
2015-08-14 12:17:02 +03:00
Peter Meerwald
cf0cd5fe18 daemon: Exit with code 0 on SIGINT and SIGTERM
see https://bugs.freedesktop.org/show_bug.cgi?id=86818

an exit code of 1 makes systemd believe that the service failed;
better return 0 to denote that PA sucessfully stopped on the user's
request

sidenote: systemd's SuccessExitStatus= could be used to turn code 1 into a
code denoting success

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Cc: jan.steffens@gmail.com
2015-05-25 15:21:50 +02:00
Hui Wang
a9059be749 daemon-conf: enable the lfe remixing by default
Since we have a workable lfe filter, it is time to enable the lfe
remixing by default.

Signed-off-by: Hui Wang <hui.wang@canonical.com>
2015-03-30 10:52:30 +02:00
Hui Wang
c36e191ce5 lfe-filter: change the crossover frequency as a parameter
Add a user defined parameter lfe-crossover-freq for the lfe-filter,
to pass this parameter to the lfe-filter, we need to change the
pa_resampler_new() API as well.

Signed-off-by: Hui Wang <hui.wang@canonical.com>
2015-03-30 10:52:30 +02:00
Ondrej Holecek
5effc83479 update FSF addresses to FSF web page
FSF addresses used in PA sources are no longer valid and rpmlint
generates numerous warnings during packaging because of this.
This patch changes all FSF addresses to FSF web page according to
the GPL how-to: https://www.gnu.org/licenses/gpl-howto.en.html

Done automatically by sed-ing through sources.
2015-01-14 22:20:40 +02:00
Alexander E. Patrakov
01ae1c1f88 Fix the WhatIsWrongWithSystemWide URL
Pavel Machek reported in his blog that our message about the system mode
has a dead link in it. And this link is also present in translations.
So, I replaced it in the source and fixed all translations using a script:

for a in po/*.po ; do msgcat --no-wrap $a | sed
's@http://pulseaudio.org/wiki/WhatIsWrongWithSystemMod
@http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode @g' | sed
's@http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode@http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/WhatIsWrongWithSystemWide/@g'
| sed 's@/\.@/ .@g' | sed 's@/,@/ ,@g' | msgcat - > $a.new

git add -i  # to filter out formatting changes

The "/." and "/," replacements are needed so that various terminal
emulators don't include the trailing "." or "," into the clickable URL.

The resulting patch is attached, just in case, in order to avoid
damaging non-ASCII characters.

--
Alexander E. Patrakov

>From 7dcd197571840e467d688f0f7354253730bbcc15 Mon Sep 17 00:00:00 2001
From: "Alexander E. Patrakov" <patrakov@gmail.com>
Date: Sat, 29 Nov 2014 20:56:27 +0500
Subject: [PATCH] Fix the WhatIsWrongWithSystemWide URL

Reported by Pavel Machek in http://pavelmachek.livejournal.com/126190.html

All translations were also fixed using a script.

Signed-off-by: Alexander E. Patrakov <patrakov@gmail.com>
2014-12-29 15:41:27 +02:00
Alexander E. Patrakov
6e4e8621a6 Fix URLs still pointing to the old wiki
Signed-off-by: Alexander E. Patrakov <patrakov@gmail.com>
2014-12-22 12:59:23 +02:00
Peter Meerwald
64f3b5711b build-sys: Deprecate libsamplerate support
output DEPRECATED warnings for libsamplerate in configure and
PA daemon's log

libsamplerate offers no particular advantage over the speex
resampler and is distributed under GPL; support for it will be removed
in one of the next releases

v2: (thanks Arun Raghavan)
* log a warning (instead of info)

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
2014-11-17 13:19:37 +01:00
Colin Guthrie
e542e81004 launch: Add systemd units for launching pulseaudio user instances 2014-11-03 12:32:23 +00:00
Colin Guthrie
42156d2b5a launch: Avoid specifically starting PA and rely on autospawn/socket activation
This --start is patched out in several downstreams to allow users to easily
disable PA by simply disabling autospawn.

If autospawn is enabled, then the first pactl command will start it and if not
it will fail and the script will exit.

When switching to systemd socket activation, we very much do not want to
start PA manually here. We could replace it with a
  systemctl --user start pulseaudio
but really it just makes sense to rely on the socket activation as this
should apply equally to non-systemd setups which use PA's own autospawn.
2014-11-03 12:32:23 +00:00
Colin Guthrie
467b4b9bee socket-server: Add support for systemd socket activation.
This adds support to module-native-protocol-unix to take over already
listening sockets passed in via socket activation (e.g. from systemd)

Most of the code is isolated to socket-server but some cleanup code also
had to be tweaked to ensure we do not overzealously close open fds.
2014-11-03 12:32:23 +00:00
Colin Guthrie
f7da58b73f build-sys: Clarify some systemd sub-component variable/define names.
We currently use the term SYSTEMD when referring to libsystemd-login
and JOURNAL when referring to libsystemd-journal.

I will be shortly adding support for libsystemd-daemon and in
preparation I figured it would be a good idea to clarify the names
used currently before adding another!
2014-11-03 12:32:23 +00:00
Peter Meerwald
f390e6e974 Cleanup !! for bool
!!x makes no sense if x is bool (this is a leftover from the
convertion pa_bool_t -> bool, d806b197)

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
2014-10-28 17:36:22 +01:00
Peter Meerwald
380591eb18 core: Add pa_cpu_init() / cpu.c
move code dealing with CPU specific code path initialization
from daemon/main.c to pulsecore/cpu.c

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
2014-09-10 16:01:14 +02:00
Peter Meerwald
c6bc835e45 daemon: Debian/kFreeBSD 9.2 fails to compile due to caps
Debian/kFreeBSD 9.2 comes with sys/capability.h but it is not usable; work around it

the patch does several things:
* it makes the comment point to the correct bugtracker issue: https://bugs.freedesktop.org/show_bug.cgi?id=72580
* it handles Debian/kFreeBSD the same way as FreeBSD
* it logs a warning that capabilities are actually NOT dropped

daemon/caps.c: In function ‘pa_drop_caps’:
daemon/caps.c:93:2: error: #error "Don't know how to do capabilities on your system.  Please send a patch."
 #error "Don't know how to do capabilities on your system.  Please send a patch."
  ^
Makefile:9575: recipe for target 'daemon/pulseaudio-caps.o' failed

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
2014-09-02 19:35:51 +02:00
David Henningsson
764da4260a Make all debug/info level messages untranslatable
Debug and info messages are primarily meant for developers,
rather than end users. Let's save translators' time,
and leave them untranslated.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2014-09-02 12:50:22 +02:00
Joe Marcus Clarke
69fae3e33a daemon: Don't try to lock and synchronise threads on (k)FreeBSD
Credits: Steven Chamberlain <steven@pyro.eu.org> is also a co-author
BugLink: http://bugs.debian.org/705435
Origin: http://svnweb.freebsd.org/ports/head/audio/pulseaudio/files/patch-src_daemon_main.c?revision=231972&view=markup&pathrev=231972
2014-08-01 10:47:18 +03:00
Ricardo Salveti de Araujo
4ac62d4690 daemon-conf: changing default rlimit_rttime value to 200 ms
Since rtkit v11, the top limit for rttime is 200 ms (previously it
was wrongly limited to 2 seconds).

Reviewed-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@canonical.com>
2014-07-13 12:30:35 +03:00
Tanu Kaskinen
5141188ca8 client-conf: Move x11 and env loading to pa_client_conf_load()
This simplifies the code a bit.
2014-06-24 13:13:50 +03:00
Tanu Kaskinen
067e61cb66 client-conf: Don't report failure from pa_client_conf_load()
pa_context already ignored the return value of pa_client_conf_load(),
so the only places where the return value was not ignored were the
D-Bus server lookup thing and pax11publish. I don't think those cases
are negatively affected if they ignore errors in opening or parsing
client.conf.

pa_client_conf_env() never failed anyway, so returning int was
obviously redundant.
2014-06-24 13:13:04 +03:00
Pierre Ossman
6f4e08140f daemon: get rid of win32 message timer
We don't need a timer to check for Windows messages anymore
now that our fancy new poll() implementation does that for us.
2014-06-06 15:50:24 +03:00
Alexander E. Patrakov
42c814b9f3 source, sink: Support weird sample rates
This fixes assertion failures that manifest themselves with cards that
support only weird rates such as 37286Hz. Tested with snd-pcsp.

Signed-off-by: Alexander E. Patrakov <patrakov@gmail.com>
BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=48109
2014-06-05 15:57:00 +03:00
Bradley Broom
276364f6fa default.pa: Use freedesktop theme sounds in sample examples 2014-04-26 12:16:50 +03:00
Tanu Kaskinen
0a583fe0c3 client-conf: Remove redundant function parameters 2014-03-28 14:58:14 +02:00
Tanu Kaskinen
f46799579f Remove all references to the removed KDE files 2014-03-03 18:06:20 +02:00
Rex Dieter
0ddde7c5b1 daemon: ensure pulseaudio early startup on kde 2014-03-03 18:06:20 +02:00
Rex Dieter
2b85ae0489 daemon: consolidate startup scripts
simplify pulseaudio autostart into one, avoid needless extra
work for kde, and avoid possible startup races.
2014-03-03 18:06:20 +02:00
Wim Taymans
3cc4765d16 man: improve man page and help for cmdline options 2014-02-07 16:20:49 +02:00
Tanu Kaskinen
97c27202ca caps: Don't require --without-caps on FreeBSD
BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=72580
2014-01-26 16:41:29 +02:00
Wim Taymans
6ac599c1f4 daemon: Remove deprecated Encoding from .desktop files
Encoding is deprecated according to
http://standards.freedesktop.org/desktop-entry-spec/latest/apc.html
2014-01-26 16:20:14 +02:00
Tanu Kaskinen
25b7b39367 caps: Use standard macro when checking for Linux
linux and __linux are non-standard, according to
http://sourceforge.net/p/predef/wiki/OperatingSystems/

Reported-By: Damir Jelić <poljarinho@gmail.com>
2014-01-10 12:41:00 +02:00
Tanu Kaskinen
11e71e3990 caps: Remove the FreeBSD implementation of pa_drop_caps()
Quoting Ryan Lortie from [1]:

I assumed from my reading of the Linux code ("cap_clear()...") that it
was clearing all capabilities of the process when in fact it is only
clearing the "special to root" capabilities.

The FreeBSD version of the code indeed clears _all_ capabilities beyond
ones that the process already has (ie: cannot open any new files, create
sockets, etc.)

This has a pretty obvious adverse effect on pulseaudio's ability to do
what it needs to do -- indeed, it bombs out pretty quickly due to an
inability to read its own config file.

[1] https://bugs.freedesktop.org/show_bug.cgi?id=72580#c11
2014-01-03 13:31:29 +02:00
Tanu Kaskinen
4c5ec015a4 caps: Fix platform checking
The "#elif __FreeBSD__" line caused a warning, because __FreeBSD__ was
not defined.
2013-12-30 14:31:33 +02:00
Tanu Kaskinen
337ad25b17 caps: Improve log message
I don't like the expression "this Pulseaudio" (even though that's
originally written by me), just "PulseAudio" is enough. Also, on
FreeBSD there's no libcap, so let's refer only to "capabilities".
2013-12-20 21:54:22 +02:00
Ryan Lortie
1da34e99b2 Add support for FreeBSD <sys/capability.h>
cap_init() and friends are Linux-specific, so only use them if we're on
Linux.

Add support for FreeBSD capabilities if we find <sys/capability.h> to be
available there.

Add an #else (not Linux or FreeBSD) case with an #error requesting
contributions for other platforms.

This patch keeps the cap_init check in configure.ac but removes the
error if it fails.  This will ensure we link to -lcap if needed, but
won't fail for the case that capabilities are part of the core system
(as on FreeBSD).

We do however, modify the header check to ensure we fail if there is no
<sys/capability.h> at all and we are on a system where it could be
installed.  The logic here is that it is better to give the user the
chance to install it than it is to proceed silently with a disabled
security feature on a system where it could easily be supported.
--without-caps remains an option if the user wants to force it.

https://bugs.freedesktop.org/show_bug.cgi?id=72580
2013-12-20 21:48:50 +02:00
poljar (Damir Jelić)
d20ee7e7f2 log: Add support for the systemd journal
The journal is a component of systemd, that captures Syslog messages,
Kernel log messages, initial RAM disk and early boot messages as well
as messages written to STDOUT/STDERR of all services, indexes them and
makes this available to the user.

It can be used in parallel, or in place of a traditional syslog daemon,
such as rsyslog or syslog-ng.

The journal offers a couple of improvements over traditional logging
facilities (e.g. advanced filtering capabilities).

This patch adds support for logging directly to the journal using its
native API.
2013-12-20 13:06:04 +01:00
Tanu Kaskinen
2747c96101 Add pa_channels_valid()
I think this makes the code a bit nicer to read and write. This also
reduces the chances of off-by-one errors when checking the bounds of
channel count values.
2013-12-15 11:44:35 +01:00
Tanu Kaskinen
a67318f8af Add pa_sample_rate_valid()
I think this makes the code a bit nicer to read and write. This also
reduces the chances of off-by-one errors when checking the bounds of
sample rate values.
2013-12-15 11:21:56 +01:00
Pierre Ossman
4262d6a14f daemon conf: "high-priority" setting isn't respected
The code got removed by accident during the cleanup in commit 9c438bcac6. So
this patch is needed to bring it back and make things work like documented.
2013-11-01 14:50:51 +01:00
Anton Lundin
35fea579cb build-sys: Fix building with Android toolchain
Signed-off-by: Anton Lundin <glance@acc.umu.se>
2013-10-05 09:49:20 +05:30
David Henningsson
dcb52b0844 default/system.pa: Do not load module-dbus-protocol
The author of this module, Tanu Kaskinen, has said that this module
"is not suitable for general use". Also, it is still causing crashes
on card removal (see bug 69871).

Qpaeq, and possibly other tools, use this module - but they can load
the module manually if they still wish to use it.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2013-09-30 14:33:37 +02:00
David Henningsson
ce21dc4348 daemon.conf: Document new speex-float-1 default
We document the default values in daemon.conf, but this was not
updated when we changed the default from speex-float-3 to speex-float-1.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2013-07-23 15:58:42 +02:00
Tanu Kaskinen
999b47c099 caps: Fix compilation on Windows
Thanks to Pierre Ossman for the patch.
2013-07-14 13:26:24 +03:00
poljar (Damir Jelić)
d806b19714 Remove pa_bool_t and replace it with bool.
commands used for this (executed from the pulseaudio/src directory):
    find . -regex '\(.*\.[hc]\|.*\.cc\|.*\.m4\)' -not -name 'macro.h' \
        -a -not -name 'reserve.[ch]' -a -not -name 'reserve-monitor.[ch]' \
        -a -not -name 'glib-mainloop.c' -a -not -name 'gkt-test.c' \
        -a -not -name 'glib-mainloop.c' -a -not -name 'gkt-test.c' \
        -a -not -name 'poll-win32.c' -a -not -name 'thread-win32.c' \
        -a -not -name 'dllmain.c' -a -not -name 'gconf-helper.c' \
        -exec sed -i -e 's/\bpa_bool_t\b/bool/g' \
        -e 's/\bTRUE\b/true/g' -e 's/\bFALSE\b/false/g' {} \;

and:
    sed -i -e '181,194!s/\bpa_bool_t\b/bool/' \
        -e '181,194!s/\bTRUE\b/true/' -e \
        '181,194!s/\bFALSE\b/false/' pulsecore/macro.h
2013-07-04 12:25:30 +03:00
poljar (Damir Jelić)
97da92d894 Whitespace cleanup: Remove all multiple newlines
This patch removes all occurrences of double and triple
newlines.

Command used for this:
find .  -type d \( -name ffmpeg \) -prune -o \
        -regex '\(.*\.[hc]\|.*\.cc\)' \
        -a -not -name 'adrian-aec.*' -a -not \
        -name reserve.c -a -not -name 'rtkit.*' \
        -exec sed -i -e '/^$/{N;s/^\n$//}' {} \;

Two passes were needed to remove triple newlines.
The excluded files are mirrored files from external sources.
2013-06-24 16:56:24 +03:00
poljar (Damir Jelić)
cbd274676d Style fix: Add a space between the closing/opening bracket
This patch replaces every occurrence of '){' with ') {'.
The ffmpeg source tree was excluded since it will disappear anyways.

Command used for this:
    find . -type d \( -name ffmpeg \) -prune -o \
        -regex '\(.*\.[hc]\|.*\.cc\)' \
        -exec sed -i -e 's/){/) {/' {} \;
2013-06-24 16:56:24 +03:00
Shuai Fan
b0bf132f8f cli, log: Improve the set-log-target functionality
Add a new log target 'newfile:PATH', and refactoring 'pa_log_target_type'.

Signed-off-by: Shuai Fan <shuai900217@126.com>
2013-06-20 16:34:57 +03:00