From 7895dd22785ddba5e973662ed942be3b3452b89d Mon Sep 17 00:00:00 2001 From: Daniel Rugerio <50124185+darugeri@users.noreply.github.com> Date: Fri, 13 Aug 2021 15:05:12 -0700 Subject: audio: Updates for Windows 10 22000 (#655) * Updates for Windows 10 22000. * Change how WIL is consumed. --- audio/simpleaudiosample/Source/Utilities/ToneGenerator.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'audio/simpleaudiosample/Source/Utilities/ToneGenerator.cpp') diff --git a/audio/simpleaudiosample/Source/Utilities/ToneGenerator.cpp b/audio/simpleaudiosample/Source/Utilities/ToneGenerator.cpp index f50e81e1..868b7fe5 100644 --- a/audio/simpleaudiosample/Source/Utilities/ToneGenerator.cpp +++ b/audio/simpleaudiosample/Source/Utilities/ToneGenerator.cpp @@ -95,21 +95,25 @@ VOID ToneGenerator::InitNewFrame RtlZeroMemory(Frame, FrameSize); return; } - + + /* Use __analysis_assume to suppress the reports of a false OACR error. */ for(ULONG i = 0; i < m_ChannelCount; ++i) { if (m_BitsPerSample == 8) { + __analysis_assume((DWORD)m_ChannelCount == FrameSize); unsigned char *dataBuffer = reinterpret_cast(Frame); - dataBuffer[i] = ConvertToUChar(sinValue); + dataBuffer[i] = ConvertToUChar(sinValue); } else if (m_BitsPerSample == 16) { + __analysis_assume((DWORD)(m_ChannelCount) * 2 == FrameSize); short *dataBuffer = reinterpret_cast(Frame); dataBuffer[i] = ConvertToShort(sinValue); } else if (m_BitsPerSample == 24) { + __analysis_assume((DWORD)(m_ChannelCount) * 3 == FrameSize); BYTE *dataBuffer = Frame; long val = ConvertToLong(sinValue); val = val >> 8; @@ -117,6 +121,7 @@ VOID ToneGenerator::InitNewFrame } else if (m_BitsPerSample == 32) { + __analysis_assume((DWORD)(m_ChannelCount) * 4 == FrameSize); long *dataBuffer = reinterpret_cast(Frame); dataBuffer[i] = ConvertToLong(sinValue); } -- cgit v1.3.1