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
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
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