Ignore:
Timestamp:
Feb 19, 2006 3:35:54 PM (18 years ago)
Author:
bennylp
Message:

Fixed packing error in rtp header, and sdp validation supports non numeric pt for broken uas

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjmedia/src/pjmedia/sdp.c

    r188 r199  
    11491149        /* Verify payload type. */ 
    11501150        for (j=0; j<m->desc.fmt_count; ++j) { 
    1151             unsigned pt = pj_strtoul(&m->desc.fmt[j]); 
    1152  
    1153             /* Payload type is between 0 and 127. */ 
    1154             CHECK( pt <= 127, PJMEDIA_SDP_EINPT); 
    1155  
    1156             /* If port is not zero, then for each dynamic payload type, an 
    1157              * rtpmap attribute must be specified. 
     1151 
     1152            /* Arrgh noo!! Payload type can be non-numeric!! 
     1153             * RTC based programs sends "null" for instant messaging! 
    11581154             */ 
    1159             if (m->desc.port != 0 && pt >= 96) { 
    1160                 const pjmedia_sdp_attr *a; 
    1161  
    1162                 a = pjmedia_sdp_media_find_attr(m,&STR_RTPMAP,&m->desc.fmt[j]); 
    1163                 CHECK( a != NULL, PJMEDIA_SDP_EMISSINGRTPMAP); 
     1155            if (pj_isdigit(*m->desc.fmt[j].ptr)) { 
     1156                unsigned pt = pj_strtoul(&m->desc.fmt[j]); 
     1157 
     1158                /* Payload type is between 0 and 127.  
     1159                 */ 
     1160                CHECK( pt <= 127, PJMEDIA_SDP_EINPT); 
     1161 
     1162                /* If port is not zero, then for each dynamic payload type, an 
     1163                 * rtpmap attribute must be specified. 
     1164                 */ 
     1165                if (m->desc.port != 0 && pt >= 96) { 
     1166                    const pjmedia_sdp_attr *a; 
     1167 
     1168                    a = pjmedia_sdp_media_find_attr(m, &STR_RTPMAP,  
     1169                                                    &m->desc.fmt[j]); 
     1170                    CHECK( a != NULL, PJMEDIA_SDP_EMISSINGRTPMAP); 
     1171                } 
    11641172            } 
    11651173        } 
Note: See TracChangeset for help on using the changeset viewer.