diff options
author | Nanang Izzuddin <nanang@teluu.com> | 2015-07-31 07:12:36 +0000 |
---|---|---|
committer | Nanang Izzuddin <nanang@teluu.com> | 2015-07-31 07:12:36 +0000 |
commit | 540d02adb1de72e1f63103a6286dab4f7c63e340 (patch) | |
tree | bf141098ca361b006f8846207328ca99cb898629 | |
parent | 2ad2f7dfbd275bd22e4dce3bce5f4a562efe1c6d (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
-rw-r--r-- | pjmedia/src/pjmedia/sound_legacy.c | 6 | ||||
-rw-r--r-- | pjmedia/src/pjmedia/sound_port.c | 14 |
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, ¶m); 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(¶m); + /* 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, ¶m.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(¶m); + /* Normalize dev_id */ + if (dev_id < 0) + dev_id = PJMEDIA_AUD_DEFAULT_CAPTURE_DEV; + status = pjmedia_aud_dev_default_param(dev_id, ¶m.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(¶m); + /* Normalize dev_id */ + if (dev_id < 0) + dev_id = PJMEDIA_AUD_DEFAULT_PLAYBACK_DEV; + status = pjmedia_aud_dev_default_param(dev_id, ¶m.base); if (status != PJ_SUCCESS) return status; |