From 94784249eb4d8a304bcb3880962828eebd33c3bf Mon Sep 17 00:00:00 2001 From: Oliver Woodman Date: Thu, 28 Jun 2018 17:51:05 +0100 Subject: [PATCH] Cleanup --- RELEASENOTES.md | 1 + .../exoplayer2/video/MediaCodecVideoRenderer.java | 13 +++++++++---- .../android/exoplayer2/ui/SubtitlePainter.java | 5 ++--- .../google/android/exoplayer2/ui/SubtitleView.java | 8 +++++--- 4 files changed, 17 insertions(+), 10 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 1ac2a4da39..ca6914a763 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -53,6 +53,7 @@ * Add uri field to `LoadEventInfo` in `MediaSourceEventListener` or `AnalyticsListener` callbacks. This uri is the redirected uri if redirection occurred ([#2054](https://github.com/google/ExoPlayer/issues/2054)). +* Improved compatibility with FireOS devices. ### 2.8.2 ### diff --git a/library/core/src/main/java/com/google/android/exoplayer2/video/MediaCodecVideoRenderer.java b/library/core/src/main/java/com/google/android/exoplayer2/video/MediaCodecVideoRenderer.java index 5e8a98ea68..1e1545fc26 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/video/MediaCodecVideoRenderer.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/video/MediaCodecVideoRenderer.java @@ -829,7 +829,7 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer { && !codecNeedsSetOutputSurfaceWorkaround(codecInfo.name) && (!codecInfo.secure || DummySurface.isSecureSupported(context)); } - + private void setJoiningDeadlineMs() { joiningDeadlineMs = allowedJoiningTimeMs > 0 ? (SystemClock.elapsedRealtime() + allowedJoiningTimeMs) : C.TIME_UNSET; @@ -1172,12 +1172,17 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer { return Util.SDK_INT <= 22 && "foster".equals(Util.DEVICE) && "NVIDIA".equals(Util.MANUFACTURER); } + /** + * Returns whether the device is known to handle {@link DummySurface} incorrectly. + * + *

If true is returned then use of {@link DummySurface} is disabled. + */ private static boolean codecNeedsDummySurfaceWorkaround(String name) { // Work around https://github.com/google/ExoPlayer/issues/4419. - return (("needle".equals(Util.DEVICE)) // FireTV 4K - && "OMX.amlogic.avc.decoder.awesome".equals(name)); + return ("Amazon".equals(Util.MANUFACTURER) && "AFTN".equals(Util.MODEL)) // FireTV 4K + && "OMX.amlogic.avc.decoder.awesome".equals(name); } - + /** * Returns whether the device is known to implement {@link MediaCodec#setOutputSurface(Surface)} * incorrectly. diff --git a/library/ui/src/main/java/com/google/android/exoplayer2/ui/SubtitlePainter.java b/library/ui/src/main/java/com/google/android/exoplayer2/ui/SubtitlePainter.java index 6b42429cb8..33f4467dc1 100644 --- a/library/ui/src/main/java/com/google/android/exoplayer2/ui/SubtitlePainter.java +++ b/library/ui/src/main/java/com/google/android/exoplayer2/ui/SubtitlePainter.java @@ -36,7 +36,6 @@ import android.text.style.BackgroundColorSpan; import android.text.style.RelativeSizeSpan; import android.util.DisplayMetrics; import android.util.Log; - import com.google.android.exoplayer2.text.CaptionStyleCompat; import com.google.android.exoplayer2.text.Cue; import com.google.android.exoplayer2.util.Util; @@ -257,8 +256,8 @@ import com.google.android.exoplayer2.util.Util; if (Color.alpha(backgroundColor) > 0) { SpannableStringBuilder newCueText = new SpannableStringBuilder(cueText); - newCueText.setSpan(new BackgroundColorSpan(backgroundColor), 0, newCueText.length(), - Spanned.SPAN_PRIORITY); + newCueText.setSpan( + new BackgroundColorSpan(backgroundColor), 0, newCueText.length(), Spanned.SPAN_PRIORITY); cueText = newCueText; } diff --git a/library/ui/src/main/java/com/google/android/exoplayer2/ui/SubtitleView.java b/library/ui/src/main/java/com/google/android/exoplayer2/ui/SubtitleView.java index a9a7783305..733656b32a 100644 --- a/library/ui/src/main/java/com/google/android/exoplayer2/ui/SubtitleView.java +++ b/library/ui/src/main/java/com/google/android/exoplayer2/ui/SubtitleView.java @@ -206,8 +206,10 @@ public final class SubtitleView extends View implements TextOutput { * {@link CaptioningManager#getUserStyle()}, or to a default style before API level 19. */ public void setUserDefaultStyle() { - setStyle(Util.SDK_INT >= 19 && isCaptionManagerEnabled() &&!isInEditMode() - ? getUserCaptionStyleV19() : CaptionStyleCompat.DEFAULT); + setStyle( + Util.SDK_INT >= 19 && isCaptionManagerEnabled() && !isInEditMode() + ? getUserCaptionStyleV19() + : CaptionStyleCompat.DEFAULT); } /** @@ -318,7 +320,7 @@ public final class SubtitleView extends View implements TextOutput { @TargetApi(19) private boolean isCaptionManagerEnabled() { CaptioningManager captioningManager = - (CaptioningManager) getContext().getSystemService(Context.CAPTIONING_SERVICE); + (CaptioningManager) getContext().getSystemService(Context.CAPTIONING_SERVICE); return captioningManager.isEnabled(); }