From cb4ec71dc1f0f901b80cb3e4ffb5428838e1b720 Mon Sep 17 00:00:00 2001 From: Cloudburst <18114966+C10udburst@users.noreply.github.com> Date: Mon, 28 Aug 2023 20:08:16 +0200 Subject: [PATCH 1/3] [skip ci] Create .devcontainer.json --- .devcontainer.json | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 .devcontainer.json diff --git a/.devcontainer.json b/.devcontainer.json new file mode 100644 index 00000000..2c4c2f71 --- /dev/null +++ b/.devcontainer.json @@ -0,0 +1,18 @@ +{ + "image": "mcr.microsoft.com/devcontainers/universal:2", + "features": { + "ghcr.io/devcontainers/features/java:1": { + "version": "17" + }, + "ghcr.io/akhildevelops/devcontainer-features/android-cli:latest": { + "PACKAGES": "platform-tools,platforms;android-29" + } + }, + "customizations": { + "vscode": { + "extensions": [ + "fwcd.kotlin" + ] + } + } +} From 1d93eb772e90b79ec9f82c1950f54ae6586fa33c Mon Sep 17 00:00:00 2001 From: Cloudburst <18114966+C10udburst@users.noreply.github.com> Date: Mon, 28 Aug 2023 19:15:24 +0000 Subject: [PATCH 2/3] dont pause playback unfocused if no video present --- .devcontainer.json | 7 +++---- .../com/lagradost/cloudstream3/ui/player/CS3IPlayer.kt | 9 ++++++++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/.devcontainer.json b/.devcontainer.json index 2c4c2f71..bed109a0 100644 --- a/.devcontainer.json +++ b/.devcontainer.json @@ -1,12 +1,11 @@ { "image": "mcr.microsoft.com/devcontainers/universal:2", + "postCreateCommand": "sudo chown $(whoami) /opt/android/", "features": { - "ghcr.io/devcontainers/features/java:1": { + "ghcr.io/devcontainers/features/java:latest": { "version": "17" }, - "ghcr.io/akhildevelops/devcontainer-features/android-cli:latest": { - "PACKAGES": "platform-tools,platforms;android-29" - } + "ghcr.io/akhildevelops/devcontainer-features/android-cli:0": {} }, "customizations": { "vscode": { 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 2067eb04..845640fb 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 @@ -90,6 +90,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 @@ -509,7 +510,8 @@ class CS3IPlayer : IPlayer { override fun onPause() { Log.i(TAG, "onPause") saveData() - exoPlayer?.pause() + if (shouldPauseUnfocused) + exoPlayer?.pause() //releasePlayer() } @@ -964,6 +966,11 @@ class CS3IPlayer : IPlayer { embeddedSubtitlesFetched?.invoke(exoPlayerReportedTracks) onTracksInfoChanged?.invoke() subtitlesUpdates?.invoke() + + // 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 }.length ?: 0 + val audioTrackCount = tracks.groups.filter { it.type == TRACK_TYPE_AUDIO }.length ?: 0 + shouldPauseUnfocused = videoTrackCount > 0 || audioTrackCount == 0 } } From 66edec8a4549e5e792f67493b353fabb6238993e Mon Sep 17 00:00:00 2001 From: Cloudburst <18114966+C10udburst@users.noreply.github.com> Date: Mon, 28 Aug 2023 19:29:38 +0000 Subject: [PATCH 3/3] oops size not length --- .../java/com/lagradost/cloudstream3/ui/player/CS3IPlayer.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 845640fb..e46bd885 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 @@ -968,8 +968,8 @@ class CS3IPlayer : IPlayer { subtitlesUpdates?.invoke() // 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 }.length ?: 0 - val audioTrackCount = tracks.groups.filter { it.type == TRACK_TYPE_AUDIO }.length ?: 0 + 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 } }