]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-10116: [RTP] Crash when rtp_autofix_timing=true on video calls #resolve
authorMike Jerris <mike@jerris.com>
Thu, 9 Mar 2017 17:13:51 +0000 (11:13 -0600)
committerMike Jerris <mike@jerris.com>
Thu, 9 Mar 2017 17:14:11 +0000 (11:14 -0600)
src/switch_core_media.c

index cc18d18c7475daa9a1ab2188ac3a638d1076bfaa..4a6f14ab215867ab62930936cc22ea179b31288a 100644 (file)
@@ -2727,7 +2727,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_read_frame(switch_core_session
                                }
 
                                /* check for timing issues */
-                               if (smh->media_flags[SCMF_AUTOFIX_TIMING]) {
+                               if (smh->media_flags[SCMF_AUTOFIX_TIMING] && type == SWITCH_MEDIA_TYPE_AUDIO && engine->read_impl.samples_per_second) {
                                        char is_vbr;
                                        is_vbr = engine->read_impl.encoded_bytes_per_packet?0:1;
 
@@ -2802,6 +2802,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_read_frame(switch_core_session
                                                engine->last_seq = engine->read_frame.seq;
 
                                        } else if (smh->media_flags[SCMF_AUTOFIX_TIMING] && is_vbr && switch_rtp_get_jitter_buffer(engine->rtp_session)
+                                                          && type == SWITCH_MEDIA_TYPE_AUDIO
                                                           && engine->read_frame.timestamp && engine->read_frame.seq && engine->read_impl.samples_per_second) {
                                                uint32_t codec_ms = (int) (engine->read_frame.timestamp -
                                                                   engine->last_ts) / (engine->read_impl.samples_per_second / 1000);