Changeset 280


Ignore:
Timestamp:
Mar 5, 2006 11:50:11 AM (19 years ago)
Author:
bennylp
Message:

Fixed SDP negotiation to include clock rate

File:
1 edited

Legend:

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

    r221 r280  
    368368        pjmedia_sdp_media_add_attr(local, a); 
    369369 
    370     } else if (pjmedia_sdp_media_find_attr2(remote, "sendonly", NULL) != NULL) { 
     370    } else if(pjmedia_sdp_media_find_attr2(remote, "sendonly", NULL) != NULL) { 
    371371        /* If remote has "a=sendonly", then set local to "recvonly" if 
    372372         * it is currently "sendrecv". 
     
    380380        pjmedia_sdp_media_add_attr(local, a); 
    381381 
    382     } else if (pjmedia_sdp_media_find_attr2(remote, "recvonly", NULL) != NULL) { 
     382    } else if(pjmedia_sdp_media_find_attr2(remote, "recvonly", NULL) != NULL) { 
    383383        /* If remote has "a=recvonly", then set local to "sendonly" if 
    384384         * it is currently "sendrecv". 
     
    392392        pjmedia_sdp_media_add_attr(local, a); 
    393393 
    394     } else if (pjmedia_sdp_media_find_attr2(remote, "sendrecv", NULL) != NULL) { 
     394    } else if(pjmedia_sdp_media_find_attr2(remote, "sendrecv", NULL) != NULL) { 
    395395 
    396396        pjmedia_sdp_attr *a; 
     
    638638 
    639639                /* Get the rtpmap for the payload type in the offer. */ 
    640                 a = pjmedia_sdp_media_find_attr2(offer, "rtpmap", &offer->desc.fmt[i]); 
     640                a = pjmedia_sdp_media_find_attr2(offer, "rtpmap",  
     641                                                 &offer->desc.fmt[i]); 
    641642                if (!a) { 
    642643                    pj_assert(!"Bug! Offer should have been validated"); 
     
    658659                 
    659660                /* Find paylaod in our initial SDP with matching  
    660                  * encoding name. 
     661                 * encoding name and clock rate. 
    661662                 */ 
    662663                for (j=0; j<local->desc.fmt_count; ++j) { 
    663                     a = pjmedia_sdp_media_find_attr2(local, "rtpmap", &local->desc.fmt[j]); 
     664                    a = pjmedia_sdp_media_find_attr2(local, "rtpmap",  
     665                                                     &local->desc.fmt[j]); 
    664666                    if (a) { 
    665667                        pjmedia_sdp_rtpmap lr; 
    666668                        pjmedia_sdp_attr_get_rtpmap(a, &lr); 
    667                         if (!pj_strcmp(&or.enc_name, &lr.enc_name)) { 
     669 
     670                        /* See if encoding name and clock rate match */ 
     671                        if (!pj_strcmp(&or.enc_name, &lr.enc_name) && 
     672                            or.clock_rate == lr.clock_rate)  
     673                        { 
    668674                            /* Match! */ 
    669675                            if (is_codec) 
Note: See TracChangeset for help on using the changeset viewer.