Be more lenient about releases

This commit is contained in:
Damontecres 2025-11-12 10:48:46 -05:00
parent 9b60c00180
commit 734d5cafd2
No known key found for this signature in database

View file

@ -227,7 +227,7 @@ class MpvPlayer(
} }
override fun setPlayWhenReady(playWhenReady: Boolean) { override fun setPlayWhenReady(playWhenReady: Boolean) {
throwIfReleased() if (isReleased) return
if (DEBUG) Timber.v("setPlayWhenReady") if (DEBUG) Timber.v("setPlayWhenReady")
if (playWhenReady) { if (playWhenReady) {
MPVLib.setPropertyBoolean("pause", false) MPVLib.setPropertyBoolean("pause", false)
@ -282,7 +282,7 @@ class MpvPlayer(
override fun stop() { override fun stop() {
if (DEBUG) Timber.v("stop") if (DEBUG) Timber.v("stop")
throwIfReleased() if (isReleased) return
pause() pause()
mediaItem = null mediaItem = null
positionMs = -1L positionMs = -1L
@ -304,7 +304,7 @@ class MpvPlayer(
override fun getCurrentTracks(): Tracks { override fun getCurrentTracks(): Tracks {
if (DEBUG) Timber.v("getCurrentTracks") if (DEBUG) Timber.v("getCurrentTracks")
throwIfReleased() if (isReleased) return Tracks.EMPTY
return getTracks() return getTracks()
} }
@ -318,7 +318,7 @@ class MpvPlayer(
override fun setTrackSelectionParameters(parameters: TrackSelectionParameters) { override fun setTrackSelectionParameters(parameters: TrackSelectionParameters) {
Timber.v("TrackSelection: setTrackSelectionParameters %s", parameters) Timber.v("TrackSelection: setTrackSelectionParameters %s", parameters)
throwIfReleased() if (isReleased) return
val tracks = getTracks() val tracks = getTracks()
if (C.TRACK_TYPE_TEXT in parameters.disabledTrackTypes) { if (C.TRACK_TYPE_TEXT in parameters.disabledTrackTypes) {
// Subtitles disabled // Subtitles disabled
@ -482,8 +482,8 @@ class MpvPlayer(
override fun clearVideoTextureView(textureView: TextureView?): Unit = throw UnsupportedOperationException() override fun clearVideoTextureView(textureView: TextureView?): Unit = throw UnsupportedOperationException()
override fun getVideoSize(): VideoSize { override fun getVideoSize(): VideoSize {
throwIfReleased()
if (DEBUG) Timber.v("getVideoSize") if (DEBUG) Timber.v("getVideoSize")
if (isReleased) return VideoSize.UNKNOWN
val width = MPVLib.getPropertyInt("width") val width = MPVLib.getPropertyInt("width")
val height = MPVLib.getPropertyInt("height") val height = MPVLib.getPropertyInt("height")
return if (width != null && height != null) { return if (width != null && height != null) {
@ -543,8 +543,11 @@ class MpvPlayer(
seekCommand: Int, seekCommand: Int,
isRepeatingCurrentItem: Boolean, isRepeatingCurrentItem: Boolean,
) { ) {
throwIfReleased()
if (DEBUG) Timber.v("seekTo") if (DEBUG) Timber.v("seekTo")
if (isReleased) {
Timber.w("seekTo called after release")
return
}
if (mediaItemIndex == C.INDEX_UNSET) { if (mediaItemIndex == C.INDEX_UNSET) {
return return
} }
@ -786,11 +789,11 @@ class MpvPlayer(
var subtitleDelay: Double var subtitleDelay: Double
get() { get() {
throwIfReleased() if (isReleased) return 0.0
return MPVLib.getPropertyDouble("sub-delay") ?: 0.0 return MPVLib.getPropertyDouble("sub-delay") ?: 0.0
} }
set(value) { set(value) {
throwIfReleased() if (isReleased) return
MPVLib.setPropertyDouble("sub-delay", value) MPVLib.setPropertyDouble("sub-delay", value)
} }
} }