summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2008-03-13 10:15:16 +0000
committerBenny Prijono <bennylp@teluu.com>2008-03-13 10:15:16 +0000
commitca51a1b6a2d1d3184e3cee9fd3b722ea71afe288 (patch)
treeb3770612951e9b643f2887d15f3d74cc511958db
parent9d6f656169d7c4a2914b80325a02e8bd7af1b917 (diff)
More ticket #504: buffer overflow in splitcomb when handling stereo audio
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1866 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--pjmedia/src/pjmedia/splitcomb.c3
-rw-r--r--pjsip/src/pjsua-lib/pjsua_media.c5
2 files changed, 5 insertions, 3 deletions
diff --git a/pjmedia/src/pjmedia/splitcomb.c b/pjmedia/src/pjmedia/splitcomb.c
index 6bd59de4..df1d1316 100644
--- a/pjmedia/src/pjmedia/splitcomb.c
+++ b/pjmedia/src/pjmedia/splitcomb.c
@@ -655,7 +655,8 @@ static pj_status_t get_frame(pjmedia_port *this_port,
store_mono_frame(sc->get_buf,
(pj_int16_t*)frame->buf, ch,
this_port->info.channel_count,
- this_port->info.samples_per_frame);
+ this_port->info.samples_per_frame /
+ this_port->info.channel_count);
has_frame = PJ_TRUE;
}
diff --git a/pjsip/src/pjsua-lib/pjsua_media.c b/pjsip/src/pjsua-lib/pjsua_media.c
index 238b1fb5..69d307d5 100644
--- a/pjsip/src/pjsua-lib/pjsua_media.c
+++ b/pjsip/src/pjsua-lib/pjsua_media.c
@@ -160,11 +160,12 @@ pj_status_t pjsua_media_subsys_init(const pjsua_media_config *cfg)
/* Save additional conference bridge parameters for future
* reference.
*/
+ pjsua_var.mconf_cfg.channel_count = 1;
+ pjsua_var.mconf_cfg.bits_per_sample = 16;
pjsua_var.mconf_cfg.samples_per_frame = pjsua_var.media_cfg.clock_rate *
+ pjsua_var.mconf_cfg.channel_count *
pjsua_var.media_cfg.audio_frame_ptime /
1000;
- pjsua_var.mconf_cfg.channel_count = 1;
- pjsua_var.mconf_cfg.bits_per_sample = 16;
/* Init options for conference bridge. */
opt = PJMEDIA_CONF_NO_DEVICE;