Ignore:
Timestamp:
Jun 19, 2008 2:10:28 PM (16 years ago)
Author:
bennylp
Message:

Ticket #549: major modification in media transport API to support more offer/answer scenarios

File:
1 edited

Legend:

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

    r1967 r2032  
    414414} 
    415415 
     416 
     417PJ_DEF(pjmedia_sdp_attr*) pjmedia_sdp_attr_create_rtcp(pj_pool_t *pool, 
     418                                                       const pj_sockaddr *a) 
     419{ 
     420    enum { 
     421        ATTR_LEN = PJ_INET6_ADDRSTRLEN+16 
     422    }; 
     423    pjmedia_sdp_attr *attr; 
     424 
     425    attr = PJ_POOL_ALLOC_T(pool, pjmedia_sdp_attr); 
     426    attr->name = pj_str("rtcp"); 
     427    attr->value.ptr = (char*) pj_pool_alloc(pool, ATTR_LEN); 
     428    if (a->addr.sa_family == pj_AF_INET()) { 
     429        attr->value.slen =  
     430            pj_ansi_snprintf(attr->value.ptr, ATTR_LEN, 
     431                            "%u IN IP4 %s", 
     432                            pj_ntohs(a->ipv4.sin_port), 
     433                            pj_inet_ntoa(a->ipv4.sin_addr)); 
     434    } else if (a->addr.sa_family == pj_AF_INET6()) { 
     435        char tmp_addr[PJ_INET6_ADDRSTRLEN]; 
     436        attr->value.slen =  
     437            pj_ansi_snprintf(attr->value.ptr, ATTR_LEN, 
     438                            "%u IN IP6 %s", 
     439                            pj_sockaddr_get_port(a), 
     440                            pj_sockaddr_print(a, tmp_addr,  
     441                                              sizeof(tmp_addr), 0)); 
     442 
     443    } else { 
     444        pj_assert(!"Unsupported address family"); 
     445        return NULL; 
     446    } 
     447 
     448    return attr; 
     449} 
    416450 
    417451 
Note: See TracChangeset for help on using the changeset viewer.