summaryrefslogtreecommitdiff
path: root/src/daemon
Commit message (Collapse)AuthorAgeFilesLines
* Disable LFE remixing by defaultAlexander E. Patrakov2016-05-242-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current LFE crossover filter removes low frequencies from the main channels and puts them into the LFE channel with the wrong amplitude. It is not known for sure what is the correct relative amplitude (acoustic measurements are required with real hardware), and changing that might introduce a new bug, "it clips the LFE channel". So just disable the feature by default until a better understanding emerges how it should work. This, essentially, returns the defaults to their state as of PulseAudio 6.0. Some more observations: - Most of available active analog speakers on the market do the necessary crossover filtering already, and HDMI receivers can be configured to do that, too, so a crossover filter in PulseAudio is harmful in these use cases. - The "laptop with a builtin subwoofer" use case requires manual configuration anyway because the default crossover frequency (120 Hz) is wrong for laptop speakers. - Finally, Windows 10 with a built-in USB audio driver does not synthesize the LFE channel given a 5.1 card and a stereo audio stream by default. Hides: https://bugs.freedesktop.org/show_bug.cgi?id=95021 Signed-off-by: Alexander E. Patrakov <patrakov@gmail.com>
* core: Support memfd transport; bump protocol versionAhmed S. Darwish2016-04-274-2/+18
| | | | | | | | | | | Now that all layers in the stack support memfd blocks, add memfd support for the daemon's global core mempool. Also introduce "enable-memfd=" daemon argument and configuration option. For now, memfd support is an opt-in feature to be activated only when daemon's enable-memfd= is set to yes. Signed-off-by: Ahmed S. Darwish <darwish.07@gmail.com>
* default.pa: remove X11 module examplesTanu Kaskinen2016-02-091-31/+0
| | | | | | | | | | | | | Loading X stuff from default.pa is a bad idea, since it doesn't work if there are multiple X sessions, or PulseAudio is started outside the X session. Since it's a bad idea, don't encourage it by including examples that do so. I also removed the sample loading examples. I don't think the examples are particularly useful, since nothing uses the loaded samples once module-x11-bell is removed from the configuration. BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=93109
* system.pa.in: load module-coreaudio-detect if HAVE_COREAUDIO.Mihai Moldovan2016-01-041-0/+4
| | | | | This is an OpenPGP/MIME signed message (RFC 4880 and 3156) Signed-off-by: Mihai Moldovan <ionic@ionic.de>
* default.pa.in: load module-coreaudio-detect if HAVE_COREAUDIO.Mihai Moldovan2016-01-041-0/+4
| | | | | This is an OpenPGP/MIME signed message (RFC 4880 and 3156) Signed-off-by: Mihai Moldovan <ionic@ionic.de>
* daemon: Sanitise message about unsupported high res timersArun Raghavan2015-12-211-2/+2
|
* client-conf, daemon-conf: enable .d directoriesTanu Kaskinen2015-12-141-1/+1
| | | | | | | | | | | | | I want to enable client.conf.d, because in OpenEmbedded-core we have a graphical environment called Sato that runs as root. Sato needs to set allow-autospawn-for-root=true in client.conf, but the default configuration in OpenEmbedded-core should not set that option. With this patch, I can create a Sato-specific package that simply installs 50-sato.conf in /etc/pulse/client.conf.d without conflicting with the main client.conf coming from a different package. daemon.conf.d is enabled just because it would be strange to not support it while client.conf.d is supported.
* conf-parser: add support for .d directoriesTanu Kaskinen2015-12-141-1/+1
| | | | | | | | This allows a configuration scheme where after loading configuration from "somefile", the parser loads configuration from files in directory "somefile.d". This feature needs to be enabled on a per-file basis, though, and this patch doesn't yet enable the feature for any files.
* daemon: Use Type=notify for systemd serviceFelipe Sateler2015-09-252-0/+10
| | | | | This ensures systemd knows when pulseaudio finishes loading, thus never marking pulseaudio as active if startup fails.
* Rename functions with "tostring" in the name to one with "to_string" to ↵Deepak Srivastava2015-09-253-3/+3
| | | | | | | | | | | 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>
* daemon: No need to check optarg, -p requires argumentPeter Meerwald2015-09-161-1/+1
| | | | | | | CID 1323589 getopt() makes sure that we have an argument for -p remove the broken check for optarg being set
* Removed exclamation marks from user-visible messages.Deepak Srivastava2015-08-141-6/+6
| | | | | | | | | | <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>
* daemon: Exit with code 0 on SIGINT and SIGTERMPeter Meerwald2015-05-251-1/+1
| | | | | | | | | | | | | | 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
* daemon-conf: enable the lfe remixing by defaultHui Wang2015-03-302-2/+2
| | | | | | | 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>
* lfe-filter: change the crossover frequency as a parameterHui Wang2015-03-304-0/+6
| | | | | | | | 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>
* update FSF addresses to FSF web pageOndrej Holecek2015-01-1421-61/+21
| | | | | | | | | 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.
* Fix the WhatIsWrongWithSystemWide URLAlexander E. Patrakov2014-12-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Fix URLs still pointing to the old wikiAlexander E. Patrakov2014-12-222-3/+3
| | | | Signed-off-by: Alexander E. Patrakov <patrakov@gmail.com>
* build-sys: Deprecate libsamplerate supportPeter Meerwald2014-11-171-0/+4
| | | | | | | | | | | | | | 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>
* launch: Add systemd units for launching pulseaudio user instancesColin Guthrie2014-11-032-0/+20
|
* launch: Avoid specifically starting PA and rely on autospawn/socket activationColin Guthrie2014-11-031-2/+0
| | | | | | | | | | | | | | 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.
* socket-server: Add support for systemd socket activation.Colin Guthrie2014-11-031-6/+28
| | | | | | | | 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.
* build-sys: Clarify some systemd sub-component variable/define names.Colin Guthrie2014-11-032-2/+2
| | | | | | | | | 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!
* Cleanup !! for boolPeter Meerwald2014-10-281-6/+6
| | | | | | | !!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>
* core: Add pa_cpu_init() / cpu.cPeter Meerwald2014-09-101-11/+2
| | | | | | | 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>
* daemon: Debian/kFreeBSD 9.2 fails to compile due to capsPeter Meerwald2014-09-021-2/+3
| | | | | | | | | | | | | | | | | 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>
* Make all debug/info level messages untranslatableDavid Henningsson2014-09-022-35/+35
| | | | | | | | 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>
* daemon: Don't try to lock and synchronise threads on (k)FreeBSDJoe Marcus Clarke2014-08-011-0/+5
| | | | | | 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
* daemon-conf: changing default rlimit_rttime value to 200 msRicardo Salveti de Araujo2014-07-132-2/+2
| | | | | | | | 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>
* client-conf: Move x11 and env loading to pa_client_conf_load()Tanu Kaskinen2014-06-242-9/+2
| | | | This simplifies the code a bit.
* client-conf: Don't report failure from pa_client_conf_load()Tanu Kaskinen2014-06-241-29/+1
| | | | | | | | | | | 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.
* daemon: get rid of win32 message timerPierre Ossman2014-06-061-34/+0
| | | | | We don't need a timer to check for Windows messages anymore now that our fancy new poll() implementation does that for us.
* source, sink: Support weird sample ratesAlexander E. Patrakov2014-06-051-4/+2
| | | | | | | | 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
* default.pa: Use freedesktop theme sounds in sample examplesBradley Broom2014-04-261-5/+5
|
* client-conf: Remove redundant function parametersTanu Kaskinen2014-03-282-3/+3
|
* Remove all references to the removed KDE filesTanu Kaskinen2014-03-031-1/+0
|
* daemon: ensure pulseaudio early startup on kdeRex Dieter2014-03-031-0/+1
|
* daemon: consolidate startup scriptsRex Dieter2014-03-033-40/+4
| | | | | simplify pulseaudio autostart into one, avoid needless extra work for kde, and avoid possible startup races.
* man: improve man page and help for cmdline optionsWim Taymans2014-02-071-1/+1
|
* caps: Don't require --without-caps on FreeBSDTanu Kaskinen2014-01-261-0/+3
| | | | BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=72580
* daemon: Remove deprecated Encoding from .desktop filesWim Taymans2014-01-262-2/+0
| | | | | Encoding is deprecated according to http://standards.freedesktop.org/desktop-entry-spec/latest/apc.html
* caps: Use standard macro when checking for LinuxTanu Kaskinen2014-01-101-3/+3
| | | | | | | linux and __linux are non-standard, according to http://sourceforge.net/p/predef/wiki/OperatingSystems/ Reported-By: Damir Jelić <poljarinho@gmail.com>
* caps: Remove the FreeBSD implementation of pa_drop_caps()Tanu Kaskinen2014-01-031-2/+0
| | | | | | | | | | | | | | | | | | 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
* caps: Fix platform checkingTanu Kaskinen2013-12-301-3/+3
| | | | | The "#elif __FreeBSD__" line caused a warning, because __FreeBSD__ was not defined.
* caps: Improve log messageTanu Kaskinen2013-12-201-2/+2
| | | | | | 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".
* Add support for FreeBSD <sys/capability.h>Ryan Lortie2013-12-201-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* log: Add support for the systemd journalpoljar (Damir Jelić)2013-12-202-0/+8
| | | | | | | | | | | | | | | | 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.
* Add pa_channels_valid()Tanu Kaskinen2013-12-151-1/+1
| | | | | | 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.
* Add pa_sample_rate_valid()Tanu Kaskinen2013-12-151-2/+2
| | | | | | 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.
* daemon conf: "high-priority" setting isn't respectedPierre Ossman2013-11-011-1/+2
| | | | | The code got removed by accident during the cleanup in commit 9c438bcac671. So this patch is needed to bring it back and make things work like documented.