Commit graph

56 commits

Author SHA1 Message Date
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
Lennart Poettering
ee35a063b2 add new channel map argument to pa_simple_new()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@911 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-17 18:52:34 +00:00
Pierre Ossman
7ca25e58e9 Move utf8 to the public part (libpolyp).
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@909 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-17 17:30:49 +00:00
Pierre Ossman
d9cc2cfcb9 Move xmalloc to the public side (libpolyp).
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@908 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-17 16:34:18 +00:00
Lennart Poettering
4b6ab291a7 * modify pa_channel_map_init_auto() to take an extra argument specifying the standard to use (ALSA, AIFF, ...)
* add some more validity checks to pa_source_new(),pa_sink_new(),pa_sink_input_new(),pa_source_output_new()


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@888 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-16 23:47:38 +00:00
Lennart Poettering
53595938d0 add new test programme utf8-test.c
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@880 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-16 00:46:03 +00:00
Lennart Poettering
e929aabc03 split of signal releasing into its own function and name it pa_threaded_mainloop_accept()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@844 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-11 13:01:24 +00:00
Pierre Ossman
06e1867307 Use pa_msleep() to get platform independence.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@833 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-09 08:38:37 +00:00
Lennart Poettering
4b4c8fd152 * optionally, make pa_threaded_mainloop_signal() wait until the main thread took over control
* more header file comments


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@831 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-06 20:58:02 +00:00
Lennart Poettering
5f9bbf005a add support for reading audio data from a file instead of plain STDIN in pacat-simple.c
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@830 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-06 20:56:43 +00:00
Lennart Poettering
9e60bad5c3 add new threaded main loop implementation (with test/example)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@823 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-30 23:34:17 +00:00
Lennart Poettering
5f7cc0c870 add new test 'channelmap-test'
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@800 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-26 14:34:45 +00:00
Pierre Ossman
acb96c96fd Fix some warnings caused by size_t having varying size.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@641 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-03-31 08:54:24 +00:00
Pierre Ossman
45baa6958e Fix warning caused by missing return in main().
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@624 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-03-04 17:31:23 +00:00
Pierre Ossman
1bb14c3a1d 64-bit fixes.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@611 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-02-27 09:09:15 +00:00
Lennart Poettering
0858ef9bed fix yet another pa_context_connect() occurance with regards to the flags parameter
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@535 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-02-20 23:30:53 +00:00