diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/player/CS3IPlayer.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/player/CS3IPlayer.kt index 49904f6a..6b80b2a1 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/player/CS3IPlayer.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/player/CS3IPlayer.kt @@ -112,6 +112,7 @@ class CS3IPlayer : IPlayer { private var currentLink: ExtractorLink? = null private var currentDownloadedFile: ExtractorUri? = null private var hasUsedFirstRender = false + private var shouldPauseUnfocused = true private var currentWindow: Int = 0 private var playbackPosition: Long = 0 @@ -512,7 +513,9 @@ class CS3IPlayer : IPlayer { override fun onPause() { Log.i(TAG, "onPause") saveData() - handleEvent(CSPlayerEvent.Pause, PlayerEventSource.Player) + if (shouldPauseUnfocused) { + handleEvent(CSPlayerEvent.Pause, PlayerEventSource.Player) + } //releasePlayer() } @@ -1012,6 +1015,11 @@ class CS3IPlayer : IPlayer { event(EmbeddedSubtitlesFetchedEvent(tracks = exoPlayerReportedTracks)) event(TracksChangedEvent()) event(SubtitlesUpdatedEvent()) + + // if there are no video tracks, but there are audio tracks, don't pause playback while in background + val videoTrackCount = tracks.groups.filter { it.type == TRACK_TYPE_VIDEO }.size + val audioTrackCount = tracks.groups.filter { it.type == TRACK_TYPE_AUDIO }.size + shouldPauseUnfocused = videoTrackCount > 0 || audioTrackCount == 0 } }