summaryrefslogtreecommitdiff
path: root/pjmedia/src
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2015-07-31 07:12:36 +0000
committerNanang Izzuddin <nanang@teluu.com>2015-07-31 07:12:36 +0000
commit540d02adb1de72e1f63103a6286dab4f7c63e340 (patch)
treebf141098ca361b006f8846207328ca99cb898629 /pjmedia/src
parent2ad2f7dfbd275bd22e4dce3bce5f4a562efe1c6d (diff)
Fix #1871: fixed missing audio index normalization in audio device open functions.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@5140 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia/src')
-rw-r--r--pjmedia/src/pjmedia/sound_legacy.c6
-rw-r--r--pjmedia/src/pjmedia/sound_port.c14
2 files changed, 20 insertions, 0 deletions
diff --git a/pjmedia/src/pjmedia/sound_legacy.c b/pjmedia/src/pjmedia/sound_legacy.c
index 57bda409..d5bcf3dc 100644
--- a/pjmedia/src/pjmedia/sound_legacy.c
+++ b/pjmedia/src/pjmedia/sound_legacy.c
@@ -124,6 +124,12 @@ static pj_status_t open_stream( pjmedia_dir dir,
pjmedia_aud_param param;
pj_status_t status;
+ /* Normalize rec_id & play_id */
+ if (dir & PJMEDIA_DIR_CAPTURE && rec_id < 0)
+ rec_id = PJMEDIA_AUD_DEFAULT_CAPTURE_DEV;
+ if (dir & PJMEDIA_DIR_PLAYBACK && play_id < 0)
+ play_id = PJMEDIA_AUD_DEFAULT_PLAYBACK_DEV;
+
/* Initialize parameters */
if (dir & PJMEDIA_DIR_CAPTURE) {
status = pjmedia_aud_dev_default_param(rec_id, &param);
diff --git a/pjmedia/src/pjmedia/sound_port.c b/pjmedia/src/pjmedia/sound_port.c
index 79525d8d..7a880e8a 100644
--- a/pjmedia/src/pjmedia/sound_port.c
+++ b/pjmedia/src/pjmedia/sound_port.c
@@ -377,6 +377,12 @@ PJ_DEF(pj_status_t) pjmedia_snd_port_create( pj_pool_t *pool,
pjmedia_snd_port_param_default(&param);
+ /* Normalize rec_id & play_id */
+ if (rec_id < 0)
+ rec_id = PJMEDIA_AUD_DEFAULT_CAPTURE_DEV;
+ if (play_id < 0)
+ play_id = PJMEDIA_AUD_DEFAULT_PLAYBACK_DEV;
+
status = pjmedia_aud_dev_default_param(rec_id, &param.base);
if (status != PJ_SUCCESS)
return status;
@@ -411,6 +417,10 @@ PJ_DEF(pj_status_t) pjmedia_snd_port_create_rec( pj_pool_t *pool,
pjmedia_snd_port_param_default(&param);
+ /* Normalize dev_id */
+ if (dev_id < 0)
+ dev_id = PJMEDIA_AUD_DEFAULT_CAPTURE_DEV;
+
status = pjmedia_aud_dev_default_param(dev_id, &param.base);
if (status != PJ_SUCCESS)
return status;
@@ -445,6 +455,10 @@ PJ_DEF(pj_status_t) pjmedia_snd_port_create_player( pj_pool_t *pool,
pjmedia_snd_port_param_default(&param);
+ /* Normalize dev_id */
+ if (dev_id < 0)
+ dev_id = PJMEDIA_AUD_DEFAULT_PLAYBACK_DEV;
+
status = pjmedia_aud_dev_default_param(dev_id, &param.base);
if (status != PJ_SUCCESS)
return status;