diff options
Diffstat (limited to 'libaudio')
-rw-r--r-- | libaudio/AudioHardware.cpp | 18 | ||||
-rw-r--r-- | libaudio/AudioHardware.h | 3 |
2 files changed, 17 insertions, 4 deletions
diff --git a/libaudio/AudioHardware.cpp b/libaudio/AudioHardware.cpp index 45f0a2d..753c413 100644 --- a/libaudio/AudioHardware.cpp +++ b/libaudio/AudioHardware.cpp @@ -86,6 +86,7 @@ AudioHardware::AudioHardware() : mPcmOpenCnt(0), mMixerOpenCnt(0), mInCallAudioMode(false), + mVoiceVol(1.0f), mInputSource(AUDIO_SOURCE_DEFAULT), mBluetoothNrec(true), mTTYMode(TTY_MODE_OFF), @@ -384,6 +385,7 @@ status_t AudioHardware::setMode(int mode) openPcmOut_l(); openMixer_l(); setInputSource_l(AUDIO_SOURCE_DEFAULT); + setVoiceVolume_l(mVoiceVol); mInCallAudioMode = true; } if (mMode == AudioSystem::MODE_NORMAL && mInCallAudioMode) { @@ -541,12 +543,21 @@ size_t AudioHardware::getInputBufferSize(uint32_t sampleRate, int format, int ch return AudioStreamInALSA::getBufferSize(sampleRate, channelCount); } - status_t AudioHardware::setVoiceVolume(float volume) { - LOGD("### setVoiceVolume"); - AutoMutex lock(mLock); + + setVoiceVolume_l(volume); + + return NO_ERROR; +} + +void AudioHardware::setVoiceVolume_l(float volume) +{ + LOGD("### setVoiceVolume_l"); + + mVoiceVol = volume; + if ( (AudioSystem::MODE_IN_CALL == mMode) && (mSecRilLibHandle) && (connectRILDIfRequired() == OK) ) { @@ -590,7 +601,6 @@ status_t AudioHardware::setVoiceVolume(float volume) setCallVolume(mRilClient, type, int_volume); } - return NO_ERROR; } status_t AudioHardware::setMasterVolume(float volume) diff --git a/libaudio/AudioHardware.h b/libaudio/AudioHardware.h index a23e6c9..c4f04e8 100644 --- a/libaudio/AudioHardware.h +++ b/libaudio/AudioHardware.h @@ -119,6 +119,8 @@ public: status_t setInputSource_l(audio_source source); + void setVoiceVolume_l(float volume); + static uint32_t getInputSampleRate(uint32_t sampleRate); sp <AudioStreamInALSA> getActiveInput_l(); @@ -154,6 +156,7 @@ private: uint32_t mPcmOpenCnt; uint32_t mMixerOpenCnt; bool mInCallAudioMode; + float mVoiceVol; audio_source mInputSource; bool mBluetoothNrec; |