Commit graph

281 commits

Author SHA1 Message Date
Lennart Poettering
067a68abf9 fix build for auxiliary modules
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2310 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-23 19:22:56 +00:00
Lennart Poettering
76031df4a4 Big pile of interdependant changes:
* Fix a deadlock when an asyncq overflows and an RT thread needed to wait until space became available again while the main thread was waiting for a operation to complete and thus didn't free any new items. Now, if the asyncq overflows, queue those items temporarily, and return immediately. Then, when the queue becomes writable again, flush it.
* Modify pa_thread_mq_init() to also set up pa_rtpoll events properly for the MQ
* Some more pa_bool_t'ization
* Unify more common code between alsa-sink and alsa-source
* The upper limit for the tsched watermark is max_use minus one frame
* make module-alsa-source work
* make the alsa modules use pa_alsa_build_pollfd() now
* fix detection of dB scale for alsa-source


git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2308 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-23 18:26:48 +00:00
Lennart Poettering
998ed8ede1 add missing header definitions for last commit
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2304 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-23 18:13:11 +00:00
Lennart Poettering
3f57d3aab2 add new function pa_alsa_build_pollfd() to alsa-util to unify a bit more common code from the sink and the source
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2303 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-23 18:12:46 +00:00
Lennart Poettering
5e6aacdbe2 * don't increase tsched_watermark on underrun without limits
* fix the watermark when we change the latency
* fix latency measurement
* move rewinding code into its own function
* make use of new function pa_alsa_recover_from_poll() were applicable


git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2299 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-22 02:50:55 +00:00
Lennart Poettering
69f6bdf155 add new function pa_alsa_recover_from_poll() to merge common core from module-alsa-sink and module-alsa-source
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2294 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-22 02:44:25 +00:00
Lennart Poettering
e16a1987a3 - Change meaning of special values of latency request: 0 -> "minimal latency, please"; (pa_usec_t)-1 -> "don't care"
- Remove "source" word from monitor source description
- Increase default tsched watermark to 20ms again
- For the first iteration after snd_pcm_start() halve the sleep time as workaround for USB devices with quick starts


git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2291 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-22 01:04:27 +00:00
Lennart Poettering
8181db182b initialize properties for ALSA sinks/sources more elaborately, re #277
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2287 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-20 21:50:57 +00:00
Lennart Poettering
62e7bc17c4 Big pile of dependant changes:
* Change pa_memblockq to carry silence memchunk instead of memblock and adapt all users
* Add new call pa_sink_input_get_silence() to get the suitable silence block for a sink input
* Implement monitoring sources properly by adding a delay queue to even out rewinds
* Remove pa_{sink|source}_ping() becaused unnecessary these days and not used
* Fix naming of various rewind related functions. Downstream is now _request_rewind(), upstream is _process_rewind()
* Fix volume adjustments for a single stream in pa_sink_render()
* Properly handle prebuf-style buffer underruns in pa_sink_input
* Don't allow rewinding to more than the last underrun
* Rework default buffering metrics selection for native protocol
* New functions pa_memblockq_prebuf_active(), pa_memblockq_silence()
* add option "mixer_reset=" to module-alsa-sink
* Other cleanups


git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2283 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-20 20:16:55 +00:00
Lennart Poettering
78368db54f redirect alsa errors to normal PA log system; export buffer settings in device props
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2246 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-11 16:33:33 +00:00
Lennart Poettering
1c5f66519d make use of new alsa SND_PCM_NO_AUTO_xxx flags; redirect alsa errors to normal PA log system
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2245 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-11 16:32:03 +00:00
Lennart Poettering
e084e4b5de add new module module-device-restore
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2236 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-11 16:22:37 +00:00
Lennart Poettering
cc1e2654d3 init min/max latency properly; fix avail_min updating
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2227 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-09 01:18:05 +00:00
Lennart Poettering
b3b8a63c50 call snd_pcm_hwsync() expclicitly before we access any of the status fields, since this seems to be necessary. try to find the right mixer device via the card index
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2221 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-07 17:19:51 +00:00
Lennart Poettering
98b0152d7c add utility functions to dump alsa PCM state
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2219 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-07 16:46:13 +00:00
Lennart Poettering
b9c10f2c56 propery calculate min_avail in frames instead of bytes. don't use device_id= parameter in alsa modules if parameter wasn't specified
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2218 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-04 16:06:47 +00:00
Lennart Poettering
cdfcf6654c - deprecate autoload stuff
- allow setting of the requested latency of a sink input/source output before _put() is called
- allow sinks/sources to have a "minimal" latency which applies to all requested latencies by sink inputs/source outputs
- add new client library flags PA_STREAM_ADJUST_LATENCY, PA_STREAM_START_MUTED
- allow client library to fill in 0 to buffer_attr fields
- update module-alsa-source following module-alsa-sink
- other cleanups and fixes


git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2215 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-03 13:40:55 +00:00
Lennart Poettering
ecf6439661 catch up with trunk HEAD (i.e. 2118:2213)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2214 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-03-31 23:08:01 +00:00
Lennart Poettering
b5c5064a59 commit glitch-free work
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2125 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-03-15 15:24:36 +00:00
Lennart Poettering
d6bd152b4d commit glitch-free work
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2124 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-03-15 15:21:41 +00:00
Lennart Poettering
86b9ef8c96 deal with a possibly failing pa_channel_map_init_auto() correctly
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2105 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-02-13 22:13:44 +00:00
Sjoerd Simons
02f49a24f4 Implement opcodes in the tunnel modules that were added in version 12 of
the protocol. Based on a patch by coling. (fixes #193)


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2096 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-01-04 14:57:31 +00:00
Tanu Kaskinen
1e74aa977e Add a missing pa_xfree.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2094 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-01-03 22:27:58 +00:00
Tanu Kaskinen
4e771768e3 The previous commit introduced a new bug: giving too many values in the "control" argument wasn't detected any more. Fixed.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2093 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-01-03 21:53:46 +00:00
Tanu Kaskinen
39ba68bcf4 Fix the parsing of trailing default values in the "control" module argument.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2092 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-01-03 21:07:11 +00:00
Tanu Kaskinen
dccf411469 Downgraded the priority of a message, because it's really quite uninteresting.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2091 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-01-02 13:08:52 +00:00
Diego Petteno
b94a6bc5b8 Add a configure switch to enable the per-user ESounD socket path, but default to vanilla ESounD's path. This way distributions and users can configure PulseAudio according to their ESounD library.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2083 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-12-06 19:30:16 +00:00
Lennart Poettering
14a9b80afb - Check process name when dealing with PID files
- Add new PA_STREAM_FIX_CHANNELS, FIX_RATE, FIX_FORMAT, DONT_MOVE, VARIABLE_RATES to pa_sream_flags_t adn implement it
- Expose those flags in pacat
- Add notifications about device suspend/resume to the protocol and expose them in libpulse
- Allow changing of buffer_attr during playback
- allow disabling for remixing globally
- hookup polkit support


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2067 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-21 01:30:40 +00:00
Lennart Poettering
4ac6b53478 minor typo fix
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2066 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-21 01:21:53 +00:00
Lennart Poettering
9b75b9de56 add missing pa_boolization
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2056 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-14 16:09:03 +00:00
Lennart Poettering
7462ab1aca Rework ALSA mixer channel detection code. This time we actually care about the channel names the ALSA mixer exports for us
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2055 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-13 23:42:15 +00:00
Lennart Poettering
d17bb53d3e Completely rework ALSA device selection code: choose the device to open depending on the requested number of channels and channel map. In most cases it will now suffice to set default-channels=6 to enable 5.1 sound for all devices that support it
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2050 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-13 17:37:44 +00:00
Lennart Poettering
5054f3623f add new fun module that automatically mutes your audio devices when you leave with your bluetooth phone, and unmutes when you come back
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2048 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-11 23:18:19 +00:00
Lennart Poettering
e8092bede9 Port module-gconf to make use of the new API pa_start_child_for_read()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2047 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-11 23:01:44 +00:00
Lennart Poettering
e313fe1b3d tag modules that may only be loaded once at most especially, and enforce that in the module loader
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2043 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-09 18:25:40 +00:00
Lennart Poettering
c1985c2acc replace a few CLAMPs by PA_CLAMP_UNLIKELY
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2040 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-09 14:20:12 +00:00
Lennart Poettering
7e0f547f2f add support for 32bit integer samples
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2037 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-09 02:45:07 +00:00
Lennart Poettering
961ce33b5e fix two alignment issues found by the debian buildd gcc on sparc
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2022 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-04 16:51:26 +00:00
Lennart Poettering
faf1fd76a9 pa_boolization
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2021 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-04 16:50:23 +00:00
Lennart Poettering
7bfd1b2f01 make rtprio and nice level actually configurable
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2014 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-01 02:58:26 +00:00
Lennart Poettering
641d1fa964 drop rt scheduling before we start our helper process
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2013 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-01 02:55:06 +00:00
Lennart Poettering
72817f9d9d rename stream names too, when the sink name changes
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1997 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-10-30 02:35:00 +00:00
Lennart Poettering
201dff7b2e ignore updates not relevant to us
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1996 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-10-30 02:05:53 +00:00
Lennart Poettering
1e0454eb74 rework the tunnel naming scheme, and make it follow the description changes of the underlying devices; never check for tagstruct eof, to ease later extensions
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1995 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-10-30 01:50:22 +00:00
Lennart Poettering
bb2e1afd51 initialize userdata struct with 0
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1994 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-10-30 00:49:50 +00:00
Lennart Poettering
2d265a91cc deal properly with signals interrupting us when we wait for data from gconf helper
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1992 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-10-30 00:17:21 +00:00
Lennart Poettering
f1be9312cb keep track of configured tunnels and make sure to unload them when they disappear from zeroconf again
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1991 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-10-29 23:55:23 +00:00
Lennart Poettering
e406bbaa62 don't announce monitor sources
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1990 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-10-29 23:54:46 +00:00
Lennart Poettering
5ef242c5b3 don't try to send pause request before our stream is properly set up
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1989 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-10-29 22:14:34 +00:00
Lennart Poettering
33c238b7ef ignore network sinks/sources
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1988 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-10-29 21:23:08 +00:00