diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mp3_decode.c | 9 |
1 files changed, 5 insertions, 4 deletions
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; } |