Support all compressed formats as mentioned in
audio_policy.conf for app type selection in compress_offload
section of audio_output_policy.conf.
CRs-fixed: 767955
Change-Id: Ifea1643429f1f9f5fdb587d4dfc4303e9af9ff40
Put system in performance mode during start of recording
usecase to meet KPI values of cold start input latency.
Change-Id: I30c202c39b4b15b37e7245fc2f1a427377178baa
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
When speaker protection is turned on input stream can be
NULL. Add a check to fix de-referencing NULL pointer.
Change-Id: I75647d9360a559b5255c29d0baca264b1274eba2
Support Headphone:X in offload and non tunnel modes
Change-Id: Ib30d60bce67cb43556d58a2387735ce715d035a4
Signed-off-by: Alexy Joseph <alexyj@codeaurora.org>
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>
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
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
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
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>
-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
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
-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 ACDB based licenese mechanism for Dolby DS2 implementation.
-Add device to back end mapping for MSM8916
Change-Id: I0de4bd67fbfc26c21c4751e32ae2c45278a226d0
CRs-Fixed: 761339
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
added base64 encode and decode utility functions
Add API to set & get audio calibration.
Use audiocal for set & get key.
Change-Id: I2ea3362a75bd99018f404d8cf0771efa0a2aabf7
Add quad mic recording support for standalone audio recording
and for VoIP calls using audio path.
Change-Id: I852ca864928b73892a88eccf67c2b9803df9cdad
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
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
- 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
added base64 encode and decode utility functions
Add API to set & get audio calibration.
Use audiocal for set & get key.
Change-Id: I2ea3362a75bd99018f404d8cf0771efa0a2aabf7