Changeset 5487


Ignore:
Timestamp:
Nov 21, 2016 1:38:04 AM (3 years ago)
Author:
ming
Message:

Fixed #1980: Assertion if remote removes some media lines in previous SDP negotiations

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip/src/pjsua-lib/pjsua_media.c

    r5481 r5487  
    23122312                        pjmedia_sdp_neg_get_active_local(call->inv->neg, &s_); 
    23132313 
    2314                         pj_assert(mi < s_->media_count); 
    2315                         m = pjmedia_sdp_media_clone(pool, s_->media[mi]); 
    2316                         m->desc.port = 0; 
     2314                        if (mi < s_->media_count) { 
     2315                            m = pjmedia_sdp_media_clone(pool, s_->media[mi]); 
     2316                            m->desc.port = 0; 
     2317                        } else { 
     2318                            /* Remote may have removed some media lines in 
     2319                             * previous negotiations. However, since our 
     2320                             * media count may never decrease (as per 
     2321                             * the RFC), we'll just offer unknown media here. 
     2322                             */ 
     2323                            m->desc.media = pj_str("unknown"); 
     2324                            m->desc.fmt[0] = pj_str("0"); 
     2325                        } 
    23172326                    } 
    23182327                    break; 
Note: See TracChangeset for help on using the changeset viewer.