Fix mpv in downloads (#247)
* Fix mpv in downloads * Don't use wildcard imports --------- Co-authored-by: Jarne Demeulemeester <jarnedemeulemeester@gmail.com>
This commit is contained in:
parent
4b17e42d2d
commit
8c17259072
1 changed files with 11 additions and 5 deletions
|
@ -16,19 +16,21 @@ import androidx.media3.exoplayer.DefaultRenderersFactory
|
|||
import androidx.media3.exoplayer.ExoPlayer
|
||||
import androidx.media3.exoplayer.trackselection.DefaultTrackSelector
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import dev.jdtech.jellyfin.AppPreferences
|
||||
import dev.jdtech.jellyfin.database.DownloadDatabaseDao
|
||||
import dev.jdtech.jellyfin.models.Intro
|
||||
import dev.jdtech.jellyfin.models.PlayerItem
|
||||
import dev.jdtech.jellyfin.mpv.MPVPlayer
|
||||
import dev.jdtech.jellyfin.mpv.TrackType
|
||||
import dev.jdtech.jellyfin.repository.JellyfinRepository
|
||||
import dev.jdtech.jellyfin.AppPreferences
|
||||
import dev.jdtech.jellyfin.utils.postDownloadPlaybackProgress
|
||||
import java.util.UUID
|
||||
import javax.inject.Inject
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import kotlinx.coroutines.withContext
|
||||
import timber.log.Timber
|
||||
import java.util.UUID
|
||||
import javax.inject.Inject
|
||||
|
||||
@HiltViewModel
|
||||
class PlayerActivityViewModel
|
||||
|
@ -150,8 +152,12 @@ constructor(
|
|||
}
|
||||
|
||||
player.setMediaItems(mediaItems, currentMediaItemIndex, items.getOrNull(currentMediaItemIndex)?.playbackPosition?.div(10000) ?: C.TIME_UNSET)
|
||||
if (!appPreferences.playerMpv || !playFromDownloads)
|
||||
player.prepare() // TODO: This line causes a crash when playing from downloads with MPV
|
||||
if (appPreferences.playerMpv && playFromDownloads) { // For some reason, adding a 1ms delay between these two lines fixes a crash when playing with mpv from downloads
|
||||
withContext(Dispatchers.IO) {
|
||||
Thread.sleep(1)
|
||||
}
|
||||
}
|
||||
player.prepare()
|
||||
player.play()
|
||||
pollPosition(player)
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue