* Owners are selected from top CL approvals or owners.
They will be suggested to review/approve future CLs.
* OWNERS files are recognized by the new find-owners plugin, see .md files in
https://gerrit.googlesource.com/plugins/find-owners/+/master/src/main/resources/Documentation/
Test: build/make/tools/checkowners.py -c -v OWNERS
Change-Id: I7c848855a2d7a0d7f33123ea4ef5c2d03977b495
Test: make systemimage
Change-Id: I5f83786afe3f2c65819b127b041cb74fc4c989ac
Merged-In: I5f83786afe3f2c65819b127b041cb74fc4c989ac
Signed-off-by: YOUNG HO CHA <ganadist@gmail.com>
(cherry picked from commit 2ee7aab4a3)
"default" implies using "primary" legacy device module.
This doesn't change anything for binderized mode, because
the server was only registering itself as "sound_trigger.primary",
so it was the only possibility anyways.
Usage of "stub" (debugging) module is still possible
if audioflinger and corresponding services are built with
USE_LEGACY_LOCAL_AUDIO_HAL=true (added makefile check to ensure
that).
Test: "Ok Google" from screen off state on sailfish
Bug: 36570720
Change-Id: Ibef7fb312ce593d71255cfac71ba4e8f1dd28666
- All the required SoundTrigger models of a module client
are not getting unloaded and removed as part of detach.
- mModels.size() is evaluated for every iteration which
gives current size of vector which results in exit of
loop without checking for all models in case elements
are removed in loop.
removeItemsAt would modify the vector indices for each
iteration and this would result in skipping access of
some models.
- Iterate from end of models to check and unload.
Bug: 35910617
Test: mmm frameworks/av/services/soundtrigger/
Author: Chaithanya Krishna Bacharaju <chaithan@codeaurora.org>
Change-Id: I72415e53d2e6f366f8ba6e6eeb0cd8323364a231
Identified by static analysis as a potential problem.
Test: mmma frameworks/av/services/soundtrigger
Change-Id: If24519faeec260c3d357b369d53d0f68689bdf8a
Hwbinder 'linkToDeath' mechanism is used to track abrupt
disappearance of server hal objects due to hal server crash.
Upon hal server crash, notifications can be sent to binder
clients if needed, then the audioserver crashes itself as the
current audio HAL design does not provide an easy way to restore
all the transient objects (devices, streams, effects) in their
pre-crash state.
Bug: 34158778
Test: In binderized mode, kill audio hal server
Change-Id: If9265711edc445984601fcb5c29d2c173a370762
Remove ENABLE_TREBLE flag usage for legacy hal fallback.
Introduce new build flag USE_LEGACY_LOCAL_AUDIO_HAL for fallback.
Bug: 32978887
Test: checked "OK Google" (from standby), Hangouts, YouTube,
Play Music, fake radio hal + test app
KI: issues when using equializer and virtualuzer in Play Music
Change-Id: I1c279e622c885f799481f1287e0660ca576fcea0
audioflinger doesn't have a proper way to re-establish all
the opened streams if HAL crashes. The only valid way of dealing
with them is to restart the audioserver.
Although broadcastradio and sountrigger have cleaner protocols
for dealing with HAL failures and can handle HAL crash and restart,
since the audio side will anyway get broken, it makes sense
to also kill the audioserver when they detect HAL crash.
Change-Id: I5f8e8c1d0981042cdd435a3ddbb6526e9f226e6b
Test: kill audio-hal process, watch dmesg and logcat
audioflinger doesn't have a proper way to re-establish all
the opened streams if HAL crashes. The only valid way of dealing
with them is to restart the audioserver.
Although broadcastradio and sountrigger have cleaner protocols
for dealing with HAL failures and can handle HAL crash and restart,
since the audio side will anyway get broken, it makes sense
to also kill the audioserver when they detect HAL crash.
Test: kill audio-hal process, watch dmesg and logcat
Change-Id: Ib2150b69c791ac49de9404de08fc6c309a3fcbd5
Currently service allows only a single client to be attached to a Module.
This limits only a single client can use sound trigger at a time.
Add changes to attach multiple clients to a given Module through ModuleClient
interface so that multiple clients can paralelly use sound trigger on a given
Module. ModuleClient class is introduced as a client interface to a Module.
Service provides a unique instance of ModuleClient to each client being attached
and adds this client to the module clients list.
Test: Manual with modified version of SoundTriggerTestApp that talks to
the module directly
Bug:32030191
Change-Id: I66912e862b8c4232a49d92c0464a9a8b876bdb26
This makes it so audioserver doesn't need to link against the entire libmedia,
which has dependencies on camera, ICU, OpenGL and other things that aren't
needed for audio.
Test: build/boot
Change-Id: I99ba1a3dc3b33ca9b3abd98e7519dbf228ee62af
Various media components were linking against dynamic libraries that weren't needed.
Test: built and booted
Change-Id: I7379506fd06d4e28e0eff0001fd073a2d3860f8e
This makes it so audioserver doesn't need to link against the entire libmedia,
which has dependencies on camera, ICU, OpenGL and other things that aren't
needed for audio.
Test: build/boot
Change-Id: I99ba1a3dc3b33ca9b3abd98e7519dbf228ee62af
Various media components were linking against dynamic libraries that weren't needed.
Test: built and booted
Change-Id: I7379506fd06d4e28e0eff0001fd073a2d3860f8e
First implementation of Treble HAL in sound trigger hardware service.
If ENABLE_TREBLE build option is true, the treble HAL and HW
sevice is used. Otherwise the legacy HW module is loaded.
Bug: 30222631
Change-Id: Ibe5be680b7b7a3b261dd62913869e0bb412f438b
* Add explicit keyword to conversion constructors.
Bug: 28341362
* Use const reference type for read-only parameters.
Bug: 30407689
Test: build with WITH_TIDY=1
Change-Id: I28b251c99c78286a2da1e039df470a3f0bd8abe2
We were previously favoring KeyphraseSoundModels at this layer.
We now have better state handling in SoundTriggerHelper, and
will defer the loading problem to SoundTriggerHelper and above
to sort out.
BUG:28119841
Change-Id: I438a620d6f6e6c593216a8a39bec6d969d6a5311
If no implementation is provided to the hal or uses an earlier version,
will fallback to using the single stop_recognition on all running
models.
Change-Id: Ifc1bd3f2887ad9397499bfd291241fd907b55421
There are currently cases when SoundTriggerHelper may get out of sync
with SoundTriggerHwService, specifically which and how many sound models
are loaded.
If SoundTriggerHelper attempts to load a sound model and it would be
exceeding the maximum allowable number of sound models:
1) If the new sound model is not a KeyphraseSoundModel:
Throw an error
2) If the new sound model is a KeyphraseSoundModel:
See if there is an existing KeyphraseSoundModel to unload
Failing that, unload the first SoundModel in the index
BUG: 27225762
BUG: 22860713
Change-Id: I74db1be36bbc5887f5bf4751c3138de102976722
Restore abort event when setting capture state
from active to inactive for Unknown Sound Models
This was taken out mistakenly in change 853028
Also fix/improve log messages
Change-Id: I58771de47ea357bb99a4ba3cfeea412490746443