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
Pierre Ossman
6ca46f4d7a
Make interpol-test build on Win32 and non-pthread systems.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1043 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-06-20 13:49:30 +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
Lennart Poettering
6eabab6e2b
minor cleanups
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1028 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-06-19 12:20:10 +00:00
Lennart Poettering
9f59b4e1cd
add new test "interpol-test"
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1027 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-06-19 11:27:00 +00:00
Lennart Poettering
cc61b57a32
rename pa_simple_get_playback_latency() to pa_simple_get_latency() and allow its usage on capture streams
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@939 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-20 14:59:02 +00:00
Pierre Ossman
24a781992b
Don't include util.h from core-util.h as it is not needed by many users.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@929 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-18 07:04:41 +00:00
Pierre Ossman
0796ead0db
Move timeval calculation functions into their own file.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@926 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-18 06:45:43 +00:00
Lennart Poettering
53a285e756
fix include line for "core-util.h"
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@923 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-17 20:44:55 +00:00