Ignore:
Timestamp:
Jul 31, 2006 3:19:36 PM (18 years ago)
Author:
bennylp
Message:
  • Added iLBC codec (experimental) with the following features:
    • configurable default decoder mode (20 or 30),
    • encoder mode follows the mode specified in SDP fmtp from the remote's SDP,
    • silence detector uses pjmedia's,
    • PLC uses iLBC's PLC,
    • perceptual enhancement (penh) is configurable via codec param, as usual.
  • iLBC mode is configurable in pjsua with --ilbc-mode option.
  • Added packet lost simulation in pjmedia's UDP transport and in pjsua (with --rx-drop-pct and --tx-drop-pct options).
  • Increase default buffer count in DirectSound? to 32 frames to make it more resilient to CPU disruption.
  • Specify and parse fmtp mode in SDP for codecs that need it.
File:
1 edited

Legend:

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

    r635 r637  
    347347#endif 
    348348 
    349     /* Add format and rtpmap for each codec */ 
     349    /* Add format, rtpmap, and fmtp (when applicable) for each codec */ 
    350350    for (i=0; i<endpt->codec_mgr.codec_cnt; ++i) { 
    351351 
     
    354354        char tmp_param[3]; 
    355355        pjmedia_sdp_attr *attr; 
     356        pjmedia_codec_param codec_param; 
    356357        pj_str_t *fmt; 
    357358 
     
    360361 
    361362        codec_info = &endpt->codec_mgr.codec_desc[i].info; 
     363        pjmedia_codec_mgr_get_default_param(&endpt->codec_mgr, codec_info, 
     364                                            &codec_param); 
    362365        fmt = &m->desc.fmt[m->desc.fmt_count++]; 
    363366 
     
    391394        m->attr[m->attr_count++] = attr; 
    392395 
     396        /* Add fmtp mode where applicable */ 
     397        if (codec_param.setting.dec_fmtp_mode != 0) { 
     398            const pj_str_t fmtp = { "fmtp", 4 }; 
     399            attr = pj_pool_zalloc(pool, sizeof(pjmedia_sdp_attr)); 
     400 
     401            attr->name = fmtp; 
     402            attr->value.ptr = pj_pool_alloc(pool, 32); 
     403            attr->value.slen =  
     404                pj_ansi_snprintf( attr->value.ptr, 32, 
     405                                  ":%d mode=%d", 
     406                                  codec_info->pt, 
     407                                  codec_param.setting.dec_fmtp_mode); 
     408            m->attr[m->attr_count++] = attr; 
     409        } 
    393410    } 
    394411 
Note: See TracChangeset for help on using the changeset viewer.