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.ExoPlayer
|
||||||
import androidx.media3.exoplayer.trackselection.DefaultTrackSelector
|
import androidx.media3.exoplayer.trackselection.DefaultTrackSelector
|
||||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||||
|
import dev.jdtech.jellyfin.AppPreferences
|
||||||
import dev.jdtech.jellyfin.database.DownloadDatabaseDao
|
import dev.jdtech.jellyfin.database.DownloadDatabaseDao
|
||||||
import dev.jdtech.jellyfin.models.Intro
|
import dev.jdtech.jellyfin.models.Intro
|
||||||
import dev.jdtech.jellyfin.models.PlayerItem
|
import dev.jdtech.jellyfin.models.PlayerItem
|
||||||
import dev.jdtech.jellyfin.mpv.MPVPlayer
|
import dev.jdtech.jellyfin.mpv.MPVPlayer
|
||||||
import dev.jdtech.jellyfin.mpv.TrackType
|
import dev.jdtech.jellyfin.mpv.TrackType
|
||||||
import dev.jdtech.jellyfin.repository.JellyfinRepository
|
import dev.jdtech.jellyfin.repository.JellyfinRepository
|
||||||
import dev.jdtech.jellyfin.AppPreferences
|
|
||||||
import dev.jdtech.jellyfin.utils.postDownloadPlaybackProgress
|
import dev.jdtech.jellyfin.utils.postDownloadPlaybackProgress
|
||||||
import java.util.UUID
|
import kotlinx.coroutines.Dispatchers
|
||||||
import javax.inject.Inject
|
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import kotlinx.coroutines.runBlocking
|
import kotlinx.coroutines.runBlocking
|
||||||
|
import kotlinx.coroutines.withContext
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
|
import java.util.UUID
|
||||||
|
import javax.inject.Inject
|
||||||
|
|
||||||
@HiltViewModel
|
@HiltViewModel
|
||||||
class PlayerActivityViewModel
|
class PlayerActivityViewModel
|
||||||
|
@ -150,8 +152,12 @@ constructor(
|
||||||
}
|
}
|
||||||
|
|
||||||
player.setMediaItems(mediaItems, currentMediaItemIndex, items.getOrNull(currentMediaItemIndex)?.playbackPosition?.div(10000) ?: C.TIME_UNSET)
|
player.setMediaItems(mediaItems, currentMediaItemIndex, items.getOrNull(currentMediaItemIndex)?.playbackPosition?.div(10000) ?: C.TIME_UNSET)
|
||||||
if (!appPreferences.playerMpv || !playFromDownloads)
|
if (appPreferences.playerMpv && playFromDownloads) { // For some reason, adding a 1ms delay between these two lines fixes a crash when playing with mpv from downloads
|
||||||
player.prepare() // TODO: This line causes a crash when playing from downloads with MPV
|
withContext(Dispatchers.IO) {
|
||||||
|
Thread.sleep(1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
player.prepare()
|
||||||
player.play()
|
player.play()
|
||||||
pollPosition(player)
|
pollPosition(player)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue