aboutsummaryrefslogtreecommitdiffstats
path: root/libAACdec/src/channel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libAACdec/src/channel.cpp')
-rw-r--r--libAACdec/src/channel.cpp21
1 files changed, 12 insertions, 9 deletions
diff --git a/libAACdec/src/channel.cpp b/libAACdec/src/channel.cpp
index dbbf58a..cfffd57 100644
--- a/libAACdec/src/channel.cpp
+++ b/libAACdec/src/channel.cpp
@@ -225,15 +225,18 @@ void CChannelElement_Decode(
/* apply intensity stereo */ /* modifies pAacDecoderChannelInfo[]->aSpecSfb
*/
if (!(flags & (AC_USAC | AC_RSVD50 | AC_RSV603DA))) {
- CJointStereo_ApplyIS(
- pAacDecoderChannelInfo,
- GetScaleFactorBandOffsets(&pAacDecoderChannelInfo[L]->icsInfo,
- pSamplingRateInfo),
- GetWindowGroupLengthTable(&pAacDecoderChannelInfo[L]->icsInfo),
- GetWindowGroups(&pAacDecoderChannelInfo[L]->icsInfo),
- GetScaleFactorBandsTransmitted(&pAacDecoderChannelInfo[L]->icsInfo),
- pAacDecoderChannelInfo[L]->pDynData->RawDataInfo.CommonWindow ? 1
- : 0);
+ if ((pAacDecoderChannelInfo[L]->pDynData->RawDataInfo.CommonWindow ==
+ 1) &&
+ (el_channels == 2)) {
+ CJointStereo_ApplyIS(
+ pAacDecoderChannelInfo,
+ GetScaleFactorBandOffsets(&pAacDecoderChannelInfo[L]->icsInfo,
+ pSamplingRateInfo),
+ GetWindowGroupLengthTable(&pAacDecoderChannelInfo[L]->icsInfo),
+ GetWindowGroups(&pAacDecoderChannelInfo[L]->icsInfo),
+ GetScaleFactorBandsTransmitted(
+ &pAacDecoderChannelInfo[L]->icsInfo));
+ }
}
} /* maybe_stereo */