Lennart Poettering
2741685d3a
use priority inheritance on mutexes where applicable
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1837 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-17 00:32:51 +00:00
Lennart Poettering
ac1ee4e675
add new API pa_mempool_block_size_max() to query the maximum tile size
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1831 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-16 21:57:15 +00:00
Lennart Poettering
d5bedbcd98
remaining s/assert/pa_assert/ and refcnt.h modernizations
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1809 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-11 20:48:33 +00:00
Lennart Poettering
b41dbfd28d
fix an assert when runnig module-oss in record only-mode. optimize allocation of memblocks on playback
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1777 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-06 23:29:16 +00:00
Lennart Poettering
f36ca79716
add new API pa_memblock_will_need() and make use of PA_PAGE_SIZE macro
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1746 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-02 20:37:17 +00:00
Lennart Poettering
687f1f15fc
add new function pa_memblock_ref_is_one()
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1729 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-30 22:42:02 +00:00
Lennart Poettering
4eb9bb0746
fix a bad memory access when destructing pa_memimports
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1711 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-23 22:34:49 +00:00
Lennart Poettering
e381dd9e4d
64 bit fixes and minor gcc shut ups
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1656 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-12 23:24:05 +00:00
Lennart Poettering
0f155748da
protect memimpors with a recursive mutex to avoid deadlock when shutting down
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1604 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-09 21:17:32 +00:00
Lennart Poettering
bc17b8ea2d
reverse order flist destruction and mempool allocation warning
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1543 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-26 13:20:11 +00:00
Lennart Poettering
068f5d5eef
drop chunk argument from various drop() functions, since it doesn't make any sense if we want to guarantee always monotonously increasing read pointers; a couple of other fixes
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1529 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-25 14:46:40 +00:00
Lennart Poettering
65d54d6aaf
s/assert/pa_assert/g; make use of static flist for memblock allocation where applicable; properly initialize length value in pa_memexport_put()
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1521 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-13 23:27:15 +00:00
Lennart Poettering
63c231ed36
Fix concurrency bug when turning memblock into a local memblock
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1514 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-13 12:12:40 +00:00
Lennart Poettering
00da37f2c4
Merge HUGE set of changes temporarily into a branch, to allow me to move them from one machine to another (lock-free and stuff)
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1469 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-06-11 12:08:37 +00:00
Lennart Poettering
918cacb4f4
Replace AO_xxx usage with pa_atomic_xxx and friends wherever it makes sense
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1459 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-05-27 20:38:14 +00:00
Pierre Ossman
06211b7c8f
Add copyright notices to all relevant files. (based on svn log)
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1426 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-02-13 15:35:19 +00:00
Pierre Ossman
521daf6f0a
Huge trailing whitespace cleanup. Let's keep the tree pure from here on,
...
mmmkay?
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1418 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-01-04 13:43:45 +00:00
Pierre Ossman
8dc6214276
Revert r1404 and keep it on a development branch until it is fully tested.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1409 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-11-06 13:06:01 +00:00
Lennart Poettering
d210ebbb09
rework memory block management to be thread-safe and mostly lock-free.
...
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
2006-09-26 23:50:56 +00:00
Lennart Poettering
791bbd8e0e
don't maintain a list of allocated mempool slots, we don't use it anyway
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1380 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-07 20:17:25 +00:00
Lennart Poettering
5264d235d2
make pa_mempool_stat thread-safe/lock-free
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1343 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-29 02:01:39 +00:00
Lennart Poettering
327e0cd8e1
modify memory block reference counting to use the new reference counting API
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1342 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-29 01:16:47 +00:00
Pierre Ossman
2575b44637
fix typo
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1328 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-23 07:58:07 +00:00
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
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
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
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
f44ba09265
big s/polyp/pulse/g
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1033 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-06-19 21:53:48 +00:00