audio: Fix remote submix module I/O timing and atomicity
Similar to the primary module implementation, align the time
spent in the transfer operation with the duration of audio.
Change the read operation to ingest as much data as possible
during the audio burst duration.
Ensure that checking the existence of a SubmixRoute and adding
a new one is an atomic operation.
Minor improvements to avoid extra synchronization.
In the configuration, change the limit of max open streams to 10
to match the legacy implementation.
Bug: 302132812
Test: atest CtsMediaAudioTestCases --test-filter=".*AudioPlaybackCaptureTest#testPlaybackCaptureDoS"
Change-Id: Iccb6aaac46c039551c3d5f7760b1459168d9cfe5
5 files changed