| OLD | NEW |
| (Empty) | |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #include "media/audio/android/opensles_util.h" |
| 6 |
| 7 namespace media { |
| 8 |
| 9 #define SL_ANDROID_SPEAKER_QUAD \ |
| 10 (SL_SPEAKER_FRONT_LEFT | SL_SPEAKER_FRONT_RIGHT | SL_SPEAKER_BACK_LEFT | \ |
| 11 SL_SPEAKER_BACK_RIGHT) |
| 12 #define SL_ANDROID_SPEAKER_5DOT1 \ |
| 13 (SL_SPEAKER_FRONT_LEFT | SL_SPEAKER_FRONT_RIGHT | SL_SPEAKER_FRONT_CENTER | \ |
| 14 SL_SPEAKER_LOW_FREQUENCY | SL_SPEAKER_BACK_LEFT | SL_SPEAKER_BACK_RIGHT) |
| 15 #define SL_ANDROID_SPEAKER_7DOT1 \ |
| 16 (SL_ANDROID_SPEAKER_5DOT1 | SL_SPEAKER_SIDE_LEFT | SL_SPEAKER_SIDE_RIGHT) |
| 17 |
| 18 // Ported from: |
| 19 // https://android.googlesource.com/platform/frameworks/wilhelm/+/refs/heads/mas
ter/src/android/channels.h |
| 20 // https://android.googlesource.com/platform/frameworks/wilhelm/+/refs/heads/mas
ter/src/android/channels.c |
| 21 SLuint32 ChannelCountToSLESChannelMask(int channel_count) { |
| 22 if (channel_count > 2) { |
| 23 LOG(WARNING) << "Guessing channel layout for " << channel_count |
| 24 << " channels; speaker order may be incorrect."; |
| 25 } |
| 26 |
| 27 switch (channel_count) { |
| 28 case 1: |
| 29 return SL_SPEAKER_FRONT_LEFT; |
| 30 case 2: |
| 31 return SL_SPEAKER_FRONT_LEFT | SL_SPEAKER_FRONT_RIGHT; |
| 32 case 3: |
| 33 return SL_SPEAKER_FRONT_LEFT | SL_SPEAKER_FRONT_RIGHT | |
| 34 SL_SPEAKER_FRONT_CENTER; |
| 35 case 4: |
| 36 return SL_ANDROID_SPEAKER_QUAD; |
| 37 case 5: |
| 38 return SL_ANDROID_SPEAKER_QUAD | SL_SPEAKER_FRONT_CENTER; |
| 39 case 6: |
| 40 return SL_ANDROID_SPEAKER_5DOT1; |
| 41 case 7: |
| 42 return SL_ANDROID_SPEAKER_5DOT1 | SL_SPEAKER_BACK_CENTER; |
| 43 case 8: |
| 44 return SL_ANDROID_SPEAKER_7DOT1; |
| 45 } |
| 46 |
| 47 return 0; |
| 48 } |
| 49 |
| 50 } // namespace media |
| OLD | NEW |