summaryrefslogtreecommitdiff
path: root/audio/simpleaudiosample/Source/Utilities/ToneGenerator.cpp
diff options
context:
space:
mode:
authorDaniel Rugerio <[email protected]>2021-08-13 15:05:12 -0700
committerGitHub <[email protected]>2021-08-13 15:05:12 -0700
commit7895dd22785ddba5e973662ed942be3b3452b89d (patch)
tree5c4572d5bfd076d3776a88c5757e37f3ed50c0e7 /audio/simpleaudiosample/Source/Utilities/ToneGenerator.cpp
parentdf47b2d284558fa9aacd19257153037e4ebba60e (diff)
audio: Updates for Windows 10 22000 (#655)
* Updates for Windows 10 22000. * Change how WIL is consumed.
Diffstat (limited to 'audio/simpleaudiosample/Source/Utilities/ToneGenerator.cpp')
-rw-r--r--audio/simpleaudiosample/Source/Utilities/ToneGenerator.cpp9
1 files changed, 7 insertions, 2 deletions
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<unsigned char *>(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<short *>(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<long *>(Frame);
dataBuffer[i] = ConvertToLong(sinValue);
}