aboutsummaryrefslogtreecommitdiffstats
path: root/src/aac_decode.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/aac_decode.c')
-rw-r--r--src/aac_decode.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/aac_decode.c b/src/aac_decode.c
index ddc8b62d9..cc3b8ee69 100644
--- a/src/aac_decode.c
+++ b/src/aac_decode.c
@@ -341,13 +341,12 @@ int aac_decode(OutputBuffer * cb, DecoderControl * dc) {
sampleRate = frameInfo.samplerate;
#endif
- if(dc->start) {
+ if(dc->state != DECODE_STATE_DECODE) {
dc->audioFormat.channels = frameInfo.channels;
dc->audioFormat.sampleRate = sampleRate;
getOutputAudioFormat(&(dc->audioFormat),
&(cb->audioFormat));
dc->state = DECODE_STATE_DECODE;
- dc->start = 0;
}
advanceAacBuffer(&b,frameInfo.bytesconsumed);
@@ -382,7 +381,7 @@ int aac_decode(OutputBuffer * cb, DecoderControl * dc) {
closeInputStream(b.inStream);
if(b.buffer) free(b.buffer);
- if(dc->start) return -1;
+ if(dc->state != DECODE_STATE_DECODE) return -1;
if(!dc->stop && !dc->seek && chunkLen>0) {
cb->chunkSize[cb->end] = chunkLen;