From 7a860a727018c3026bdae54ecb91354f902a84ca Mon Sep 17 00:00:00 2001 From: Jannik Date: Sat, 2 Apr 2022 19:47:49 +0200 Subject: [PATCH] update ExoPlayer exoplayer 2.15.0 -> 2.17.1 --- .../ui/activity/player/PlayerViewModel.kt | 22 ++++++------------- build.gradle | 2 +- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/org/mosad/teapod/ui/activity/player/PlayerViewModel.kt b/app/src/main/java/org/mosad/teapod/ui/activity/player/PlayerViewModel.kt index 3e54040..cde7d97 100644 --- a/app/src/main/java/org/mosad/teapod/ui/activity/player/PlayerViewModel.kt +++ b/app/src/main/java/org/mosad/teapod/ui/activity/player/PlayerViewModel.kt @@ -31,11 +31,7 @@ import androidx.lifecycle.viewModelScope import com.google.android.exoplayer2.ExoPlayer import com.google.android.exoplayer2.MediaItem import com.google.android.exoplayer2.Player -import com.google.android.exoplayer2.SimpleExoPlayer import com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector -import com.google.android.exoplayer2.source.hls.HlsMediaSource -import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory -import com.google.android.exoplayer2.util.Util import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.joinAll import kotlinx.coroutines.launch @@ -60,8 +56,7 @@ import java.util.* class PlayerViewModel(application: Application) : AndroidViewModel(application) { private val classTag = javaClass.name - val player = SimpleExoPlayer.Builder(application).build() - private val dataSourceFactory = DefaultDataSourceFactory(application, Util.getUserAgent(application, "Teapod")) + val player = ExoPlayer.Builder(application).build() private val mediaSession = MediaSessionCompat(application, "TEAPOD_PLAYER_SESSION") val currentEpisodeChangedListener = ArrayList<() -> Unit>() @@ -196,7 +191,7 @@ class PlayerViewModel(application: Application) : AndroidViewModel(application) } ) } - Log.i(classTag, "playback: ${currentEpisode.playback}") + Log.d(classTag, "playback: ${currentEpisode.playback}") if (startPlayback) { playCurrentMedia() @@ -226,16 +221,13 @@ class PlayerViewModel(application: Application) : AndroidViewModel(application) currentPlayback.streams.adaptive_hls.entries.first().value.url } } - Log.d(classTag, "stream url: $url") + Log.i(classTag, "stream url: $url") - // create the media source object - val mediaSource = HlsMediaSource.Factory(dataSourceFactory).createMediaSource( - MediaItem.fromUri(Uri.parse(url)) - ) - - // the actual player playback code - player.setMediaSource(mediaSource) + // create the media item + val mediaItem = MediaItem.fromUri(Uri.parse(url)) + player.setMediaItem(mediaItem) player.prepare() + if (seekPosition > 0) player.seekTo(seekPosition) player.playWhenReady = true } diff --git a/build.gradle b/build.gradle index 25fc2c7..fe5f154 100644 --- a/build.gradle +++ b/build.gradle @@ -2,7 +2,7 @@ buildscript { ext.kotlin_version = "1.6.10" ext.ktor_version = "1.6.8" - ext.exo_version = "2.15.0" + ext.exo_version = "2.17.1" repositories { google() mavenCentral()