Pierre Ossman
19bd9148c5
Fix error messages for failure connecting streams.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1419 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-01-04 14:06:24 +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
1a460ee40a
Fix silly copy-and-paste error. ( closes #45 )
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1417 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-12-04 08:15:06 +00:00
Pierre Ossman
68bcbd2913
Fix incorrect assert.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1416 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-11-24 09:29:10 +00:00
Pierre Ossman
7933cbaf29
Add atomic.h as a dependency at relevant places.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1415 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-11-10 14:58:22 +00:00
Pierre Ossman
86f4c2108f
Make sure we package version.h.in.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1414 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-11-10 12:20:16 +00:00
Pierre Ossman
0a37ec28ff
Yet again try to fix the creation of necessary directories when srcdir !=
...
builddir.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1413 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-11-09 15:23:30 +00:00
Pierre Ossman
0ef2d7eb77
Support reversed endian floats. ( closes #28 ) ( closes #35 )
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1412 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-11-08 13:03:35 +00:00
Pierre Ossman
55c25c657e
Check correct variable for return value. Closes #37 .
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1411 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-11-08 12:56:26 +00:00
Pierre Ossman
d4ca81fc2e
Fix some missing line breaks.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1410 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-11-06 13:16:15 +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
Pierre Ossman
6ca819354c
The OSS spec is unclear what should happen when a reset is requested. Let's
...
have a nicer attitude and keep as much settings as possible.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1406 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-11-06 10:17:39 +00:00
Pierre Ossman
9776596848
Handle when threaded mainloop is freed before it is started.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1405 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-11-06 10:14:16 +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
5ad143b3ab
upgrade refcnt.h to make use of our new pa_atomic_xxx() API
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1403 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-26 23:42:08 +00:00
Lennart Poettering
736de36f68
add asynchronous inter-thread notification API
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1402 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-26 23:41:20 +00:00
Lennart Poettering
f1021b9e0b
enable module-hal-detect in the default configuration file only if HAL support is enabled ( closes #30 )
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1401 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-20 19:02:45 +00:00
Lennart Poettering
bf83a961d5
rename default realtime group from "realtime" to "pulse-rt", since it is pulseaudio specific. you may still pass --with-realtime-group=realtime to configure to get the old behaviour
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1400 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-20 19:01:59 +00:00
Pierre Ossman
71a6ceb29b
Revert r1398 as it broke the srcdir != builddir patch. New fix that doesn't
...
use the $(mkdir_p) define as it isn't present on many systems.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1399 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-19 07:54:53 +00:00
Pierre Ossman
534eeb181e
No need to create these dirs as they're part of the source tree.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1398 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-19 07:49:39 +00:00
Pierre Ossman
29ab939570
Stop using x86-isms and use ISO C (oversized shifts are undefined).
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1397 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-14 16:00:57 +00:00
Pierre Ossman
5f828c2c3d
Fix debug output for SNDCTL_DSP_SETFRAGMENT.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1396 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-14 14:56:31 +00:00
Pierre Ossman
772645922a
Fix up build structure for platform dependent modules. Also add implementation
...
on Win32 for pa_once().
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1395 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-11 07:56:03 +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
Pierre Ossman
7c6088d98a
Fix typo.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1393 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-11 07:14:39 +00:00
Lennart Poettering
fc08db2391
ignore flist-test in the correct dir
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1392 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-09 23:59:26 +00:00
Lennart Poettering
6b1794dfba
ignore flist-test
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1391 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-09 23:58:03 +00:00
Lennart Poettering
9358d28c21
update Makefile
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1390 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-09 23:56:58 +00:00
Lennart Poettering
0e96d8b7bc
make pa_mutex_new() and pa_cond_new() succeed in all cases. Similar behaviour to pa_xmalloc().
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1389 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-09 23:55:58 +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
d0dcde060b
rework pa_once once again, because the once function needs to have terminated before pa_once returns, regardless whether the local call executes it or another thread does.
...
With the previous code it might happen that an long-running initializing in a once function is not terminated yet when another thread thinks it already is.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1387 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-09 23:54:19 +00:00
Lennart Poettering
6d532029ea
update for newer APIs: replace direct usage of libatomic_ops by usage of our own atomic.h; remove pa_once implementation; always use our pa_once implementation instead of the POSIX version
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1386 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-09 22:59:17 +00:00
Lennart Poettering
3426a399cc
implement trival pa_once API based on atomic operations
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1385 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-09 22:55:51 +00:00
Lennart Poettering
c89cb6a00f
add static initializer PA_ATOMIC_INIT()
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1384 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-09 22:54:11 +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
ee40a3439f
implement a simple lock-free free list
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1382 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-09 21:05:31 +00:00
Lennart Poettering
bfaa358458
add a tiny wrapper around libatomic_ops: pa_atomic_int_t and pa_atomit_ptr_t.
...
Reasoning:
This wrapper fixes a few API issues I found with atomic_ops:
* AO_t is an int, which can be written to with "=". pa_tomic_int_t however is
a struct which due to type-safety enforces proper access with
pa_atomic_xx(). (Inspired by the way the Linux kernel handles this)
* AO_load()'s parameter is lacking a "const"
* Explicitly choosing the proper memory barrier for each call is very
difficult and especially hard to debug because most CPUs support only two
different barrier types which the eight types defined by atomic_ops are
mapped to. Most other software (i.e. glib, Linux kernel) which provides
atomic variable access usually do a full barrier in all cases and so should
we. Eventually we might choose to add additional memory barrier calls, in
which case we can add special versions of the current function with special
suffixes.
* The function names are unnecesarily long
* Atomic pointer accesses are only supported with manual casts.
The new pa_atomic_xxx interface borrows heavily from the GLib and Linux kernel
atomicity API, though it is different from both of them.
In addition this abstract API makes it easy to port PA to different atomicty
APIs, if libatomic_ops should ever become out-of-fashion or if the system OS
supports atomic primitives anyway.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1381 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-08 15:43:44 +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
1728e3ac98
make pa_stream thread-safe: use new refcounting system, protect access using mutexes
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1379 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-07 19:08:19 +00:00
Lennart Poettering
0669c99fb6
add missing channel names (fixes a segfault when parsing invalid channel maps)
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1378 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-07 13:31:53 +00:00
Lennart Poettering
40f18d97f6
fix alsa-sink example
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1377 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-07 13:29:59 +00:00
Lennart Poettering
40ecf869d0
don't hit an assert in the client if posix shm is not available
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1376 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-06 22:19:54 +00:00
Lennart Poettering
ead67cda48
fix indentation
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1375 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-06 22:19:11 +00:00
Lennart Poettering
66ec460845
fix a bogus debug line
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1374 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-06 21:37:09 +00:00
Lennart Poettering
6569199778
implement a few more ioctl()s, including a subset of SNDCTL_DSP_GETOPTR. Just enough to make JavaSound work.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1373 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-06 19:47:53 +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
6bbfb43f2a
add accessor functions for the userdata attached to a pa_thread object
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1371 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-04 22:15:15 +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
Lennart Poettering
813e95f3b8
port the threaded mainloop to our new abstract mutex/thread API
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1369 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-04 21:29:17 +00:00
Lennart Poettering
8e7c2a3b0c
make pa_thread_self() return a sensible pointer on foreign threads
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1368 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-04 21:28:34 +00:00