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/EffectHalHidl.cpp
|
40be8a343e8ceb7ae087bfb8988247731fa5ae75 |
|
27-Apr-2017 |
Mikhail Naganov <mnaganov@google.com> |
audiohal: Support stateful downmixer effects Fraunhofer's downmixer has additional buffering, this is incompatible with how DownmixerBufferProvider used to process incomplete buffers. Now the effects HIDL wrapper delivers frameCount updates in audiobuffers to the server side. This fixes playback of multichannel sound streams. Bug: 36181621 Test: play 5.1 track from Play Music Change-Id: I3b2cd097d61873c6ba329f1a574235ac88b21cac
/frameworks/av/media/libaudiohal/EffectHalHidl.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/EffectHalHidl.cpp
|
d2ae9cd57cfbb6f2f4dd0a91dbc7ea2e9e5fc447 |
|
03-Mar-2017 |
Mikhail Naganov <mnaganov@google.com> |
audiohal: Check for EINTR and retry when waiting for EventFlag EINTR can be returned in the case when a futex wait has been interrupted by a signal. We need to retry in that case. Bug: 35813113 Change-Id: I7eaee5298f5c0bc5cd62309c3fd8349ee3eae629 Test: make
/frameworks/av/media/libaudiohal/EffectHalHidl.cpp
|
23feba2593973e8ab251db8b63d8c2e228acbd51 |
|
23-Feb-2017 |
Mikhail Naganov <mnaganov@google.com> |
audiohal: Enforce flush of hwbinder commands queue after cleaning client refs In binderized mode, the exact time of destroying the server object is not defined. Enforce destruction by flusing hwbinder commands queue after releasing the last client reference. Bug: 35394629 Test: capture trace while following repro steps, verify that server-side object gets destroyed Change-Id: Id2756cab0f36ed4eaf290d3f5a1c750c9c75b1d3
/frameworks/av/media/libaudiohal/EffectHalHidl.cpp
|
ed01be521e6e265dd8a27e43b581d13342e2528b |
|
17-Feb-2017 |
Mikhail Naganov <mnaganov@google.com> |
audiohal: Support 64-bit audioflinger with 32-bit hal. Part II Also convert "get config" effects command. It doesn't seem to be really used, but nevertheless nice to have it called correctly in mixed ABI case. Change-Id: Ib29124933f5bfb8fd164f29a3059b3a5a3e8052b Test: none
/frameworks/av/media/libaudiohal/EffectHalHidl.cpp
|
f508bd4692736e1455553099f3276f43f4229e27 |
|
16-Feb-2017 |
Mikhail Naganov <mnaganov@google.com> |
audiohal: Support 64-bit audioflinger with 32-bit hal effect_config_t size depends on the architecture because it uses pointers. Need to convert it into HIDL structure when passing to HAL. Test: build 64-bit af with 32-bit hal server in binderized mode run Play Music, apply effects Change-Id: I16ff9cd3accc00b6cb30f86418880ca5b749fdad
/frameworks/av/media/libaudiohal/EffectHalHidl.cpp
|
b4e779137c1849b7b3b09ee782e8bc14de9e2655 |
|
15-Feb-2017 |
Mikhail Naganov <mnaganov@google.com> |
audiohal: Remove timeouts in eventflag waits Having a timeout is causing issues on hal driver thread startup. If thread startup is delayed, then eventflag wait exits with timeout. This leaves fmqs in an intermediate state, and a pending wakeup for the server enables the client and the server to run in parallel, causing races. The legacy HAL interface didn't have any timeouts for read / write operations, so there is no good reason for having them in the wrapping interface. The only difference with legacy HAL is that Treble HAL can be in a separate process, and can crash, but this is handled separately. Test: Check logs on startup, must be no fmq read / write errors Bug: 35346610 Change-Id: Id3f79d31305afab194a4543bfb4501665518a27b
/frameworks/av/media/libaudiohal/EffectHalHidl.cpp
|
0688880d2862e6cddfea1fceca24e8a081a6be60 |
|
19-Jan-2017 |
Mikhail Naganov <mnaganov@google.com> |
audioflinger and hal: Compatibility fixes for Treble 1. Treat both reply size being 0 and reply buffer being NULL as an indication that the reply isn't needed. 2. Synchronize both input and output effect chain buffers, and avoid excessive copies when the input buffer is the same as the output buffer. 3. Improve effect chain debug dump by showing both "external" and "allocated" pointers for effect audio data buffers. Bug: 34368451 Change-Id: I56aba6908408b5fce3f15c8d29138555101e8720 Test: volume controls works when both Bass Boost and EQ effects enabled
/frameworks/av/media/libaudiohal/EffectHalHidl.cpp
|
1acece4c23ba36e71bc42d8b44b8b62bd4423620 |
|
18-Jan-2017 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Monitor crashes of audio hal service via linkToDeath"
|
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/EffectHalHidl.cpp
|
bcd0a04befb085da19fec70a681096dad99afc30 |
|
17-Jan-2017 |
Mikhail Naganov <mnaganov@google.com> |
libaudiohal: Fix handling of NULL replySize param to Effect::command Fix crash when the client passes NULL as 'replySize' for Effect::command. Bug: 30222631 Change-Id: I015a49ba8c7a3103edfcbf9df39bb32093367a7a Test: No crash when adjusting "Bass Boost" setting in Play Music
/frameworks/av/media/libaudiohal/EffectHalHidl.cpp
|
9dc1747e214a3d4b3c08e8c1f3d7982ef5108162 |
|
11-Jan-2017 |
Mikhail Naganov <mnaganov@google.com> |
Enable passthrough mode by default for audio, soundtrigger, and radio 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
/frameworks/av/media/libaudiohal/EffectHalHidl.cpp
|
67d0d7eb36e7c36d0a9dec9264c0cab832196d57 |
|
11-Jan-2017 |
Martijn Coenen <maco@google.com> |
Fix _treble build targets breakage. Test: ENABLE_TREBLE=true builds again. Change-Id: I68470a8c9782f1938b3f8d35052baef0d1befde9
/frameworks/av/media/libaudiohal/EffectHalHidl.cpp
|
022b9953153bdb1984f0abb17d21ef8c1826ad49 |
|
05-Jan-2017 |
Mikhail Naganov <mnaganov@google.com> |
Re-implement HIDL effect processing using FMQ and IMemory Result: no hwbinder calls due music processing. Test: make, use Play Music with effects, check traces Bug: 30222631 Change-Id: I06d0e94e603688874b31824427f3b0878b5f7c8e
/frameworks/av/media/libaudiohal/EffectHalHidl.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/EffectHalHidl.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/EffectHalHidl.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/EffectHalHidl.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/EffectHalHidl.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/EffectHalHidl.cpp
|