]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
dont byteswap the extended bit headers in the actual packet so it can properly echo...
authorAnthony Minessale <anthm@freeswitch.org>
Thu, 31 Oct 2013 22:22:09 +0000 (17:22 -0500)
committerAnthony Minessale <anthm@freeswitch.org>
Thu, 31 Oct 2013 22:22:09 +0000 (17:22 -0500)
src/switch_rtp.c

index 08b310c2c30d3c17a8fc14259d96f11b6fedadfb..325a41fd07c0fc59abf14372163b8bbf0b303bad 100644 (file)
@@ -4160,14 +4160,13 @@ static switch_status_t read_rtp_packet(switch_rtp_t *rtp_session, switch_size_t
 
                if (!rtp_session->flags[SWITCH_RTP_FLAG_PROXY_MEDIA] && !rtp_session->flags[SWITCH_RTP_FLAG_UDPTL] &&
                        rtp_session->recv_msg.header.version == 2 && rtp_session->recv_msg.header.x) { /* header extensions */
+                       uint16_t length;
 
                        rtp_session->recv_msg.ext = (switch_rtp_hdr_ext_t *) rtp_session->recv_msg.body;
+                       length = ntohs((uint16_t)rtp_session->recv_msg.ext->length);
 
-                       rtp_session->recv_msg.ext->length = ntohs((uint16_t)rtp_session->recv_msg.ext->length);
-                       rtp_session->recv_msg.ext->profile = ntohs((uint16_t)rtp_session->recv_msg.ext->profile);
-
-                       if (rtp_session->recv_msg.ext->length < SWITCH_RTP_MAX_BUF_LEN_WORDS) {
-                               rtp_session->recv_msg.ebody = rtp_session->recv_msg.body + (rtp_session->recv_msg.ext->length * 4) + 4;
+                       if (length < SWITCH_RTP_MAX_BUF_LEN_WORDS) {
+                               rtp_session->recv_msg.ebody = rtp_session->recv_msg.body + (length * 4) + 4;
                        }
                }