From f31d11341e689ff5a630350cb48d30ff0ec21e70 Mon Sep 17 00:00:00 2001 From: Robert Shih Date: Thu, 11 May 2017 12:32:59 -0700 Subject: [PATCH] AudioCapabilities: handle non-standard codec max input channels Bug: 34073927 Change-Id: Id9b99e572bf9c90fa236b762620fb7f6eb284f1e --- media/java/android/media/MediaCodecInfo.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/media/java/android/media/MediaCodecInfo.java b/media/java/android/media/MediaCodecInfo.java index c157a479cfe89..a19726cb26478 100644 --- a/media/java/android/media/MediaCodecInfo.java +++ b/media/java/android/media/MediaCodecInfo.java @@ -1067,7 +1067,7 @@ public final class MediaCodecInfo { private void applyLevelLimits() { int[] sampleRates = null; Range sampleRateRange = null, bitRates = null; - int maxChannels = 0; + int maxChannels = MAX_INPUT_CHANNEL_COUNT; String mime = mParent.getMimeType(); if (mime.equalsIgnoreCase(MediaFormat.MIMETYPE_AUDIO_MPEG)) { @@ -1160,6 +1160,8 @@ public final class MediaCodecInfo { if (info.containsKey("max-channel-count")) { maxInputChannels = Utils.parseIntSafely( info.getString("max-channel-count"), maxInputChannels); + } else if ((mParent.mError & ERROR_UNSUPPORTED) != 0) { + maxInputChannels = 0; } if (info.containsKey("bitrate-range")) { bitRates = bitRates.intersect(