Index: media/audio/android/opensles_output.cc |
diff --git a/media/audio/android/opensles_output.cc b/media/audio/android/opensles_output.cc |
index 7a4b68b3bd3d87f2a14bdb80b49e86a7ba3c14ae..3b5ee648c7f846c425ab40e9db7a30815b6fe839 100644 |
--- a/media/audio/android/opensles_output.cc |
+++ b/media/audio/android/opensles_output.cc |
@@ -26,8 +26,13 @@ OpenSLESOutputStream::OpenSLESOutputStream(AudioManagerAndroid* manager, |
format_.samplesPerSec = static_cast<SLuint32>(params.sample_rate() * 1000); |
format_.bitsPerSample = params.bits_per_sample(); |
format_.containerSize = params.bits_per_sample(); |
- format_.channelMask = SL_SPEAKER_FRONT_CENTER; |
format_.endianness = SL_BYTEORDER_LITTLEENDIAN; |
+ if (format_.numChannels == 1) |
+ format_.channelMask = SL_SPEAKER_FRONT_CENTER; |
+ else if (format_.numChannels == 2) |
+ format_.channelMask = SL_SPEAKER_FRONT_LEFT | SL_SPEAKER_FRONT_RIGHT; |
+ else |
+ NOTREACHED() << "Unsupported number of channels: " << format_.numChannels; |
buffer_size_bytes_ = params.GetBytesPerBuffer(); |