W audio_amplifier: amp_module_open: enable_snd_device not found (undefined symbol: enable_snd_device)
E audio_hw_primary: Amplifier initialization failed
Change-Id: If313889c4749c589d0682982f1d804e4069ffff9
Extend buffer size for offload playback to reduce the frequency of CPU
wake up.
It makes ADSP to process more data one time and reduce the number of
times to wake up CPU.
Bug: 137973303
Test: MP3 playback
Change-Id: Ib0b2a8827647ed780bb20bd9dfa2a383153eb282
Signed-off-by: justinweng <justinweng@google.com>
It should've been && instead of ||, but pcm_open() always
returns a valid pointer, so we just drop the NULL check.
Change-Id: Ibf1d0b34b02ca5910cd4c1bee4d55a04205e2203
When a call is received, if the ringtone is played through the speaker,
the audio HAL will freeze and restart when the call is answered,
leading to a few seconds of silence at the beginning of the call. This
happens because of a NULL pointer dereference, which is in turn caused
by a UAF in the check_usecases_codec_backend() function, in the audio
HAL.
The UAF occurs because the amplifier HAL appends its usecase at the
wrong end of the usecases list - tail instead of head. When the second
list_for_each() loop in the aforementioned function iterates through
the list, it first finds the regular low-latency-playback usecase,
and calls disable_snd_device() for the speaker output device. This
causes the amplifier HAL to execute aw882xx_stop_feedback(), which
frees its usecase in the list, but the internal pointer of the
list_for_each() macro already points to it, thus the following
iteration effectively operates on a free'd object.
To fix this issue, have the amplifier HAL append its usecase to the
head of the list: this way, it will be iterated on before the
low-latency-playback usecase, i.e. before it gets free'd.
Change-Id: Ia8dcb11b3ed320836a6602798ff5c390e7afa9d2
This is based of Davinci/sm6150 setup
Props are checked against stock
vendor.audio.feature.ext_hw_plugin.enable is kept disabled due to
crashes we saw in logs
* Xiaomi is using the earpiece echo reference paths in their HAL,
while CAF uses handset paths.
* Rename the earpiece mixer paths to handset mixer paths in order
to apply the correct echo reference for the CAF hal.
Change-Id: Id917fb33f49009e8145c58638e9fa6d05670473e
* Xiaomi's audio HAL uses the "echo-reference-voip speaker" path during voip
calls in speaker mode, while the CAF hal uses the "echo-reference-voip" path.
* That led to an echo in voip speaker calls since xiaomi appends speaker
to the path name and hence the echo reference wasn't set up properly, because
xiaomi did not apply their echo-reference edits to the default path.
* To fix this we can apply xiaomi's "echo-reference speaker" and
"echo-reference-voip speaker" as "echo-reference" and "echo-reference-voip".
* Remove the "echo-reference speaker" and "echo-reference-voip speaker" paths
because they are the same as "echo-reference" and "echo-reference-voip" and
even if the HAL will support speaker paths one day, it would not be needed for
us since we don't need to differ between speaker and no suffix.
Change-Id: I9c2d42db6870c7f3579f5d96756a8bd4063022c8
I QC2Buf : Buffer 0xf3041d10 imported as 0xf3042690
W QC2V4l2Codec: [avcD_13] unknown/unsupported param Output::HdrStaticMetadata index = 0xD200180A
Change-Id: I5de137760aa0ffb5cb52a12ae074c2862de24a40
Edit: Turn on by default
Bug: 389002332
Flag: android.hardware.biometrics.screen_off_unlock_udfps
Test: 1. FP screen off unlock should be included in settings
2. FP screen off unlock should be enabled by default
Change-Id: I65eda6ae6f69ff4e6a3191d91fb8be42797c7fcb
Signed-off-by: ralph950412 <ralph950412@gmail.com>