diff options
author | Benny Prijono <bennylp@teluu.com> | 2008-03-13 10:15:16 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2008-03-13 10:15:16 +0000 |
commit | ca51a1b6a2d1d3184e3cee9fd3b722ea71afe288 (patch) | |
tree | b3770612951e9b643f2887d15f3d74cc511958db | |
parent | 9d6f656169d7c4a2914b80325a02e8bd7af1b917 (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.c | 3 | ||||
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_media.c | 5 |
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; |