]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-3957 --resolve
authorAnthony Minessale <anthm@freeswitch.org>
Thu, 1 Mar 2012 16:04:07 +0000 (10:04 -0600)
committerAnthony Minessale <anthm@freeswitch.org>
Thu, 1 Mar 2012 16:04:07 +0000 (10:04 -0600)
libs/sofia-sip/.update
libs/sofia-sip/libsofia-sip-ua/sdp/sdp.c

index c55ef8adfea01deec993435c957ca3849032ca82..c35540c4f54f599f0bd31604466ffe78037e27f1 100644 (file)
@@ -1 +1 @@
-Wed Feb 29 14:45:18 CST 2012
+Thu Mar  1 10:03:45 CST 2012
index 867ca7a79d101187d01636a0796e30eca50ca35f..3718764718f1cebfc9afcd21d7f7dfecc558bf20 100644 (file)
@@ -1875,10 +1875,11 @@ sdp_rtpmap_t *sdp_rtpmap_find_matching(sdp_rtpmap_t const *list,
                                       sdp_rtpmap_t const *rm)
 {
   char const *lparam, *rparam;
+  sdp_rtpmap_t const *cp_list = NULL;
 
   if (rm == NULL)
     return NULL;
-
+    
   for (; list; list = list->rm_next) {
     if (rm->rm_rate != list->rm_rate)
       continue;
@@ -1888,8 +1889,11 @@ sdp_rtpmap_t *sdp_rtpmap_find_matching(sdp_rtpmap_t const *list,
 
     lparam = rm->rm_params; rparam = list->rm_params;
 
-    if (lparam == rparam)
-      break;
+    if (lparam == rparam) {
+          cp_list = list;
+          if (rm->rm_pt != list->rm_pt) continue;
+          break;
+    }
 
     if (!lparam) lparam = "1"; if (!rparam) rparam = "1";
     if (!su_casematch(lparam, rparam))
@@ -1898,5 +1902,5 @@ sdp_rtpmap_t *sdp_rtpmap_find_matching(sdp_rtpmap_t const *list,
     break;
   }
 
-  return (sdp_rtpmap_t *)list;
+  return cp_list ? (sdp_rtpmap_t *) cp_list : (sdp_rtpmap_t *)list;
 }