summaryrefslogtreecommitdiffstats
path: root/src/pulsecore/protocol-native.c
Commit message (Collapse)AuthorAgeFilesLines
* add hooks for connection creation/deletion, for that export pa_native_connectionLennart Poettering2008-08-041-202/+227
|
* add extension system for native protocolLennart Poettering2008-08-031-13/+56
|
* make all protocol objects global singletonsLennart Poettering2008-08-031-157/+234
|
* rename props.[ch] to shared.[ch]Lennart Poettering2008-08-011-1/+1
|
* rename pa_property_xxx to pa_shared_xxx to avoid confusion with property listsLennart Poettering2008-08-011-5/+5
|
* add proper update_max_request handler to native protocol streamsLennart Poettering2008-06-281-1/+18
|
* fix underrun detection for prebuf=0 streamsLennart Poettering2008-06-271-11/+16
|
* use (uint32_t) -1 to signify default buffer_attr values instead of 0, to ↵Lennart Poettering2008-06-271-8/+19
| | | | allow prebuf=0
* split pa_memblockq_flush() into two flush commands, one which fixes up the ↵Lennart Poettering2008-06-261-2/+2
| | | | read ptr, and one which fixes up the write ptr
* Rework module-combine to work with glitch-free core; add new max_request ↵Lennart Poettering2008-06-201-4/+6
| | | | field to pa_sink
* get rid of svn $ keywordsLennart Poettering2008-06-181-2/+0
|
* reset prebuf if it is too largeLennart Poettering2008-06-171-2/+2
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2548 fefdeb5f-60dc-0310-8127-8f9354f1896f
* server side of new shm negotiation scheme; fix a bad memory accessLennart Poettering2008-06-171-17/+42
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2545 fefdeb5f-60dc-0310-8127-8f9354f1896f
* avoid division by zero when informing user about unloaded lazy samples in ↵Lennart Poettering2008-06-141-2/+5
| | | | | | the sample cache git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2529 fefdeb5f-60dc-0310-8127-8f9354f1896f
* fix a bad memory access pulsecore/client.cLennart Poettering2008-06-131-5/+20
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2527 fefdeb5f-60dc-0310-8127-8f9354f1896f
* always expect name field in upload datagramLennart Poettering2008-05-271-4/+8
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2489 fefdeb5f-60dc-0310-8127-8f9354f1896f
* big mumbo jumo of interleaved patches.Lennart Poettering2008-05-211-1/+1
| | | | | | | | | * 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
* remove a misplaced assertLennart Poettering2008-05-181-1/+0
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2466 fefdeb5f-60dc-0310-8127-8f9354f1896f
* dump latency metrics for recording streams, tooLennart Poettering2008-05-171-1/+6
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2454 fefdeb5f-60dc-0310-8127-8f9354f1896f
* merge glitch-free branch back into trunkLennart Poettering2008-05-151-241/+894
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2445 fefdeb5f-60dc-0310-8127-8f9354f1896f
* properly notify clients about suspended state when moving source output ↵Lennart Poettering2008-03-271-0/+1
| | | | | | streams. Closes #244. Patch from slicer git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2181 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Don't send opcodes introduced in protocol versions 12 to clients using protocolSjoerd Simons2008-01-041-0/+12
| | | | | | | version 11. (fixes #183) git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2097 fefdeb5f-60dc-0310-8127-8f9354f1896f
* when speaking to a client with a version < 12, hide S32 sample specs, and ↵Lennart Poettering2007-11-211-18/+59
| | | | | | make them appaear as FLOAT32 git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2069 fefdeb5f-60dc-0310-8127-8f9354f1896f
* - Check process name when dealing with PID filesLennart Poettering2007-11-211-24/+341
| | | | | | | | | | | | - 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
* Completely rework ALSA device selection code: choose the device to open ↵Lennart Poettering2007-11-131-2/+2
| | | | | | 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
* merge 'lennart' branch back into trunk.Lennart Poettering2007-10-281-564/+1087
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1971 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Kill spaces on EOLLennart Poettering2007-05-291-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1465 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Replace AO_xxx usage with pa_atomic_xxx and friends wherever it makes senseLennart Poettering2007-05-271-4/+4
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1459 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Fix yet another DoS vulnerability, also identified Luigi Auriemma (re #67)Lennart Poettering2007-05-231-1/+2
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1448 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Add copyright notices to all relevant files. (based on svn log)Pierre Ossman2007-02-131-0/+3
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1426 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Huge trailing whitespace cleanup. Let's keep the tree pure from here on,Pierre Ossman2007-01-041-137/+137
| | | | | | | mmmkay? git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1418 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Revert r1404 and keep it on a development branch until it is fully tested.Pierre Ossman2006-11-061-12/+2
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1409 fefdeb5f-60dc-0310-8127-8f9354f1896f
* rework memory block management to be thread-safe and mostly lock-free.Lennart Poettering2006-09-261-2/+12
| | | | | | | | | | | | | | | | | | | | | 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
* make pa_mempool_stat thread-safe/lock-freeLennart Poettering2006-08-291-4/+4
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1343 fefdeb5f-60dc-0310-8127-8f9354f1896f
* If a client leaves the sink/source for a stream unspecified by passing NULL asLennart Poettering2006-08-191-16/+18
| | | | | | | | | | 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
* activate SHM support on the server side only when new client supports it and ↵Lennart Poettering2006-08-181-2/+23
| | | | | | when client and server have the same UID. git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1277 fefdeb5f-60dc-0310-8127-8f9354f1896f
* remove all occurences of Lennart Poettering2006-08-181-24/+24
| | | | | | | | | | | | 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
* Rework memory management to allow shared memory data transfer. The central ideaLennart Poettering2006-08-181-11/+14
| | | | | | | | | | | | | | | 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
* implement hook_source_ouput_new. For this I modified the ↵Lennart Poettering2006-08-131-4/+13
| | | | | | pa_source_output_new constructor to take a struct similar to what I already did for pa_sink_input_new() git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1250 fefdeb5f-60dc-0310-8127-8f9354f1896f
* ignore if we recieved a memory block for an invalid stream, since this might ↵Lennart Poettering2006-08-131-1/+1
| | | | | | happen unwillingly due to the asychnronous nature of the protocol git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1241 fefdeb5f-60dc-0310-8127-8f9354f1896f
* allow hooking into the process of creating playback streams. To implement ↵Lennart Poettering2006-08-131-16/+25
| | | | | | this I modified the pa_sink_input_new() signature to take a pa_sink_input_new_data structure instead of direct arguments. git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1237 fefdeb5f-60dc-0310-8127-8f9354f1896f
* test if sink->monitor_source is set before making use of itLennart Poettering2006-08-121-2/+2
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1228 fefdeb5f-60dc-0310-8127-8f9354f1896f
* wrap pa_source_output_move_to() in the native protocolLennart Poettering2006-08-031-14/+35
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1183 fefdeb5f-60dc-0310-8127-8f9354f1896f
* add new native protocol function for moving sink inputs between sinksLennart Poettering2006-07-311-1/+44
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1176 fefdeb5f-60dc-0310-8127-8f9354f1896f
* for the playing field of pa_timing_info use pa_sink_input::state == ↵Lennart Poettering2006-07-281-1/+1
| | | | | | PA_SINK_INPUT_RUNNING. This means that this variable will now refer to the current state and not to the expected future state, which is probably more what clients expect. git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1163 fefdeb5f-60dc-0310-8127-8f9354f1896f
* add missing #ifdef HAVE_CREDS (thanks, Flameeyes)Lennart Poettering2006-07-201-0/+2
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1130 fefdeb5f-60dc-0310-8127-8f9354f1896f
* implement "auth-ip-acl=" in the native and esound protocolsLennart Poettering2006-07-201-8/+36
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1125 fefdeb5f-60dc-0310-8127-8f9354f1896f
* * add new function pa_check_in_group()Lennart Poettering2006-07-191-18/+37
| | | | | | | | | | | | | * abstract credential APis a little bit by introducing HAVE_CREDS and a structure pa_creds * rework credential authentication * fix module-volume-restore and friends for usage in system-wide instance * remove loopback= argument from moulde-*-protocol-tcp since it is a superset of listen= and usually a bad idea anyway since the user shouldn't load the TCP module at all if he doesn't want remote access * rename a few variables in the jack modules to make sure they don't conflict with symbols defined in the system headers * add server address for system-wide daemons to the default server list for the the client libs * update todo git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1109 fefdeb5f-60dc-0310-8127-8f9354f1896f
* * add new --system command line parameter to the daemon for running ↵Lennart Poettering2006-07-191-1/+1
| | | | | | | | | | | | PulseAudio as system-wide instance * add PA_ prefixes to all global #defines * modify auth-by-creds: define a new group "pulse-access" which is used for authentication * add proper privilige dropping when running in --system mode * create runtime directory once on startup and not by each module seperately git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1105 fefdeb5f-60dc-0310-8127-8f9354f1896f
* add new PA_SOURCE_HARDWARE/PA_SINK_HARDWARE flagLennart Poettering2006-07-161-2/+8
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1091 fefdeb5f-60dc-0310-8127-8f9354f1896f