Support custom mpv.conf (#327)

Part of #235 
Closes #305

Adds a preference for specifying a custom `mpv.conf`

Also adds a preference to toggle between `vo=gpu` and `vo=gpu-next`, see
https://github.com/mpv-player/mpv/wiki/GPU-Next-vs-GPU

There are some caveats:
* Multi-line text entry via a remote is rough
* [Track selection
options](https://mpv.io/manual/stable/#track-selection) may not work as
expected because Wholphin manages this itself
* Bad settings will crash the app hard

Dev note: This rewrites the text field inputs to use the [state based
implementations](https://developer.android.com/develop/ui/compose/text/migrate-state-based)
This commit is contained in:
damontecres 2025-12-04 13:21:40 -05:00 committed by GitHub
parent 45cb385b9b
commit a294661520
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 408 additions and 269 deletions

View file

@ -57,6 +57,7 @@ import kotlin.time.Duration.Companion.seconds
class MpvPlayer(
private val context: Context,
enableHardwareDecoding: Boolean,
useGpuNext: Boolean,
) : BasePlayer(),
MPVLib.EventObserver,
TrackSelector.InvalidationListener {
@ -100,7 +101,7 @@ class MpvPlayer(
if (enableHardwareDecoding) {
MPVLib.setOptionString("hwdec", "mediacodec,mediacodec-copy")
MPVLib.setOptionString("vo", "gpu")
MPVLib.setOptionString("vo", if (useGpuNext) "gpu-next" else "gpu")
} else {
MPVLib.setOptionString("hwdec", "no")
}