summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Rework memory management to allow shared memory data transfer. The central ideaLennart Poettering2006-08-1845-293/+1216
| | | | | | | | | | | | | | | 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
* modify pa_bytes_snprint() to return the string we just wrote to. This should ↵Lennart Poettering2006-08-172-2/+4
| | | | | | be binary compat with older versions which returned void git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1259 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
* use the description field of sinks/sources to name the zeroconf services, ↵Lennart Poettering2006-08-151-5/+5
| | | | | | instead of the logical name git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1257 fefdeb5f-60dc-0310-8127-8f9354f1896f
* extend module-rescue-streams to move also source outputs when a source diesLennart Poettering2006-08-131-4/+55
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1254 fefdeb5f-60dc-0310-8127-8f9354f1896f
* fix a segfault when registering a service with avahi failsLennart Poettering2006-08-131-9/+22
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1253 fefdeb5f-60dc-0310-8127-8f9354f1896f
* create rtp source output on correct sourceLennart Poettering2006-08-131-0/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1252 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-138-76/+160
| | | | | | 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
* Load module-rescue-streams by defaultLennart Poettering2006-08-131-0/+3
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1245 fefdeb5f-60dc-0310-8127-8f9354f1896f
* implement new module "module-rescue-streams" which moves sink inputs away ↵Lennart Poettering2006-08-132-1/+107
| | | | | | when their sink is removed. git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1244 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
* Clean up module description a littleLennart Poettering2006-08-131-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1242 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
* modify module-volume-restore to change the initial volume of a sink input ↵Lennart Poettering2006-08-131-7/+28
| | | | | | from a hook instead of an asyncronous subscription event. git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1238 fefdeb5f-60dc-0310-8127-8f9354f1896f
* allow hooking into the process of creating playback streams. To implement ↵Lennart Poettering2006-08-1316-138/+296
| | | | | | 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
* fix bad printf()Lennart Poettering2006-08-131-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1236 fefdeb5f-60dc-0310-8127-8f9354f1896f
* rework hook list stuff once again: change the callback prototype to recieve ↵Lennart Poettering2006-08-133-18/+27
| | | | | | 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-134-96/+149
| | | | | | 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
* update hook list testLennart Poettering2006-08-121-2/+0
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1233 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-123-1/+47
| | | | 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
* make use of pa_sink_used_by()/pa_source_used_by() wherever applicableLennart Poettering2006-08-129-25/+15
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1227 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
* name the sink/source after the device file, just like we already do for the ↵Lennart Poettering2006-08-121-5/+28
| | | | | | non-mmaped driver git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1224 fefdeb5f-60dc-0310-8127-8f9354f1896f
* generate default sink/source names from the device files they belong toLennart Poettering2006-08-123-9/+56
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1223 fefdeb5f-60dc-0310-8127-8f9354f1896f
* handle hot-remeving of OSS devices properlyLennart Poettering2006-08-122-35/+81
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1221 fefdeb5f-60dc-0310-8127-8f9354f1896f
* print the device capabilities after opening the deviceLennart Poettering2006-08-121-5/+50
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1220 fefdeb5f-60dc-0310-8127-8f9354f1896f
* when the requested sample format is not available for OSS devices, print a ↵Lennart Poettering2006-08-121-5/+25
| | | | | | nice warning and take what we can get instead git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1219 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
* * only load an OSS driver for the first device of a sound card, similar to ↵Lennart Poettering2006-08-121-7/+14
| | | | | | | | | what is done for ALSA. * fix a mem leak git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1217 fefdeb5f-60dc-0310-8127-8f9354f1896f
* fix a segfault in module-ossLennart Poettering2006-08-121-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1216 fefdeb5f-60dc-0310-8127-8f9354f1896f
* fix pa_gettimeofday() return value testingLennart Poettering2006-08-121-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1215 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
* add new macro PA_LLIST_INSERT_AFTERLennart Poettering2006-08-121-1/+18
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1209 fefdeb5f-60dc-0310-8127-8f9354f1896f
* increase module argument buffer size to prevent truncating namesShahms E. King2006-08-121-2/+2
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1208 fefdeb5f-60dc-0310-8127-8f9354f1896f