Update of /usr/cvsroot/asterisk
In directory mongoose.digium.com:/tmp/cvs-serv32303

Modified Files:
        rtp.c 
Log Message:
properly strip incoming padded RTP frames (bug #4264)


Index: rtp.c
===================================================================
RCS file: /usr/cvsroot/asterisk/rtp.c,v
retrieving revision 1.125
retrieving revision 1.126
diff -u -d -r1.125 -r1.126
--- rtp.c       4 May 2005 04:43:30 -0000       1.125
+++ rtp.c       14 May 2005 23:41:12 -0000      1.126
@@ -429,6 +429,7 @@
        int version;
        int payloadtype;
        int hdrlen = 12;
+       int padding;
        int mark;
        int ext;
        int x;
@@ -482,10 +483,17 @@
                return &null_frame;
        
        payloadtype = (seqno & 0x7f0000) >> 16;
+       padding = seqno & (1 << 29);
        mark = seqno & (1 << 23);
        ext = seqno & (1 << 28);
        seqno &= 0xffff;
        timestamp = ntohl(rtpheader[1]);
+       
+       if (padding) {
+               /* Remove padding bytes */
+               res -= rtp->rawdata[AST_FRIENDLY_OFFSET + res - 1];
+       }
+       
        if (ext) {
                /* RTP Extension present */
                hdrlen += 4;

_______________________________________________
Asterisk-Cvs mailing list
[email protected]
http://lists.digium.com/mailman/listinfo/asterisk-cvs

Reply via email to