fix 6.1 channel passthrough failing

This commit is contained in:
Drew Hill 2016-11-30 18:47:36 -05:00
parent e56cf49038
commit db4b478cc0

View File

@ -443,6 +443,14 @@ public final class AudioTrack {
}
boolean passthrough = !MimeTypes.AUDIO_RAW.equals(mimeType);
if (Util.SDK_INT <= 23 && "foster".equals(Util.DEVICE) && "NVIDIA".equals(Util.MANUFACTURER)) {
if (channelConfig == (AudioFormat.CHANNEL_OUT_5POINT1 | AudioFormat.CHANNEL_OUT_BACK_CENTER) )
channelConfig = C.CHANNEL_OUT_7POINT1_SURROUND;
else if (channelConfig == (AudioFormat.CHANNEL_OUT_QUAD | AudioFormat.CHANNEL_OUT_FRONT_CENTER)
|| channelConfig == (AudioFormat.CHANNEL_OUT_QUAD)
|| channelConfig == (AudioFormat.CHANNEL_OUT_STEREO | AudioFormat.CHANNEL_OUT_FRONT_CENTER))
channelConfig = AudioFormat.CHANNEL_OUT_5POINT1;
}
@C.Encoding int sourceEncoding;
if (passthrough) {
sourceEncoding = getEncodingForMimeType(mimeType);