Commit graph

165 commits

Author SHA1 Message Date
Lennart Poettering
40b66a0be9 Implement "early requests" mode.
PA_STREAM_EARLY_REQUESTS is a new flag that will modify buffering metric
selection behaviour a bit. This code is good for broken ALSA/OSS clients that
ignore 'readability' on the fds in question and schedule audio via usleep()
instead.
2008-09-03 18:31:46 +02:00
Lennart Poettering
82ea8dde8a avoid rounding errors on requested buffering metrics 2008-09-01 02:41:03 +02:00
Lennart Poettering
dc9b8dce30 add a few missing casts 2008-08-20 03:33:06 +03:00
Lennart Poettering
b7026bf248 add a few more gcc warning flags and fix quite a few problems found by doing so 2008-08-19 22:39:54 +02:00
Lennart Poettering
ec62596f49 allow clients to not specify the volume for their streams 2008-08-18 17:49:18 +02:00
Lennart Poettering
c35d1bbec3 rework validity checking of sink/source/... names 2008-08-18 17:48:04 +02:00
Lennart Poettering
916899a973 pass force_refresh=FALSE to all volume/mute read invocations 2008-08-13 13:59:50 +02:00
Lennart Poettering
7c5a95950e initialize IP ACLs properly 2008-08-11 19:46:28 +02:00
Lennart Poettering
432b4e5f7d don't use PA_GCC_UNUSED anymore 2008-08-09 16:20:29 +02:00
Lennart Poettering
756fac8d04 add new switch --disallow-exit 2008-08-06 19:39:12 +02:00
Lennart Poettering
b4e8cac066 don't include authkey-prop.h anymore 2008-08-06 03:04:53 +02:00
Lennart Poettering
34dd4a20f2 fix shutdown when --disallow-module-loading=1 is passed 2008-08-05 23:56:25 +02:00
Lennart Poettering
64a23677d3 inherit proplist on sample playback from client 2008-08-04 23:32:52 +02:00
Lennart Poettering
eec623a23b add hooks for connection creation/deletion, for that export pa_native_connection 2008-08-04 18:58:29 +02:00
Lennart Poettering
04ffac57a6 add extension system for native protocol 2008-08-03 18:56:10 +02:00
Lennart Poettering
065e7644ac make all protocol objects global singletons 2008-08-03 16:44:38 +02:00
Lennart Poettering
d36c5c97e5 rename props.[ch] to shared.[ch] 2008-08-01 02:13:41 +03:00
Lennart Poettering
edc56a7f7a rename pa_property_xxx to pa_shared_xxx to avoid confusion with property lists 2008-08-01 01:56:09 +03:00
Lennart Poettering
98c26b179d add proper update_max_request handler to native protocol streams 2008-06-28 01:09:07 +02:00
Lennart Poettering
05400321c0 fix underrun detection for prebuf=0 streams 2008-06-27 00:35:40 +02:00
Lennart Poettering
7755f759aa use (uint32_t) -1 to signify default buffer_attr values instead of 0, to allow prebuf=0 2008-06-27 00:34:17 +02:00
Lennart Poettering
1514d13835 split pa_memblockq_flush() into two flush commands, one which fixes up the read ptr, and one which fixes up the write ptr 2008-06-26 00:39:31 +02:00
Lennart Poettering
add6c0361a Rework module-combine to work with glitch-free core; add new max_request field to pa_sink 2008-06-20 22:32:41 +02:00
Lennart Poettering
8ae83d618e get rid of svn $ keywords 2008-06-18 23:23:21 +03:00
Lennart Poettering
ba64de8f3c reset prebuf if it is too large
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2548 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-06-17 20:08:08 +00:00
Lennart Poettering
8ba8265e19 server side of new shm negotiation scheme; fix a bad memory access
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2545 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-06-17 18:29:00 +00:00
Lennart Poettering
ce534976ce avoid division by zero when informing user about unloaded lazy samples in the sample cache
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2529 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-06-14 21:33:21 +00:00
Lennart Poettering
b27cc1d426 fix a bad memory access pulsecore/client.c
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2527 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-06-13 21:56:19 +00:00
Lennart Poettering
7297bd91e7 always expect name field in upload datagram
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2489 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-05-27 22:07:27 +00:00
Lennart Poettering
28405e3dcf big mumbo jumo of interleaved patches.
* Use seperate "state" and "config" paths
* Pass the fact that we are in system mode via an env var $PULSE_SYSTEM instead of as var in pa_core
* Properly check proc name when checking PID files. Don't check exename, because we cannot read that for other uids


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2480 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-05-21 22:50:58 +00:00
Lennart Poettering
ef4c6bf9d2 remove a misplaced assert
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2466 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-05-18 19:10:32 +00:00
Lennart Poettering
971342de0b dump latency metrics for recording streams, too
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2454 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-05-17 09:11:21 +00:00
Lennart Poettering
045c1d602d merge glitch-free branch back into trunk
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2445 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-05-15 23:34:41 +00:00
Lennart Poettering
bc5e3f1555 properly notify clients about suspended state when moving source output streams. Closes #244. Patch from slicer
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2181 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-03-27 23:59:37 +00:00
Sjoerd Simons
c5678ae400 Don't send opcodes introduced in protocol versions 12 to clients using protocol
version 11. (fixes #183)


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2097 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-01-04 14:59:09 +00:00
Lennart Poettering
40db06de5f when speaking to a client with a version < 12, hide S32 sample specs, and make them appaear as FLOAT32
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2069 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-21 22:55:28 +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
d17bb53d3e Completely rework ALSA device selection code: choose the device to open depending on the requested number of channels and channel map. In most cases it will now suffice to set default-channels=6 to enable 5.1 sound for all devices that support it
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2050 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-13 17:37:44 +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
Lennart Poettering
918cacb4f4 Replace AO_xxx usage with pa_atomic_xxx and friends wherever it makes sense
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1459 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-05-27 20:38:14 +00:00
Lennart Poettering
cf925b10e1 Fix yet another DoS vulnerability, also identified Luigi Auriemma (re #67)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1448 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-05-23 16:42:26 +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
Pierre Ossman
8dc6214276 Revert r1404 and keep it on a development branch until it is fully tested.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1409 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-11-06 13:06:01 +00:00
Lennart Poettering
d210ebbb09 rework memory block management to be thread-safe and mostly lock-free.
pa_memblock is now an opaque structure. Access to its fields is now done
through various accessor functions in a thread-safe manner.

pa_memblock_acquire() and pa_memblock_release() are now used to access the
attached audio data. Why? To allow safe manipulation of the memory pointer
maintained by the memory block. Internally _acquire() and _release() maintain a
reference counter. Please do not confuse this reference counter whith the one
maintained by pa_memblock_ref()/_unref()!

As a side effect this patch removes all direct usages of AO_t and replaces it
with pa_atomic_xxx based code.

This stuff needs some serious testing love. Especially if threads are actively
used.



git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1404 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-26 23:50:56 +00:00
Lennart Poettering
5264d235d2 make pa_mempool_stat thread-safe/lock-free
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1343 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-29 02:01:39 +00:00
Lennart Poettering
bffde5da05 If a client leaves the sink/source for a stream unspecified by passing NULL as
sink/source name sink/source we should pass NULL to
pa_sink_input_new()/pa_source_output_new() as too. This allows
hooks to change the sink/source device only if it is left unspecified by the client



git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1303 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-19 23:06:45 +00:00
Lennart Poettering
e33abc3089 activate SHM support on the server side only when new client supports it and when client and server have the same UID.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1277 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-18 23:44:35 +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