Bug 1432779 - P2. Add L3F2_BACK layout shortcuts. r?padenot
MozReview-Commit-ID: LKVt88dWKdg
--- a/dom/media/AudioConfig.cpp
+++ b/dom/media/AudioConfig.cpp
@@ -88,16 +88,25 @@ ChannelLayout ChannelLayout::L3F2{ CHANN
CHANNEL_FRONT_RIGHT,
CHANNEL_FRONT_CENTER,
CHANNEL_SIDE_LEFT,
CHANNEL_SIDE_RIGHT };
ChannelLayout ChannelLayout::L3F2_LFE{
CHANNEL_FRONT_LEFT, CHANNEL_FRONT_RIGHT, CHANNEL_FRONT_CENTER,
CHANNEL_LFE, CHANNEL_SIDE_LEFT, CHANNEL_SIDE_RIGHT
};
+ChannelLayout ChannelLayout::L3F2_BACK{ CHANNEL_FRONT_LEFT,
+ CHANNEL_FRONT_RIGHT,
+ CHANNEL_FRONT_CENTER,
+ CHANNEL_BACK_LEFT,
+ CHANNEL_BACK_RIGHT };
+ChannelLayout ChannelLayout::L3F2_BACK_LFE{
+ CHANNEL_FRONT_LEFT, CHANNEL_FRONT_RIGHT, CHANNEL_FRONT_CENTER,
+ CHANNEL_LFE, CHANNEL_BACK_LEFT, CHANNEL_BACK_RIGHT
+};
ChannelLayout ChannelLayout::L5POINT1_SURROUND = ChannelLayout::L3F2_LFE;
ChannelLayout ChannelLayout::L3F3R_LFE{
CHANNEL_FRONT_LEFT, CHANNEL_FRONT_RIGHT, CHANNEL_FRONT_CENTER, CHANNEL_LFE,
CHANNEL_BACK_CENTER, CHANNEL_SIDE_LEFT, CHANNEL_SIDE_RIGHT
};
ChannelLayout ChannelLayout::L3F4_LFE{
CHANNEL_FRONT_LEFT, CHANNEL_FRONT_RIGHT, CHANNEL_FRONT_CENTER,
@@ -207,16 +216,18 @@ AudioConfig::ChannelLayout::SMPTEDefault
MOZ_ASSERT(L2F1_LFE_MAP == L2F1_LFE.Map());
MOZ_ASSERT(L3F1_MAP == L3F1.Map());
MOZ_ASSERT(L3F1_LFE_MAP == L3F1_LFE.Map());
MOZ_ASSERT(L2F2_MAP == L2F2.Map());
MOZ_ASSERT(L2F2_LFE_MAP == L2F2_LFE.Map());
MOZ_ASSERT(LQUAD_MAP == LQUAD.Map());
MOZ_ASSERT(L3F2_MAP == L3F2.Map());
MOZ_ASSERT(L3F2_LFE_MAP == L3F2_LFE.Map());
+ MOZ_ASSERT(L3F2_BACK_MAP == L3F2_BACK.Map());
+ MOZ_ASSERT(L3F2_BACK_LFE_MAP == L3F2_BACK_LFE.Map());
MOZ_ASSERT(L3F3R_LFE_MAP == L3F3R_LFE.Map());
MOZ_ASSERT(L3F4_LFE_MAP == L3F4_LFE.Map());
// First handle the most common cases.
switch (aMap) {
case LMONO_MAP: return LMONO;
case LMONO_LFE_MAP: return LMONO_LFE;
case LSTEREO_MAP: return LSTEREO;
@@ -227,16 +238,18 @@ AudioConfig::ChannelLayout::SMPTEDefault
case L2F1_LFE_MAP: return L2F1_LFE;
case L3F1_MAP: return L3F1;
case L3F1_LFE_MAP: return L3F1_LFE;
case L2F2_MAP: return L2F2;
case L2F2_LFE_MAP: return L2F2_LFE;
case LQUAD_MAP: return LQUAD;
case L3F2_MAP: return L3F2;
case L3F2_LFE_MAP: return L3F2_LFE;
+ case L3F2_BACK_MAP: return L3F2_BACK;
+ case L3F2_BACK_LFE_MAP: return L3F2_BACK_LFE;
case L3F3R_LFE_MAP: return L3F3R_LFE;
case L3F4_LFE_MAP: return L3F4_LFE;
default:
break;
}
AutoTArray<Channel, MAX_AUDIO_CHANNELS> layout;
uint32_t channels = 0;
--- a/dom/media/AudioConfig.h
+++ b/dom/media/AudioConfig.h
@@ -170,16 +170,24 @@ public:
static ChannelLayout L3F2_LFE;
static constexpr ChannelMap L3F2_LFE_MAP =
1 << CHANNEL_FRONT_LEFT | 1 << CHANNEL_FRONT_RIGHT |
1 << CHANNEL_FRONT_CENTER | 1 << CHANNEL_LFE | 1 << CHANNEL_SIDE_LEFT |
1 << CHANNEL_SIDE_RIGHT;
// 3F2_LFE Alias
static ChannelLayout L5POINT1_SURROUND;
static constexpr ChannelMap L5POINT1_SURROUND_MAP = L3F2_LFE_MAP;
+ static ChannelLayout L3F2_BACK;
+ static constexpr ChannelMap L3F2_BACK_MAP =
+ 1 << CHANNEL_FRONT_LEFT | 1 << CHANNEL_FRONT_RIGHT |
+ 1 << CHANNEL_FRONT_CENTER | 1 << CHANNEL_BACK_LEFT |
+ 1 << CHANNEL_BACK_RIGHT;
+ static ChannelLayout L3F2_BACK_LFE;
+ static constexpr ChannelMap L3F2_BACK_LFE_MAP =
+ L3F2_BACK_MAP | 1 << CHANNEL_LFE;
static ChannelLayout L3F3R_LFE;
static constexpr ChannelMap L3F3R_LFE_MAP =
1 << CHANNEL_FRONT_LEFT | 1 << CHANNEL_FRONT_RIGHT |
1 << CHANNEL_FRONT_CENTER | 1 << CHANNEL_LFE | 1 << CHANNEL_BACK_CENTER |
1 << CHANNEL_SIDE_LEFT | 1 << CHANNEL_SIDE_RIGHT;
static ChannelLayout L3F4_LFE;
static constexpr ChannelMap L3F4_LFE_MAP =
1 << CHANNEL_FRONT_LEFT | 1 << CHANNEL_FRONT_RIGHT |