| Index: media/base/android/java/src/org/chromium/media/MediaCodecBridge.java
|
| diff --git a/media/base/android/java/src/org/chromium/media/MediaCodecBridge.java b/media/base/android/java/src/org/chromium/media/MediaCodecBridge.java
|
| index b0233df4b21deca27e468b9bd8885573872823ca..b30a90e3bdcee69a4ff112b0f98784d00c02e621 100644
|
| --- a/media/base/android/java/src/org/chromium/media/MediaCodecBridge.java
|
| +++ b/media/base/android/java/src/org/chromium/media/MediaCodecBridge.java
|
| @@ -496,8 +496,7 @@ class MediaCodecBridge {
|
| if (playAudio) {
|
| int sampleRate = format.getInteger(MediaFormat.KEY_SAMPLE_RATE);
|
| int channelCount = format.getInteger(MediaFormat.KEY_CHANNEL_COUNT);
|
| - int channelConfig = (channelCount == 1) ? AudioFormat.CHANNEL_OUT_MONO :
|
| - AudioFormat.CHANNEL_OUT_STEREO;
|
| + int channelConfig = getAudioFormat(channelCount);
|
| // Using 16bit PCM for output. Keep this value in sync with
|
| // kBytesPerAudioOutputSample in media_codec_bridge.cc.
|
| int minBufferSize = AudioTrack.getMinBufferSize(sampleRate, channelConfig,
|
| @@ -540,4 +539,21 @@ class MediaCodecBridge {
|
| mFlushed = false;
|
| }
|
| }
|
| +
|
| + private int getAudioFormat(int channelCount) {
|
| + switch (channelCount) {
|
| + case 1:
|
| + return AudioFormat.CHANNEL_OUT_MONO;
|
| + case 2:
|
| + return AudioFormat.CHANNEL_OUT_STEREO;
|
| + case 4:
|
| + return AudioFormat.CHANNEL_OUT_QUAD;
|
| + case 6:
|
| + return AudioFormat.CHANNEL_OUT_5POINT1;
|
| + case 8:
|
| + return AudioFormat.CHANNEL_OUT_7POINT1;
|
| + default:
|
| + return AudioFormat.CHANNEL_OUT_DEFAULT;
|
| + }
|
| + }
|
| }
|
|
|