-
Notifications
You must be signed in to change notification settings - Fork 466
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
Add 16 kb page support to decoder_flac
to support Android 15
#1685
Comments
Hi @maxoertel, Thank you for raising this issue. We will add support for 16KB page to all the extension modules and keep you updated. |
We need to rebuild any native components of the app to prevent crashes on devices with 16 KB page support. Tested on a device that supports 16 KB pages and runs Android 15, as well as on older Android devices. Issue: #1685 PiperOrigin-RevId: 684488244
Hi @maxoertel, Support for 16 KB page size has been added. Thank you once again for raising this issue. |
Thx @rohitjoins for adding 16 KB page size support 💪🏼 |
@rohitjoins AFAIK 16k pages requires NDK 27 and all the docs still references NDK 21 as tested solution. Might worth a doc update? |
@Tolriq I'm very confident that NDK 27 is not required for 16kb pare support. We updated our own libs already and still use NDK 21 and it works fine. Google even has a dedicated section for below NDK 27: https://developer.android.com/guide/practices/page-sizes#compile-r26-lower |
Yes but from that part:
Says it requires canary versions of those NDK |
Hi @Tolriq, We recently streamlined the build process for most decoder extensions by switching from |
We need to rebuild any native components of the app to prevent crashes on devices with 16 KB page support. Tested on a device that supports 16 KB pages and runs Android 15, as well as on older Android devices. Issue: androidx#1685 PiperOrigin-RevId: 684488244
@rohitjoins We tested the
When running the |
Hi @maxoertel, Did you test it on a device with 16KB page size enabled? I have tested this on both an emulator and a device with 16KB page enabled and the script does show aligned to me. |
Hey @rohitjoins, I didn't test it on a 16KB emulator yet, since the script showed
The same steps worked for other SDKs, they showed after updating their versions in the last step Am I doing something wrong? |
Hey @maxoertel, Thanks for the details! Testing specifically on a 16KB emulator isn’t necessary. What I meant was that testing should be done on either a physical or virtual device running Android 15 with 16KB page alignment enabled. Could you check if 16KB page alignment was enabled on the device? This setting is essential for verifying alignment. We use the same alignment parameters in our CMakeLists file for flacJNI as we do for other extensions:
|
@rohitjoins I tested using the I did however use an APK that was build for a non-16KB device - I will retry in the next days with a 16KB one. Our other SDKs we use and our own C-libraries did show Will test and let you know! Thx for your help |
Hey @rohitjoins, Still I'm getting Compared to TL;DR: |
Nice to hear that.
Not really, it shows aligned to me when I use the script as attached in #1685 (comment). Closing the issue as the extension works! |
Version
Media3 main branch
More version details
Android 15 adds support for devices with 16 kb page size memory. Any native parts of the app need to be rebuild, otherwise apps will crash at these new devices. Currently, the Flac extension of Exoplayer does not support this. Hence, validating the APK shows UNALIGNED:
TODO:
Devices that reproduce the issue
Any
Devices that do not reproduce the issue
Reproducible in the demo app?
Yes
Reproduction steps
alignment.sh
script provided in the official migration guide linked above and run this command:sh alignment.sh my_apk_out | grep "arm64-v8a"
(where
my_apk_out
is the unzipped apk)Expected result
libflacJNI.so
(the Flac lib) should sayALIGNED
Actual result
It says
UNALIGNED
Media
Bug Report
adb bugreport
to [email protected] after filing this issue.The text was updated successfully, but these errors were encountered: