]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-7456: also more complete fix for FS-7440, handle sdp with m lines in any order
authorMichael Jerris <mike@jerris.com>
Tue, 21 Apr 2015 16:06:46 +0000 (11:06 -0500)
committerMichael Jerris <mike@jerris.com>
Tue, 21 Apr 2015 16:07:54 +0000 (12:07 -0400)
src/switch_core_media.c

index 466180d42f707b8bc8c823351633c5e93016eb2b..5ac1b60eeb21a3e171f818f0014e2973af5063b5 100644 (file)
@@ -3404,6 +3404,11 @@ SWITCH_DECLARE(uint8_t) switch_core_media_negotiate_sdp(switch_core_session_t *s
                        sdp_rtpmap_t *map;
                        int ice = 0;
 
+                       nm_idx = 0;
+                       m_idx = 0;
+                       memset(matches, 0, sizeof(matches[0]) * MAX_MATCHES);
+                       memset(near_matches, 0, sizeof(near_matches[0]) * MAX_MATCHES);
+
                        if (!sendonly && (m->m_mode == sdp_sendonly || m->m_mode == sdp_inactive)) {
                                sendonly = 1;
                        }
@@ -3797,12 +3802,7 @@ SWITCH_DECLARE(uint8_t) switch_core_media_negotiate_sdp(switch_core_session_t *s
                                smh->num_negotiated_codecs = 0;
 
                                for(j = 0; j < m_idx; j++) {
-                                       payload_map_t *pmap;
-                                       if (matches[j].imp->codec_type != SWITCH_CODEC_TYPE_AUDIO) {
-                                               continue;
-                                       }
-
-                                       pmap = switch_core_media_add_payload_map(session, 
+                                       payload_map_t *pmap = switch_core_media_add_payload_map(session, 
                                                                                                                                                        SWITCH_MEDIA_TYPE_AUDIO,
                                                                                                                                                        matches[j].map->rm_encoding,
                                                                                                                                                        matches[j].map->rm_fmtp,