Audio Effect : Add checks to validate the channel count
Bug: 302036943
Test: atest audioeffect_analysis
Change-Id: Ic64394e646fa23e02e499c2f01ef3bd4490450d2
diff --git a/audio/aidl/default/include/effect-impl/EffectContext.h b/audio/aidl/default/include/effect-impl/EffectContext.h
index 698e7a5..89d0c7c 100644
--- a/audio/aidl/default/include/effect-impl/EffectContext.h
+++ b/audio/aidl/default/include/effect-impl/EffectContext.h
@@ -46,6 +46,14 @@
LOG_ALWAYS_FATAL_IF(output.base.format.pcm !=
aidl::android::media::audio::common::PcmType::FLOAT_32_BIT,
"outputFormatNotFloat");
+
+ size_t inputChannelCount =
+ ::aidl::android::hardware::audio::common::getChannelCount(input.base.channelMask);
+ LOG_ALWAYS_FATAL_IF(inputChannelCount == 0, "inputChannelCountNotValid");
+ size_t outputChannelCount =
+ ::aidl::android::hardware::audio::common::getChannelCount(output.base.channelMask);
+ LOG_ALWAYS_FATAL_IF(outputChannelCount == 0, "outputChannelCountNotValid");
+
mInputFrameSize = ::aidl::android::hardware::audio::common::getFrameSizeInBytes(
input.base.format, input.base.channelMask);
mOutputFrameSize = ::aidl::android::hardware::audio::common::getFrameSizeInBytes(