aaudio: indicate client UID and PID to audio flinger
Implement correct indication of client UID and PID to audio flinger for AAudio MMAP streams in both exclusive mode and shared mode. - Add start/stop client methods on MMAP streams used only when the MMAP stream is in AAudio service and carries a mix of shared streams. - Add "In Service'" indication from "client" side to AAudioServiceStreamMMAP so that the behavior can be adapted accordingly. - Modify logic on audio flinger side with regard to mmap tracks and audio HAL stream activity: - use same audio session for all clients on a same stream to match audio policy logic to share same direct output stream for clients on same session. This is also more consistent with current volume and effect handling as all MMAP clients sharing the same output stream have the same volume and use case. - start/stop the HAL when the stream is started/stopped with the initial client handle (returned when the stream is opened) but do not create a track. AAudioService implementation will always send an additional start command before first client starts and a stop command after last client stops, in both shared and exclusive mode. - start/stop a track only if the start/stop stream command is received with a handle different from the initial handle. - Allow more than one active client from the same UID on a MMAP input in audio policy. Bug: 62950008 Test: verify playback and capture in mmap mode Merged-In: I86151bbb637ff172d2fd5f813056eab13a7bcd3c Change-Id: I86151bbb637ff172d2fd5f813056eab13a7bcd3c
Loading
Please register or sign in to comment