audioflinger: fix mmap device selection
Preserve initial device selection on mmap streams in order to
reuse it when a new client starts on the same stream so that
audiopolicy does not use the default route for the new client.
Bug: 64981153
Test: verify AAudio playback over MMAP with forced device selection to
speaker while headset is connected.
Change-Id: I7c117c3c0f8e7ad08f8e63ea804c19ce21808874
diff --git a/services/audioflinger/Threads.h b/services/audioflinger/Threads.h
index 32f2bc4..8d7bb1a 100644
--- a/services/audioflinger/Threads.h
+++ b/services/audioflinger/Threads.h
@@ -1479,6 +1479,7 @@
audio_stream_type_t streamType,
audio_session_t sessionId,
const sp<MmapStreamCallback>& callback,
+ audio_port_handle_t deviceId,
audio_port_handle_t portId);
void disconnect();
@@ -1540,6 +1541,7 @@
audio_attributes_t mAttr;
audio_session_t mSessionId;
+ audio_port_handle_t mDeviceId;
audio_port_handle_t mPortId;
wp<MmapStreamCallback> mCallback;
@@ -1562,6 +1564,7 @@
audio_stream_type_t streamType,
audio_session_t sessionId,
const sp<MmapStreamCallback>& callback,
+ audio_port_handle_t deviceId,
audio_port_handle_t portId);
AudioStreamOut* clearOutput();