]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-8005: mod_opus : fix for rare decoder error when doing PLC, OPUS_GET_LAST_PACKET_D...
authorDragos Oancea <droancea@yahoo.com>
Wed, 19 Aug 2015 18:29:19 +0000 (14:29 -0400)
committerDragos Oancea <droancea@yahoo.com>
Wed, 19 Aug 2015 18:34:51 +0000 (14:34 -0400)
src/mod/codecs/mod_opus/mod_opus.c

index 9a3469b6ff9be2cef876af45f7dbc825b8d7ae1d..bac1f9d54e0ed42da9a3699a1a65aaa14a40355b 100644 (file)
@@ -571,6 +571,9 @@ static switch_status_t switch_opus_decode(switch_codec_t *codec,
                plc = 1;
                encoded_data = NULL;
                opus_decoder_ctl(context->decoder_object, OPUS_GET_LAST_PACKET_DURATION(&frame_size));
+               if (!frame_size) {
+                       frame_size = frame_samples - (frame_samples % (codec->implementation->actual_samples_per_second / 400));
+               }
 
                if (context->codec_settings.useinbandfec) {
                        fec = 1;