If the wired headset/headphone/line devices are handled by
a different backend than speaker/earpiece devices, the combo
devices such as speaker+headphones can be split into individual
devices and enabled/disabled independently.
CRs-fixed: 989410
Change-Id: I379b56940eaf384d3cd1d9fe392b7fec65df023b
When AANC and fluence are both enabled, HAL select AANC based device
where fluence is disabled. Check for both AANC and Fluence flag and
select AANC and fluence enabled device.
Change-Id: Idb1ad2c9678144a955b8b2ce3506e02d00459b54
- add changes to support single BE mode on top of the
Double BE mode which is supported.
- support reading of version or mode from XML.
- add logic to switch between single and double BE
based on the mode in XML.
- define a new device for true native.
- add logic to read tasha codec version and allow
true native only for 2.0 version of codec
- enchance log msgs for better debugging.
Change-Id: I970487f16af32144ec26f967e8bfcb32d44d67a4
Add support for AUDIO_DEVICE_OUT_LINE device. Treat it same
as Wired Headphone device w.r.t. routing and acdb device.
If the acdb or backend is different it can be updated using
audio_platform_info.xml.
Change-Id: I203f38b1629a837478da1ae304a67bb016b06fa7
CRs-Fixed: 929500
- Add support for multiple offload playback.
- Do not check for reuse of current offload playback
session if multiple offload feature is enabled.
- Remove multiple offload feature flag to enable
compilation by default.
Change-Id: I91a8797ec5e260975ffd022d56bca01bc832da80
- Add support for direct pcm output
- Add support for direct pcm in hal
if output flag is direct_pcm choose compress offload path
- Add support for direct pcm in custom audio policy manager
force add direct flag when we detect pcm track in music and
game use case
Change-Id: Ie69c988ef9cd0477efa77611ceddccdd6b17a163
- remove direct pcm offload usecase
- incase of direct pcm add support for one extra offload usecase
Change-Id: I75f68a8e85c8685091928c09df211e9d7939f342
- Add a new use case and mixer paths to support ultra
low latency audio playback.
This use case exercises the ULL mode in the DSP.
CRs-Fixed: 889183
Change-Id: I6685dd0f346072029ca51e4ce92856a13e74ee76
Add a new use case and mixer paths to support ultra
low latency audio playback. This use case exercises the
ULL mode in the DSP.
CRs-Fixed: 892056
Change-Id: I6685dd0f346072029ca51e4ce92856a13e74ee76
Add support to enable VBat feature. This includes required changes
to select VBat speaker devices for audio and voice usecases and
sending the VBat calibration data to codec driver.
Change-Id: I2234bee3cc4d6f16934a4b27ef9da21cde74bb48
tz_names support is added using key value pairs under
config params in audio_platform_info.xml.
This reverts commit 8225243c24
Change-Id: I5bee7225f945b31e3df9372d00aeb003c2092d8b
- add support for direct pcm output
- add support for direct pcm in hal
if output flag is direct_pcm choose compress offload path
- add support for direct pcm in custom audio policy manager
force add direct flag when we detect pcm track in music and
game use case
Change-Id: Ie69c988ef9cd0477efa77611ceddccdd6b17a163
During device switch, all active capture usecases need to be
switched to new sound device if they all share same backend.
This is not happening because of an improper check of capture
usecase's device against output backend devices. Correct the
check to compare against input backend devices.
Change-Id: Iaf43c30b091f78c2ffb8b2740f241f2edfbe5a08
CRs-fixed: 873528
During device switch, all active capture usecases need to be
switched to new sound device if they all share same backend.
This is not happening because of an improper check of capture
usecase's device against output backend devices. Correct the
check to compare against input backend devices.
Change-Id: Iaf43c30b091f78c2ffb8b2740f241f2edfbe5a08
CRs-fixed: 873528
Increase buffering in the deep buffer path to 40ms
from the current 20ms. Change the number of buffers
from 5 buffers to 2 buffers
CRs-Fixed: 856812
Change-Id: I0df2bd71c22a66c6c3af2377408e94bb4bfe79b5
- all changes for native audio backward
compatibility and related.
- add set parameters from UI
- enable dynamic device switching
- featurize the code
- various backend concurrency changes.
Change-Id: Id0f824c4b4c033f42008a4e8868652c8f6fe5c42
- Changes for device/Usecase selection
- Add new and combo devices for headphones
- Combo device handling
- Add new backend and logic to handle multiple
backends
- Remove hardcoded mixers and select them
dynamically based on the device.
Change-Id: I7207291f2c27da13ba0cc77c66de1144f4b9888a
- all changes for native audio backward
compatibility and related
- add set parameters from UI
- enable dynamic device switching
- featurize the code
- various backend concurrency changes
Change-Id: Id0f824c4b4c033f42008a4e8868652c8f6fe5c42
- Changes for device/Usecase selection
- Add new and combo devices for headphones
- Combo device handling
- Add new backend and logic to handle multiple
backends
- Remove hardcoded mixers and select them
dynamically based on the device
Change-Id: I7207291f2c27da13ba0cc77c66de1144f4b9888a
With new Voice architecture, a voice session per subscription
will support different call types such as Voice/VoLTE/VoWLAN etc.
These new voice sessions will be tagged with new VSID.
Change-Id: I7e9c90fb3935ebce5ff281f2d1c25c66aa96e55e
Fluence module on ADSP is upgraded to support source
tracking, sound focus and audio zoom features. This
change adds support for the same in audio HAL and is
needed to support the features end-to-end.
Source Tracking is the capability to identify the
source of speech. Sound Focus is the capability to
configure which sectors in the 360 degrees plane to
listen to. Audio Zoom is the capability to combine
the sound focus with other technologies so that a user
can listen in on a particular source in a scene.
Change-Id: I019b22d6541e6d1a10552d808c3320a998b86e48
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iEYEABECAAYFAlS+Y7EACgkQoUgPZYCpAfGhcQCgzFtFc1pVn2TUWr42hAfxqmcJ
KNMAn0ijSKfcIWXQfCXYaiv3W7khSvRT
=4cCU
-----END PGP SIGNATURE-----
Merge tag 'AU_LINUX_ANDROID_LA.BF64.1.05.00.00.021.095' into merge_branch
AU_LINUX_ANDROID_LA.BF64.1.05.00.00.021.095 based on quic/aosp/LA.BF64.1
* tag 'AU_LINUX_ANDROID_LA.BF64.1.05.00.00.021.095': (30 commits)
audio: Reject incall record request when mode is not IN_CALL
mm-audio: aenc-aac: fix integer overflow for encoded buffer timestamp calculation
hal: Add support for parsing hdmi edid information for msm8992
hal: Fix glitch in audio playback during device switch
hal: add support to query hpx state using getparameter
hal: add all compressed formats for app type selection
hal: Performance mode during recording usecase
hal: fix null pointer de-reference
hal : add 8992 for msm8992 audio
post_proc: Support Headphone:X in offload and non tunnel modes
post_proc: Add support for non-tunnel DSP audio effects
audio: Avoid mute during AFE PROXY Usecase
hal: Fix DTS HPX Get parameters
hal: bug fixes for PCM offload
hal: Fix progress bar issue during compress offload playback
hal: Fix setting stream channel map properly
hardware/qcom/audio: Integrate Eagle framework for HeadphoneX
hal: Remove setting DAP bypass /DAP on from HAL
hal: Avoid resetting device to speaker for HDMI passthrough case
hal: Audio HAL / APM changes for HDMI passthrough
...
Conflicts:
Android.mk
hal/Android.mk
hal/audio_extn/audio_extn.h
hal/audio_extn/utils.c
hal/audio_hw.c
hal/voice.c
Change-Id: Ia92b2002486894e8711a48480324479fe114aeb6
Currently the deep buffer path uses 4 * 20msec buffer.
During device switch the AudioPolicyManager delays routing
command by 2 * output latency (80msec) to ensure that all
the data written to driver/DSP is played out on current
device itself.
The stream side buffering in the DSP in legacy PCM mode is
95msec and hence the depth of pipeline is 80 + 95 = 175msec
which exceeds the device switch delay 160msec (2 * 80). So
the tail (data written to driver before headset plugin) is
heard on headset and perceived as glitch.
Ensure that the buffering in the kernel is greater than or
equal to the buffering in the DSP to fix the issue.
Change-Id: I01a3862d63ce4c258056620693dee08761c7e83f
CRs-Fixed: 771446
Currently the deep buffer path uses 4 * 20msec buffer.
During device switch the AudioPolicyManager delays routing
command by 2 * output latency (80msec) to ensure that all
the data written to driver/DSP is played out on current
device itself.
The stream side buffering in the DSP in legacy PCM mode is
95msec and hence the depth of pipeline is 80 + 95 = 175msec
which exceeds the device switch delay 160msec (2 * 80). So
the tail (data written to driver before headset plugin) is
heard on headset and perceived as glitch.
Ensure that the buffering in the kernel is greater than or
equal to the buffering in the DSP to fix the issue.
Change-Id: I01a3862d63ce4c258056620693dee08761c7e83f
CRs-Fixed: 771446
-Add support for HDMI passthrough for DD/DDP contents to HAL and
APM.
-Add mixer control to set volume on volume module on passthrough
COPP. The mixer control takes zero volume for mute and unity
volume for max volume.
-DDP content requires sample rate to be four times native sample
rate. HAL sample rate is changed to four times native rate from
start output stream. During rapid pause/resume offload thread
calls standby when there is no active track and no activity for
over a second. On resume start output steam is called and
sample rate is converted to four times its current value.
This results in session to be started with invalid sampling
rate and playback failures.
-Add HDMI passthrough support for JOC format.
Expose DDP/JOC as pass-through supported format if sink
supports either DD or DDP. This is to allow support for
pass-through convert based on edid data.
-Deep buffer music stream does not switch back to HDMI after
ringtone playback ends. Ringtone, alarm, notification etc are
played on speaker if HDMI pass-through is enabled. The
decision is taken based on stream or strategy. The decision
to change the device from HDMI to speaker is taken based on
the stream type. When a patricular stream ends use the
reference count instead of stream type.
-DAP is not turned on when switching from passthrough stream to
deep buffer stream.DAP bypass call from HAL to DAP HAL expects
integer pointer. Address of a bool variable is passed into the
function. Corrupt value is set on driver instead of turn on/off
causing random failures in DAP on/DAP bypass. Use same data type
and use enumeration to make the function call readable.
CRs-Fixed: 761339
Change-Id: Ided9439ec5e87233a1fec3ff9f50a1e9ba4cb788
Add quad mic recording support for standalone audio recording
and for VoIP calls using audio path.
Change-Id: I852ca864928b73892a88eccf67c2b9803df9cdad
Add support for routing voice calls to devices in other audio
HALs by allowing playback and capture to/from AFE proxy
Change-Id: I2c6a1ddec072e1d5f1a8b7ded874e9c082a7b810
Add new device voice_speaker_protected for speaker
protection in case of voice call.This device is
used to select different acdb id in case voice
speaker device is selected as 8994 device will
use mono speaker in case of voice call and stereo
speakers in normal playback.
CRs-Fixed: 713342
Change-Id: Ib4882b6a20aefcfbae4c113f6ca0ae5d6c899d28
Currently during a SCO connection ECNS module in ADSP
is disabled by default. Some BT headsets have built-in
support for echo cancellation and noise reduction and
therefore do not require the same to be done again.
Select BT_SCO devices with ECNS modules enabled when
setParameters() is called with NREC=on.
Change-Id: I8bc37358a4510de7112d5247efbd5d3d7420fe43
-This change adds DSDA support for APQ based targets
where external modem is used for voice calls.
-Add new CSD API to support local call hold.
Change-Id: I7743a1df43dc1abac4e325ff104ec1bb64c9e12b