Commit graph

331 commits

Author SHA1 Message Date
Lennart Poettering
a558e9312e port module-rtp-send.c to lock-free core
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1855 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-18 17:41:51 +00:00
Lennart Poettering
08d4b237a3 actually close the alsa device before we try to reopen it as plughw
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1854 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-18 12:53:42 +00:00
Lennart Poettering
4cde5073f0 add LADSPA sink than can be piggy-backed ontop of another sink
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1848 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-17 22:42:20 +00:00
Lennart Poettering
7b4f981e4f print a message when we fall back on plughw
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1847 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-17 22:40:42 +00:00
Lennart Poettering
1ae473bd1b fall back to plughw: if hw: doesn't work
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1844 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-17 17:00:50 +00:00
Lennart Poettering
d3b898513c drop a couple of WARNING prefixes in log messages, since we have pa_log_warn anyway for marking warnings especially
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1842 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-17 14:03:04 +00:00
Lennart Poettering
2741685d3a use priority inheritance on mutexes where applicable
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1837 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-17 00:32:51 +00:00
Lennart Poettering
35483eeab7 add a new module module-remap-sink which can be used to remap the channel maps of an already existant sink. one use case is to create a virtual sink that redirects stereo data to the rear speakers of a surround card.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1834 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-16 22:03:19 +00:00
Lennart Poettering
1d1eda6059 add a "length" argument to the seek functions, as an optimization to request a certain block size if any data needs to be generated. this is merely a hint.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1833 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-16 22:00:38 +00:00
Lennart Poettering
e17fbf0606 be a little bit more elaborate on the reason why we drop to software volume control if hw is not featureful enough for us
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1827 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-16 15:09:45 +00:00
Lennart Poettering
298d2392f9 trivial typo
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1825 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-15 14:57:18 +00:00
Lennart Poettering
8389264d65 count corked streams per sink/source and make pa_sink_used_by() return only the number of streams that are not corked. Introduce pa_sink_linked_by() returning the number of streams connected at all. This will allow suspending of sinks/sources when all streams connected to a sink are corked.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1824 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-15 14:21:05 +00:00
Lennart Poettering
5ae4eed52e Move attaching/detaching from a pa_rtpoll into pa_sink proper, remove it from module-combine
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1823 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-14 23:26:17 +00:00
Lennart Poettering
3396b65f15 simplify rt loops a bit by moving more code into pa_rtpoll. It is now possible to attach "work" functions to a pa_rtpoll_item, which will be called in each loop iteration. This allows us to hide the message processing in the RT loops and to drop the seperate sink_input->process hooks. Basically, only the driver-specific code remains in the RT loops.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1822 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-14 21:51:05 +00:00
Lennart Poettering
04ed0f9536 call dbus_shutdown() before exiting, to make valgrind output more useful
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1819 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-14 21:02:18 +00:00
Lennart Poettering
ef83a19525 extend rtpoll API to allow registration of arbitray functions to be executed in the event loop. Add priority system for specifying the order of these functions.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1816 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-12 22:57:29 +00:00
Lennart Poettering
4137865815 change pa_modargs_get_channel_map() to take an extra argument for specifying the name of the modargs attribute to parse
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1813 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-12 20:12:13 +00:00
Lennart Poettering
7f92542420 consolidate close() calls to pa_close(), and make sure on every occasion that we handle failures of close() sensibly
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1811 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-12 00:04:21 +00:00
Lennart Poettering
d5bedbcd98 remaining s/assert/pa_assert/ and refcnt.h modernizations
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1809 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-11 20:48:33 +00:00
Lennart Poettering
391d09cd6e add 'wait' parameter to pa_rtpoll_run(), if zero pa_rtpoll_runn will only update the struct pollfd but not wait for an event
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1803 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-11 13:15:39 +00:00
Lennart Poettering
98f9bd62a6 make sure that the device volume is properly read before we call pa_sink_put() and thus make the pa_sink available
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1789 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-10 20:55:01 +00:00
Lennart Poettering
06db9219a0 don't call pa_source_process_msg() for PA_SOURCE_MESSAGE_GET_LATENCY, since it makes querying the latency always fail
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1784 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-10 14:23:00 +00:00
Pierre Ossman
028632fd57 TIOCINQ isn't present on all systems.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1781 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-10 11:33:47 +00:00
Lennart Poettering
b41dbfd28d fix an assert when runnig module-oss in record only-mode. optimize allocation of memblocks on playback
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1777 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-06 23:29:16 +00:00
Lennart Poettering
b1fd53b20b explicitly test for the availability of dbus_watch_get_unix_fd() before using it. The previous version-based check didn't work anyway since the constants checked for weren't set.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1772 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-06 20:06:02 +00:00
Lennart Poettering
4c31ff9b45 fix a couple of compiler warnings
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1768 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-04 20:01:19 +00:00
Lennart Poettering
c029038164 actually add source code of module-default-device-restore
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1761 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-03 20:53:44 +00:00
Lennart Poettering
1d3e70c7d3 header file cleanup
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1759 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-03 20:51:17 +00:00
Lennart Poettering
cc8c499875 fix dbus version check for dbus_watch_get_unix_fd()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1752 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-02 21:18:46 +00:00
Lennart Poettering
68981e5e97 fix build for dbus < 1.1.1, re #126, patch from Marc-Andre Lureau
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1750 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-02 20:51:25 +00:00
Lennart Poettering
8cf822a3d9 make use of new PA_PAGE_SIZE macro
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1744 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-02 20:36:00 +00:00
Lennart Poettering
f59dd18fe6 - fix suspend handling
- set sink description properly
- honour resample_method setting


git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1735 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-31 00:22:31 +00:00
Lennart Poettering
241ad047c8 port module-combine to new core
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1734 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-30 22:58:12 +00:00
Lennart Poettering
4d623f0d44 Lots of assorted minor cleanups and fixes:
* s/disconnect/unlink/ at many places where it makes sense
* make "start_corked" a normal pa_sink_input/pa_source_output flag instead of a seperate boolean variable
* add generic process() function to pa_sink_input/pa_source_output vtable that can be used by streams to do some arbitrary processing in each rt loop iteration even the sink/source is suspended
* add detach()/attach() functions to pa_sink_input/pa_source_output vtable that are called when ever the rtpoll object of the event thread changes
* add suspend() functions to pa_sink_input/pa_source_output vtable which are called whenever the sink/source they are attached to suspends/resumes
* add PA_SINK_INIT/PA_SOURCE_INIT/PA_SINK_INPUT_INIT/PA_SINK_OUTPUT_INIT states to state machines which is active between _new() and _put()
* seperate _put() from _new() for pa_sink/pa_source
* add PA_SOURCE_OUTPUT_DONT_MOVE/PA_SINK_INPUT_DONT_MOVE flags
* make the pa_rtpoll object a property of pa_sink/pa_source to allow streams attached to them make use of it
* fix skipping over move_silence
* update module-pipe-source to make use of pa_rtpoll
* add pa_sink_skip() as optimization in cases where the actualy data returned by pa_sink_render() doesn't matter


git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1733 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-30 22:57:53 +00:00
Lennart Poettering
f82067f6de lower suspend timeout to 1s
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1719 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-25 22:27:51 +00:00
Lennart Poettering
9d381599be port remaining sinks to pa_rtpoll
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1705 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 22:27:53 +00:00
Lennart Poettering
1bfa1802d4 minor cleanups
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1704 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 22:27:07 +00:00
Lennart Poettering
53b872c070 port alsa driver to make use of new pa_rtpoll object
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1702 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 17:13:07 +00:00
Lennart Poettering
7fca89034f check pa_core::high_priority before becoming rt thread
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1694 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-22 00:27:25 +00:00
Lennart Poettering
2d292befab use realtime scheduling for ALSA and OSS driver threads
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1679 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-16 19:50:11 +00:00
Lennart Poettering
39d1e65338 truncate service names if necessary, include user name in service string
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1674 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-16 13:47:18 +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
45e495499e fix latency reporting for oss and alsa modules
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1645 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-11 23:43:39 +00:00
Lennart Poettering
06f2799d8f minor modernizations
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1644 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-11 20:31:34 +00:00
Lennart Poettering
57734ec414 hook into move operations for resuming/suspending devices appropriately
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1643 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-11 20:31:08 +00:00
Lennart Poettering
44b82a1925 Add 'via DMA' to sink/source description if device is accessed with mmap()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1642 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-11 20:30:21 +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
a3cd8002b5 port oss driver to make use of the default fragment sizes as defined in pa_core: store in the sink/source description whether mmap is used; if mmap() fails, fall back to UNIX read/write mode instead of bailing out immediately
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1639 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-11 17:09:07 +00:00
Lennart Poettering
b71dde0e35 make sure that the device access event sound is only generated once
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1638 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-11 16:51:21 +00:00
Lennart Poettering
107b23d202 fix module-hal when no api= argument is specified
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1636 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-11 16:07:38 +00:00