summaryrefslogtreecommitdiffstats
path: root/src/pulsecore
Commit message (Collapse)AuthorAgeFilesLines
* Fall back to creating a "normal" memory pool if unable to get a shared one.Pierre Ossman2006-08-221-4/+13
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1321 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Improve error messages a bit.Pierre Ossman2006-08-222-2/+5
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1320 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Fix up portability of memory pool handling a bit.Pierre Ossman2006-08-221-33/+43
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1319 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Fix detection of shared memory support and proper fallback.Pierre Ossman2006-08-221-1/+24
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1316 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Fix detection of page size for non-POSIX systems.Pierre Ossman2006-08-221-1/+7
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1312 fefdeb5f-60dc-0310-8127-8f9354f1896f
* If a client leaves the sink/source for a stream unspecified by passing NULL asLennart Poettering2006-08-192-24/+31
| | | | | | | | | | 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
* fix a bad memory accessLennart Poettering2006-08-191-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1302 fefdeb5f-60dc-0310-8127-8f9354f1896f
* when transferring large memory chunks of a pa_pstream, split them upLennart Poettering2006-08-191-13/+29
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1300 fefdeb5f-60dc-0310-8127-8f9354f1896f
* if MAP_ANONYMOUS is not supported use posix_memalign if possible to allocate ↵Lennart Poettering2006-08-191-2/+19
| | | | | | the memory pool git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1296 fefdeb5f-60dc-0310-8127-8f9354f1896f
* print per-type memory block statistics on "stat"Lennart Poettering2006-08-191-1/+20
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1294 fefdeb5f-60dc-0310-8127-8f9354f1896f
* generate per-type memory block statisticsLennart Poettering2006-08-192-1/+22
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1293 fefdeb5f-60dc-0310-8127-8f9354f1896f
* rework the resample to allocate temporary memory with pa_memblock_new() ↵Lennart Poettering2006-08-191-25/+58
| | | | | | instead of pa_xrealloc() git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1291 fefdeb5f-60dc-0310-8127-8f9354f1896f
* allow importing of external shm data blocks unconditionally, even when local ↵Lennart Poettering2006-08-191-10/+4
| | | | | | SHM support is disabled git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1283 fefdeb5f-60dc-0310-8127-8f9354f1896f
* deal properly with pa_mempool_new() failingLennart Poettering2006-08-191-2/+6
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1282 fefdeb5f-60dc-0310-8127-8f9354f1896f
* fix allocation of anonymous memoryLennart Poettering2006-08-191-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1281 fefdeb5f-60dc-0310-8127-8f9354f1896f
* fix a memory leakLennart Poettering2006-08-191-1/+3
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1280 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
* one s/0/NULL/Lennart Poettering2006-08-181-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1276 fefdeb5f-60dc-0310-8127-8f9354f1896f
* remove export/import objects when SHM is disable for a pa_pstream objectLennart Poettering2006-08-181-5/+20
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1275 fefdeb5f-60dc-0310-8127-8f9354f1896f
* add new function pa_mempool_is_shared() to test whether a memory pool is ↵Lennart Poettering2006-08-182-0/+7
| | | | | | suitable for SHM data transfers git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1274 fefdeb5f-60dc-0310-8127-8f9354f1896f
* remove all occurences of Lennart Poettering2006-08-1834-222/+222
| | | | | | | | | | | | 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 logging subsystem, to implicitly include __FILE__ in pa_log() calls. ↵Lennart Poettering2006-08-182-46/+84
| | | | | | In addition we now record the line numbers and function names of pa_log calls. However, those are only shown If $PULSE_LOG_META is set. git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1271 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Rework memory management to allow shared memory data transfer. The central ideaLennart Poettering2006-08-1828-260/+1185
| | | | | | | | | | | | | | | 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
* add abstracted shared memory APILennart Poettering2006-08-182-0/+266
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1265 fefdeb5f-60dc-0310-8127-8f9354f1896f
* fix a bad type castLennart Poettering2006-08-181-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1264 fefdeb5f-60dc-0310-8127-8f9354f1896f
* cleanup hashmap.[ch] a little: use hash/compare func prototypes defined in ↵Lennart Poettering2006-08-182-11/+46
| | | | | | idxset.h, add pa_hashmpa_{get,steal}_first git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1263 fefdeb5f-60dc-0310-8127-8f9354f1896f
* cleanup idxset.[ch] a little: define proper types for the hash/compare ↵Lennart Poettering2006-08-182-6/+14
| | | | | | funcs, do ptr->int/int->ptr conversions with clean macros git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1262 fefdeb5f-60dc-0310-8127-8f9354f1896f
* fix a PA_LLIST_HEAD_INIT invocationLennart Poettering2006-08-171-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1261 fefdeb5f-60dc-0310-8127-8f9354f1896f
* add missing #includeLennart Poettering2006-08-171-0/+2
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1260 fefdeb5f-60dc-0310-8127-8f9354f1896f
* make PA_LLIST_HEAD_INIT thread safeLennart Poettering2006-08-171-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1258 fefdeb5f-60dc-0310-8127-8f9354f1896f
* minor optimizationLennart Poettering2006-08-131-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1251 fefdeb5f-60dc-0310-8127-8f9354f1896f
* implement hook_source_ouput_new. For this I modified the ↵Lennart Poettering2006-08-137-74/+151
| | | | | | 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
* split a validity check into twoLennart Poettering2006-08-131-1/+2
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1249 fefdeb5f-60dc-0310-8127-8f9354f1896f
* implement hook_source_disconnectLennart Poettering2006-08-131-1/+3
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1248 fefdeb5f-60dc-0310-8127-8f9354f1896f
* define new hooks: hook_source_output_new, hook_source_disconnectLennart Poettering2006-08-132-2/+9
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1247 fefdeb5f-60dc-0310-8127-8f9354f1896f
* properly implement a pa_sink_disconnect() hookLennart Poettering2006-08-133-4/+7
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1243 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
* remove pa_sink_input::variable_rate field since it has been folded into ↵Lennart Poettering2006-08-132-2/+1
| | | | | | pa_sink_input::flags git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1240 fefdeb5f-60dc-0310-8127-8f9354f1896f
* allow hooking into the process of creating playback streams. To implement ↵Lennart Poettering2006-08-1313-132/+265
| | | | | | 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
* rework hook list stuff once again: change the callback prototype to recieve ↵Lennart Poettering2006-08-132-9/+15
| | | | | | three data pointers: one to the data for the hook, once for the slot and once for the call git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1235 fefdeb5f-60dc-0310-8127-8f9354f1896f
* rework hook list stuff again, and replace macros with real functins. We ↵Lennart Poettering2006-08-132-77/+133
| | | | | | loose type safety but things are much cleaner now git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1234 fefdeb5f-60dc-0310-8127-8f9354f1896f
* reall add type safe hook listLennart Poettering2006-08-121-0/+117
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1232 fefdeb5f-60dc-0310-8127-8f9354f1896f
* implement typeafe hook chainLennart Poettering2006-08-121-0/+2
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1231 fefdeb5f-60dc-0310-8127-8f9354f1896f
* extend maximum sink/source name length, because HAL UDIs can get ↵Lennart Poettering2006-08-121-1/+1
| | | | | | ridiculously long git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1230 fefdeb5f-60dc-0310-8127-8f9354f1896f
* test if sink->monitor_source is set before making use of itLennart Poettering2006-08-122-3/+3
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1228 fefdeb5f-60dc-0310-8127-8f9354f1896f
* add pa_sink_used_by()/pa_source_used_by()Lennart Poettering2006-08-124-1/+24
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1226 fefdeb5f-60dc-0310-8127-8f9354f1896f
* there's no need to queue subscription events if noone is listening, hence ↵Lennart Poettering2006-08-121-0/+4
| | | | | | don't do it! git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1218 fefdeb5f-60dc-0310-8127-8f9354f1896f
* clean up event generation a little: suppress unnecessary events and generate ↵Lennart Poettering2006-08-124-1/+22
| | | | | | new ones on owner change git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1212 fefdeb5f-60dc-0310-8127-8f9354f1896f
* rework subscription code: try to drop redundant queued events Lennart Poettering2006-08-124-97/+129
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1211 fefdeb5f-60dc-0310-8127-8f9354f1896f
* fix a compiler warningLennart Poettering2006-08-121-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1210 fefdeb5f-60dc-0310-8127-8f9354f1896f