132 lines
4 KiB
C
132 lines
4 KiB
C
//+-------------------------------------------------------------------------
|
||
//
|
||
// 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 ;
|
||
|
||
//===========================================================================
|
||
//===========================================================================
|
||
|
||
|
||
|