windows-nt/Source/XPSP1/NT/drivers/wdm/audio/inc/audio.h

132 lines
4 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
//+-------------------------------------------------------------------------
//
// Microsoft Windows
//
// Copyright (C) Microsoft Corporation, 1996 - 1999
//
// File: audio.h
//
//--------------------------------------------------------------------------
//===========================================================================
// WAVE (PCM)
//===========================================================================
#define STATIC_KSPROPSETID_Wave\
0x924e54b0, 0x630f, 0x11cf, 0xad, 0xa7, 0x08, 0x00, 0x3e, 0x30, 0x49, 0x4a
#if defined(__cplusplus) && _MSC_VER >= 1100
struct __declspec(uuid("924e54b0-630f-11cf-ada7-08003e30494a")) KSPROPSETID_Wave;
#else
DEFINE_GUIDEX(KSPROPSETID_Wave);
#endif
#define KSPROPERTY_WAVE_COMPATIBLE_CAPABILITIES 0x00000001
#define KSPROPERTY_WAVE_INPUT_CAPABILITIES 0x00000002
#define KSPROPERTY_WAVE_OUTPUT_CAPABILITIES 0x00000003
#define KSPROPERTY_WAVE_BUFFER 0x00000004
#define KSPROPERTY_WAVE_FREQUENCY 0x00000005
#define KSPROPERTY_WAVE_VOLUME 0x00000006
#define KSPROPERTY_WAVE_PAN 0x00000007
#define KSPROPERTY_WAVE_POSITION 0x00000008
typedef struct {
ULONG ulDeviceType;
} KSWAVE_COMPATCAPS, *PKSWAVE_COMPATCAPS;
#define KSWAVE_COMPATCAPS_INPUT 0x00000000
#define KSWAVE_COMPATCAPS_OUTPUT 0x00000001
typedef struct {
ULONG MaximumChannelsPerConnection;
ULONG MinimumBitsPerSample;
ULONG MaximumBitsPerSample;
ULONG MinimumSampleFrequency;
ULONG MaximumSampleFrequency;
ULONG TotalConnections;
ULONG ActiveConnections;
} KSWAVE_INPUT_CAPABILITIES, *PKSWAVE_INPUT_CAPABILITIES;
typedef struct {
ULONG MaximumChannelsPerConnection;
ULONG MinimumBitsPerSample;
ULONG MaximumBitsPerSample;
ULONG MinimumSampleFrequency;
ULONG MaximumSampleFrequency;
ULONG TotalConnections;
ULONG StaticConnections;
ULONG StreamingConnections;
ULONG ActiveConnections;
ULONG ActiveStaticConnections;
ULONG ActiveStreamingConnections;
ULONG Total3DConnections;
ULONG Static3DConnections;
ULONG Streaming3DConnections;
ULONG Active3DConnections;
ULONG ActiveStatic3DConnections;
ULONG ActiveStreaming3DConnections;
ULONG TotalSampleMemory;
ULONG FreeSampleMemory;
ULONG LargestFreeContiguousSampleMemory;
} KSWAVE_OUTPUT_CAPABILITIES, *PKSWAVE_OUTPUT_CAPABILITIES;
typedef struct {
LONG Channel;
LONG Level;
} KSWAVE_VOLUME, *PKSWAVE_VOLUME;
typedef struct {
LONG LeftLevel ;
LONG RightLevel ;
} KSWAVE_PAN, *PKSWAVE_PAN
//===========================================================================
// MIDI
//===========================================================================
DEFINE_GUIDEX(KSPROPSETID_MIDI);
#define KSPROPERTY_MIDI_INPUT_CAPABILITIES 0x00000001
#define KSPROPERTY_MIDI_OUTPUT_CAPABILITIES 0x00000002
#define KSPROPERTY_MIDI_VOLUME 0x00000003
#define KSPROPERTY_MIDI_PAN 0x00000004
typedef struct {
// TBD
} KSMIDI_INPUT_CAPABILITIES, *PKSMIDI_INPUT_CAPABILITIES ;
typedef struct {
ULONG Voices ;
ULONG Notes ;
ULONG Channel ;
} KSMIDI_OUTPUT_CAPABILITIES, *PKSMIDI_OUTPUT_CAPABILITIES ;
typedef struct {
ULONG Level ;
} KSMIDI_VOLUME, *PKSMIDI_VOLUME ;
typedef KSWAVE_PAN KSMIDI_PAN, *PKSMIDI_PAN ;
//===========================================================================
// AC3
//===========================================================================
DEFINE_GUIDEX(KSPROPSETID_AC3);
#define KSPROPERTY_AC3_INPUT_CAPABILITIES 0x00000001
#define KSPROPERTY_AC3_OUTPUT_CAPABILITIES 0x00000002
#define KSPROPERTY_AC3_VOLUME 0x00000003
typedef struct {
} KSAC3_OUTPUT_CAPABILITIES, *PKSAC3_OUTPUT_CAPABILITIES ;
typedef struct {
// TDB
} KSAC3_VOLUME, *PKSAC3_VOLUME ;
//===========================================================================
//===========================================================================