Fixes a bug in the init() functions where were weren't zeroing the entire state
This commit is contained in:
parent
103302b375
commit
baed21dc9d
2 changed files with 4 additions and 6 deletions
|
@ -65,16 +65,15 @@ OpusDecoder *opus_decoder_init(OpusDecoder *st, int Fs, int channels)
|
||||||
{
|
{
|
||||||
void *silk_dec;
|
void *silk_dec;
|
||||||
CELTDecoder *celt_dec;
|
CELTDecoder *celt_dec;
|
||||||
int ret, silkDecSizeBytes, celtDecSizeBytes;
|
int ret, silkDecSizeBytes;
|
||||||
|
|
||||||
memset(st, 0, sizeof(OpusDecoder));
|
memset(st, 0, opus_decoder_get_size(channels));
|
||||||
/* Initialize SILK encoder */
|
/* Initialize SILK encoder */
|
||||||
ret = silk_Get_Decoder_Size( &silkDecSizeBytes );
|
ret = silk_Get_Decoder_Size( &silkDecSizeBytes );
|
||||||
if( ret ) {
|
if( ret ) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
silkDecSizeBytes = align(silkDecSizeBytes);
|
silkDecSizeBytes = align(silkDecSizeBytes);
|
||||||
celtDecSizeBytes = celt_decoder_get_size(channels);
|
|
||||||
st->silk_dec_offset = align(sizeof(OpusDecoder));
|
st->silk_dec_offset = align(sizeof(OpusDecoder));
|
||||||
st->celt_dec_offset = st->silk_dec_offset+silkDecSizeBytes;
|
st->celt_dec_offset = st->silk_dec_offset+silkDecSizeBytes;
|
||||||
silk_dec = (char*)st+st->silk_dec_offset;
|
silk_dec = (char*)st+st->silk_dec_offset;
|
||||||
|
|
|
@ -80,15 +80,14 @@ OpusEncoder *opus_encoder_init(OpusEncoder* st, int Fs, int channels)
|
||||||
void *silk_enc;
|
void *silk_enc;
|
||||||
CELTEncoder *celt_enc;
|
CELTEncoder *celt_enc;
|
||||||
int err;
|
int err;
|
||||||
int ret, silkEncSizeBytes, celtEncSizeBytes;
|
int ret, silkEncSizeBytes;
|
||||||
|
|
||||||
memset(st, 0, sizeof(OpusEncoder));
|
memset(st, 0, opus_encoder_get_size(channels));
|
||||||
/* Create SILK encoder */
|
/* Create SILK encoder */
|
||||||
ret = silk_Get_Encoder_Size( &silkEncSizeBytes );
|
ret = silk_Get_Encoder_Size( &silkEncSizeBytes );
|
||||||
if( ret )
|
if( ret )
|
||||||
return NULL;
|
return NULL;
|
||||||
silkEncSizeBytes = align(silkEncSizeBytes);
|
silkEncSizeBytes = align(silkEncSizeBytes);
|
||||||
celtEncSizeBytes = celt_encoder_get_size(channels);
|
|
||||||
st->silk_enc_offset = align(sizeof(OpusEncoder));
|
st->silk_enc_offset = align(sizeof(OpusEncoder));
|
||||||
st->celt_enc_offset = st->silk_enc_offset+silkEncSizeBytes;
|
st->celt_enc_offset = st->silk_enc_offset+silkEncSizeBytes;
|
||||||
silk_enc = (char*)st+st->silk_enc_offset;
|
silk_enc = (char*)st+st->silk_enc_offset;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue