Merge commit '5ad51e10042fff395ef1833562dc25ba843523f8' into eclair-mr2-plus-aosp
* commit '5ad51e10042fff395ef1833562dc25ba843523f8':
Fix bug 2194140 Add support for the voice recognition mode.
Merge commit '739de5f36523862a7caa15590bd6b680b6cd2854' into eclair-mr2
* commit '739de5f36523862a7caa15590bd6b680b6cd2854':
Fix bug 2194140 Add support for the voice recognition mode.
The voice recognition mode is enabled when using the
AUDIO_SOURCE_VOICE_RECOGNITION audio recording source. The intended
behavior is to use the same microphone input as the default input,
but to configure the A1026 chip in the special mode tuned for
voice recognition, for the matching input. For testing purposes,
two settings will be available for each input, the choice of which
one is used will be dependent on the vr_uses_ns property.
The availability of the voice rec mode is dependent on the enable1026
system property.
Note that the final A1026 configuration modes are not used yet
(not available) but the ones to use are specified in the comments
of the AudioHardware::doAudience_A1026_Control() function at line
952 of AudioHardware.cpp for instance.
Upon availability of other presets, the enable1026 property could
be used to disable or enable even more of the 1026 features.
Merge commit '864c8583342f1de9c2406835e891d8af98ffe073' into eclair-mr2-plus-aosp
* commit '864c8583342f1de9c2406835e891d8af98ffe073':
Fix issue: no audio after media_server process crash while in call.
Merge commit 'd1dc8c30a969ec3539fc21b940789b2f23197756' into eclair-mr2
* commit 'd1dc8c30a969ec3539fc21b940789b2f23197756':
Fix issue: no audio after media_server process crash while in call.
Merge commit '0199fcd0fc04be3361b8843110594b87a0dfc4a9' into eclair-mr2-plus-aosp
* commit '0199fcd0fc04be3361b8843110594b87a0dfc4a9':
HTC update: add attenuation to avoid distortion, and compensate in
Merge commit '10254cc35f5cb7ebe2c7ef452815486cb8e92a33' into eclair-mr2
* commit '10254cc35f5cb7ebe2c7ef452815486cb8e92a33':
HTC update: add attenuation to avoid distortion, and compensate in
AudioHardware QSD8k:
- Add setParameters comment to control noise suppression states via new IOCTL A1026_SET_NS_STATE implemented in a1026 driver.
- Add support for new input device DEVICE_IN_BACK_MIC.
AudioPolicyManager:
- Add support for audio source AUDIO_SOURCE_CAMCORDER.
Merge commit 'f4a09d7449ffd2480d2d3d9fcc6744d4b8dcaa66' into eclair-mr2-plus-aosp
* commit 'f4a09d7449ffd2480d2d3d9fcc6744d4b8dcaa66':
fix[2222341] Soft reset while going back from camcorder settings
Merge commit '87ea1dfa60cf130fafdbab8e94cb2ce9ff8d0975' into eclair-mr2
* commit '87ea1dfa60cf130fafdbab8e94cb2ce9ff8d0975':
fix[2222341] Soft reset while going back from camcorder settings
add a way to convert a mapped "pushbuffer" buffer to a gralloc handle
which then can be safely used by surfaceflinger
also make sure to not send empty rectangles to the MDP.
Merge commit '467b99831bbcfdb42edf7794409095ee8bc84c71' into eclair-mr2-plus-aosp
* commit '467b99831bbcfdb42edf7794409095ee8bc84c71':
Fix bug 2210203 where Music volume is reduced after reducing in-call volume.
Merge commit 'e26fd7576c0c0963ac7e11c249db8f56a8c08a92' into eclair-mr2
* commit 'e26fd7576c0c0963ac7e11c249db8f56a8c08a92':
Fix bug 2210203 where Music volume is reduced after reducing in-call volume.
This is the combination of two issues:
- on QSD8K, the voice volume affects all streams, even when not in call.
This is fixed by setting the voice volume to unity gain whenever
exiting a call.
- another related issue was that when entering a call with no audio
playing, the in-call volume would be at its max. This is due to
the audio driver resetting the gain to unity when creating a new
output. AudioPolicyManager::setPhoneState() would sometimes fail
to force the reset of the audio volumes when entering a call, causing
the driver to use the unity gain, not the in-call volume set by the
user. This is fixed by testing whether is call is starting or ending
independently from the logic to determine the new ouput device.
Merge commit '88316f709083652c4aa9eca6f64631c0ec77fb07' into eclair-mr2-plus-aosp
* commit '88316f709083652c4aa9eca6f64631c0ec77fb07':
do not merge - Fix for issue 2184627 cherry picked from eclair-mr2
Merge commit '0bf3ac2c797fc9e1a327f867d69bbb0b54a68ffa' into eclair-mr2
* commit '0bf3ac2c797fc9e1a327f867d69bbb0b54a68ffa':
do not merge - Fix for issue 2184627 cherry picked from eclair-mr2
Applications are supposed to hold a wakelock. However, since 1.0,
the audio driver and/or HAL has held a partial wakelock. That means
that many apps will be broken if we don't hold a wakelock while
audio is playing. This patch holds a wakelock while the audio
driver is open and releases it when it goes to standby mode.
Bluetooth A2DP suspend-resume improvements.
This change will reduce the occurence rate of A2DP sink suspend resume failures observed in issues 2184627, 2181005 and possibly 2189628.
Suspend A2DP output when phone state is not NORMAL and not only when it is RINGTONE.
Update A2DP suspend state when an A2DP or SCO device is connected or disconnected while phone state is not NORMAL.
Merge commit 'a8eaa9a397383b776b5b65dc479502e70d567dcf' into eclair-mr2-plus-aosp
* commit 'a8eaa9a397383b776b5b65dc479502e70d567dcf':
Fix issue 2192181: AudioFlinger must provide separated methods to set VOICE_CALL stream volume and down link audio volume.
Merge commit '7eda9410e218b2f2ff3f776897fbc1b679b6132d' into eclair-mr2
* commit '7eda9410e218b2f2ff3f776897fbc1b679b6132d':
Fix issue 2192181: AudioFlinger must provide separated methods to set VOICE_CALL stream volume and down link audio volume.
Modified checkAndSetVolume() method to adjust VOICE_CALL, BLUETOOTH_SCO and DTMF stream volumes to match audio hardware behavior (never 0).
Also do the following adjustments on stream volumes:
- VOICE_CALL:
if in call, force software volume to max to avoid applying the volume twice (software mixer + audio hardware)
send setVoiceVolume() to set in call volume in audio hardware
- BLUETOOTH_SCO:
send setVoiceVolume() with max value because volume is applied by BT headset and should not be also applied by audio hardware.
- DTMF:
if in call and not using the BT SCO device, force software volume to max to avoid applying the volume twice (software mixer + audio hardware)
This change will reduce the occurence rate of A2DP sink suspend resume failures observed in issues 2184627, 2181005 and possibly 2189628.
Suspend A2DP output when phone state is not NORMAL and not only when it is RINGTONE.
Update A2DP suspend state when an A2DP or SCO device is connected or disconnected while phone state is not NORMAL.
Merge commit 'ba8101e944ec0ffea2b89739667d3ce731d6e818' into eclair-plus-aosp
* commit 'ba8101e944ec0ffea2b89739667d3ce731d6e818':
Fix issue 2172934: AudioHardware for msm7k: some file descriptor tests must be fixed.
The fix consists in adding a parameter to handleIncallSonification() indicating that it is called from setPhoneState() in which case the stream mute or unmute is called as many times as there are active tracks on the output.
Also change the time when handleIncallSonification() is called in setPhoneState() to make sure that both mPhoneSate and the selected device are coherent with the IN_CALL state when the fucntion is called.