From 5a16aee2c9c5ab73626a92da01c25bad03b8f969 Mon Sep 17 00:00:00 2001 From: andrewlewis Date: Fri, 13 Jan 2017 08:39:30 -0800 Subject: [PATCH] Use stereo for mono audio passthrough on fugu. Also backport the Shield workaround to v1. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=144446498 --- .../com/google/android/exoplayer2/audio/AudioTrack.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/library/src/main/java/com/google/android/exoplayer2/audio/AudioTrack.java b/library/src/main/java/com/google/android/exoplayer2/audio/AudioTrack.java index 0d46d27c85..b5873904fc 100644 --- a/library/src/main/java/com/google/android/exoplayer2/audio/AudioTrack.java +++ b/library/src/main/java/com/google/android/exoplayer2/audio/AudioTrack.java @@ -445,7 +445,7 @@ public final class AudioTrack { // Workaround for overly strict channel configuration checks on nVidia Shield. if (Util.SDK_INT <= 23 && "foster".equals(Util.DEVICE) && "NVIDIA".equals(Util.MANUFACTURER)) { - switch(channelCount) { + switch (channelCount) { case 7: channelConfig = C.CHANNEL_OUT_7POINT1_SURROUND; break; @@ -459,6 +459,13 @@ public final class AudioTrack { } boolean passthrough = !MimeTypes.AUDIO_RAW.equals(mimeType); + + // Workaround for Nexus Player not reporting support for mono passthrough. + // (See [Internal: b/34268671].) + if (Util.SDK_INT <= 25 && "fugu".equals(Util.DEVICE) && passthrough && channelCount == 1) { + channelConfig = AudioFormat.CHANNEL_OUT_STEREO; + } + @C.Encoding int sourceEncoding; if (passthrough) { sourceEncoding = getEncodingForMimeType(mimeType);