From: Anthony Minessale Date: Wed, 4 Nov 2015 15:46:36 +0000 (-0600) Subject: FS-8414 #resolve [Ptime unchanged on codec renegotiation] X-Git-Tag: v1.6.5~5^2~59 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=238722879b5b24017702d19cfe3051de0526d214;p=thirdparty%2Ffreeswitch.git FS-8414 #resolve [Ptime unchanged on codec renegotiation] --- diff --git a/src/switch_core_media.c b/src/switch_core_media.c index 3c70f9f460..f77a03a57d 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -4379,8 +4379,13 @@ SWITCH_DECLARE(uint8_t) switch_core_media_negotiate_sdp(switch_core_session_t *s switch_snprintf(tmp, sizeof(tmp), "%d", a_engine->cur_payload_map->recv_pt); switch_channel_set_variable(session->channel, "rtp_audio_recv_pt", tmp); - - if (switch_core_codec_ready(&a_engine->read_codec) && strcasecmp(matches[0].imp->iananame, a_engine->read_codec.implementation->iananame)) { + + if (switch_core_codec_ready(&a_engine->read_codec) && + (strcasecmp(matches[0].imp->iananame, a_engine->read_codec.implementation->iananame) || + matches[0].imp->microseconds_per_packet != a_engine->read_codec.implementation->microseconds_per_packet || + matches[0].imp->samples_per_second != a_engine->read_codec.implementation->samples_per_second + )) { + a_engine->reset_codec = 1; }