diff options
author | Lennart Poettering <lennart@poettering.net> | 2004-09-10 22:35:12 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2004-09-10 22:35:12 +0000 |
commit | 25123469d53e2ef555549984ea4e8b028c1632fb (patch) | |
tree | 4a1374c5e7ca11afff25d240b81809d23f791eb1 /polyp/sink-input.c | |
parent | 0c99fb31826fba0ed4f904d04dd56f1df3663a3e (diff) |
add support for module search path as command line argument
protocol-native: move first data request into ack of stream creation
improve mainloop API: return the number of dispatched sources on iterate()
fix a resampling bug
introduce network latency measurement
WARNING: all these changes together may break some applications
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@189 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'polyp/sink-input.c')
-rw-r--r-- | polyp/sink-input.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/polyp/sink-input.c b/polyp/sink-input.c index f4f57343..b0096182 100644 --- a/polyp/sink-input.c +++ b/polyp/sink-input.c @@ -129,7 +129,7 @@ int pa_sink_input_peek(struct pa_sink_input *i, struct pa_memchunk *chunk) { if (!i->resampler) return i->peek(i, chunk); - if (!i->resampled_chunk.memblock) { + while (!i->resampled_chunk.memblock) { struct pa_memchunk tchunk; size_t l; int ret; @@ -141,10 +141,11 @@ int pa_sink_input_peek(struct pa_sink_input *i, struct pa_memchunk *chunk) { l = pa_resampler_request(i->resampler, CONVERT_BUFFER_LENGTH); - if (tchunk.length > l) - tchunk.length = l; + if (l > tchunk.length) + l = tchunk.length; - i->drop(i, &tchunk, tchunk.length); + i->drop(i, &tchunk, l); + tchunk.length = l; pa_resampler_run(i->resampler, &tchunk, &i->resampled_chunk); pa_memblock_unref(tchunk.memblock); |