Commit graph

159 commits

Author SHA1 Message Date
Lennart Poettering
ffa1708070 * drop redundant pa_core argument from module initialization functions
* make pa__done() implementations optional
* a couple of modernizations
* wrap lt_dlsym() at a single place
* allow passing of an "api" argument to the HAL module, to choose whether OSS devices or ALSA devices should be picked up
* optimize fd closing a little on linux in the forked gconf helper
* save a little memory in the xsmp module


git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1615 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-10 14:28:39 +00:00
Lennart Poettering
d9e44c52cb Add X11 XSMP module for hooking into the X11 session manager, for being notified about X11 disconnects before they actually happen, so that we are not killed by the bloody xlibs
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1610 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-09 23:47:06 +00:00
Lennart Poettering
bb46da3b4a add new module-suspend-on-idle module which suspends sinks/sources which are idle for more than 5s (or any other configurable time). Power saving, here we come\!
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1602 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-09 21:07:14 +00:00
Lennart Poettering
1f9ce59969 port esound protocol to new lock-free core
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1585 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-06 21:47:53 +00:00
Lennart Poettering
81760ad897 merge compat changes from trunk
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1569 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-04 20:20:33 +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
a82505e72f port module-alsa-source to new lock-free core
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1561 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-28 23:50:20 +00:00
Lennart Poettering
787f93533c port module-alsa-sink to new lock-free core. also add mmmap'ing support while doing so.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1551 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-28 17:24:28 +00:00
Lennart Poettering
58af737ebb Add fdsem to makefile
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1540 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-26 13:16:37 +00:00
Lennart Poettering
929526de33 Convert most snprintf() calls to pa_snprintf()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1534 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-25 16:23:03 +00:00
Lennart Poettering
8442926483 Reenable a couple of more modules
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1516 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-13 12:13:55 +00:00
Lennart Poettering
ac1387d3cc Remove module-oss-mmap, since it is now merged into module-oss
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1511 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-13 00:15:59 +00:00
Lennart Poettering
bb3ad9d38e Update OSS driver for new lock-free core
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1491 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-06-23 20:05:20 +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
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
1e12e0ee8d Kill spaces on EOL
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1465 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-05-29 17:24:48 +00:00
Lennart Poettering
65e8761683 fix suid Makefile target
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1454 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-05-25 20:24:55 +00:00
Pierre Ossman
e042a90a53 Pulsecore should be linked into all modules.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1435 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-03-06 13:42:30 +00:00
Pierre Ossman
06211b7c8f 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
2007-02-13 15:35:19 +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
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
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
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
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
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
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
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
2536ba9279 rework handling of srcdir != builddir (patch from Flameeyes)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1366 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-02 14:59:12 +00:00
Lennart Poettering
6528b6b19e allow building when srcdir != builddir (patch from Flameeyes)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1363 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-02 12:51:44 +00:00
Lennart Poettering
161c2c0c45 make esdcompat executable
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1360 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-02 12:28:17 +00:00
Pierre Ossman
3571bf1699 Thread implementation for Win32.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1356 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-01 18:16:55 +00:00
Lennart Poettering
aee4a3738e 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
2006-08-31 15:20:43 +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
9948cb09a3 add lock-free reference counting macros, based on libatomic-ops
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1341 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-29 01:15:51 +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
dd87061153 implement new module "module-rescue-streams" which moves sink inputs away when their sink is removed.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1244 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-13 17:34: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
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
Lennart Poettering
050b73912c merge HAL support from Shams E. King
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1187 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-06 16:16:50 +00:00
Lennart Poettering
12aa842174 introduce pa_play_memblockq() which creates a playback stream and passes the data from the memblockq to it. after that is done, frees the memblockq
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1161 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-28 22:52:28 +00:00
Lennart Poettering
cc1d8213d6 add new module "module-gconf" which reads configuration information from gconf. this will be used in my upcoming paconf module
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1150 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-26 17:36:14 +00:00
Lennart Poettering
3aac89331b add massif target to Makefile
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1141 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-23 22:36:08 +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
55e97b84c4 fix a few @@ replacments
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1132 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-20 23:04:59 +00:00
Lennart Poettering
44beeaa648 implement "auth-ip-acl=" in the native and esound protocols
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1125 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-20 18:43:20 +00:00
Lennart Poettering
db75f68854 actually ship src/pulsecore/creds.h in the tarballs
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1124 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-20 16:56:06 +00:00