From 56b85d18b70cdb0c1baaf152f4e5f0cbe99eefb7 Mon Sep 17 00:00:00 2001 From: Benny Prijono Date: Sat, 29 Mar 2008 12:24:20 +0000 Subject: Ticket #504: final installment to support stereo audio all the way in PJMEDIA. Please see tickiet #504 for more info git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1898 74dad513-b988-da41-8d7b-12977e46ad98 --- pjsip/include/pjsua-lib/pjsua.h | 6 ++++++ pjsip/src/pjsua-lib/pjsua_core.c | 1 + pjsip/src/pjsua-lib/pjsua_media.c | 8 +++++--- 3 files changed, 12 insertions(+), 3 deletions(-) (limited to 'pjsip') diff --git a/pjsip/include/pjsua-lib/pjsua.h b/pjsip/include/pjsua-lib/pjsua.h index e6f6e2de..33deb388 100644 --- a/pjsip/include/pjsua-lib/pjsua.h +++ b/pjsip/include/pjsua-lib/pjsua.h @@ -3748,6 +3748,12 @@ struct pjsua_media_config */ unsigned snd_clock_rate; + /** + * Channel count be applied when opening the sound device and + * conference bridge. + */ + unsigned channel_count; + /** * Specify audio frame ptime. The value here will affect the * samples per frame of both the sound device and the conference diff --git a/pjsip/src/pjsua-lib/pjsua_core.c b/pjsip/src/pjsua-lib/pjsua_core.c index 83183dd5..82dc4d65 100644 --- a/pjsip/src/pjsua-lib/pjsua_core.c +++ b/pjsip/src/pjsua-lib/pjsua_core.c @@ -163,6 +163,7 @@ PJ_DEF(void) pjsua_media_config_default(pjsua_media_config *cfg) cfg->clock_rate = PJSUA_DEFAULT_CLOCK_RATE; cfg->snd_clock_rate = 0; + cfg->channel_count = 1; cfg->audio_frame_ptime = PJSUA_DEFAULT_AUDIO_FRAME_PTIME; cfg->max_media_ports = PJSUA_MAX_CONF_PORTS; cfg->has_ioqueue = PJ_TRUE; diff --git a/pjsip/src/pjsua-lib/pjsua_media.c b/pjsip/src/pjsua-lib/pjsua_media.c index e105b08f..d50667ce 100644 --- a/pjsip/src/pjsua-lib/pjsua_media.c +++ b/pjsip/src/pjsua-lib/pjsua_media.c @@ -169,7 +169,7 @@ 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.channel_count = pjsua_var.media_cfg.channel_count; 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 * @@ -1834,8 +1834,10 @@ PJ_DEF(pj_status_t) pjsua_set_snd_dev( int capture_dev, fps = 1000 / pjsua_var.media_cfg.audio_frame_ptime; status = pjmedia_snd_port_create(pjsua_var.pool, capture_dev, playback_dev, - clock_rates[i], 1, - clock_rates[i]/fps, + clock_rates[i], + pjsua_var.media_cfg.channel_count, + clock_rates[i]/fps * + pjsua_var.media_cfg.channel_count, 16, 0, &pjsua_var.snd_port); if (status == PJ_SUCCESS) { -- cgit v1.2.3