Fix concurrent capture handler
As demonstrated in the bug, some conditions could cause an abort event
to be delivered after a stop(), causing a violation of the HAL
protocol.
This change adds a lot of different test cases to validate the
thread-safety of this module and then fixes the SUT to pass them.
The thread-safety approach of concurrent capture handler has been
revised and simplified.
Test: atest SoundTriggerHalConcurrentCaptureHandlerTest
Test: Locally forced "no concurrent capture", reproed the bug, then
applied the fix and make sure it no longer repros.
Fixes: 223922855
Change-Id: I1bd3e3c56b3b42246930427890f26289b7d202f7
Loading
Please register or sign in to comment