[Android] PlayerController: add isReleased and hasMedia guards to SPU track methods
Nicolas Pomepuy
git at videolan.org
Wed Sep 9 06:43:37 UTC 2026
vlc-android | branch: master | Nicolas Pomepuy <nicolas at videolabs.io> | Fri Sep 4 11:46:53 2026 +0200| [f7de9be73f59ae6e0aa50e5619dda91371a5bcc7] | committer: Duncan McNamara
PlayerController: add isReleased and hasMedia guards to SPU track methods
> https://code.videolan.org/videolan/vlc-android/commit/f7de9be73f59ae6e0aa50e5619dda91371a5bcc7
---
.../vlc-android/src/org/videolan/vlc/media/PlayerController.kt | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/application/vlc-android/src/org/videolan/vlc/media/PlayerController.kt b/application/vlc-android/src/org/videolan/vlc/media/PlayerController.kt
index 0c836ec7e8..15bffc8102 100644
--- a/application/vlc-android/src/org/videolan/vlc/media/PlayerController.kt
+++ b/application/vlc-android/src/org/videolan/vlc/media/PlayerController.kt
@@ -164,7 +164,7 @@ class PlayerController(val context: Context) : IVLCVout.Callback, MediaPlayer.Ev
fun getRate() = if (mediaplayer.hasMedia() && !mediaplayer.isReleased && playbackState != PlaybackStateCompat.STATE_STOPPED) mediaplayer.rate else 1.0f
- fun setSpuDelay(delay: Long) = mediaplayer.setSpuDelay(delay)
+ fun setSpuDelay(delay: Long) = !mediaplayer.isReleased && mediaplayer.hasMedia() && mediaplayer.setSpuDelay(delay)
fun setVideoTrackEnabled(enabled: Boolean) = mediaplayer.setVideoTrackEnabled(enabled)
@@ -172,13 +172,13 @@ class PlayerController(val context: Context) : IVLCVout.Callback, MediaPlayer.Ev
fun addSubtitleTrack(uri: Uri, select: Boolean) = mediaplayer.addSlave(IMedia.Slave.Type.Subtitle, uri, select)
- fun getSpuTracks(): Array<out VlcTrack>? = mediaplayer.getAllSpuTracks()
+ fun getSpuTracks(): Array<out VlcTrack>? = if (!mediaplayer.isReleased && mediaplayer.hasMedia()) mediaplayer.getAllSpuTracks() else emptyArray()
- fun getSpuTrack() = mediaplayer.getSelectedSpuTrack()?.getId() ?: "-1"
+ fun getSpuTrack() = if (!mediaplayer.isReleased && mediaplayer.hasMedia()) mediaplayer.getSelectedSpuTrack()?.getId() ?: "-1" else "-1"
- fun setSpuTrack(index: String) = mediaplayer.setSpuTrack(index)
+ fun setSpuTrack(index: String) = !mediaplayer.isReleased && mediaplayer.hasMedia() && mediaplayer.setSpuTrack(index)
- fun getSpuTracksCount() = mediaplayer.getSpuTracksCount()
+ fun getSpuTracksCount() = if (!mediaplayer.isReleased && mediaplayer.hasMedia()) mediaplayer.getSpuTracksCount() else 0
fun setAudioDelay(delay: Long) = mediaplayer.setAudioDelay(delay)
More information about the Android
mailing list