History log of /frameworks/av/media/libaudiohal/DevicesFactoryHalHidl.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
6b111f32247800dccd34dd396e731b9e7888b185 28-Apr-2017 Mikhail Naganov <mnaganov@google.com> audiohal: Always load A2DP module locally

This makes legitimate unix socket interaction between A2DP
module and the Bluetooth stack.

Implemented by allowing both "local" and "hidl" interface
wrappers to co-exist for devices and streams. A "hybrid" device
factory is introduced to create an appropriate implementation
of a device depending on the requested module name.

Bug: 37640821
Test: Play Music over BT headset
Change-Id: I5592961dd5b56840418fb122680979d11a261b6c
/frameworks/av/media/libaudiohal/DevicesFactoryHalHidl.cpp
1ba4041b6248aff42c01d27832995ebdf431bbd1 20-Mar-2017 Mikhail Naganov <mnaganov@google.com> audiohal: Exit instead of crashing when HAL factory can't be obtained

Replace LOG_ALWAYS_FATAL with ALOGE + exit, so the process still
restarts, but without a crash. This avoids confusion in bug triaging
and also helps to eliminate noise in bug reports statistics.

Bug: 36424777
Change-Id: I623cbc6a5b0d3351f849810dd67708d421efd61a
Test: reproduced error condition, checked that audio server restarts
/frameworks/av/media/libaudiohal/DevicesFactoryHalHidl.cpp
425a50282ebdcc68a4fc01a268be87426889152e 14-Mar-2017 Mikhail Naganov <mnaganov@google.com> audiohal: Restart audioserver if HAL services can't be obtained

HAL services are crucial for the audioflinger to work.
If for some reason device or effect factories can't be obtained,
log a error message and crash af. If the problem with obtaining
services is transient, restarting af helps to restore audio.

Bug: 36153684
Change-Id: Iec17a6c6e19650cf1d1de1ec30caf05753b9bce1
Test: reproed the bug, checked that af restarts and finds devices
/frameworks/av/media/libaudiohal/DevicesFactoryHalHidl.cpp
a843e7bac59fd8a97ab3b4d5171c5d21bbd325fd 13-Mar-2017 Steven Moreland <smoreland@google.com> audio: remove unused using statements.

Bug: 36099713
Test: pass
Change-Id: Ib7a48469788a60778186368667c7043c33129e91
/frameworks/av/media/libaudiohal/DevicesFactoryHalHidl.cpp
eea329e9db5244e4156f9f2a066362c47ff23c63 26-Jan-2017 Chris Phoenix <cphoenix@google.com> AudioDevices HAL uses "default" service name

The getService() and registerAsService() methods of interface objects
now have default parameters of "default" for the service name. HALs
will not have to use any service name unless they want to register
more than one service.

Test: builds

Bug: 33844934
Change-Id: Ifc6d297d0bbf7b28be560700c027c07acaa2466c
/frameworks/av/media/libaudiohal/DevicesFactoryHalHidl.cpp
b20e4ef0448b1555e06dc7fd523ad4d181ab8686 20-Jan-2017 Eric Laurent <elaurent@google.com> Merge "Add support for stub audio HAL in HIDL mode"
cb9d2eb0a725fccc6fbee005f2e084b71279da16 19-Jan-2017 Eric Laurent <elaurent@google.com> Add support for stub audio HAL in HIDL mode

Bug: 34360879
Test: make and check stub HAL is loaded in HIDL passthrough mode
Change-Id: Ib0d3d66aef802ae3685c17297eb87da0b5b0cc3a
/frameworks/av/media/libaudiohal/DevicesFactoryHalHidl.cpp
d621ac82e648c8ef395068edb1af2747f49b700a 13-Jan-2017 Mikhail Naganov <mnaganov@google.com> Monitor crashes of audio hal service via linkToDeath

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
/frameworks/av/media/libaudiohal/DevicesFactoryHalHidl.cpp
e83be8af690ef1ac820a63414d522e77ca9d4db6 06-Jan-2017 Steven Moreland <smoreland@google.com> Remove usage of getStatus.

- remove from libaudiohal
- remove from services/radio
- remove from soundtrigger
- remove from omx

Bug: 31348667
Test: compiles
Change-Id: I75bb7b7388527dacfdc5bf128712cb8690bc286b
/frameworks/av/media/libaudiohal/DevicesFactoryHalHidl.cpp
9f57e3c9da8923649adff62e63c644537f565e90 05-Dec-2016 Mikhail Naganov <mnaganov@google.com> Crash audioserver if EPIPE (DEAD_OBJECT) is received from the HAL

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
/frameworks/av/media/libaudiohal/DevicesFactoryHalHidl.cpp
34e5d30e54650b210c1b9730b1e4b412ec1cdb0c 10-Dec-2016 Samuel Saccone <samccone@google.com> Revert "Crash audioserver if EPIPE (DEAD_OBJECT) is received from the HAL"

This reverts commit 9f55e5f998644d58cb8f3625e06d9b7a4e78555c.

Change-Id: Ic76c0cb5032af422699da2b43106b4b1de5ac935
/frameworks/av/media/libaudiohal/DevicesFactoryHalHidl.cpp
9f55e5f998644d58cb8f3625e06d9b7a4e78555c 05-Dec-2016 Mikhail Naganov <mnaganov@google.com> Crash audioserver if EPIPE (DEAD_OBJECT) is received from the HAL

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
/frameworks/av/media/libaudiohal/DevicesFactoryHalHidl.cpp
f558e0218d2677a813c9c600886f673894eec927 15-Nov-2016 Mikhail Naganov <mnaganov@google.com> libaudiohal: Implement simple HIDL client

This client requires both HIDL client and server to be of the same
ABI version (e.g. 32-bit).

EffectHalHidl::process and EffectHalHidl::processReverse are stubs.

Some extra warnings are logged due to unimplemented functions
in the legacy HAL.

Bug: 30222631
Change-Id: Id074131dec6d6c4f1031695abcf3ea066e92a5af
Test: Play Music (play / EQ), YouTube, Loopback RTLT, Ok Google on N5X
/frameworks/av/media/libaudiohal/DevicesFactoryHalHidl.cpp