Pierre Ossman
d964459a64
Fix detection of page size for non-POSIX systems.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1312 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-22 07:41:23 +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
bf62e77f71
fix a bad memory access
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1302 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-19 23:04:04 +00:00
Lennart Poettering
c0b3e8b346
when transferring large memory chunks of a pa_pstream, split them up
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1300 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-19 18:57:33 +00:00
Lennart Poettering
3e0f00f93d
if MAP_ANONYMOUS is not supported use posix_memalign if possible to allocate the memory pool
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1296 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-19 17:27:27 +00:00
Lennart Poettering
c6ca9a85c3
print per-type memory block statistics on "stat"
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1294 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-19 16:25:41 +00:00
Lennart Poettering
57f0b08cc1
generate per-type memory block statistics
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1293 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-19 16:25:15 +00:00
Lennart Poettering
af87c7d21b
rework the resample to allocate temporary memory with pa_memblock_new() instead of pa_xrealloc()
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1291 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-19 02:23:52 +00:00
Lennart Poettering
206ac6f3ee
allow importing of external shm data blocks unconditionally, even when local SHM support is disabled
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1283 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-19 01:16:38 +00:00
Lennart Poettering
046bdd9b30
deal properly with pa_mempool_new() failing
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1282 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-19 01:15:48 +00:00
Lennart Poettering
8c9bdb838c
fix allocation of anonymous memory
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1281 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-19 01:15:22 +00:00
Lennart Poettering
c2db5f8864
fix a memory leak
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1280 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-19 01:14:59 +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
c313b23d5f
one s/0/NULL/
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1276 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-18 23:43:27 +00:00
Lennart Poettering
7ac79098a6
remove export/import objects when SHM is disable for a pa_pstream object
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1275 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-18 23:42:14 +00:00
Lennart Poettering
fd3fe96ce5
add new function pa_mempool_is_shared() to test whether a memory pool is suitable for SHM data transfers
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1274 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-18 23:40:48 +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
Lennart Poettering
1bc62d5ec6
rework logging subsystem, to implicitly include __FILE__ in pa_log() calls. 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
2006-08-18 21:26:01 +00:00
Lennart Poettering
0e436a6926
Rework memory management to allow shared memory data transfer. The central idea
...
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
2006-08-18 19:55:18 +00:00
Lennart Poettering
ff48681aae
add abstracted shared memory API
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1265 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-18 19:46:20 +00:00
Lennart Poettering
20d0823e35
fix a bad type cast
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1264 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-18 19:45:19 +00:00
Lennart Poettering
dfa17b9f36
cleanup hashmap.[ch] a little: use hash/compare func prototypes defined in idxset.h, add pa_hashmpa_{get,steal}_first
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1263 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-18 19:43:46 +00:00
Lennart Poettering
8be0cf6007
cleanup idxset.[ch] a little: define proper types for the hash/compare 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
2006-08-18 19:42:14 +00:00
Lennart Poettering
c3df1ceb38
fix a PA_LLIST_HEAD_INIT invocation
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1261 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-17 20:03:38 +00:00
Lennart Poettering
a847f74ed0
add missing #include
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1260 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-17 20:03:09 +00:00
Lennart Poettering
99db0672c7
make PA_LLIST_HEAD_INIT thread safe
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1258 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-17 20:01:04 +00:00
Lennart Poettering
d182a0b1cb
minor optimization
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1251 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-13 20:43:22 +00:00
Lennart Poettering
a75e1ed9ef
implement hook_source_ouput_new. For this I modified the 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
2006-08-13 19:55:17 +00:00
Lennart Poettering
e0f7e8614c
split a validity check into two
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1249 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-13 19:53:35 +00:00
Lennart Poettering
79cb80c574
implement hook_source_disconnect
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1248 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-13 19:53:18 +00:00
Lennart Poettering
8f91b1f4c4
define new hooks: hook_source_output_new, hook_source_disconnect
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1247 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-13 19:52:43 +00:00
Lennart Poettering
8180832898
properly implement a pa_sink_disconnect() hook
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1243 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-13 17:33:32 +00:00
Lennart Poettering
abbabd848a
ignore if we recieved a memory block for an invalid stream, since this might 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
2006-08-13 17:31:58 +00:00
Lennart Poettering
72cf2118df
remove pa_sink_input::variable_rate field since it has been folded into pa_sink_input::flags
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1240 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-13 17:30:51 +00:00
Lennart Poettering
a621d90285
allow hooking into the process of creating playback streams. To implement 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
2006-08-13 16:19:56 +00:00
Lennart Poettering
db3f561ec4
rework hook list stuff once again: change the callback prototype to recieve 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
2006-08-13 16:13:36 +00:00
Lennart Poettering
281125c727
rework hook list stuff again, and replace macros with real functins. We 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
2006-08-13 01:43:34 +00:00
Lennart Poettering
82a913d73e
reall add type safe hook list
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1232 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-12 23:55:22 +00:00
Lennart Poettering
80d73dd21b
implement typeafe hook chain
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1231 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-12 23:35:44 +00:00
Lennart Poettering
7f70ca31a1
extend maximum sink/source name length, because HAL UDIs can get ridiculously long
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1230 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-12 17:59:10 +00:00
Lennart Poettering
02e083cbc4
test if sink->monitor_source is set before making use of it
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1228 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-12 17:06:39 +00:00
Lennart Poettering
b5207fc9ca
add pa_sink_used_by()/pa_source_used_by()
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1226 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-12 16:50:58 +00:00
Lennart Poettering
0547b0fd4a
there's no need to queue subscription events if noone is listening, hence don't do it!
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1218 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-12 15:08:53 +00:00
Lennart Poettering
3aba099fc3
clean up event generation a little: suppress unnecessary events and generate new ones on owner change
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1212 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-12 02:19:36 +00:00
Lennart Poettering
47d009afd6
rework subscription code: try to drop redundant queued events
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1211 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-12 02:18:24 +00:00
Lennart Poettering
f8e5f47e23
fix a compiler warning
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1210 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-12 02:16:47 +00:00
Lennart Poettering
e9d9356d11
add new macro PA_LLIST_INSERT_AFTER
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1209 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-12 02:16:12 +00:00
Lennart Poettering
af1b0317f6
comment which values in pa_{sink,source,sink_input,source_output} structures may be NULL
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1204 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-11 23:31:59 +00:00
Lennart Poettering
c90dd53268
* introduce new functions pa_sink_set_description() and 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
2006-08-11 17:53:34 +00:00
Lennart Poettering
539612a5c2
do not export name validity checking routes and apply them only to sink/source names, not sample names
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1199 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-11 16:58:21 +00:00