Upload Android APK to GitHub (pre)release #142
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I didn't realize discarding changes to fix a conflict in #125 would cause it to get automatically closed, so here's a new merge-ready PR:
We'll be able to download the Android app from the repo's GitHub releases like this: https://github.com/ThreeDeeJay/sview/releases/tag/latest
The reason for this is that HRTF is broken in the current Android app, apparently because of 2 reasons:
The library is too old, but updating solved part of the problem, just like on Windows "OpenAL HRTF mixing: Unsupported format" - Fixed in OpenAL Soft #115. There's some relevant discussion,
where someone built libopenal.so (32 and 64 bits) Compiling OpenAL1.23.0
for Android. kcat/openal-soft#824 (comment)UPDATE: OpenAL Soft now offers android libraries:
https://nightly.link/kcat/openal-soft/workflows/ci/master/soft_oal-Android_armeabi-v7a-Release.zip
https://nightly.link/kcat/openal-soft/workflows/ci/master/soft_oal-Android_arm64-v8a-Release.zip
The MHR (HRTF) file can't be found because even though it exists in openal-soft-1.17.2-arm7.tar.bz2, it doesn't seem to be copied anywhere, so OpenAL Soft falls back to non-HRTF stereo. So I think a solution would be
embedding Default HRTF.mhr and alsoallowing custom MHRs loaded from public data locations like:sdcard/Android/data/com.sview/
, or somewhere easier to access likesdcard/OpenAL/HRTF
UPDATE: Android libraries linked above should include an embedded HRTF
I figured this out because since my phone happened to be rooted, I was able to replace the .so library in
/data/app/.../<sview lib folder>/
and also create a alsoftrc.config in/etc/openal/
where I specified an existing path to load the MHR from (According to the log, it attempts to load MHRs from/usr/local/share/openal/hrtf
,/usr/share/openal/hrtf
and./
, which seem like Linux paths that aren't present/accessible by non-root apps on Android). After this, HRTF worked in surround/ambisonics files even without having to turn it on in the settings.Anyhow, I submitted gkv311/sview-deps-android#1 to fix one part of the issue, till we figure out how to embed/load custom MHRs externally. 👀👌