ref: ef7095cdc300247c5193c35d6c95e9ea58847e79
parent: a0653ed1e7c63aaa5f078b81caf1e474e7e47033
author: Jean-Marc Valin <[email protected]>
date: Tue Jul 5 11:48:20 EDT 2011
More decoder corner case fixes
--- a/src/opus_decoder.c
+++ b/src/opus_decoder.c
@@ -328,6 +328,7 @@
/* 5 ms redundant frame for CELT->SILK*/
if (redundancy && celt_to_silk)
{
+ celt_decoder_ctl(celt_dec, CELT_SET_START_BAND(0));
celt_decode(celt_dec, data+len, redundancy_bytes, redundant_audio, F5);
celt_decoder_ctl(celt_dec, CELT_RESET_STATE);
}
@@ -519,7 +520,7 @@
for (i=0;i<count;i++)
{
int ret;
- ret = opus_decode_frame(st, data, len, pcm, frame_size-nb_samples, decode_fec);
+ ret = opus_decode_frame(st, data, size[i], pcm, frame_size-nb_samples, decode_fec);
if (ret<0)
return ret;
data += size[i];