profile/ivi/pulseaudio.git
17 years agoadd a missing initialization that causes a crash when parsing invalid volume restorat...
Lennart Poettering [Wed, 23 May 2007 17:12:07 +0000 (17:12 +0000)]
add a missing initialization that causes a crash when parsing invalid volume restoration tables (Problem identified by Luigi Auriemma, re #67)

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1451 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agoFix a DoS with allocating overly large silence buffers. (Identified by Luigi Auriemma...
Lennart Poettering [Wed, 23 May 2007 16:59:03 +0000 (16:59 +0000)]
Fix a DoS with allocating overly large silence buffers. (Identified by Luigi Auriemma (re #67)

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1450 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agodon't allow excessively high sample rates
Lennart Poettering [Wed, 23 May 2007 16:57:35 +0000 (16:57 +0000)]
don't allow excessively high sample rates

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1449 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agoFix yet another DoS vulnerability, also identified Luigi Auriemma (re #67)
Lennart Poettering [Wed, 23 May 2007 16:42:26 +0000 (16:42 +0000)]
Fix yet another DoS vulnerability, also identified Luigi Auriemma (re #67)

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1448 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agofix minor typo
Lennart Poettering [Wed, 23 May 2007 16:30:57 +0000 (16:30 +0000)]
fix minor typo

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1447 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agoFix another DoS vulnerability, also identified Luigi Auriemma (closes #67)
Lennart Poettering [Wed, 23 May 2007 16:29:18 +0000 (16:29 +0000)]
Fix another DoS vulnerability, also identified Luigi Auriemma (closes #67)

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1446 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agofix a DoS vulnerability (re #67), originally identified by Luigi Auriemma
Lennart Poettering [Wed, 23 May 2007 16:24:54 +0000 (16:24 +0000)]
fix a DoS vulnerability (re #67), originally identified by Luigi Auriemma

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1445 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agofix a few obvious copynpaste errors when handling volumes
Lennart Poettering [Wed, 23 May 2007 15:30:34 +0000 (15:30 +0000)]
fix a few obvious copynpaste errors when handling volumes

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1444 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agoTreat empty :0.0 identically to unset :0.0 when trying to find a PA server. (Closes...
Lennart Poettering [Wed, 23 May 2007 12:32:37 +0000 (12:32 +0000)]
Treat empty :0.0 identically to unset :0.0 when trying to find a PA server. (Closes #87)

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1443 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agoFix module-oss for devices that return EAGAIN when we don't expect it. (Closes #66)
Lennart Poettering [Wed, 23 May 2007 01:02:06 +0000 (01:02 +0000)]
Fix module-oss for devices that return EAGAIN when we don't expect it. (Closes #66)

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1442 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agoshow socket directory when we fail to create it. (Closes #85)
Lennart Poettering [Tue, 22 May 2007 23:39:47 +0000 (23:39 +0000)]
show socket directory when we fail to create it. (Closes #85)

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1441 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agoFix build and only load OSS xor ALSA modules if both are available
Lennart Poettering [Tue, 22 May 2007 23:38:22 +0000 (23:38 +0000)]
Fix build and only load OSS xor ALSA modules if both are available

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1440 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agodrop unused variable
Lennart Poettering [Tue, 22 May 2007 23:37:27 +0000 (23:37 +0000)]
drop unused variable

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1439 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agofix comment
Lennart Poettering [Tue, 22 May 2007 23:08:34 +0000 (23:08 +0000)]
fix comment

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1438 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agoAdd support for SNDCTL_DSP_SETTRIGGER. (closes #56)
Pierre Ossman [Wed, 7 Mar 2007 09:27:30 +0000 (09:27 +0000)]
Add support for SNDCTL_DSP_SETTRIGGER. (closes #56)

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1437 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agoFix some instances where we printed a string without first checking that
Pierre Ossman [Tue, 6 Mar 2007 15:47:11 +0000 (15:47 +0000)]
Fix some instances where we printed a string without first checking that
the pointer was valid.

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1436 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agoPulsecore should be linked into all modules.
Pierre Ossman [Tue, 6 Mar 2007 13:42:30 +0000 (13:42 +0000)]
Pulsecore should be linked into all modules.

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1435 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agoDon't fail if hal doesn't currently contain any devices. (closes #55)
Pierre Ossman [Tue, 6 Mar 2007 13:31:29 +0000 (13:31 +0000)]
Don't fail if hal doesn't currently contain any devices. (closes #55)

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1434 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agoHandle suspended alsa devices. Based on patch by ranma. (closes #26)
Pierre Ossman [Fri, 2 Mar 2007 09:20:54 +0000 (09:20 +0000)]
Handle suspended alsa devices. Based on patch by ranma. (closes #26)

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1433 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agoRevert stuff from commit 1431 that wasn't supposed to be there.
Pierre Ossman [Thu, 1 Mar 2007 17:15:43 +0000 (17:15 +0000)]
Revert stuff from commit 1431 that wasn't supposed to be there.

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1432 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agoHandle when ALSA tweaks our sample spec so much that the frame size changes.
Pierre Ossman [Thu, 1 Mar 2007 17:13:26 +0000 (17:13 +0000)]
Handle when ALSA tweaks our sample spec so much that the frame size changes.
(closes #57).

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1431 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agoAdd some debugging output from sample cache subsystem.
Pierre Ossman [Thu, 1 Mar 2007 17:11:10 +0000 (17:11 +0000)]
Add some debugging output from sample cache subsystem.

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1430 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agoAdd a wrapper around close() to work around Windows' ass backwards way of
Pierre Ossman [Wed, 14 Feb 2007 12:13:49 +0000 (12:13 +0000)]
Add a wrapper around close() to work around Windows' ass backwards way of
handling sockets.

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1429 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agoAllow a formatted string in the validation warning.
Pierre Ossman [Wed, 14 Feb 2007 09:27:19 +0000 (09:27 +0000)]
Allow a formatted string in the validation warning.

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1428 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agoPrefix log lines with a character indicating level.
Pierre Ossman [Wed, 14 Feb 2007 09:26:48 +0000 (09:26 +0000)]
Prefix log lines with a character indicating level.

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1427 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agoAdd copyright notices to all relevant files. (based on svn log)
Pierre Ossman [Tue, 13 Feb 2007 15:35:19 +0000 (15:35 +0000)]
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

17 years agoMake sure we get proper host identifiers.
Pierre Ossman [Mon, 12 Feb 2007 09:39:12 +0000 (09:39 +0000)]
Make sure we get proper host identifiers.

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1425 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agoAllow specification of device number.
Pierre Ossman [Mon, 12 Feb 2007 09:37:34 +0000 (09:37 +0000)]
Allow specification of device number.

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1424 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agoDon't abort config loading when the user specific cannot be loaded.
Pierre Ossman [Mon, 5 Feb 2007 10:26:14 +0000 (10:26 +0000)]
Don't abort config loading when the user specific cannot be loaded.

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1423 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agoMake sure we report success for SNDCTL_DSP_SETDUPLEX.
Pierre Ossman [Fri, 19 Jan 2007 08:00:31 +0000 (08:00 +0000)]
Make sure we report success for SNDCTL_DSP_SETDUPLEX.

(Patch by ZlatkO)

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1422 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agoReport IO error on ioctl() when we're in a fatal error state.
Pierre Ossman [Thu, 4 Jan 2007 14:20:53 +0000 (14:20 +0000)]
Report IO error on ioctl() when we're in a fatal error state.

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1421 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agoFree stream objects when they've been invalidated.
Pierre Ossman [Thu, 4 Jan 2007 14:17:57 +0000 (14:17 +0000)]
Free stream objects when they've been invalidated.

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1420 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agoFix error messages for failure connecting streams.
Pierre Ossman [Thu, 4 Jan 2007 14:06:24 +0000 (14:06 +0000)]
Fix error messages for failure connecting streams.

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1419 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agoHuge trailing whitespace cleanup. Let's keep the tree pure from here on,
Pierre Ossman [Thu, 4 Jan 2007 13:43:45 +0000 (13:43 +0000)]
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

17 years agoFix silly copy-and-paste error. (closes #45)
Pierre Ossman [Mon, 4 Dec 2006 08:15:06 +0000 (08:15 +0000)]
Fix silly copy-and-paste error. (closes #45)

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1417 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agoFix incorrect assert.
Pierre Ossman [Fri, 24 Nov 2006 09:29:10 +0000 (09:29 +0000)]
Fix incorrect assert.

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1416 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agoAdd atomic.h as a dependency at relevant places.
Pierre Ossman [Fri, 10 Nov 2006 14:58:22 +0000 (14:58 +0000)]
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

17 years agoMake sure we package version.h.in.
Pierre Ossman [Fri, 10 Nov 2006 12:20:16 +0000 (12:20 +0000)]
Make sure we package version.h.in.

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1414 fefdeb5f-60dc-0310-8127-8f9354f1896f

17 years agoYet again try to fix the creation of necessary directories when srcdir !=
Pierre Ossman [Thu, 9 Nov 2006 15:23:30 +0000 (15:23 +0000)]
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

18 years agoSupport reversed endian floats. (closes #28) (closes #35)
Pierre Ossman [Wed, 8 Nov 2006 13:03:35 +0000 (13:03 +0000)]
Support reversed endian floats. (closes #28) (closes #35)

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1412 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agoCheck correct variable for return value. Closes #37.
Pierre Ossman [Wed, 8 Nov 2006 12:56:26 +0000 (12:56 +0000)]
Check correct variable for return value. Closes #37.

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1411 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agoFix some missing line breaks.
Pierre Ossman [Mon, 6 Nov 2006 13:16:15 +0000 (13:16 +0000)]
Fix some missing line breaks.

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1410 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agoRevert r1404 and keep it on a development branch until it is fully tested.
Pierre Ossman [Mon, 6 Nov 2006 13:06:01 +0000 (13:06 +0000)]
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

18 years agoThe OSS spec is unclear what should happen when a reset is requested. Let's
Pierre Ossman [Mon, 6 Nov 2006 10:17:39 +0000 (10:17 +0000)]
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

18 years agoHandle when threaded mainloop is freed before it is started.
Pierre Ossman [Mon, 6 Nov 2006 10:14:16 +0000 (10:14 +0000)]
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

18 years agorework memory block management to be thread-safe and mostly lock-free.
Lennart Poettering [Tue, 26 Sep 2006 23:50:56 +0000 (23:50 +0000)]
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

18 years agoupgrade refcnt.h to make use of our new pa_atomic_xxx() API
Lennart Poettering [Tue, 26 Sep 2006 23:42:08 +0000 (23:42 +0000)]
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

18 years agoadd asynchronous inter-thread notification API
Lennart Poettering [Tue, 26 Sep 2006 23:41:20 +0000 (23:41 +0000)]
add asynchronous inter-thread notification API

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1402 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agoenable module-hal-detect in the default configuration file only if HAL support is...
Lennart Poettering [Wed, 20 Sep 2006 19:02:45 +0000 (19:02 +0000)]
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

18 years agorename default realtime group from "realtime" to "pulse-rt", since it is pulseaudio...
Lennart Poettering [Wed, 20 Sep 2006 19:01:59 +0000 (19:01 +0000)]
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

18 years agoRevert r1398 as it broke the srcdir != builddir patch. New fix that doesn't
Pierre Ossman [Tue, 19 Sep 2006 07:54:53 +0000 (07:54 +0000)]
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

18 years agoNo need to create these dirs as they're part of the source tree.
Pierre Ossman [Tue, 19 Sep 2006 07:49:39 +0000 (07:49 +0000)]
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

18 years agoStop using x86-isms and use ISO C (oversized shifts are undefined).
Pierre Ossman [Thu, 14 Sep 2006 16:00:57 +0000 (16:00 +0000)]
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

18 years agoFix debug output for SNDCTL_DSP_SETFRAGMENT.
Pierre Ossman [Thu, 14 Sep 2006 14:56:31 +0000 (14:56 +0000)]
Fix debug output for SNDCTL_DSP_SETFRAGMENT.

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1396 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agoFix up build structure for platform dependent modules. Also add implementation
Pierre Ossman [Mon, 11 Sep 2006 07:56:03 +0000 (07:56 +0000)]
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

18 years agoUse platform independent sleep.
Pierre Ossman [Mon, 11 Sep 2006 07:54:41 +0000 (07:54 +0000)]
Use platform independent sleep.

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1394 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agoFix typo.
Pierre Ossman [Mon, 11 Sep 2006 07:14:39 +0000 (07:14 +0000)]
Fix typo.

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1393 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agoignore flist-test in the correct dir
Lennart Poettering [Sat, 9 Sep 2006 23:59:26 +0000 (23:59 +0000)]
ignore flist-test in the correct dir

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1392 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agoignore flist-test
Lennart Poettering [Sat, 9 Sep 2006 23:58:03 +0000 (23:58 +0000)]
ignore flist-test

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1391 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agoupdate Makefile
Lennart Poettering [Sat, 9 Sep 2006 23:56:58 +0000 (23:56 +0000)]
update Makefile

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1390 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agomake pa_mutex_new() and pa_cond_new() succeed in all cases. Similar behaviour to...
Lennart Poettering [Sat, 9 Sep 2006 23:55:58 +0000 (23:55 +0000)]
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

18 years agoadd pa_once testing code
Lennart Poettering [Sat, 9 Sep 2006 23:54:56 +0000 (23:54 +0000)]
add pa_once testing code

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1388 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agorework pa_once once again, because the once function needs to have terminated before...
Lennart Poettering [Sat, 9 Sep 2006 23:54:19 +0000 (23:54 +0000)]
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

18 years agoupdate for newer APIs: replace direct usage of libatomic_ops by usage of our own...
Lennart Poettering [Sat, 9 Sep 2006 22:59:17 +0000 (22:59 +0000)]
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

18 years agoimplement trival pa_once API based on atomic operations
Lennart Poettering [Sat, 9 Sep 2006 22:55:51 +0000 (22:55 +0000)]
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

18 years agoadd static initializer PA_ATOMIC_INIT()
Lennart Poettering [Sat, 9 Sep 2006 22:54:11 +0000 (22:54 +0000)]
add static initializer PA_ATOMIC_INIT()

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1384 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agoadd a test program for the free list
Lennart Poettering [Sat, 9 Sep 2006 21:09:55 +0000 (21:09 +0000)]
add a test program for the free list

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1383 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agoimplement a simple lock-free free list
Lennart Poettering [Sat, 9 Sep 2006 21:05:31 +0000 (21:05 +0000)]
implement a simple lock-free free list

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1382 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agoadd a tiny wrapper around libatomic_ops: pa_atomic_int_t and pa_atomit_ptr_t.
Lennart Poettering [Fri, 8 Sep 2006 15:43:44 +0000 (15:43 +0000)]
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

18 years agodon't maintain a list of allocated mempool slots, we don't use it anyway
Lennart Poettering [Thu, 7 Sep 2006 20:17:25 +0000 (20:17 +0000)]
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

18 years agomake pa_stream thread-safe: use new refcounting system, protect access using mutexes
Lennart Poettering [Thu, 7 Sep 2006 19:08:19 +0000 (19:08 +0000)]
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

18 years agoadd missing channel names (fixes a segfault when parsing invalid channel maps)
Lennart Poettering [Thu, 7 Sep 2006 13:31:53 +0000 (13:31 +0000)]
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

18 years agofix alsa-sink example
Lennart Poettering [Thu, 7 Sep 2006 13:29:59 +0000 (13:29 +0000)]
fix alsa-sink example

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1377 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agodon't hit an assert in the client if posix shm is not available
Lennart Poettering [Wed, 6 Sep 2006 22:19:54 +0000 (22:19 +0000)]
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

18 years agofix indentation
Lennart Poettering [Wed, 6 Sep 2006 22:19:11 +0000 (22:19 +0000)]
fix indentation

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1375 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agofix a bogus debug line
Lennart Poettering [Wed, 6 Sep 2006 21:37:09 +0000 (21:37 +0000)]
fix a bogus debug line

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1374 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agoimplement a few more ioctl()s, including a subset of SNDCTL_DSP_GETOPTR. Just enough...
Lennart Poettering [Wed, 6 Sep 2006 19:47:53 +0000 (19:47 +0000)]
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

18 years agoremove yet another occurence of pthread_yield() by pa_thread_yield()
Lennart Poettering [Mon, 4 Sep 2006 22:38:41 +0000 (22:38 +0000)]
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

18 years agoadd accessor functions for the userdata attached to a pa_thread object
Lennart Poettering [Mon, 4 Sep 2006 22:15:15 +0000 (22:15 +0000)]
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

18 years agofix pa_thread_is_running() for foreign threads; fix a memory leak for foreign threads
Lennart Poettering [Mon, 4 Sep 2006 22:04:33 +0000 (22:04 +0000)]
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

18 years agoport the threaded mainloop to our new abstract mutex/thread API
Lennart Poettering [Mon, 4 Sep 2006 21:29:17 +0000 (21:29 +0000)]
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

18 years agomake pa_thread_self() return a sensible pointer on foreign threads
Lennart Poettering [Mon, 4 Sep 2006 21:28:34 +0000 (21:28 +0000)]
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

18 years agoadd missing g_type_init()
Lennart Poettering [Sat, 2 Sep 2006 15:18:56 +0000 (15:18 +0000)]
add missing g_type_init()

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1367 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agorework handling of srcdir != builddir (patch from Flameeyes)
Lennart Poettering [Sat, 2 Sep 2006 14:59:12 +0000 (14:59 +0000)]
rework handling of srcdir != builddir (patch from Flameeyes)

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1366 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agoinclude PTRHEAD_LIBS in pkg-config file (patch from Flameeyes)
Lennart Poettering [Sat, 2 Sep 2006 14:57:50 +0000 (14:57 +0000)]
include PTRHEAD_LIBS in pkg-config file (patch from Flameeyes)

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1365 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agoupdate acx_pthread.m4
Lennart Poettering [Sat, 2 Sep 2006 14:56:41 +0000 (14:56 +0000)]
update acx_pthread.m4

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1364 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agoallow building when srcdir != builddir (patch from Flameeyes)
Lennart Poettering [Sat, 2 Sep 2006 12:51:44 +0000 (12:51 +0000)]
allow building when srcdir != builddir (patch from Flameeyes)

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1363 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agofix a few autoconf warnings (patch by Flameeyes)
Lennart Poettering [Sat, 2 Sep 2006 12:45:53 +0000 (12:45 +0000)]
fix a few autoconf warnings (patch by Flameeyes)

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1362 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agofix esdcompat for non-gnu systems
Lennart Poettering [Sat, 2 Sep 2006 12:28:40 +0000 (12:28 +0000)]
fix esdcompat for non-gnu systems

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1361 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agomake esdcompat executable
Lennart Poettering [Sat, 2 Sep 2006 12:28:17 +0000 (12:28 +0000)]
make esdcompat executable

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1360 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agoMerge FreeBSD compatibility patch (from Flameeyes)
Lennart Poettering [Sat, 2 Sep 2006 12:03:18 +0000 (12:03 +0000)]
Merge FreeBSD compatibility patch (from Flameeyes)

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1359 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agoFix call to pa_mutex_new().
Pierre Ossman [Fri, 1 Sep 2006 19:06:44 +0000 (19:06 +0000)]
Fix call to pa_mutex_new().

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1358 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agoAdd pthread_once() equivalent support.
Pierre Ossman [Fri, 1 Sep 2006 18:39:55 +0000 (18:39 +0000)]
Add pthread_once() equivalent support.

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1357 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agoThread implementation for Win32.
Pierre Ossman [Fri, 1 Sep 2006 18:16:55 +0000 (18:16 +0000)]
Thread implementation for Win32.

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1356 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agofix a race condition with stream connection vs. latency measuremtn (found by theBear)
Lennart Poettering [Fri, 1 Sep 2006 00:24:32 +0000 (00:24 +0000)]
fix a race condition with stream connection vs. latency measuremtn (found by theBear)

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1355 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agoMake sure libatomic_ops.a isn't included in win32 builds as libtool doesn't
Pierre Ossman [Thu, 31 Aug 2006 16:39:53 +0000 (16:39 +0000)]
Make sure libatomic_ops.a isn't included in win32 builds as libtool doesn't
like static libs in dlls. Everything is in the headers anyway, so we do not
need it.

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1354 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agoAlso wrap yield functionality so that it can be platform independent.
Pierre Ossman [Thu, 31 Aug 2006 16:13:07 +0000 (16:13 +0000)]
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

18 years agowork around bug in firefox which apparently misuses access() as NULL pointer test...
Lennart Poettering [Thu, 31 Aug 2006 15:31:33 +0000 (15:31 +0000)]
work around bug in firefox which apparently misuses access() as NULL pointer test. Original patch by "alon". (Closes #27)

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1352 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agodefine AO_REQUIRE_CAS in the Makefile instead of each source file, effectively revers...
Lennart Poettering [Thu, 31 Aug 2006 15:20:43 +0000 (15:20 +0000)]
define AO_REQUIRE_CAS in the Makefile instead of each source file, effectively reversing r1348

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1351 fefdeb5f-60dc-0310-8127-8f9354f1896f

18 years agoupdate todo
Lennart Poettering [Thu, 31 Aug 2006 15:17:40 +0000 (15:17 +0000)]
update todo

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1350 fefdeb5f-60dc-0310-8127-8f9354f1896f