summaryrefslogtreecommitdiffstats
path: root/src/pulsecore/protocol-simple.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2008-05-27 22:08:42 +0000
committerLennart Poettering <lennart@poettering.net>2008-05-27 22:08:42 +0000
commitc4f60d596083158334498dedb9f9e3021c67ae65 (patch)
tree459cf0a9f0c0ea082eadc6def83714909e7fc351 /src/pulsecore/protocol-simple.c
parent7297bd91e77d59043956f9abd8370849016b05e4 (diff)
never hand out more data from a sink input than requested. Otherwise the resampler might run for too long and we get a heavy delay/underrun
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2490 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src/pulsecore/protocol-simple.c')
-rw-r--r--src/pulsecore/protocol-simple.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/pulsecore/protocol-simple.c b/src/pulsecore/protocol-simple.c
index cbe48440..e1534277 100644
--- a/src/pulsecore/protocol-simple.c
+++ b/src/pulsecore/protocol-simple.c
@@ -374,6 +374,8 @@ static int sink_input_pop_cb(pa_sink_input *i, size_t length, pa_memchunk *chunk
} else {
size_t m;
+ chunk->length = PA_MIN(length, chunk->length);
+
c->playback.underrun = FALSE;
pa_memblockq_drop(c->input_memblockq, chunk->length);