summaryrefslogtreecommitdiff
path: root/pjmedia/src
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2013-03-20 06:56:19 +0000
committerNanang Izzuddin <nanang@teluu.com>2013-03-20 06:56:19 +0000
commit4d108dde272ab26fc4cc441137ae1dd7c20c8465 (patch)
treeb47e054f407424e66d34bbb20ffe9f5a3c8ba4a8 /pjmedia/src
parent7a36d0beac6c5e1253076a2b42d778fd389695e6 (diff)
Misc (re #1630): Added compile-time setting to configure audio switchboard buffer size.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4443 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia/src')
-rw-r--r--pjmedia/src/pjmedia/conf_switch.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/pjmedia/src/pjmedia/conf_switch.c b/pjmedia/src/pjmedia/conf_switch.c
index 85a884c5..114b48a0 100644
--- a/pjmedia/src/pjmedia/conf_switch.c
+++ b/pjmedia/src/pjmedia/conf_switch.c
@@ -50,7 +50,7 @@
#define NORMAL_LEVEL 128
#define SLOT_TYPE unsigned
#define INVALID_SLOT ((SLOT_TYPE)-1)
-#define BUFFER_SIZE PJMEDIA_MAX_MTU
+#define BUFFER_SIZE PJMEDIA_CONF_SWITCH_BOARD_BUF_SIZE
#define MAX_LEVEL (32767)
#define MIN_LEVEL (-32768)
@@ -144,6 +144,15 @@ static pj_status_t create_conf_port( pj_pool_t *pool,
PJ_ASSERT_RETURN(pool && conf && port && name && p_conf_port, PJ_EINVAL);
+ /* Check port's buffer size */
+ if (port->info.fmt.id == PJMEDIA_FORMAT_PCM &&
+ PJMEDIA_PIA_SPF(&port->info)*2 > BUFFER_SIZE - sizeof(pjmedia_frame))
+ {
+ pj_assert(!"Too small buffer size for audio switchboard. "
+ "Try increase PJMEDIA_CONF_SWITCH_BOARD_BUF_SIZE");
+ return PJ_ETOOSMALL;
+ }
+
/* Create port. */
conf_port = PJ_POOL_ZALLOC_T(pool, struct conf_port);