Commit graph

91 commits

Author SHA1 Message Date
Tanu Kaskinen
ff09fa391a Fix typo: "now"->"not".
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2351 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-05-02 13:12:51 +00:00
Tanu Kaskinen
43a30a2ff1 Fix setrlimit() return value comparsion.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2350 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-05-02 13:08:15 +00:00
Lennart Poettering
52e3628c3e Yes, yet another evil all-in-one commit of intervowen changes. I suck.
* Drop "state" directory, fold that into "runtime directory"
* No longer automatically rewind when a new stream connects
* Rework sound file stream, to cause a rewind on initialisation, shorten _pop() code a bit
* Fix reference counting of pa_socket_server in the protocol implementations
* Rework daemon initialization code to be compatible with non-SUID-root setups where RLIMIT_RTPRIO is non-zero
* Print warning if RT/HP is enabled in the config, but due to missing caps, rlimits, policy we cannot enable it.
* Fix potential memory leak in pa_open_config_file()
* Add pa_find_config_file() which works much like pa_open_config_file() but doesn't actually open the config file in question. Just searches for it.
* Add portable pa_is_path_absolute()
* Add pa_close_all() and use it on daemon startup to close leaking file descriptors (inspired from what I did for libdaemon)
* Add pa_unblock_sigs() and use it on daemon startup to unblock all signals (inspired from libdaemon, too)
* Add pa_reset_sigs() and use it on daemon startup to reset all signal handlers (inspired from libdaemon as well)
* Implement pa_set_env()
* Define RLIMIT_RTTIME and friends if not defined by glibc
* Add pa_strempty()
* rename state testing macros to include _IS_, to make clearer that they are no states, but testing macros
* Implement pa_source_output_set_requested_latency_within_thread() to be able to forward latency info to sources from within the IO thread
* Similar for sink inputs
* generelize since_underrun counter in sink inputs to "playing_for" and "underrun_for". Use only this for ignore potential rewind requests over underruns
* Add new native protocol message PLAYBACK_STREAM_MESSAGE_STARTED for notification about the end of an underrun
* Port native protocol to use underrun_for/playing_for which is maintained by the sink input anyway
* Pass underrun_for/playing_for in timing info to client
* Drop pa_sink_skip() since it breaks underrun detection code
* Move PID file and unix sockets to the runtime dir (i.e. ~/.pulse). This fixes a potention DoS attack from other users stealing dirs in /tmp from us so that we cannot take them anymore)
* Allow setting of more resource limits from the config file. Set RTTIME by default
* Streamline daemon startup code
* Rework algorithm to find default configuration files
* If run in system mode use "system.pa" instead of "default.pa" as default script file
* Change ladspa sink to use pa_clamp_samples() for clamping samples
* Teach module-null-sink how to deal with rewinding
* Try to support ALSA devices with no implicit channel map. Synthesize one by padding with PA_CHANNEL_POSITION_AUX channels. This is not tested since I lack hardware with these problems.
* Make use of time smoother in the client libraries.
* Add new pa_stream_is_corked() and pa_stream_set_started_callback() functions to public API
* Since our native socket moved, add some code for finding sockets created by old versions of PA. This should ease upgrades


git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2329 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-05-01 19:51:05 +00:00
Lennart Poettering
06a05bc66c a bit of pa_bool_t'ization
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2314 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-05-01 18:57:18 +00:00
Lennart Poettering
ecf6439661 catch up with trunk HEAD (i.e. 2118:2213)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2214 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-03-31 23:08:01 +00:00
Lennart Poettering
70d00833f1 change policy file to not show polkit auth dlg by default
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2116 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-03-14 13:28:46 +00:00
Diego Petteno
666b952218 And one more.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2115 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-03-09 12:55:21 +00:00
Diego Petteno
30e2a773d4 Test for _struct_ lt_user_dlloader, otherwise it won't be found.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2114 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-03-09 12:54:45 +00:00
Diego Petteno
9ad7bb6188 Build and run using libltdl from libtool 2.2. The user module loader support has changed drastically.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2113 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-03-08 23:30:08 +00:00
Lennart Poettering
dc3682d3f7 only call pa_ltdl_done() if we called pa_ltdl_init() before
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2111 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-02-15 18:03:11 +00:00
Lennart Poettering
0a807b3c4b print pa version id each time we start up, so that it is easier to identify the version people are reporting bugs again
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2107 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-02-15 13:13:12 +00:00
Diego Petteno
a3e820fca7 Mark long_options constant.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2104 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-01-24 11:12:29 +00:00
Diego Petteno
be4c0f296c Apply the fix for CVE-2008-0008 from 0.9.9 release on trunk.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2102 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-01-24 09:35:50 +00:00
Lennart Poettering
14a9b80afb - Check process name when dealing with PID files
- Add new PA_STREAM_FIX_CHANNELS, FIX_RATE, FIX_FORMAT, DONT_MOVE, VARIABLE_RATES to pa_sream_flags_t adn implement it
- Expose those flags in pacat
- Add notifications about device suspend/resume to the protocol and expose them in libpulse
- Allow changing of buffer_attr during playback
- allow disabling for remixing globally
- hookup polkit support


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2067 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-21 01:30:40 +00:00
Lennart Poettering
8bdad297e3 add interface to PolicyKit
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2060 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-16 23:46:22 +00:00
Lennart Poettering
15f56de8f2 don't touch RLIMIT:MEMBLOCK by default. This should improve out-of-the-box comaptibility with JACK
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2052 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-13 19:39:23 +00:00
Lennart Poettering
e313fe1b3d tag modules that may only be loaded once at most especially, and enforce that in the module loader
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2043 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-09 18:25:40 +00:00
Lennart Poettering
a2121d5e6f strip most comments from the default configuration files, since the man page is now more elaborate and we don't want to maintain those docs redundantly at two places
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2030 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-08 22:31:30 +00:00
Lennart Poettering
bff4ca431b add a man page for the pulseaudio binary. More will follow.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2023 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-05 15:10:13 +00:00
Lennart Poettering
81233c1781 make disallow-module-loading config option work again (original patch from Diego Petteno)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2015 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-01 11:23:45 +00:00
Lennart Poettering
7bfd1b2f01 make rtprio and nice level actually configurable
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2014 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-01 02:58:26 +00:00
Lennart Poettering
41ea3b2fd4 add new option --realtime
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2012 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-01 01:45:01 +00:00
Lennart Poettering
005ed41c3f save and restore errno in sig handler
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2011 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-01 01:42:34 +00:00
Lennart Poettering
44d7c9ad9b add nice and rtprio resource limit support; make rtprio and nice level to use configurable; some minor updates
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2010 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-01 00:34:43 +00:00
Lennart Poettering
a46804a8e2 use real path of binary instead of /proc/self/exe to execute ourselves
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1976 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-10-29 15:33:07 +00:00
Lennart Poettering
a67c21f093 merge 'lennart' branch back into trunk.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1971 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-10-28 19:13:50 +00:00
Lennart Poettering
1e12e0ee8d Kill spaces on EOL
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1465 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-05-29 17:24:48 +00:00
Pierre Ossman
5530d3295a We now use gid unconditionally, so make sure it's defined.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1463 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-05-29 07:47:02 +00:00
Lennart Poettering
4d88fcd59d when called with the setid bit change euid to uid sooner to make sure that we can access our own files even when we dropped most capabilities. (Closes #21)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1455 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-05-25 20:35:30 +00:00
Pierre Ossman
06211b7c8f Add copyright notices to all relevant files. (based on svn log)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1426 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-02-13 15:35:19 +00:00
Pierre Ossman
521daf6f0a Huge trailing whitespace cleanup. Let's keep the tree pure from here on,
mmmkay?


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1418 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-01-04 13:43:45 +00:00
Lennart Poettering
f1021b9e0b enable module-hal-detect in the default configuration file only if HAL support is enabled (closes #30)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1401 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-20 19:02:45 +00:00
Lennart Poettering
40f18d97f6 fix alsa-sink example
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1377 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-07 13:29:59 +00:00
Lennart Poettering
11b6c451b8 fix esdcompat for non-gnu systems
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1361 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-02 12:28:40 +00:00
Lennart Poettering
8ead68fcb3 activate HAL in the default config
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1331 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-25 12:12:13 +00:00
Pierre Ossman
26bfce6281 Improve error messages a bit.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1320 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-22 12:46:05 +00:00
Lennart Poettering
47c7a14b82 add --disable-shm command line option to the daemon
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1288 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-19 01:21:22 +00:00
Lennart Poettering
a8519d5667 add "disable-shm=" to default daemon configuration file
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1287 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-19 01:20:40 +00:00
Lennart Poettering
dbc658df41 add new "disable-shm" server config option
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1286 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-19 01:20:13 +00:00
Lennart Poettering
e385d93e5a remove all occurences of
pa_logXXX(__FILE__":  
   
and replace them by 
  
   pa_logXXX("



git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1272 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-18 21:38:40 +00:00
Lennart Poettering
0e436a6926 Rework memory management to allow shared memory data transfer. The central idea
is to allocate all audio memory blocks from a per-process memory pool which is
available as read-only SHM segment to other local processes. Then, instead of
writing the actual audio data to the socket just write references to this
shared memory pool.

To work optimally all memory blocks should now be of type PA_MEMBLOCK_POOL or
PA_MEMBLOCK_POOL_EXTERNAL. The function pa_memblock_new() now generates memory
blocks of this type by default.



git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1266 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-18 19:55:18 +00:00
Lennart Poettering
a7b9a7d599 Load module-rescue-streams by default
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1245 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-13 17:35:46 +00:00
Lennart Poettering
a7cf5e0f2d fix two typos (pierre, have you been sleeping? next time please the comments wrong but the code right, not the other way round! ;-))
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1170 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-29 15:34:36 +00:00
Lennart Poettering
c21f88cb90 load module-gconf in default install
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1159 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-27 18:35:17 +00:00
Lennart Poettering
61ce8bb002 add new command line option --no-cpu-limit. This is useful when running PulseAudio in valgrind's massif or callgrind tools
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1149 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-25 20:51:15 +00:00
Lennart Poettering
a84a2f9138 raise the default value for RLIMIT_NOFILE to 200 since 25 is apparently too small if every single GNOME apps thinks it needs to create its own server connection!
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1136 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-21 19:59:52 +00:00
Pierre Ossman
4a59581a4c Fix incorrect call to nonexistant pa_log_warning().
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1122 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-20 13:28:50 +00:00
Pierre Ossman
0762af2aee Only warn when running as root and not --system.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1121 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-20 13:24:57 +00:00
Pierre Ossman
f3d4924473 Centralise check if we're running as root.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1120 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-20 13:24:04 +00:00
Pierre Ossman
57d8a315ea Move check for SUID into the caps functions.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1119 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-20 13:19:16 +00:00