Commit graph

376 commits

Author SHA1 Message Date
Lennart Poettering
8972d06bc7 add facility for managing realtime signals
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1688 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 00:23:33 +00:00
Lennart Poettering
ef2bc41b87 add monotonic clock abstraction pa_rtclock
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1687 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 00:22:51 +00:00
Lennart Poettering
6bfeef1818 rename a few things in a macro to make name collisions less likely
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1686 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 00:21:28 +00:00
Lennart Poettering
531cc3cfaf make use of new public function pa_is_power_of_two()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1685 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 00:21:00 +00:00
Lennart Poettering
b7b119ae00 add pa_is_power_of_two() and pa_make_power_of_two() functions
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1684 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 00:20:13 +00:00
Lennart Poettering
a0ad42a35f add macro for creating static TLS objects
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1683 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 00:19:33 +00:00
Lennart Poettering
b0b06b0002 add more PA_PTR_TO_XXX macros
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1682 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 00:18:58 +00:00
Lennart Poettering
5e93816e1b seperately get high nice level and acquire realtime sched
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1677 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-16 19:46:11 +00:00
Lennart Poettering
03b0b1db7b add pa_truncate_utf8() function for truncating a string and guaranteeing it stays valid UTF8 afterwards
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1673 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-16 13:46:32 +00:00
Lennart Poettering
c0d668431b fix an awful race condition when handling data requests
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1671 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-15 22:47:59 +00:00
Lennart Poettering
33c6f9dd52 set CLOEXEC on more fds
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1668 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-15 20:47:53 +00:00
Lennart Poettering
d2d0978454 add protocol support for muting sink inputs and suspending sinks/sources
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1666 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-15 19:30:04 +00:00
Lennart Poettering
b20d204a30 use pa_source_suspend_all/pa_sink_suspend_all for suspending all sinks/sources
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1664 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-15 19:27:12 +00:00
Lennart Poettering
a74e804973 fix muting for sink inputs
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1663 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-15 19:26:38 +00:00
Lennart Poettering
3d9299029c actually mute sinks when asked for i, add new function pa_sink_suspend_all
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1662 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-15 19:25:56 +00:00
Lennart Poettering
6f714d9887 actually mute sinks when asked for i, add new function pa_sink_suspend_all
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1661 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-15 19:25:42 +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
e381dd9e4d 64 bit fixes and minor gcc shut ups
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1656 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-12 23:24:05 +00:00
Lennart Poettering
1cecd46d95 Resurrect ability to move streams between sinks
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1649 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-11 23:46:51 +00:00
Lennart Poettering
79a586db17 add comments describing the context these functions are called from
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1648 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-11 23:45:50 +00:00
Lennart Poettering
3d81dde335 modernize pa_play_memblockq() and add a new function pa_memblockq_sink_input_new() which allows creation of memblockq streams without activating them immediately
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1647 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-11 23:45:13 +00:00
Lennart Poettering
14d93fce44 minor cleanup
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1646 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-11 23:44:00 +00:00
Lennart Poettering
e71a34762e restore the ability move record streams between sources
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1641 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-11 20:29:42 +00:00
Lennart Poettering
50e014e7a9 use single array for storing pa_core hook lists, add sink state changed hook, drop NO_HOOKS flags for sink inputs/source outputs, listen for resume events in module-suspend-on-idle.c
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1640 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-11 19:08:06 +00:00
Lennart Poettering
447c4a5327 deal with messages properly which are recieved after destruction of a stream
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1637 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-11 16:08:20 +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
f7b707b954 allow destruction of pa_fdsem object that are still in 'poll' state
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1634 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-11 16:00:02 +00:00
Lennart Poettering
a7a5f43f67 modernization
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1631 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-11 15:57:21 +00:00
Lennart Poettering
b44ce9e4e0 add default fragment settings variables to pa_core
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1629 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-11 15:56:06 +00:00
Lennart Poettering
59c9ed5473 move pstream item allocation to pa_flist
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1628 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-11 00:10:29 +00:00
Lennart Poettering
d2fed9d419 make revoke/release thread safe in the native protocol
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1627 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-10 23:42:17 +00:00
Lennart Poettering
ff4814cac7 add callbacks for the revoke/release stuff, so that we can make this thing thread-safe
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1626 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-10 23:41:50 +00:00
Lennart Poettering
4e145b676a if no thread-mq is attached to the current thread, return an error, don't hit an assert
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1625 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-10 23:40:05 +00:00
Lennart Poettering
3eae9038eb make use of pa_thread_mq everywhere
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1624 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-10 22:02:39 +00:00
Lennart Poettering
b3f1a133f1 minor update
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1623 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-10 22:01:54 +00:00
Lennart Poettering
f7171e86ca Wrap two pa_asyncmsq in a new pa_thread_mq object for bidirectional, lock-free communication between a main loop and a thread
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1622 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-10 22:01:17 +00:00
Lennart Poettering
27f75a5a1e Rename pa_once_t to pa_once
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1620 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-10 21:59:51 +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
ac49cc2029 do not acces playback pa_messagq from main thread
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1618 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-10 15:51:55 +00:00
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
0f155748da protect memimpors with a recursive mutex to avoid deadlock when shutting down
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1604 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-09 21:17:32 +00:00
Lennart Poettering
30ccf9a5c9 add a couple of additional hooks for modules to use
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1600 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-09 21:05:20 +00:00
Lennart Poettering
0c29a2f1db add new function pa_scache_play_item_by_name
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1596 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-09 13:47:25 +00:00
Lennart Poettering
fedca91468 Remove warning when client is too slow to handle our data
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1591 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-08 21:20:44 +00:00
Lennart Poettering
981d5fac83 don't print error on socket read/write failure
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1588 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-08 20:50:37 +00:00
Lennart Poettering
0a6f9afb8b add global suspend command to cli
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1586 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-07 10:47:00 +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
243f2fc20a minor fixes and cleanups
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1584 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-06 21:47:29 +00:00
Lennart Poettering
74b3b6d453 fix playback status querying
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1583 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-06 19:42:15 +00:00
Lennart Poettering
455ff8d342 fix a memory leak
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1582 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-06 17:37:59 +00:00