Commit Graph

1078 Commits

Author SHA1 Message Date
Subhash Chandra Bose Naripeddy e40a7cd4a7 post_proc: Add support for non-tunnel DSP audio effects
Add hw accelerator module to send PCM data to DSP and get
back the effects processed data.

Expose a wrapper library for AudioFlinger to be able use the new
module to apply the DSP audio effects.

Change-Id: I6ee30c11f04a97b35f12201fb61b8cd901921e68
Signed-off-by: Alexy Joseph <alexyj@codeaurora.org>
2014-12-08 19:24:58 -08:00
Linux Build Service Account 098dcbdd50 Merge "hal: bug fixes for PCM offload" 2014-12-06 21:58:18 -08:00
Linux Build Service Account 85dec15af3 Merge "hal: Fix DTS HPX Get parameters" 2014-12-06 00:26:46 -08:00
Linux Build Service Account 408f79ea26 Merge "audio: Avoid mute during AFE PROXY Usecase" 2014-12-06 00:26:32 -08:00
Pavan Chikkala 639648452e audio: Avoid mute during AFE PROXY Usecase
Silence data is getting written from in_read when voice
call is muted with USB Headset connected. This resulting
in muting Rx path too along with Tx path in this
scenario. USB Voice call scenario, PROXY_IN device is
responsible for reading RX data. So not supposed to be
muted.

Fix is to avoid muting if the current use case is AFE_PROXY

CRs-Fixed: 763152

Change-Id: I1fbd5545f343cbaea865e941214be05791dec14e
2014-12-05 13:50:59 -08:00
Alexy Joseph acc655dd42 hal: Fix DTS HPX Get parameters
Fix querying DTS HPX parameters using right mixer kcontrol

Change-Id: I7ce7449d2368ad480e5ff497fc4b11ea4a5ace6f
2014-12-04 08:06:41 -08:00
Alexy Joseph aa54c87a7e hal: bug fixes for PCM offload
When pcm offload is done, override the buffer size
that was calculated and use the value from the system property
Make write call blocking if small buffers are used in offload
Update latency value for pcm offload with small buffer hint based
on period size and period count.

Change-Id: Ic74caa6bd172c8e4554384e9fa98a5137117f07c
2014-12-04 07:42:06 -08:00
Linux Build Service Account 69a0fc1361 Merge "hal: Fix progress bar issue during compress offload playback" 2014-12-03 23:04:01 -08:00
Ravi Kumar Alamanda 38e6fe35ea hal: Fix progress bar issue during compress offload playback
During MP3 (with no gapless meta data) playback in 'repeat one song'
mode observed that from second iteration onwards the progress
bar continues to increase beyond the clip duration.
At the end of second iteration the drain command is not reaching the
driver as the compress_set_gapless_metadata() is not called.
Fix the issue by ensuring that it gets called for every iteration.

Change-Id: If71c145c5a02c99ff55f528522f1f36e20ec8871
2014-12-03 11:02:28 -08:00
Linux Build Service Account 91335bdacd Merge "hal: Fix setting stream channel map properly" 2014-12-03 01:34:05 -08:00
Linux Build Service Account 82875f7106 Merge "hardware/qcom/audio: Integrate Eagle framework for HeadphoneX" 2014-12-01 21:40:16 -08:00
Alexy Joseph e844aad3f1 hal: Fix setting stream channel map properly
Fix setting stream channel map properly

Change-Id: I78620f699c5c5ceb9d4e282bb35911574cf9dca5
2014-12-01 16:06:34 -08:00
Jitendra Naruka 1b6513f811 hardware/qcom/audio: Integrate Eagle framework for HeadphoneX
Add support to integrate the Eagle framework for HeadphoneX
audio post processing feature 1.1

Change-Id: Ib119c27c359950a6087d5e6ae200dfc1e83b7551
Signed-off-by: Jitendra Naruka <jitendra.naruka@dts.com>
Signed-off-by: Alexy Joseph <alexyj@codeaurora.org>
2014-12-01 15:52:26 -08:00
Linux Build Service Account a8646d9d71 Merge "hal: Remove setting DAP bypass /DAP on from HAL" 2014-11-29 04:55:34 -08:00
Linux Build Service Account 6d055f57fb Merge "hal: Avoid resetting device to speaker for HDMI passthrough case" 2014-11-29 01:27:28 -08:00
Linux Build Service Account 012520aa02 Merge "hal: Audio HAL / APM changes for HDMI passthrough" 2014-11-29 01:27:27 -08:00
Linux Build Service Account 6c1ac3f389 Merge "hal: Update DS2 implementation to support ACDB based license mechanism" 2014-11-29 01:27:27 -08:00
Linux Build Service Account 6a46890192 Merge "hal: use updated acdb_init to pass ds1 license info" 2014-11-29 01:27:26 -08:00
Pradnya Chaphekar 124de7e30c hal: Remove setting DAP bypass /DAP on from HAL
-DAP bypass / DAP on will be set from audioflinger when HDMI
 passthrough starts and ends.
-Setting it from HAL has state mismatch between app/ effect
 library and dap hal.

CRs-Fixed: 761339
Change-Id: I62b7fe693b1bac71db585ab90ae54a231f0dfd5b
2014-11-28 19:09:34 -08:00
Pradnya Chaphekar d5349cee03 hal: Avoid resetting device to speaker for HDMI passthrough case
AudioPolicyManager closeOutput triggers resetting device to speaker
when playback ends. This results in an unexpected error in kernel
driver due incorrect topology being picked. Avoid resetting to speaker
device in hal to fix this issue.

Change-Id: Iee998dba7d2a38ef925aebe90d57ef081ad32942
CRs-Fixed: 761339
2014-11-28 19:09:34 -08:00
Pradnya Chaphekar 80a8cfb81f hal: Audio HAL / APM changes for HDMI passthrough
-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
2014-11-28 19:09:34 -08:00
Ashish Jain 8ec5047932 hal: Update DS2 implementation to support ACDB based license mechanism
-Add ACDB based licenese mechanism for Dolby DS2 implementation.
-Add device to back end mapping for MSM8916

Change-Id: I0de4bd67fbfc26c21c4751e32ae2c45278a226d0
CRs-Fixed: 761339
2014-11-28 19:09:34 -08:00
Dhananjay Kumar a3565b3bec hal: use updated acdb_init to pass ds1 license info
Use updated acdb_init to pass ds1 license info

Change-Id: I5155b60fa39511b30b7fa63382891088034fdcc6
CRs-Fixed: 761339
2014-11-28 19:09:34 -08:00
Linux Build Service Account 68bb271f47 Merge "hal: add quad mic support for audio recording and VoIP calls" 2014-11-25 11:00:32 -08:00
Linux Build Service Account 587c7b88d5 Merge "hal: ensure EC reference is disabled before enabling" 2014-11-25 01:10:06 -08:00
Ravi Kumar Alamanda d1c85bbd9d hal: ensure EC reference is disabled before enabling
HW echo cancellation is not working after device switch due
to state mismatch between tinyalsa and the kernel.
Ensure that EC reference is disabled always before enabling
EC reference for the new device.

Change-Id: Ia1152402990db836d3f94278a7d36726310dc60c
2014-11-24 15:40:23 -08:00
Narsinga Rao Chella 975572e9b9 hal: add quad mic support for audio recording and VoIP calls
Add quad mic recording support for standalone audio recording
and for VoIP calls using audio path.

Change-Id: I852ca864928b73892a88eccf67c2b9803df9cdad
2014-11-22 23:32:02 -08:00
Linux Build Service Account 6b31dcb779 Merge "hal: Add API to set & get audio calibration" 2014-11-22 22:27:03 -08:00
Linux Build Service Account 615ed6ac44 Merge "hal: use AUDIO_TX_MONO_COPP topology for incall record usecases" 2014-11-22 16:19:14 -08:00
Linux Build Service Account 78182e49c9 Merge "hal: fix Rx path mute issue during incall recording" 2014-11-22 16:19:14 -08:00
Linux Build Service Account 3b4e9d16eb Merge "hal: Add support for parsing hdmi edid information" 2014-11-22 08:32:39 -08:00
Linux Build Service Account d32dc8de25 Merge "hal: Check for multiple offload usecases" 2014-11-22 01:54:50 -08:00
Narsinga Rao Chella 212e254a47 hal: use AUDIO_TX_MONO_COPP topology for incall record usecases
The Audio COPP topology is hard coded to NULL topology in kernel
for incall recording stream. Remove the hard coding in kernel and
send default input device's audio calibration from audio hal
so that AUDIO_TX_MONO_COPP topology will be used for incall
recording stream.

This change is needed to be able to fine tune audio calibration
data for incall recording stream.

Change-Id: I1680731afb0c0e1c1eedbc9afd56064d856e3940
2014-11-21 22:21:37 -08:00
Narsinga Rao Chella d06b0984b4 hal: fix Rx path mute issue during incall recording
When MULTI_VOICE_SESSIONS feature flag is not enabled, the state of
incall recording stream is returned incorrectly. Fix the issue by
moving the corresponding piece of code from voice_extn.c to voice.c.

Change-Id: Id350bad65d12a4f165e80ee11cda3a8f342d38ee
2014-11-21 16:20:39 -08:00
Linux Build Service Account cccf5f3921 Merge "hal: use 0 as default return value for out_get_render_position" 2014-11-20 21:34:31 -08:00
Ben Romberger a04fabc3d0 hal: Add API to set & get audio calibration
added base64 encode and decode utility functions
Add API to set & get audio calibration.
Use audiocal for set & get key.

Change-Id: I2ea3362a75bd99018f404d8cf0771efa0a2aabf7
2014-11-19 21:48:21 -08:00
Mingming Yin 0ae5cfb5e4 hal: use 0 as default return value for out_get_render_position
- Initialize default return value of out_get_render_position to
  0(NO_ERROR).
- Default value(NO_ERROR) will be used if timestamp query happens
  before compress driver is opened. Return 0(NO_ERROR) in this case
  to avoid playback failures.

Change-Id: I0f8b2e0f19cfe736a19934ddef18016599ec582c
CRs-Fixed: 756508
2014-11-19 18:08:41 -08:00
Alexy Joseph 2f89cfa059 hal: Check for multiple offload usecases
While checking if a usecase is compressed offload, consider
concurrent multiple offload usecases

Change-Id: If01424137d4d5640e97ead58f151300a168f0912
2014-11-18 21:05:11 -08:00
Pradnya Chaphekar 4403bd796e hal: Add support for parsing hdmi edid information
Add support for parsing hdmi edid data and setting channel map
to asm
Parse edid data on hdmi connection and invalidat on disconnection.
Fix audio playback errors on HDMI when source channel count is
greater than sink channel count for offload playback.

Change-Id: I1e0a8335611a87974cb273431659938a0b345e68
2014-11-18 12:40:59 -08:00
Linux Build Service Account 284eff23e4 Merge "hal: Add support for multiple hardware variants for DB8094" 2014-11-14 23:56:03 -08:00
Linux Build Service Account 3be9e37e3e Merge "hal: Define a new combo device for AANC and Fluence" 2014-11-12 06:23:30 -08:00
Linux Build Service Account 8e512ce344 Merge "hal: add support for low-latency capture" 2014-11-11 11:25:47 -08:00
Sidipotu Ashok 3bcca23165 hal: Define a new combo device for AANC and Fluence
Define a new combo device for AANC and Fluence

Change-Id: I0b67629014e92243ab654c2df6e8c23090048090
2014-11-11 13:52:15 +05:30
Linux Build Service Account d9ce605054 Merge "policy_hal: Update custom policy manager to new base class" 2014-11-08 12:29:35 -08:00
Sharad Sangle 896e7b1bf2 hal: add support for low-latency capture
Enable low latency use-case for Bear family

CRs-Fixed: 752390
Change-Id: I7cac5a0166ee9e19ab8753f567bde712ca36ebb3
2014-11-07 17:14:16 +05:30
Linux Build Service Account 9dbe39e953 Merge "hal: Support config selection for playback on speaker" 2014-11-06 21:50:15 -08:00
Linux Build Service Account 5fb5f2888a Merge "hal: Add changes for dolby DS2" 2014-11-06 21:50:12 -08:00
Ravi Kumar Alamanda 1cf2a59e61 policy_hal: Update custom policy manager to new base class
Update the custom policy manager to be based on AudioPolicyManager
class frameworks/av/services/audiopolicy.

Change-Id: I3c2a73f36d60eefbb1c26d530f74d3dfc2b28ac5
2014-11-06 14:46:06 -08:00
Tanya Finkel ca73596638 hal: Add support for multiple hardware variants for DB8094
Add supports for multiple hardware variants such as front panel
line out jack, back panel line out jack, front panel microphone jack.
It require audio HAL to select corresponding entry in the mixer_paths.xml
file based on HW information.

Change-Id: Ifd73e4093ab46fe248aacc1f8c0dcebd3211dea7
2014-11-05 23:17:25 +02:00
Pradnya Chaphekar 8a9dcd8eff hal: Add changes for dolby DS2
-Add device to back end mapping for APQ8084 and MSM8994.
-Set initialization info like sound card number, dmid
 to ds2 dap hal.
-Add mixer control DS2 OnOff to enable or disable DS2
-A property "audio.dolby.ds2.enabled" is added to trigger
 the mixer control.
-Reuse ds1 functions for checking dolby format and getting
 sound codec id.

CRs-Fixed: 661095 661018

Conflicts:
	hal/audio_hw.c
        hal/msm8916/platform.c

Change-Id: Iff5fdc49249eb035c2ccde18e190ccc6c3ff632a
2014-11-05 20:38:32 +05:30