summaryrefslogtreecommitdiff
path: root/pjsip
diff options
context:
space:
mode:
Diffstat (limited to 'pjsip')
-rw-r--r--pjsip/include/pjsua-lib/pjsua.h14
-rw-r--r--pjsip/src/pjsua-lib/pjsua_call.c12
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