### Eclipse Workspace Patch 1.0 #P SP7.5_private Index: src/decode_aac.c =================================================================== --- src/decode_aac.c (revision 6686) +++ src/decode_aac.c (working copy) @@ -381,7 +381,10 @@ if (!self->heaacdec && !self->hdaacdec) { if (self->isMP4) { - if (!mp4_open(&self->mp4)) { + size_t status = mp4_open(&self->mp4); + if (status == 2) { + return TRUE; /* need to wait for some more data */ + } else if (status != 1) { current_decoder_state |= DECODE_STATE_ERROR | DECODE_STATE_NOT_SUPPORTED; return FALSE; } #P SP7.5 Index: src/squeezeplay/src/audio/mp4.c =================================================================== --- src/squeezeplay/src/audio/mp4.c (revision 8662) +++ src/squeezeplay/src/audio/mp4.c (working copy) @@ -692,8 +692,13 @@ r = mp4_fill_buffer(mp4, &streaming); if (r < 0) { - LOG_ERROR(log_audio_codec, "premature end of stream"); - return 0; + if (streaming) { + LOG_DEBUG(log_audio_codec, "waiting for more stream"); + return 2; + } else { + LOG_ERROR(log_audio_codec, "premature end of stream"); + return 0; + } } /* parse box */ Index: src/squeezeplay/src/audio/decode/decode_alac.c =================================================================== --- src/squeezeplay/src/audio/decode/decode_alac.c (revision 8662) +++ src/squeezeplay/src/audio/decode/decode_alac.c (working copy) @@ -55,7 +55,10 @@ } if (!self->init) { - if (!mp4_open(&self->mp4)) { + size_t status = mp4_open(&self->mp4); + if (status == 2) { + return TRUE; /* need to wait for some more data */ + } else if (status != 1) { current_decoder_state |= DECODE_STATE_ERROR | DECODE_STATE_NOT_SUPPORTED; return FALSE; }