Replies: 1 comment 1 reply
-
The EXCLUSIVE stream is used to play the output of the mixer. There can be multiple SHARED mode streams. They all get mixed together in AAudioServiceEndpointPlay::callbackLoop() What is an easy way to output a single stream? Call AAudio and open an EXCLUSIVE stream.
No. When running in the service, we bypass Binder and just call the appropriate service routines directly. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi @philburk
I see the android source code here https://cs.android.com/android/platform/superproject/main/+/refs/heads/main:frameworks/av/services/oboeservice/AAudioEndpointManager.cpp;l=147;bpv=0;bpt=0
It is explicitly that if use AAUDIO_SHARING_MODE_SHARED, an AAudioServiceEndpointShared is created and used.
However, when debugging in my phones, Xiaomi- MI 9 and Oneplus 8(IN2010), I got below logs shows AAudioServiceEndpointMMAP is used.
Then I see this logic
It seems force use AAUDIO_SHARING_MODE_EXCLUSIVE and then call mStreamInternal->open(builder) again through Binder, this maybe why use AAudioServiceEndpointMMAP finnally.
My question is why design like this? what the real purpose of AAudioServiceEndpointShared?
Thanks a lot.
Beta Was this translation helpful? Give feedback.
All reactions