summaryrefslogtreecommitdiff
path: root/audio/tests/wavetest/PreComp.h
diff options
context:
space:
mode:
authorDaniel Rugerio <[email protected]>2019-06-28 16:08:54 -0700
committerAdonais Romero González <[email protected]>2019-06-28 16:08:54 -0700
commit8ffcdad009e4d410f92fabc4e322a76a0be3a69d (patch)
tree378b2d98a4210c61e2bc34f5b8959e87e4be5c6c /audio/tests/wavetest/PreComp.h
parent75b2290f2a4ece68739d07135d352cdfec3a9e89 (diff)
Update audio samples (#387)
* Update SysVAD public sample. * Add WaveTest public sample.
Diffstat (limited to 'audio/tests/wavetest/PreComp.h')
-rw-r--r--audio/tests/wavetest/PreComp.h154
1 files changed, 154 insertions, 0 deletions
diff --git a/audio/tests/wavetest/PreComp.h b/audio/tests/wavetest/PreComp.h
new file mode 100644
index 00000000..2044d6b1
--- /dev/null
+++ b/audio/tests/wavetest/PreComp.h
@@ -0,0 +1,154 @@
+// ------------------------------------------------------------------------------
+//
+// Copyright (C) Microsoft. All rights reserved.
+//
+// File Name:
+//
+// PreComp.h
+//
+// Abstract:
+//
+// Precompiled common headers
+//
+// -------------------------------------------------------------------------------
+
+#include <basiclog.h>
+#include <BasicLogHelper.h>
+#include <mmsystem.h>
+#include <atlbase.h>
+#include <atlcom.h>
+#include <initguid.h>
+
+#include <AudioEngineEndpoint.h>
+#include <AudioEngineEndpointP.h>
+#include <Audioclient.h>
+#include <mmdeviceapi.h>
+#include <mmdeviceapip.h>
+#include <devicetopology.h>
+#include <devicetopologyp.h>
+#include <propvarutil.h>
+
+#include <wil\com.h>
+
+#include <winioctl.h>
+#include <KsLib.h>
+#include <Waveutil.h>
+#include <aecommon.h>
+#include <ilog.h>
+#include <shlflags.h>
+#include <basicprintf.h>
+#include <wextestclass.h>
+#include <resourcelist.h>
+
+// ------------------------------------------------------------------------------
+// Log
+#define LOG(log, ...) BasicLogPrintf( log, XMSG, 1, __VA_ARGS__ )
+#define SKIP(log, ...) BasicLogPrintf( log, XSKIP, 1, __VA_ARGS__ )
+#define WARN(log, ...) BasicLogPrintf( log, XWARN, 1, __VA_ARGS__ )
+#define BLOCK(log, ...) BasicLogPrintf( log, XBLOCK, 1, __VA_ARGS__ )
+#define ERR(log, ...) BasicLogPrintf( log, XFAIL, 1, __VA_ARGS__ )
+
+// ------------------------------------------------------------------------------
+// Data flow
+enum STACKWISE_DATAFLOW { render, capture };
+
+// ------------------------------------------------------------------------------
+// Structs used to hold results of format records
+typedef struct
+{
+ WAVEFORMATEXTENSIBLE wfxEx;
+ UINT32 fundamentalPeriodInFrames;
+ UINT32 defaultPeriodInFrames;
+ UINT32 minPeriodInFrames;
+ UINT32 maxPeriodInFrames;
+ UINT32 maxPeriodInFramesExtended;
+} FORMAT_RECORD, *PFORMAT_RECORD;
+
+// ----------------------------------------------------------
+// Parameters for test sine tone
+#define TEST_AMPLITUDE 1.0f
+#define TEST_FREQUENCY 200.0f
+
+// ----------------------------------------------------------
+// Predefined format list for offload streaming
+#define COUNT_FORMATS 4
+
+static WAVEFORMATEXTENSIBLE ListofFormats[COUNT_FORMATS] =
+{
+ // 1
+ {
+ // Format
+ {
+ WAVE_FORMAT_EXTENSIBLE, // wFormatTag
+ 2, // nChannels
+ 44100, // nSamplesPerSec
+ 176400, // nAvgBytesPerSec
+ 4, // nBlockAlign
+ 16, // wBitsPerSample
+ 22 // cbSize
+ },
+ // Samples
+ {
+ 16 // wValidBitsPerSample
+ },
+ KSAUDIO_SPEAKER_STEREO, // dwChannelMask
+ KSDATAFORMAT_SUBTYPE_PCM // SubFormat
+ },
+ // 2
+ {
+ // Format
+ {
+ WAVE_FORMAT_EXTENSIBLE, // wFormatTag
+ 2, // nChannels
+ 48000, // nSamplesPerSec
+ 192000, // nAvgBytesPerSec
+ 4, // nBlockAlign
+ 16, // wBitsPerSample
+ 22 // cbSize
+ },
+ // Samples
+ {
+ 16 // wValidBitsPerSample
+ },
+ KSAUDIO_SPEAKER_STEREO, // dwChannelMask
+ KSDATAFORMAT_SUBTYPE_PCM // SubFormat
+ },
+ // 3
+ {
+ // Format
+ {
+ WAVE_FORMAT_EXTENSIBLE, // wFormatTag
+ 2, // nChannels
+ 88200, // nSamplesPerSec
+ 352800, // nAvgBytesPerSec
+ 4, // nBlockAlign
+ 16, // wBitsPerSample
+ 22 // cbSize
+ },
+ // Samples
+ {
+ 16 // wValidBitsPerSample
+ },
+ KSAUDIO_SPEAKER_STEREO, // dwChannelMask
+ KSDATAFORMAT_SUBTYPE_PCM // SubFormat
+ },
+ // 4
+ {
+ // Format
+ {
+ WAVE_FORMAT_EXTENSIBLE, // wFormatTag
+ 2, // nChannels
+ 96000, // nSamplesPerSec
+ 384000, // nAvgBytesPerSec
+ 4, // nBlockAlign
+ 16, // wBitsPerSample
+ 22 // cbSize
+ },
+ // Samples
+ {
+ 16 // wValidBitsPerSample
+ },
+ KSAUDIO_SPEAKER_STEREO, // dwChannelMask
+ KSDATAFORMAT_SUBTYPE_PCM // SubFormat
+ },
+}; \ No newline at end of file