Changeset 775


Ignore:
Timestamp:
Oct 16, 2006 4:43:25 PM (15 years ago)
Author:
bennylp
Message:

Removed colon from SDP attribute value [thanks Olivier Gournet]

Location:
pjproject/trunk/pjmedia/src/pjmedia
Files:
2 edited

Legend:

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

    r732 r775  
    341341        attr->value.slen =  
    342342            pj_ansi_snprintf(attr->value.ptr, 80, 
    343                             ":%u IN IP4 %s", 
     343                            "%u IN IP4 %s", 
    344344                            pj_ntohs(sock_info[0].rtcp_addr_name.sin_port), 
    345345                            pj_inet_ntoa(sock_info[0].rtcp_addr_name.sin_addr)); 
     
    404404            attr->value.slen =  
    405405                pj_ansi_snprintf( attr->value.ptr, 32, 
    406                                   ":%d mode=%d", 
     406                                  "%d mode=%d", 
    407407                                  codec_info->pt, 
    408408                                  codec_param.setting.dec_fmtp_mode); 
     
    428428    attr = pj_pool_zalloc(pool, sizeof(pjmedia_sdp_attr)); 
    429429    attr->name = pj_str("rtpmap"); 
    430     attr->value = pj_str(":" PJMEDIA_RTP_PT_TELEPHONE_EVENTS_STR  
     430    attr->value = pj_str(PJMEDIA_RTP_PT_TELEPHONE_EVENTS_STR  
    431431                         " telephone-event/8000"); 
    432432    m->attr[m->attr_count++] = attr; 
     
    435435    attr = pj_pool_zalloc(pool, sizeof(pjmedia_sdp_attr)); 
    436436    attr->name = pj_str("fmtp"); 
    437     attr->value = pj_str(":" PJMEDIA_RTP_PT_TELEPHONE_EVENTS_STR " 0-15"); 
     437    attr->value = pj_str(PJMEDIA_RTP_PT_TELEPHONE_EVENTS_STR " 0-15"); 
    438438    m->attr[m->attr_count++] = attr; 
    439439#endif 
  • pjproject/trunk/pjmedia/src/pjmedia/sdp.c

    r730 r775  
    138138                       const pj_str_t *c_fmt) 
    139139{ 
    140     char fmtbuf[16]; 
    141     pj_str_t fmt = { NULL, 0}; 
    142140    unsigned i; 
    143  
    144     if (c_fmt) { 
    145         /* To search the format, we prepend the string with a colon and 
    146          * append space 
    147          */ 
    148         PJ_ASSERT_RETURN(c_fmt->slen<sizeof(fmtbuf)-2, NULL); 
    149         fmt.ptr = fmtbuf; 
    150         fmt.slen = c_fmt->slen + 2; 
    151         fmtbuf[0] = ':'; 
    152         pj_memcpy(fmt.ptr+1, c_fmt->ptr, c_fmt->slen); 
    153         fmtbuf[c_fmt->slen+1] = ' '; 
    154  
    155     }  
    156141 
    157142    for (i=0; i<count; ++i) { 
     
    159144            const pjmedia_sdp_attr *a = attr_array[i]; 
    160145            if (c_fmt) { 
    161                 if (a->value.slen > fmt.slen && 
    162                     pj_strncmp(&a->value, &fmt, fmt.slen)==0) 
     146                if (a->value.slen > c_fmt->slen && 
     147                    pj_strncmp(&a->value, c_fmt, c_fmt->slen)==0) 
    163148                { 
    164149                    return (pjmedia_sdp_attr*)a; 
     
    290275    /* Parse */ 
    291276    PJ_TRY { 
    292         /* Eat the first ':' */ 
    293         if (pj_scan_get_char(&scanner) != ':') { 
    294             status = PJMEDIA_SDP_EINRTPMAP; 
    295             goto on_return; 
    296         } 
    297  
    298277 
    299278        /* Get payload type. */ 
     
    353332     */ 
    354333 
    355     /* Eat the first ':' */ 
    356     if (*p != ':') return PJMEDIA_SDP_EINFMTP; 
    357  
    358     /* Get ':' */ 
    359     ++p; 
    360  
    361334    /* Get format. */ 
    362335    token.ptr = (char*)p; 
     
    406379    PJ_TRY { 
    407380 
    408         /* Get the first ":" */ 
    409         if (pj_scan_get_char(&scanner) != ':') 
    410         { 
    411             status = PJMEDIA_SDP_EINRTCP; 
    412             goto on_return; 
    413         } 
    414  
    415381        /* Get the port */ 
    416382        pj_scan_get(&scanner, &cs_token, &token); 
     
    439405    PJ_END; 
    440406 
    441 on_return: 
    442407    pj_scan_fini(&scanner); 
    443408    return status; 
     
    464429{ 
    465430    pjmedia_sdp_attr *attr; 
    466     char tempbuf[64]; 
     431    char tempbuf[128]; 
    467432    int len; 
    468433 
     
    483448    /* Format: ":pt enc_name/clock_rate[/param]" */ 
    484449    len = pj_ansi_snprintf(tempbuf, sizeof(tempbuf),  
    485                            ":%.*s %.*s/%u%s%.*s", 
     450                           "%.*s %.*s/%u%s%.*s", 
    486451                           (int)rtpmap->pt.slen, 
    487452                           rtpmap->pt.ptr, 
     
    551516 
    552517    if (attr->value.slen) { 
     518        *p++ = ':'; 
    553519        pj_memcpy(p, attr->value.ptr, attr->value.slen); 
    554520        p += attr->value.slen; 
     
    1008974 
    1009975    if (*scanner->curptr != '\r' && *scanner->curptr != '\n') { 
     976        /* skip ':' if present. */ 
     977        if (*scanner->curptr == ':') 
     978            pj_scan_get_char(scanner); 
     979 
    1010980        /* get value */ 
    1011         pj_scan_get_until_ch(scanner, '\r', &attr->value); 
     981        if (*scanner->curptr != '\r') { 
     982            pj_scan_get_until_ch(scanner, '\r', &attr->value); 
     983        } else { 
     984            attr->value.ptr = NULL; 
     985            attr->value.slen = 0; 
     986        } 
     987 
    1012988    } else { 
    1013989        attr->value.ptr = NULL; 
Note: See TracChangeset for help on using the changeset viewer.