Commit graph

1614 commits

Author SHA1 Message Date
Lennart Poettering
f2dffb717d pa_bool_t'ization
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2306 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-23 18:17:17 +00:00
Lennart Poettering
0b183fbdc6 respect the resampler's maximum block size to avoid that we get kicked out of the memory pool due to resampling. actually drop data from the delay queue after we used it
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2305 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-23 18:14:25 +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
ed0af46e69 unify code that fixes up buffering metrics
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2302 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-23 18:11:57 +00:00
Lennart Poettering
af03dd4e4f drop a misplaced newline
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2301 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-23 18:11:14 +00:00
Lennart Poettering
3c8e83fb3e do not fix automatic buffer attrs anymore, the new protocol version doesn't need this anymore and it creates more problems than it solves. Also drop the initial timing info query. Correct programs shouldn't depend on it anyway
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2300 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-23 18:10:34 +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
6b4b95beed show configure latency metrics
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2298 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-22 02:48:24 +00:00
Lennart Poettering
1adbe822b8 some beautification updates, show msec instead of usec everywhere
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2297 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-22 02:47:47 +00:00
Lennart Poettering
cdb077b6c0 if no timer was armed, we don't need to disarm it
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2296 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-22 02:47:05 +00:00
Lennart Poettering
4a1971a535 if no latency was configure for a sink/source, fill in the max latency automatically
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2295 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-22 02:46:19 +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
9a486efa5f implement --process-time
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2293 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-22 02:38:51 +00:00
Lennart Poettering
0d01c4350b make sure the client buffer has space for 2*minreq+tlength. Explain why
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2292 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-22 01:11:16 +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
88227c41c1 properly initialize memblock->is_silence for imported memory blocks; make is_silence and read_only a bit field
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2290 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-22 00:52:31 +00:00
Lennart Poettering
5e7e827be5 improve dB volume calculation
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2289 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-20 23:57:44 +00:00
Lennart Poettering
ba6c0e17cf fix C++ compat
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2288 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-20 23:56:55 +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
c2c833c068 use the sink description instead of the name to choose the description for the monitor source
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2286 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-20 21:49:05 +00:00
Lennart Poettering
64e048cb1b drop a redundant pa_init_proplist(), properly set MEDIA_NAME property on stream, not on context
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2285 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-20 20:53:46 +00:00
Lennart Poettering
5971345e99 rename sink_input->rewind to process_rewind() and set_max_rewind to update_max_rewind()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2284 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-20 20:35:44 +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
7556ef5bfc maintain a global silence memblock cache
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2282 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-20 19:53:07 +00:00
Lennart Poettering
a0671aa8db fix for new location of gccmacro.h
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2281 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-20 19:52:05 +00:00
Lennart Poettering
d1d7a0749d we have not periodic timers anymore
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2280 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-20 19:51:08 +00:00
Lennart Poettering
33a35b6f2e update to recent changes of proplist api
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2279 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-20 19:50:42 +00:00
Lennart Poettering
33cb5897e1 split user supplied data in multiple memory blocks if necessary to fit in one mempool tile. If the caller supplied a free_cb and we use shm it's better to copy the data immediately to the shm region instead of keeping it around as user memblock
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2278 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-20 19:49:55 +00:00
Lennart Poettering
ed36f3129c increase the default pool size to 16MB because we now need to keep a lot more memory around due to glitch-free.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2277 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-20 19:46:43 +00:00
Lennart Poettering
03df08872d add lower boundary for artifical latencies
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2276 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-20 19:44:33 +00:00
Lennart Poettering
af256978de follow pa_pstream_use_shm->pa_pstream_enable_shm rename
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2275 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-20 19:43:59 +00:00
Lennart Poettering
687aa295a7 add new pa_pstream_get_shm() API, rename pa_pstream_use_shm() to pa_pstream_enable_shm(); pa_bool_t-ization
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2274 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-20 19:43:20 +00:00
Lennart Poettering
bee409acbe remove debug messages
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2273 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-20 19:41:53 +00:00
Lennart Poettering
1ddb95a4ce add new silence memblock caching subsystem
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2272 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-20 19:41:26 +00:00
Lennart Poettering
4b1d684d26 add new API function pa_memchunk_memcpy()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2271 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-20 19:40:30 +00:00
Lennart Poettering
144b237d86 print a message on xrun
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2270 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-20 19:38:33 +00:00
Lennart Poettering
22ceb15bae add new rtstutter tool which can be used generate artifical scheduling latencies in the OS to trigger buffer underrun events in your software. it's an awesome debug tool for glitch-free; also move test programs from automake's check_ back to noinst_ to make sure it is built everytime Lennart presses F9 in his emacs
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2269 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-17 16:28:23 +00:00
Lennart Poettering
c9d01592d4 define PA_xxxSEC_PER_yyySEC for usec, too
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2268 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-17 16:24:26 +00:00
Lennart Poettering
1f0a52dad1 the pointer to rewind() may actually be NULL
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2267 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-14 18:46:24 +00:00
Lennart Poettering
68e4a93705 properly ask the sink to rewind on new sink inputs and when they disappear
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2266 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-14 18:45:08 +00:00
Lennart Poettering
6946d2ad2d make sure to clear all queued RT signals before arm a new timer
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2265 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-14 18:43:59 +00:00
Lennart Poettering
04178d428e add _cb suffix to _max_rewind function like with all other functions, too
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2264 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-14 18:43:11 +00:00
Lennart Poettering
14fd32ee4b add missing 'break's in switch
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2262 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-11 17:39:38 +00:00
Lennart Poettering
55f273eb00 s/pulsecore\/gccmacro.h/pulse\/gccmacro.h/
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2261 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-11 17:06:41 +00:00
Lennart Poettering
07f5c1d8e4 register sink/source name as first step when creating a new sink/source so that we can hand the valid name string to the hook functions; se tup props for monitor sources correctly; fix implicit flag setting logic
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2260 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-11 17:05:46 +00:00
Lennart Poettering
aad9d39838 dump all info we know about sinks/sources/... in pactl
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2259 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-11 17:03:18 +00:00
Lennart Poettering
dbe36333f3 properly initialize ->memblockq
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2258 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-11 17:02:42 +00:00
Lennart Poettering
cdb273de90 add new pa_get_state_dir() function, move pa_strnull() here
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2257 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-11 16:58:07 +00:00
Lennart Poettering
dcf7173489 fix help string for volume commands
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2256 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-11 16:57:26 +00:00