Commit graph

258 commits

Author SHA1 Message Date
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
Lennart Poettering
62790ccdb4 fix playback over native protocol
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1581 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-06 16:13:32 +00:00
Lennart Poettering
c306b83525 initialize 'length' properly
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1580 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-06 16:12:54 +00:00
Lennart Poettering
6775386983 make sure to handle disconnecting our own connection properly
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1579 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-05 14:06:47 +00:00
Lennart Poettering
41d67c40d9 minor optimization for cacheing in of samples by using posix_fadvise
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1578 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-05 13:52:01 +00:00
Lennart Poettering
872951cca1 use posix_fadvise to avoid page faults when reading audio files from disk
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1577 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-05 13:51:32 +00:00
Lennart Poettering
9d1eb1bbda play memchunks completely
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1576 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-05 11:22:03 +00:00
Lennart Poettering
bd0782eb06 initialize method pointers properly
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1575 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-05 00:09:48 +00:00
Lennart Poettering
55e0866297 typesafe casts
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1573 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-05 00:08:27 +00:00
Lennart Poettering
23d01bb75d Modernize pstream.[ch], reintroduce defer event to make things actually work
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1572 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-05 00:07:58 +00:00
Lennart Poettering
36dd7819da modernize play-memchunk and port it to the new core
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1571 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-05 00:07:07 +00:00
Lennart Poettering
34e41657e7 minor cleanups
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1570 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-05 00:06:35 +00:00
Lennart Poettering
d3eca287cf rename pa_source_output_new_data::corked to start_corked to match pa_sink_input_new_data::start_corked
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1563 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-31 22:56:35 +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
81aa8ea37c drop data from inputs only when in running state
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1558 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-28 22:55:44 +00:00
Lennart Poettering
5fbb8e12d6 add PA_SINK_OPENED/PA_SOURCE_OPENED macros for easier checking for _IDLE or _RUNNING states
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1555 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-28 20:58:33 +00:00
Lennart Poettering
c936e53fa2 Fix channel remapping in resample; other modernizations
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1548 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-26 19:30:51 +00:00
Lennart Poettering
4cc0d0a18f remove some log messages
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1547 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-26 19:19:42 +00:00
Lennart Poettering
86abfbf9e8 remove debug messages; don't queue request messages like nothing when send file is finished
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1546 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-26 14:40:17 +00:00