summaryrefslogtreecommitdiff
path: root/pjmedia
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2008-08-14 17:00:21 +0000
committerBenny Prijono <bennylp@teluu.com>2008-08-14 17:00:21 +0000
commit7701aaa68a31b0138f7916f9d938a8a3fb6559e4 (patch)
treeeb31568ecd3445bc2a03e9a3b37323f76984edc4 /pjmedia
parent11ed693db581f8866fd55c8454102539fd8e54cf (diff)
Added maximum threshold for silence detector, to aovid the silence detector setting the threshold too high thus cutting audio signal (e.g. when streaming long continuous signal)
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2215 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia')
-rw-r--r--pjmedia/include/pjmedia/config.h12
-rw-r--r--pjmedia/src/pjmedia/silencedet.c3
2 files changed, 15 insertions, 0 deletions
diff --git a/pjmedia/include/pjmedia/config.h b/pjmedia/include/pjmedia/config.h
index 7d053f5d..46bf18b9 100644
--- a/pjmedia/include/pjmedia/config.h
+++ b/pjmedia/include/pjmedia/config.h
@@ -429,6 +429,18 @@
/**
+ * Maximum silence threshold in the silence detector. The silence detector
+ * will not cut the audio transmission if the audio level is above this
+ * level.
+ *
+ * Default: 25
+ */
+#ifndef PJMEDIA_SILENCE_DET_MAX_THRESHOLD
+# define PJMEDIA_SILENCE_DET_MAX_THRESHOLD 25
+#endif
+
+
+/**
* Speex Accoustic Echo Cancellation (AEC).
* By default is enabled.
*/
diff --git a/pjmedia/src/pjmedia/silencedet.c b/pjmedia/src/pjmedia/silencedet.c
index d827ce4b..f5d29e6c 100644
--- a/pjmedia/src/pjmedia/silencedet.c
+++ b/pjmedia/src/pjmedia/silencedet.c
@@ -267,6 +267,9 @@ PJ_DEF(pj_bool_t) pjmedia_silence_det_apply( pjmedia_silence_det *sd,
updated = PJ_FALSE;
}
+ if (new_threshold > PJMEDIA_SILENCE_DET_MAX_THRESHOLD)
+ new_threshold = PJMEDIA_SILENCE_DET_MAX_THRESHOLD;
+
if (updated && sd->cur_threshold != new_threshold) {
PJ_LOG(5,(sd->objname,
"Vad cur_threshold updated %d-->%d. "