audio policy: fix mmap stream invalidation logic
Implement a MMAP stream invalidation logic consistent with AAudio
disconnect callback policy.
- When a MMAP stream is opened with a preferred device selection:
Invalidate the stream only when the preferred device becomes unavailable,
either because disconnected or not selectable by highest priority use case.
- When a MMAP stream is opened without explicit device selection:
Invalidate the stream when current device selection changes due to the
routing rules applicable to the stream's audio attributes (attributes
of first client on that stream).
Bug: 144020984
Test: OboeTester > TEST DISCONNECT
Change-Id: I70fde0bc8ab9d544b8d3badb713e6239d792cbdb
3 files changed