]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
add support for RTP/SAVPF to sofia stack
authorMichael Jerris <mike@jerris.com>
Mon, 14 Jan 2013 13:31:10 +0000 (08:31 -0500)
committerMichael Jerris <mike@jerris.com>
Mon, 14 Jan 2013 13:31:10 +0000 (08:31 -0500)
libs/sofia-sip/libsofia-sip-ua/sdp/sdp.c
libs/sofia-sip/libsofia-sip-ua/sdp/sdp_parse.c
libs/sofia-sip/libsofia-sip-ua/sdp/sdp_print.c
libs/sofia-sip/libsofia-sip-ua/sdp/sofia-sip/sdp.h

index 3718764718f1cebfc9afcd21d7f7dfecc558bf20..9b46dd09fd0f643e3df12a313e1e26e893b49f06 100644 (file)
@@ -1831,7 +1831,7 @@ int sdp_media_uses_rtp(sdp_media_t const *m)
 {
   return m &&
     (m->m_proto == sdp_proto_rtp ||
-     m->m_proto == sdp_proto_srtp ||
+     m->m_proto == sdp_proto_srtp || m->m_proto == sdp_proto_extended_srtp ||
      (m->m_proto == sdp_proto_x && m->m_proto_name &&
       su_casenmatch(m->m_proto_name, "RTP/", 4)));
 }
index 027544a00aa1ffc073ead23bcf4f4d7948ad4c6d..8422510d833608f03af073f7e317d3532137be43 100644 (file)
@@ -1386,6 +1386,8 @@ void sdp_media_transport(sdp_media_t *m, char const *s)
     m->m_proto = sdp_proto_rtp, m->m_proto_name = "RTP/AVP";
   else if (su_casematch(s, "RTP/SAVP"))
     m->m_proto = sdp_proto_srtp, m->m_proto_name = "RTP/SAVP";
+  else if (su_casematch(s, "RTP/SAVPF"))
+    m->m_proto = sdp_proto_extended_srtp, m->m_proto_name = "RTP/SAVPF";
   else if (su_casematch(s, "udptl"))
     /* Lower case - be compatible with people living by T.38 examples */
     m->m_proto = sdp_proto_udptl, m->m_proto_name = "udptl";
@@ -1406,7 +1408,7 @@ void sdp_media_transport(sdp_media_t *m, char const *s)
 /** Check if media uses RTP as its transport protocol.  */
 int sdp_media_has_rtp(sdp_media_t const *m)
 {
-  return m && (m->m_proto == sdp_proto_rtp || m->m_proto == sdp_proto_srtp);
+       return m && (m->m_proto == sdp_proto_rtp || m->m_proto == sdp_proto_srtp || m->m_proto == sdp_proto_extended_srtp);
 }
 
 #define RTPMAP(pt, encoding, rate, params) \
index 87c706b27c2ae16df82664e77fa71c22f101ed1f..c912dd3b592db19f7a371714e9430cae0ca8f53d 100644 (file)
@@ -590,6 +590,7 @@ static void print_media(sdp_printer_t *p,
     case sdp_proto_udp:   proto = "udp"; break;
     case sdp_proto_rtp:   proto = "RTP/AVP"; break;
     case sdp_proto_srtp:  proto = "RTP/SAVP"; break;
+    case sdp_proto_extended_srtp:  proto = "RTP/SAVPF"; break;
     case sdp_proto_udptl: proto = "udptl"; break;
     case sdp_proto_msrp:  proto = "TCP/MSRP"; break;
     case sdp_proto_msrps:  proto = "TCP/TLS/MSRP"; break;
index e4af3836a37f8cae87efdf5e523f55d6918ce726..e39911221a72fb1a55416388d255d8be9077acee 100644 (file)
@@ -245,6 +245,7 @@ typedef enum
   sdp_proto_udptl = 258,               /**< UDPTL. @NEW_1_12_4. */
   sdp_proto_msrp =  259,               /**< TCP/MSRP @NEW_MSRP*/
   sdp_proto_msrps = 260,               /**< TCP/TLS/MSRP @NEW_MSRP*/
+  sdp_proto_extended_srtp = 261, /** WEBRTC */
   sdp_proto_tls = 511,                 /**< TLS over TCP */
   sdp_proto_any = 512                  /**< * wildcard */
 } sdp_proto_e;