summaryrefslogtreecommitdiffstats
path: root/src/pulsecore
Commit message (Collapse)AuthorAgeFilesLines
* 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
* 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
* comment which values in pa_{sink,source,sink_input,source_output} structures ↵Lennart Poettering2006-08-114-34/+37
| | | | | | may be NULL git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1204 fefdeb5f-60dc-0310-8127-8f9354f1896f
* * introduce new functions pa_sink_set_description() and ↵Lennart Poettering2006-08-114-10/+69
| | | | | | | | | pa_source_set_description() for changing the description of a sink/source * allow sinks without monitor sources attached git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1203 fefdeb5f-60dc-0310-8127-8f9354f1896f
* do not export name validity checking routes and apply them only to ↵Lennart Poettering2006-08-112-9/+6
| | | | | | sink/source names, not sample names git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1199 fefdeb5f-60dc-0310-8127-8f9354f1896f
* rework name register a litle to only allow "valid" names.Lennart Poettering2006-08-112-33/+101
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1197 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 CLI command move-source-output as wrapper around ↵Lennart Poettering2006-08-031-1/+41
| | | | | | pa_source_output_move_to() git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1182 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Implement pa_source_input_move_to() for moving record streams between sourcesLennart Poettering2006-08-032-3/+77
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1181 fefdeb5f-60dc-0310-8127-8f9354f1896f
* - don't call pa_sink_notify in pa_sink_input_new() because the virtual ↵Lennart Poettering2006-08-031-4/+6
| | | | | | | | | methods are not yet initialized at this time - some minor cleanups git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1180 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
* add new commands opcode for moving sink inputs and source outputsLennart Poettering2006-07-311-0/+4
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1175 fefdeb5f-60dc-0310-8127-8f9354f1896f
* deal properly with recursive module unloadingLennart Poettering2006-07-311-0/+4
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1174 fefdeb5f-60dc-0310-8127-8f9354f1896f
* fix bad memory access if a non-existing entry shall be removed from a ↵Lennart Poettering2006-07-311-0/+3
| | | | | | pa_idxset by index git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1173 fefdeb5f-60dc-0310-8127-8f9354f1896f
* add new CLI function "move-sink-input" as wrapper around pa_sink_input_move_to()Lennart Poettering2006-07-291-2/+40
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1169 fefdeb5f-60dc-0310-8127-8f9354f1896f
* * implement "hot" moving of playback streams between sinks ↵Lennart Poettering2006-07-292-6/+239
| | | | | | | | | (pa_sink_input_move_to()). * optimize the adjusting of the volume in pa_sink_input_peek() a little git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1168 fefdeb5f-60dc-0310-8127-8f9354f1896f
* free the memblockq if we decide not to play itLennart Poettering2006-07-291-2/+6
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1167 fefdeb5f-60dc-0310-8127-8f9354f1896f
* if the memblockq is empty, return -1 in all casesLennart Poettering2006-07-291-0/+6
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1166 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
* fold the seperate variable pa_sink_input::playing into pa_sink_input::state ↵Lennart Poettering2006-07-282-15/+18
| | | | | | | | | | as state PA_SINK_INPUT_DRAINED. The following mappings hold: old PA_SINK_RUNNING + playing set = new PA_SINK_RUNNING old PA_SINK_RUNNING + playing not set = new PA_SINK_DRAINED git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1162 fefdeb5f-60dc-0310-8127-8f9354f1896f