From 952bd4e73cf261be9baa6b251d59cfff3d455783 Mon Sep 17 00:00:00 2001 From: Oliver Woodman Date: Mon, 12 Oct 2015 12:24:48 +0100 Subject: [PATCH] Don't calculate a maximum input size for H.264 on Sony 4k TV. Issue: #800 --- .../android/exoplayer/MediaCodecVideoTrackRenderer.java | 5 +++++ .../main/java/com/google/android/exoplayer/util/Util.java | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/library/src/main/java/com/google/android/exoplayer/MediaCodecVideoTrackRenderer.java b/library/src/main/java/com/google/android/exoplayer/MediaCodecVideoTrackRenderer.java index 6cf315bdac..e3a68e050c 100644 --- a/library/src/main/java/com/google/android/exoplayer/MediaCodecVideoTrackRenderer.java +++ b/library/src/main/java/com/google/android/exoplayer/MediaCodecVideoTrackRenderer.java @@ -560,6 +560,11 @@ public class MediaCodecVideoTrackRenderer extends MediaCodecTrackRenderer { // Already set. The source of the format may know better, so do nothing. return; } + if ("BRAVIA 4K 2015".equals(Util.MODEL)) { + // The Sony BRAVIA 4k TV has input buffers that are too small for the calculated 4k video + // maximum input size, so use the default value. + return; + } int maxHeight = format.getInteger(android.media.MediaFormat.KEY_HEIGHT); if (codecIsAdaptive && format.containsKey(android.media.MediaFormat.KEY_MAX_HEIGHT)) { maxHeight = Math.max(maxHeight, format.getInteger(android.media.MediaFormat.KEY_MAX_HEIGHT)); diff --git a/library/src/main/java/com/google/android/exoplayer/util/Util.java b/library/src/main/java/com/google/android/exoplayer/util/Util.java index cfbd282c64..8bd876a73f 100644 --- a/library/src/main/java/com/google/android/exoplayer/util/Util.java +++ b/library/src/main/java/com/google/android/exoplayer/util/Util.java @@ -75,6 +75,12 @@ public final class Util { */ public static final String MANUFACTURER = android.os.Build.MANUFACTURER; + /** + * Like {@link android.os.Build#MODEL}, but in a place where it can be conveniently overridden for + * local testing. + */ + public static final String MODEL = android.os.Build.MODEL; + private static final Pattern XS_DATE_TIME_PATTERN = Pattern.compile( "(\\d\\d\\d\\d)\\-(\\d\\d)\\-(\\d\\d)[Tt]" + "(\\d\\d):(\\d\\d):(\\d\\d)(\\.(\\d+))?"