From 1e42a289d40af1c656bb606ec6d7152e212c284b Mon Sep 17 00:00:00 2001 From: Tanu Kaskinen Date: Tue, 7 May 2013 18:00:34 +0300 Subject: [PATCH] native: Don't enable prebuffering when draining BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=64284 --- src/pulsecore/protocol-native.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/pulsecore/protocol-native.c b/src/pulsecore/protocol-native.c index 96b6850..708878e 100644 --- a/src/pulsecore/protocol-native.c +++ b/src/pulsecore/protocol-native.c @@ -1555,7 +1555,13 @@ static int sink_input_process_msg(pa_msgobject *o, int code, void *userdata, int windex = pa_memblockq_get_write_index(s->memblockq); - pa_memblockq_prebuf_force(s->memblockq); + /* We enable prebuffering so that after CORKED -> RUNNING + * transitions we don't have trouble with underruns in case the + * buffer has too little data. This must not be done when draining + * has been requested, however, otherwise the buffered audio would + * never play. */ + if (!s->drain_request) + pa_memblockq_prebuf_force(s->memblockq); handle_seek(s, windex); -- 2.7.4