diff --git a/celt b/celt index bdcaaf73c62844f7971b946ae19d641e58a8afad..c7bcf389da1d5537cd66ae552f0dfe164834bd3d 160000 --- a/celt +++ b/celt @@ -1 +1 @@ -Subproject commit bdcaaf73c62844f7971b946ae19d641e58a8afad +Subproject commit c7bcf389da1d5537cd66ae552f0dfe164834bd3d diff --git a/src/hybrid_encoder.c b/src/hybrid_encoder.c index 7644c7d441dea5a520b82011b4e3e56c735e4dbc..85201ade5146a741c26f51a94a28e993a0425438 100644 --- a/src/hybrid_encoder.c +++ b/src/hybrid_encoder.c @@ -65,7 +65,7 @@ HybridEncoder *hybrid_encoder_create() st->encControl.useInBandFEC = 0; st->encControl.useDTX = 0; st->encControl.complexity = 2; - st->encControl.bitRate = 20000; + st->encControl.bitRate = 18000; /* Create CELT encoder */ /* We should not have to create a CELT mode for each encoder state */ @@ -87,6 +87,10 @@ int hybrid_encode(HybridEncoder *st, const short *pcm, int frame_size, ec_byte_writeinit_buffer(&buf, data, bytes_per_packet); ec_enc_init(&enc,&buf); + st->encControl.bitRate = (bytes_per_packet*50*8+4000)/2; + if (st->encControl.bitRate>30000) + st->encControl.bitRate = 30000; + /* Call SILK encoder for the low band */ silk_ret = SKP_Silk_SDK_Encode( st->silk_enc, &st->encControl, pcm, 960, &enc, &nBytes ); if( silk_ret ) {