diff options
author | Nanang Izzuddin <nanang@teluu.com> | 2011-09-08 05:43:54 +0000 |
---|---|---|
committer | Nanang Izzuddin <nanang@teluu.com> | 2011-09-08 05:43:54 +0000 |
commit | 9c9dc8cc092c30ebee489fecc6579d4608d223e8 (patch) | |
tree | baecabc38e179c3e090aa711a6842fd27fe098e5 /pjmedia/src/pjmedia-audiodev | |
parent | 20dd9709927975e2ddfc8c9216bcaa8e22b063f0 (diff) |
Fixed #1365: Applied volume setting (input & output) when the MDA audio device is started.
git-svn-id: http://svn.pjsip.org/repos/pjproject/branches/1.x@3744 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia/src/pjmedia-audiodev')
-rw-r--r-- | pjmedia/src/pjmedia-audiodev/symb_mda_dev.cpp | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/pjmedia/src/pjmedia-audiodev/symb_mda_dev.cpp b/pjmedia/src/pjmedia-audiodev/symb_mda_dev.cpp index d0e66bdc..6463b9c9 100644 --- a/pjmedia/src/pjmedia-audiodev/symb_mda_dev.cpp +++ b/pjmedia/src/pjmedia-audiodev/symb_mda_dev.cpp @@ -405,6 +405,15 @@ void CPjAudioInputEngine::MaiscOpenComplete(TInt aError) return; } + /* Apply output volume setting if specified */ + if (parentStrm_->param.flags & + PJMEDIA_AUD_DEV_CAP_INPUT_VOLUME_SETTING) + { + stream_set_cap(&parentStrm_->base, + PJMEDIA_AUD_DEV_CAP_INPUT_VOLUME_SETTING, + &parentStrm_->param.input_vol); + } + // set stream priority to normal and time sensitive iInputStream_->SetPriority(EPriorityNormal, EMdaPriorityPreferenceTime); @@ -683,8 +692,17 @@ void CPjAudioOutputEngine::MaoscOpenComplete(TInt aError) iOutputStream_->SetAudioPropertiesL(iSettings.iSampleRate, iSettings.iChannels); - // set volume to 1/2th of stream max volume - iOutputStream_->SetVolume(iOutputStream_->MaxVolume()/2); + /* Apply output volume setting if specified */ + if (parentStrm_->param.flags & + PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING) + { + stream_set_cap(&parentStrm_->base, + PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING, + &parentStrm_->param.output_vol); + } else { + // set volume to 1/2th of stream max volume + iOutputStream_->SetVolume(iOutputStream_->MaxVolume()/2); + } // set stream priority to normal and time sensitive iOutputStream_->SetPriority(EPriorityNormal, @@ -1034,7 +1052,7 @@ static pj_status_t stream_set_cap(pjmedia_aud_stream *s, } break; case PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING: - if (strm->param.dir & PJMEDIA_DIR_CAPTURE) { + if (strm->param.dir & PJMEDIA_DIR_PLAYBACK) { PJ_ASSERT_RETURN(strm->out_engine, PJ_EINVAL); TInt max_vol = strm->out_engine->GetMaxVolume(); |