Move native builds to wholphin-extensions

This commit is contained in:
Damontecres 2026-03-31 16:48:43 -04:00
parent ca43baa531
commit e931e4d4f4
No known key found for this signature in database
42 changed files with 48 additions and 1806 deletions

View file

@ -43,21 +43,11 @@ Code is split into several packages:
- `ui` - User interface code and ViewModels
- `util` - Utility classes and functions
### Native components
## Extensions
#### FFmpeg decoder module
Wholphin uses several native components for extra playback compatibility. This includes Media3 ffmpeg/av1 decoders and `libmpv`. These extensions are not required to build the app, but without them some functionality will not work.
Wholphin ships with [media3 ffmpeg decoder module](https://github.com/androidx/media/blob/release/libraries/decoder_ffmpeg/README.md).
It is not required to build the extension in order to build the app locally.
You can build the module on MacOS or Linux with the [`build_ffmpeg_decoder.sh`](./scripts/ffmpeg/build_ffmpeg_decoder.sh) script.
#### MPV player backend
Wholphin has a playback engine that uses [`libmpv`](https://github.com/mpv-player/mpv). The app uses JNI code from [`mpv-android`](https://github.com/mpv-android/mpv-android) and has an implementation of `androidx.media3.common.Player` to swap out for `ExoPlayer`.
See the [build scripts](scripts/mpv/) for details on building this component.
If you want to include these in a local build, see the [instructions here](https://github.com/damontecres/wholphin-extensions?tab=readme-ov-file#usage) for configuring the repository.
### App settings