Lennart Poettering
c6b43bf119
prefix by order macros with PA_
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1884 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-22 01:16:14 +00:00
Lennart Poettering
f26de8077d
add test program for the resampler
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1879 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-22 00:19:56 +00:00
Pierre Ossman
aff22cfc62
NSIG seems to be more common than _NSIG.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1852 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-18 10:45:54 +00:00
Lennart Poettering
26a1ae7bbb
Rename pa_strsignal() to pa_sig2str(), since we return the symbolical signal name, not a human readable string. This follows the Solaris API of sig2str() a bit. Also, add all remaining signals to the list of signal names.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1843 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-17 15:26:18 +00:00
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
ef83a19525
extend rtpoll API to allow registration of arbitray functions to be executed in the event loop. Add priority system for specifying the order of these functions.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1816 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-12 22:57:29 +00:00
Lennart Poettering
cf3e9da9dd
add missing config.h inclusion
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1815 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-12 22:54:22 +00:00
Lennart Poettering
391d09cd6e
add 'wait' parameter to pa_rtpoll_run(), if zero pa_rtpoll_runn will only update the struct pollfd but not wait for an event
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1803 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-11 13:15:39 +00:00
Lennart Poettering
de21b54bd1
add new API pa_threaded_mainloop_in_thread(), update test case for it
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1795 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-10 21:58:01 +00:00
Lennart Poettering
4c31ff9b45
fix a couple of compiler warnings
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1768 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-04 20:01:19 +00:00
Lennart Poettering
0ff2afd8a6
support absolute, relative and periodic timers in pa_rtpoll
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1703 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 22:26:30 +00:00
Lennart Poettering
dc9d80326e
add test program for pa_rtpoll
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1690 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 00:24:31 +00:00
Lennart Poettering
8a663d4cda
a couple of build fixes
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1658 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-13 00:15:55 +00:00
Lennart Poettering
c1c59b4675
add proper refcounting to pa_asyncmsgq objects, to allow destruction from the dispatched callbacks
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1635 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-11 16:01:25 +00:00
Lennart Poettering
aff77c162b
update thread test to use pa_once instead of pa_once_t
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1621 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-10 22:00:22 +00:00
Lennart Poettering
d4cb042a56
move pa_queue to an implementation based on pa_flist
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1619 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-10 16:47:39 +00:00
Lennart Poettering
0defdfb560
A lot of updates, all necessary to get the native protocol ported:
...
* add an int64_t argument to pa_asyncmsgq because it is very difficult to pass 64 values otherwise
* simplify subclassing in pa_object
* s/drop/unlink/ at some places
* port the native protocol to the lock-free core (not tested, compiles fine)
* move synchronisation of playback streams into pa_sink_input
* add "start_corked" field to pa_sink_input_new_data
* allow casting of NULL values in pa_object
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1562 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-31 22:44:53 +00:00
Lennart Poettering
8cdde282e8
reverse order of printf and push to make output more readable
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1539 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-26 13:15:58 +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
2a19c466bc
Fix typo in pa_memblock_release() call; s/assert/pa_assert/
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1522 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-13 23:28:11 +00:00
Lennart Poettering
be4a882836
A lot of more work to get the lock-free stuff in place
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1474 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-06-13 22:08:14 +00:00
Lennart Poettering
a4fed0fbb5
make eolspace
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1470 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-06-11 12:17: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
Lennart Poettering
e41b91eec9
drop unused variable
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1439 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-05-22 23:37:27 +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
Pierre Ossman
a85b3e2dd4
Use platform independent sleep.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1394 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-11 07:54:41 +00:00
Lennart Poettering
3ae98db1aa
add pa_once testing code
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1388 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-09 23:54:56 +00:00
Lennart Poettering
b93fedd49c
add a test program for the free list
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1383 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-09 21:09:55 +00:00
Lennart Poettering
e00ba020cb
remove yet another occurence of pthread_yield() by pa_thread_yield()
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1372 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-04 22:38:41 +00:00
Lennart Poettering
3be920d9ae
fix pa_thread_is_running() for foreign threads; fix a memory leak for foreign threads
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1370 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-04 22:04:33 +00:00
Pierre Ossman
6e9706bcbc
Also wrap yield functionality so that it can be platform independent.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1353 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-31 16:13:07 +00:00
Lennart Poettering
b2c341f935
add a threading primitive API
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1344 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-29 19:51:14 +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
Pierre Ossman
aec3888ef2
Add missing header.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1330 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-24 08:57:35 +00:00
Lennart Poettering
35caf0c4ea
add new test memblock-test for testing SHM import/export
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1268 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-18 19:56:51 +00:00
Lennart Poettering
c3fc2eaa7e
update tests for new memory manager
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1267 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-18 19:56:11 +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
2622b0ca9e
update hook list test
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1233 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-12 23:55:48 +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
Pierre Ossman
09e01afa1f
Get ACL:s to work on Win32.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1134 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-20 23:21:57 +00:00
Lennart Poettering
6ad1f33c3f
even more FreeBSD portability (thanks Flameeyes, again!)
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1131 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-20 22:58:37 +00:00
Lennart Poettering
30ada90fd2
add IP address ACL subsystem
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1123 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-20 16:48:26 +00:00
Lennart Poettering
9db70682d6
remove glib 1.2 adapter. It started to bitrot and wasn't used by anything anyway.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1104 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-18 19:53:29 +00:00
Lennart Poettering
860be2e70b
try to use send(,,MSG_NOSIGNAL) instead of write() wherever possible (which
...
will allow us to drop the SIGPIPE check). Cache the results of the last
write()/send() to make sure that we do not issue more than necessary system
calls.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1083 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-14 22:42:01 +00:00
Lennart Poettering
883ce83f92
add new test get-binary-name-test for testing pa_get_binary_name()
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1079 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-14 00:19:09 +00:00
Pierre Ossman
1342999b51
Make sure we do not use pthread_yield() on platforms that do not have them.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1045 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-06-20 14:26:52 +00:00