aboutsummaryrefslogtreecommitdiffstats
path: root/src/outputBuffer.c
diff options
context:
space:
mode:
authorWarren Dukes <warren.dukes@gmail.com>2007-02-11 20:36:26 +0000
committerWarren Dukes <warren.dukes@gmail.com>2007-02-11 20:36:26 +0000
commitb54c7c64c00dca82a5a1699140ec828343be0cbf (patch)
tree9cd41b36d785998fcc019596b289498e6cf49f61 /src/outputBuffer.c
parentc5933a164a2b25352becda8b0f103b42bc646348 (diff)
downloadmpd-b54c7c64c00dca82a5a1699140ec828343be0cbf.tar.gz
mpd-b54c7c64c00dca82a5a1699140ec828343be0cbf.tar.xz
mpd-b54c7c64c00dca82a5a1699140ec828343be0cbf.zip
#1) fix a few potential deadlock conditons in decode.c when crossfading is enabled
#2) fix a deadlock condition when attempting to seek if the decoder quit and returned to playerInit() git-svn-id: https://svn.musicpd.org/mpd/trunk@5325 09075e82-0dd4-0310-85a5-a0d7c8717e4f
Diffstat (limited to 'src/outputBuffer.c')
-rw-r--r--src/outputBuffer.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/outputBuffer.c b/src/outputBuffer.c
index c27a8e671..3011505bf 100644
--- a/src/outputBuffer.c
+++ b/src/outputBuffer.c
@@ -58,11 +58,10 @@ void clearOutputBuffer(OutputBuffer * cb)
void flushOutputBuffer(OutputBuffer * cb)
{
if (currentChunk == cb->end) {
- int next = cb->end + 1;
- if (next >= buffered_chunks) {
- next = 0;
+ if ((cb->end + 1) >= buffered_chunks) {
+ cb->end = 0;
}
- cb->end = next;
+ else cb->end++;
currentChunk = -1;
}
}