Commit graph

7 commits

Author SHA1 Message Date
Ray
d184990b16
Improvements to ffmpeg decoders build script (#1110)
## Description
A few improvements to the ffmpeg decoder & mpv build scripts. Mainly
changes the dependency fetching so the scripts are more idempotent,
though some rebuilds still always occur.

### Related issues
Related to
https://github.com/damontecres/Wholphin/pull/1106#issuecomment-4077678690

### Testing
Local builds

## Screenshots
N/A

## AI or LLM usage
None
2026-03-17 17:04:27 -04:00
Ray
2da55bb616
Use newer libplacebo branch (#1077)
## Description
Testing newer `libplacebo` to include
c93aa134ab

### Related issues
Related to #806
2026-03-13 11:54:55 -04:00
Ray
4dd44b935c
Add optional AV1 software decoding via dav1d for ExoPlayer (#721)
## Description
Adds the [`dav1d` decoder
module](https://github.com/androidx/media/tree/release/libraries/decoder_av1)
for ExoPlayer as an option. It can be enabled in advanced settings.

Performance will vary between devices.

### Related issues
Closes #103

### Dev notes

As with the ffmpeg module, this one is not required to build the entire
app so it's easier for developers to get started.

This also introduces a customized `DefaultRenderersFactory` for
ExoPlayer, but its largely copied from the super class's implementation.
2026-01-18 18:35:41 -05:00
Ray
79c614218d
Bump dependency versions (#645)
## Description
Bumps various third-party dependency versions
2026-01-06 22:51:25 -05:00
Ray
8b40e89b8a
Update MPV playback threading model (#481)
There's no user facing changes in this PR

This PR updates `MpvPlayer` to use a threading model more similar to
[ExoPlayer's
model](https://developer.android.com/reference/androidx/media3/exoplayer/ExoPlayer#threading-model).

There's now a dedicated thread looper message queue between the UI
interactions on the main thread and calls to `libmpv`. This is necessary
because previously, the main thread would make the calls into `libmpv`.
`libmpv` uses internal mutex locking for some operations which meant
that the main thread would be blocked momentarily.

Now, the UI issues a command (eg seek to X position) and the command is
added to the thread looper queue and processed on that separate thread.
This uses the standard Android Handler/Looper mechanisms.

Related to #235
2025-12-17 18:24:25 -05:00
damontecres
f63a30d295
Add additional ffmpeg audio decoders (#423)
Adds a few more ffmpeg audio decoders for ExoPlayer

Fixes #417
2025-12-11 12:55:52 -05:00
damontecres
6be2662d4e
Add experimental MPV player backend (#161)
Experimental MPV player backend

Related to #14, #22, & #85

You can switch to MPV in advanced settings and toggle using hardware
decoding or not.

This uses code and buildscripts from
https://github.com/mpv-android/mpv-android, plus other third party
libraries to build MPV
2025-11-16 18:46:25 -05:00