| Index: src/opus_demo.c
|
| diff --git a/src/opus_demo.c b/src/opus_demo.c
|
| index 20bebba3331c83c37c5e3fc8fed71eab3162a936..09b12a333d16560c0676078964b01cd000ba73f5 100644
|
| --- a/src/opus_demo.c
|
| +++ b/src/opus_demo.c
|
| @@ -95,7 +95,7 @@ static void check_encoder_option(int decode_only, const char *opt)
|
| }
|
| }
|
|
|
| -int silk8_test[][4] = {
|
| +static const int silk8_test[][4] = {
|
| {MODE_SILK_ONLY, OPUS_BANDWIDTH_NARROWBAND, 960*3, 1},
|
| {MODE_SILK_ONLY, OPUS_BANDWIDTH_NARROWBAND, 960*2, 1},
|
| {MODE_SILK_ONLY, OPUS_BANDWIDTH_NARROWBAND, 960, 1},
|
| @@ -106,7 +106,7 @@ int silk8_test[][4] = {
|
| {MODE_SILK_ONLY, OPUS_BANDWIDTH_NARROWBAND, 480, 2}
|
| };
|
|
|
| -int silk12_test[][4] = {
|
| +static const int silk12_test[][4] = {
|
| {MODE_SILK_ONLY, OPUS_BANDWIDTH_MEDIUMBAND, 960*3, 1},
|
| {MODE_SILK_ONLY, OPUS_BANDWIDTH_MEDIUMBAND, 960*2, 1},
|
| {MODE_SILK_ONLY, OPUS_BANDWIDTH_MEDIUMBAND, 960, 1},
|
| @@ -117,7 +117,7 @@ int silk12_test[][4] = {
|
| {MODE_SILK_ONLY, OPUS_BANDWIDTH_MEDIUMBAND, 480, 2}
|
| };
|
|
|
| -int silk16_test[][4] = {
|
| +static const int silk16_test[][4] = {
|
| {MODE_SILK_ONLY, OPUS_BANDWIDTH_WIDEBAND, 960*3, 1},
|
| {MODE_SILK_ONLY, OPUS_BANDWIDTH_WIDEBAND, 960*2, 1},
|
| {MODE_SILK_ONLY, OPUS_BANDWIDTH_WIDEBAND, 960, 1},
|
| @@ -128,21 +128,21 @@ int silk16_test[][4] = {
|
| {MODE_SILK_ONLY, OPUS_BANDWIDTH_WIDEBAND, 480, 2}
|
| };
|
|
|
| -int hybrid24_test[][4] = {
|
| +static const int hybrid24_test[][4] = {
|
| {MODE_SILK_ONLY, OPUS_BANDWIDTH_SUPERWIDEBAND, 960, 1},
|
| {MODE_SILK_ONLY, OPUS_BANDWIDTH_SUPERWIDEBAND, 480, 1},
|
| {MODE_SILK_ONLY, OPUS_BANDWIDTH_SUPERWIDEBAND, 960, 2},
|
| {MODE_SILK_ONLY, OPUS_BANDWIDTH_SUPERWIDEBAND, 480, 2}
|
| };
|
|
|
| -int hybrid48_test[][4] = {
|
| +static const int hybrid48_test[][4] = {
|
| {MODE_SILK_ONLY, OPUS_BANDWIDTH_FULLBAND, 960, 1},
|
| {MODE_SILK_ONLY, OPUS_BANDWIDTH_FULLBAND, 480, 1},
|
| {MODE_SILK_ONLY, OPUS_BANDWIDTH_FULLBAND, 960, 2},
|
| {MODE_SILK_ONLY, OPUS_BANDWIDTH_FULLBAND, 480, 2}
|
| };
|
|
|
| -int celt_test[][4] = {
|
| +static const int celt_test[][4] = {
|
| {MODE_CELT_ONLY, OPUS_BANDWIDTH_FULLBAND, 960, 1},
|
| {MODE_CELT_ONLY, OPUS_BANDWIDTH_SUPERWIDEBAND, 960, 1},
|
| {MODE_CELT_ONLY, OPUS_BANDWIDTH_WIDEBAND, 960, 1},
|
| @@ -185,7 +185,7 @@ int celt_test[][4] = {
|
|
|
| };
|
|
|
| -int celt_hq_test[][4] = {
|
| +static const int celt_hq_test[][4] = {
|
| {MODE_CELT_ONLY, OPUS_BANDWIDTH_FULLBAND, 960, 2},
|
| {MODE_CELT_ONLY, OPUS_BANDWIDTH_FULLBAND, 480, 2},
|
| {MODE_CELT_ONLY, OPUS_BANDWIDTH_FULLBAND, 240, 2},
|
| @@ -234,7 +234,7 @@ int main(int argc, char *argv[])
|
| int random_framesize=0, newsize=0, delayed_celt=0;
|
| int sweep_max=0, sweep_min=0;
|
| int random_fec=0;
|
| - int (*mode_list)[4]=NULL;
|
| + const int (*mode_list)[4]=NULL;
|
| int nb_modes_in_list=0;
|
| int curr_mode=0;
|
| int curr_mode_count=0;
|
| @@ -684,18 +684,22 @@ int main(int argc, char *argv[])
|
| } else {
|
| int output_samples;
|
| lost = len[toggle]==0 || (packet_loss_perc>0 && rand()%100 < packet_loss_perc);
|
| + if (lost)
|
| + opus_decoder_ctl(dec, OPUS_GET_LAST_PACKET_DURATION(&output_samples));
|
| + else
|
| + output_samples = max_frame_size;
|
| if( count >= use_inbandfec ) {
|
| /* delay by one packet when using in-band FEC */
|
| if( use_inbandfec ) {
|
| if( lost_prev ) {
|
| /* attempt to decode with in-band FEC from next packet */
|
| - output_samples = opus_decode(dec, lost ? NULL : data[toggle], len[toggle], out, max_frame_size, 1);
|
| + output_samples = opus_decode(dec, lost ? NULL : data[toggle], len[toggle], out, output_samples, 1);
|
| } else {
|
| /* regular decode */
|
| - output_samples = opus_decode(dec, data[1-toggle], len[1-toggle], out, max_frame_size, 0);
|
| + output_samples = opus_decode(dec, data[1-toggle], len[1-toggle], out, output_samples, 0);
|
| }
|
| } else {
|
| - output_samples = opus_decode(dec, lost ? NULL : data[toggle], len[toggle], out, max_frame_size, 0);
|
| + output_samples = opus_decode(dec, lost ? NULL : data[toggle], len[toggle], out, output_samples, 0);
|
| }
|
| if (output_samples>0)
|
| {
|
|
|