diff options
Diffstat (limited to 'pjsip')
-rw-r--r-- | pjsip/include/pjsua-lib/pjsua.h | 14 | ||||
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_call.c | 12 |
2 files changed, 25 insertions, 1 deletions
diff --git a/pjsip/include/pjsua-lib/pjsua.h b/pjsip/include/pjsua-lib/pjsua.h index 5b8125a2..07287a0a 100644 --- a/pjsip/include/pjsua-lib/pjsua.h +++ b/pjsip/include/pjsua-lib/pjsua.h @@ -2090,6 +2090,20 @@ struct pjsua_media_config * Default: 5. */ unsigned quality; + + /** + * Specify default ptime. + * + * Default: 0 (codec specific) + */ + unsigned ptime; + + /** + * Disable VAD? + * + * Default: 0 (no (meaning VAD is enabled)) + */ + pj_bool_t no_vad; }; diff --git a/pjsip/src/pjsua-lib/pjsua_call.c b/pjsip/src/pjsua-lib/pjsua_call.c index e7455e80..e9042670 100644 --- a/pjsip/src/pjsua-lib/pjsua_call.c +++ b/pjsip/src/pjsua-lib/pjsua_call.c @@ -1852,7 +1852,17 @@ static void pjsua_call_on_media_update(pjsip_inv_session *inv, } else { /* Override ptime, if this option is specified. */ - PJ_TODO(set_codec_ptime_in_call); + if (pjsua_var.media_cfg.ptime != 0) { + sess_info.stream_info[0].param->setting.frm_per_pkt = + pjsua_var.media_cfg.ptime / sess_info.stream_info[0].param->info.frm_ptime; + if (sess_info.stream_info[0].param->setting.frm_per_pkt == 0) + sess_info.stream_info[0].param->setting.frm_per_pkt = 1; + } + + /* Disable VAD, if this option is specified. */ + if (pjsua_var.media_cfg.no_vad) { + sess_info.stream_info[0].param->setting.vad = 0; + } /* Optionally, application may modify other stream settings here |