]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-8414 #resolve [Ptime unchanged on codec renegotiation]
authorAnthony Minessale <anthm@freeswitch.org>
Wed, 4 Nov 2015 15:46:36 +0000 (09:46 -0600)
committerAnthony Minessale <anthm@freeswitch.org>
Wed, 4 Nov 2015 15:46:36 +0000 (09:46 -0600)
src/switch_core_media.c

index 3c70f9f4602ce362404bf92c698e4513e93f28b1..f77a03a57d2b9b477873beaeb97495755973a8b1 100644 (file)
@@ -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;
                                }