From cc23d2e7e92d2e5165e998ff7e2e96a952205334 Mon Sep 17 00:00:00 2001
From: Warren Dukes <warren.dukes@gmail.com>
Date: Fri, 5 Mar 2004 12:59:29 +0000
Subject: mute all frames that are "SKIP"'d

git-svn-id: https://svn.musicpd.org/mpd/trunk@201 09075e82-0dd4-0310-85a5-a0d7c8717e4f
---
 src/mp3_decode.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

(limited to 'src')

diff --git a/src/mp3_decode.c b/src/mp3_decode.c
index d169c1394..4e50559ff 100644
--- a/src/mp3_decode.c
+++ b/src/mp3_decode.c
@@ -501,12 +501,13 @@ int mp3Read(mp3DecodeData * data, Buffer * cb, DecoderControl * dc) {
 		}
 	}
 
-	if(data->muteFrame) {
-		while((ret=decodeNextFrameHeader(data))==DECODE_CONT || 
+	while((ret=decodeNextFrameHeader(data))==DECODE_CONT || 
+			ret==DECODE_SKIP);
+	if(ret==DECODE_OK && !data->muteFrame) {
+		while((ret=decodeNextFrame(data))==DECODE_CONT || 
 				ret==DECODE_SKIP);
 	}
-	else while((ret=decodeNextFrame(data))==DECODE_CONT || 
-			ret==DECODE_SKIP);
+	if(ret==DECODE_SKIP) data->muteFrame = 1;
 	
 	return ret;
 }
-- 
cgit v1.2.3