Merge commit '04b67c8c9fadfc174fb66aef3a31544707bd4b0d' into eclair-plus-aosp
* commit '04b67c8c9fadfc174fb66aef3a31544707bd4b0d':
Fix issue 2418435: Device is rebooted after pairing with A2DP/Bluetooth and made a call to other phone.
AudioHardware receives TTY mode selection from HeadsetObserver by means of the setParameters() method.
Whenever the audio mode is MODE_IN_CALL and a headset is connected, the sound device selection
is modified by TTY mode in order to select TTY full, VCO ot HCO oudio routes and a1026 configuations accordingly.
Merge commit 'c42d5b9bd789034e4e10679b24a7bd38e68f4556' into eclair-plus-aosp
* commit 'c42d5b9bd789034e4e10679b24a7bd38e68f4556':
Fix issue 2378103: Bluetooth car kit partly handled by Passion AudioHardware implementation.
libaudio: handle audio path SND_DEVICE_CARKIT.
Submitted on behalf of HK Chen <HK_Chen@htc.com>
Added missing code from HK patch in A1026 configuration.
Merge commit '3964d4ed448b00791bc1b574913be24f44b45f0f' into eclair-plus-aosp
* commit '3964d4ed448b00791bc1b574913be24f44b45f0f':
Fix issue 2199233: ERD16 Incall volume with headset is crazy loud / volume buttons have no effect
A regression was introduced by commit 372b6255604d1c54d31e79f1ea31472fe5bc8956 fixing issue 2336461:
voice call volume still needs to be updated when entering IN_CALL mode.
This change reverts modifications made earlier on software voice volume control in audio policy manager.
These modifications are not needed anymore and are partly responsible of this issue now that voice volume is controlled by audio DSP.
Add new config values for usage AudioSystem::FOR_DOCK in setForceUse() to differenciate car and desk docks.
For the desk dock, the sonification strategy will use the phone speaker only as there is no guaranty that
a device is connected to the dock's output jack.
For the car dock, the sonification strategy will use the A2DP output as before.
Merge commit '9ffa86825c57c8bf82669b438bd0e8feb865d4b7' into eclair-plus-aosp
* commit '9ffa86825c57c8bf82669b438bd0e8feb865d4b7':
Use the media.enable1026 system property to indicate whether the
dual microphone noise suppression should be used during a phone call
in handset mode. The disabling is performed by using the same A1026
settings as those used in Voice Recognition when not using the
Noise Suppression algorithm. This mode uses the exact same input
and gains as the incall receiver mode (A1026_PATH_INCALL_RECEIVER)
A new mode (A1026_PATH_INCALL_NO_NS_RECEIVER) is defined for code
clarity.
This correction in AudioPolicyManager does not directly fix the issue but a potential problem identified when working on the resolution.
The problem is that audio output path is not updated immediately when a headset is unplugged if music or notifications are active. This is however not observable because:
- music is paused by music app when the headset is unplugged, and correct path is re-established when music is resumed.
- ringtones and notifications are playing on both headset and speaker and are still audible on speaker when the headset is unplugged even if
the actual output path is not changed to speaker only.
There could be an impact on applications using MUSIC stream and not reacting to Intent AudioManager.ACTION_AUDIO_BECOMING_NOISY though.
Merge commit '2754389d0e7638b3065ecb3c965b1f262d2205ed' into eclair-plus-aosp
* commit '2754389d0e7638b3065ecb3c965b1f262d2205ed':
gralloc-qsd8k: make sure that we never try to allocatio 0 bytes
Merge commit '9df12adc2ff87eef733b948255f2960ca070981a' into eclair-plus-aosp
* commit '9df12adc2ff87eef733b948255f2960ca070981a':
Fix bug 2111240 When docked to a BT dock, give priority to wired
Merge commit '9c3ea9222f761ae445062a706d77804fcc7a5703' into eclair-plus-aosp
* commit '9c3ea9222f761ae445062a706d77804fcc7a5703':
Fix issue 2304669: VoiceIME: starting and canceling voice IME yields persistent "error 8" state on future attempts and breaks voice search.
Fixed AudioPolicyManager::getInput() broken in change ddb78e7753be03937ad57ce7c3c842c52bdad65e
so that an invalid IO handle (0) is returned in case of failure.
Applied the same correction to getOutput().
Merge commit 'dc80f522f23ecda902bf8ddf5de68d6fe10e2c05' into eclair-plus-aosp
* commit 'dc80f522f23ecda902bf8ddf5de68d6fe10e2c05':
gralloc-qsd8k: If using gpu composition, request rgba8888 instead of rgbx8888
Merge commit 'c3f00492488dec0b8eaa5d28aac1bcc8ca899a3c' into eclair-plus-aosp
* commit 'c3f00492488dec0b8eaa5d28aac1bcc8ca899a3c':
gralloc-qsd8k: Change composition_complete being a glfinish from stopship to a TODO
We really need to fix this eventually, but it's not a ship blocker.
Change-Id: I35f66988e7adba13e47c2a86e13a7425cc5aada3
Signed-off-by: Dima Zavin <dima@android.com>
Merge commit 'cda6ed314ac73ffaeb0350056c84fc0d8b7b58ea' into eclair-plus-aosp
* commit 'cda6ed314ac73ffaeb0350056c84fc0d8b7b58ea':
Fix issue 2304701: Media streams can remain muted on A2DP output.
The problem comes from the fact that when a notification is played on both headsets + speaker,
the media strategy is muted. It is only unmuted when a new device is selected on hardwate output
(for instance headset only when music starts).
If an A2DP output is created while music is muted, AudioFlinger with use the last value received
for music volume to initialize the music stream volume on the newly created A2DP output, which in
this case is 0. The code in audio policy manager that applies stream volumes after the A2DP output
has been created is inefficient here, because as music stream is muted, the request to change the
volume is ignored.
As next time music starts it is now played over A2DP output and not on HW output,
no device modification is done on HW output and the music streams remains muted.
This is also applicatble to SYSTEM and TTS streams.
The fix consists in keeping a stream mute count on each output separately instead of a global stream mute count.
Thus when the music volume is re applied after A2DP output creation, the request is not ignored as the music stream is not
muted on A2DP output.
Merge commit '49a5c99a84626b5b1db4eda5239307e3366e28fa' into eclair-plus-aosp
* commit '49a5c99a84626b5b1db4eda5239307e3366e28fa':
libgralloc-qsd8k: Do not use the physical address of surfaces/framebuffer
The GPU now correctly maps everything throug hthe MMU so physical addresses
are no longer needed.
Change-Id: Id16a690f63d7141c8ee6694b246b1955f450b8ed
Signed-off-by: Dima Zavin <dima@android.com>