Moves playback service startup to the IO Thread

This commit is contained in:
Vitor Pamplona
2023-07-22 18:27:25 -04:00
parent 4eea36678e
commit ed68ca5f26

View File

@@ -10,6 +10,9 @@ import androidx.media3.session.DefaultMediaNotificationProvider
import androidx.media3.session.MediaSession
import androidx.media3.session.MediaSessionService
import com.vitorpamplona.amethyst.service.HttpClient
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
@UnstableApi // Extend MediaSessionService
class PlaybackService : MediaSessionService() {
@@ -32,6 +35,7 @@ class PlaybackService : MediaSessionService() {
override fun onCreate() {
super.onCreate()
GlobalScope.launch(Dispatchers.IO) {
managerHls = MultiPlayerPlaybackManager(newHslDataSource(), videoViewedPositionCache)
managerProgressive = MultiPlayerPlaybackManager(newProgressiveDataSource(), videoViewedPositionCache)
managerLocal = MultiPlayerPlaybackManager(cachedPositions = videoViewedPositionCache)
@@ -52,6 +56,7 @@ class PlaybackService : MediaSessionService() {
DefaultMediaNotificationProvider.Builder(applicationContext).build()
)
}
}
override fun onDestroy() {
managerHls?.releaseAppPlayers()