From f3688b84175047f63a593d0739dd16824ce56c21 Mon Sep 17 00:00:00 2001 From: Damontecres Date: Thu, 6 Nov 2025 08:30:47 -0500 Subject: [PATCH] Docs --- .../damontecres/wholphin/util/mpv/MpvPlayer.kt | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/github/damontecres/wholphin/util/mpv/MpvPlayer.kt b/app/src/main/java/com/github/damontecres/wholphin/util/mpv/MpvPlayer.kt index 07973004..fadb4407 100644 --- a/app/src/main/java/com/github/damontecres/wholphin/util/mpv/MpvPlayer.kt +++ b/app/src/main/java/com/github/damontecres/wholphin/util/mpv/MpvPlayer.kt @@ -37,6 +37,11 @@ import timber.log.Timber import kotlin.concurrent.atomics.ExperimentalAtomicApi import kotlin.time.Duration.Companion.seconds +/** + * This is barebones implementation of a [Player] which plays content using libmpv + * + * It doesn't support every feature or emit every event + */ @kotlin.OptIn(ExperimentalAtomicApi::class) @OptIn(UnstableApi::class) class MpvPlayer( @@ -50,7 +55,6 @@ class MpvPlayer( private var isPaused: Boolean = true private var surface: Surface? = null -// private val listeners = mutableListOf() private val looper = Util.getCurrentOrMainLooper() private val handler = Handler(looper) @@ -62,10 +66,8 @@ class MpvPlayer( listener.onEvents(this@MpvPlayer, Player.Events(eventFlags)) } private val availableCommands: Player.Commands - private lateinit var surfaceSize: Size private var mediaItem: MediaItem? = null - private var startPositionMs: Long = 0L private var durationMs: Long = 0L private var positionMs: Long = 0L @@ -275,7 +277,7 @@ class MpvPlayer( override fun getCurrentTracks(): Tracks { if (DEBUG) Timber.v("getCurrentTracks") - return getTracks() ?: Tracks.EMPTY + return getTracks() } override fun getTrackSelectionParameters(): TrackSelectionParameters { @@ -558,7 +560,7 @@ class MpvPlayer( if (startPositionMs > 0) { seekTo(startPositionMs) } - getTracks()?.let { + getTracks().let { notifyListeners(EVENT_TRACKS_CHANGED) { onTracksChanged(it) } } } @@ -594,8 +596,8 @@ class MpvPlayer( } } - private fun getTracks(): Tracks? { - val trackCount = MPVLib.getPropertyInt("track-list/count") ?: return null + private fun getTracks(): Tracks { + val trackCount = MPVLib.getPropertyInt("track-list/count") ?: return Tracks.EMPTY val groups = (0.. val type = MPVLib.getPropertyString("track-list/$idx/type")