From ab1fff404c38241cd7e0ac9c201f0fb152bf723f Mon Sep 17 00:00:00 2001 From: tonihei Date: Tue, 12 Jul 2022 16:31:38 +0000 Subject: [PATCH] Add method to check if tunneling is enabled. Issue: google/ExoPlayer#2518 PiperOrigin-RevId: 460482615 --- .../java/com/google/android/exoplayer2/ExoPlayer.java | 9 +++++++++ .../com/google/android/exoplayer2/ExoPlayerImpl.java | 11 +++++++++++ .../google/android/exoplayer2/SimpleExoPlayer.java | 6 ++++++ .../android/exoplayer2/testutil/StubExoPlayer.java | 5 +++++ 4 files changed, 31 insertions(+) diff --git a/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayer.java b/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayer.java index 31bd19b6fd..b2b1512655 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayer.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayer.java @@ -1602,4 +1602,13 @@ public interface ExoPlayer extends Player { * @see AudioOffloadListener#onExperimentalSleepingForOffloadChanged(boolean) */ boolean experimentalIsSleepingForOffload(); + + /** + * Returns whether tunneling is enabled for + * the currently selected tracks. + * + * @see Player.Listener#onTracksChanged(Tracks) + */ + boolean isTunnelingEnabled(); } diff --git a/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImpl.java b/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImpl.java index 9c67002a54..d7358ec04e 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImpl.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImpl.java @@ -1671,6 +1671,17 @@ import java.util.concurrent.TimeoutException; streamVolumeManager.setMuted(muted); } + @Override + public boolean isTunnelingEnabled() { + verifyApplicationThread(); + for (RendererConfiguration config : playbackInfo.trackSelectorResult.rendererConfigurations) { + if (config.tunneling) { + return true; + } + } + return false; + } + /* package */ void setThrowsWhenUsingWrongThread(boolean throwsWhenUsingWrongThread) { this.throwsWhenUsingWrongThread = throwsWhenUsingWrongThread; } diff --git a/library/core/src/main/java/com/google/android/exoplayer2/SimpleExoPlayer.java b/library/core/src/main/java/com/google/android/exoplayer2/SimpleExoPlayer.java index 421f5a8f63..fa316e80d1 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/SimpleExoPlayer.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/SimpleExoPlayer.java @@ -1247,6 +1247,12 @@ public class SimpleExoPlayer extends BasePlayer player.setDeviceMuted(muted); } + @Override + public boolean isTunnelingEnabled() { + blockUntilConstructorFinished(); + return player.isTunnelingEnabled(); + } + /* package */ void setThrowsWhenUsingWrongThread(boolean throwsWhenUsingWrongThread) { blockUntilConstructorFinished(); player.setThrowsWhenUsingWrongThread(throwsWhenUsingWrongThread); diff --git a/testutils/src/main/java/com/google/android/exoplayer2/testutil/StubExoPlayer.java b/testutils/src/main/java/com/google/android/exoplayer2/testutil/StubExoPlayer.java index d39ec7536d..0cad49571a 100644 --- a/testutils/src/main/java/com/google/android/exoplayer2/testutil/StubExoPlayer.java +++ b/testutils/src/main/java/com/google/android/exoplayer2/testutil/StubExoPlayer.java @@ -410,4 +410,9 @@ public class StubExoPlayer extends StubPlayer implements ExoPlayer { public boolean experimentalIsSleepingForOffload() { throw new UnsupportedOperationException(); } + + @Override + public boolean isTunnelingEnabled() { + throw new UnsupportedOperationException(); + } }