summaryrefslogtreecommitdiff
path: root/pjsip
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2008-03-29 12:24:20 +0000
committerBenny Prijono <bennylp@teluu.com>2008-03-29 12:24:20 +0000
commit56b85d18b70cdb0c1baaf152f4e5f0cbe99eefb7 (patch)
treeaea47220f781b327cf443f36043fb4f0b6cbee7a /pjsip
parent729ec5bf12d0c1b0e07d73909a58c8fed71e487f (diff)
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
Diffstat (limited to 'pjsip')
-rw-r--r--pjsip/include/pjsua-lib/pjsua.h6
-rw-r--r--pjsip/src/pjsua-lib/pjsua_core.c1
-rw-r--r--pjsip/src/pjsua-lib/pjsua_media.c8
3 files changed, 12 insertions, 3 deletions
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
@@ -3749,6 +3749,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
* bridge. Specifying lower ptime will normally reduce the
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) {