summaryrefslogtreecommitdiffstats
path: root/polyp/sink-input.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2004-09-10 22:35:12 +0000
committerLennart Poettering <lennart@poettering.net>2004-09-10 22:35:12 +0000
commit25123469d53e2ef555549984ea4e8b028c1632fb (patch)
tree4a1374c5e7ca11afff25d240b81809d23f791eb1 /polyp/sink-input.c
parent0c99fb31826fba0ed4f904d04dd56f1df3663a3e (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.c9
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);