-
Notifications
You must be signed in to change notification settings - Fork 416
Migrate from "oboe" to "ndk::audio" #961
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
I need help to configure cargo-apk test to use android26 toolchain not android23 |
strange, I've thought we use android 30 in CI since commit 802073d. |
Thanks for filing this! I wonder, could you rename the whole |
@est31 what about aaudio? it looks nicer and keeps harmony with coreaudio |
hmm I wonder how one can fix this error. |
@est31 |
@est31 moving android example to a dedicated crate with some apk metadata solved that problm |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thank you ❤️
Thanks, I will try this in the next days, and also see if #959 is still needed.
So this is raising minimum supported Android version to Android 8/Oreo. We are currently adding audio functionality to an open-source Android app with several hundred thousands active users, and are seriously considering using cpal, as the app is cross-platform and uses a shared Rust core between all platforms (Linux, Windows, macOS, iOS, Android). The app currently works on all versions from Android 5.0 Lollipop, and has a significant amount of users on old, outdated Android devices. AAudio was only added in Android 8.0 Oreo, and it is currently most likely not feasable in the short term for this app to do this change, because it would force several thousand users to either buy new devices or stop using the app. Therefore, this change would mean we'd either have to not use cpal or fork cpal to still include the Is there a significant downside to leaving the current |
Thanks for this feedback. I understand that if there is 3.2 billion Android devices, then 5% of that would be 115 million. For apps at your scale, it would still be thousands of devices. I suppose we could continue maintaining the @Frando would you be interested in becoming the maintainer of the |
This pull request drops
Oboe
and usesndk::audio
(thin safe binding of native AAudio) for android platforms.Pros:
✅ Pure rust implementation, so
libc++_shared.so
is not required anymore. Fixes #900, Fixes #815✅ Stream now could be Send and move between threads safely. Fixes #793, Fixes #818
✅ Stream can accept wider range of
SampleFormat { I16, F32, I32, ... }
. (in the future, See: #497 )✅ Supported since
ANDROID_API >= 26
witch is %95 of devices as android distibution dashboard reports.Cons:
❌ not supported in
ANDROID_API < 26
witch is %5 of devices world wide :(