KsMedia.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:205k
- /*++
- Copyright (c) Microsoft Corporation. All rights reserved.
- Module Name:
- ksmedia.h
- Abstract:
- WDM-CSA Multimedia Definitions.
- --*/
- #if !defined(_KS_)
- #error KS.H must be included before KSMEDIA.H
- #endif // !defined(_KS_)
- #if !defined(_KSMEDIA_)
- #define _KSMEDIA_
- typedef struct {
- KSPROPERTY Property;
- KSMULTIPLE_ITEM MultipleItem;
- } KSMULTIPLE_DATA_PROP, *PKSMULTIPLE_DATA_PROP;
- #define STATIC_KSMEDIUMSETID_MidiBus
- 0x05908040L, 0x3246, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
- DEFINE_GUIDSTRUCT("05908040-3246-11D0-A5D6-28DB04C10000", KSMEDIUMSETID_MidiBus);
- #define KSMEDIUMSETID_MidiBus DEFINE_GUIDNAMED(KSMEDIUMSETID_MidiBus)
- #define STATIC_KSMEDIUMSETID_VPBus
- 0xA18C15ECL, 0xCE43, 0x11D0, 0xAB, 0xE7, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
- DEFINE_GUIDSTRUCT("A18C15EC-CE43-11D0-ABE7-00A0C9223196", KSMEDIUMSETID_VPBus);
- #define KSMEDIUMSETID_VPBus DEFINE_GUIDNAMED(KSMEDIUMSETID_VPBus)
- #define STATIC_KSINTERFACESETID_Media
- 0x3A13EB40L, 0x30A7, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
- DEFINE_GUIDSTRUCT("3A13EB40-30A7-11D0-A5D6-28DB04C10000", KSINTERFACESETID_Media);
- #define KSINTERFACESETID_Media DEFINE_GUIDNAMED(KSINTERFACESETID_Media)
- typedef enum {
- KSINTERFACE_MEDIA_MUSIC,
- KSINTERFACE_MEDIA_WAVE_BUFFERED,
- KSINTERFACE_MEDIA_WAVE_QUEUED
- } KSINTERFACE_MEDIA;
- #if !defined(INIT_USBAUDIO_MID)
- // {4e1cecd2-1679-463b-a72f-a5bf64c86eba}
- #define INIT_USBAUDIO_MID(guid, id)
- {
- (guid)->Data1 = 0x4e1cecd2 + (USHORT)(id);
- (guid)->Data2 = 0x1679;
- (guid)->Data3 = 0x463b;
- (guid)->Data4[0] = 0xa7;
- (guid)->Data4[1] = 0x2f;
- (guid)->Data4[2] = 0xa5;
- (guid)->Data4[3] = 0xbf;
- (guid)->Data4[4] = 0x64;
- (guid)->Data4[5] = 0xc8;
- (guid)->Data4[6] = 0x6e;
- (guid)->Data4[7] = 0xba;
- }
- #define EXTRACT_USBAUDIO_MID(guid)
- (USHORT)((guid)->Data1 - 0x4e1cecd2)
- #define DEFINE_USBAUDIO_MID_GUID(id)
- 0x4e1cecd2+(USHORT)(id), 0x1679, 0x463b, 0xa7, 0x2f, 0xa5, 0xbf, 0x64, 0xc8, 0x6e, 0xba
- #define IS_COMPATIBLE_USBAUDIO_MID(guid)
- (((guid)->Data1 >= 0x4e1cecd2) &&
- ((guid)->Data1 < 0x4e1cecd2 + 0xffff) &&
- ((guid)->Data2 == 0x1679) &&
- ((guid)->Data3 == 0x463b) &&
- ((guid)->Data4[0] == 0xa7) &&
- ((guid)->Data4[1] == 0x2f) &&
- ((guid)->Data4[2] == 0xa5) &&
- ((guid)->Data4[3] == 0xbf) &&
- ((guid)->Data4[4] == 0x64) &&
- ((guid)->Data4[5] == 0xc8) &&
- ((guid)->Data4[6] == 0x6e) &&
- ((guid)->Data4[7] == 0xba))
- #endif // !defined(INIT_USBAUDIO_MID)
- #if !defined(INIT_USBAUDIO_PID)
- // {abcc5a5e-c263-463b-a72f-a5bf64c86eba}
- #define INIT_USBAUDIO_PID(guid, id)
- {
- (guid)->Data1 = 0xabcc5a5e + (USHORT)(id);
- (guid)->Data2 = 0xc263;
- (guid)->Data3 = 0x463b;
- (guid)->Data4[0] = 0xa7;
- (guid)->Data4[1] = 0x2f;
- (guid)->Data4[2] = 0xa5;
- (guid)->Data4[3] = 0xbf;
- (guid)->Data4[4] = 0x64;
- (guid)->Data4[5] = 0xc8;
- (guid)->Data4[6] = 0x6e;
- (guid)->Data4[7] = 0xba;
- }
- #define EXTRACT_USBAUDIO_PID(guid)
- (USHORT)((guid)->Data1 - 0xabcc5a5e)
- #define DEFINE_USBAUDIO_PID_GUID(id)
- 0xabcc5a5e+(USHORT)(id), 0xc263, 0x463b, 0xa7, 0x2f, 0xa5, 0xbf, 0x64, 0xc8, 0x6e, 0xba
- #define IS_COMPATIBLE_USBAUDIO_PID(guid)
- (((guid)->Data1 >= 0xabcc5a5e) &&
- ((guid)->Data1 < 0xabcc5a5e + 0xffff) &&
- ((guid)->Data2 == 0xc263) &&
- ((guid)->Data3 == 0x463b) &&
- ((guid)->Data4[0] == 0xa7) &&
- ((guid)->Data4[1] == 0x2f) &&
- ((guid)->Data4[2] == 0xa5) &&
- ((guid)->Data4[3] == 0xbf) &&
- ((guid)->Data4[4] == 0x64) &&
- ((guid)->Data4[5] == 0xc8) &&
- ((guid)->Data4[6] == 0x6e) &&
- ((guid)->Data4[7] == 0xba))
- #endif // !defined(INIT_USBAUDIO_PID)
- #if !defined(INIT_USBAUDIO_PRODUCT_NAME)
- // {FC575048-2E08-463B-A72F-A5BF64C86EBA}
- #define INIT_USBAUDIO_PRODUCT_NAME(guid, vid, pid, strIndex)
- {
- (guid)->Data1 = 0XFC575048 + (USHORT)(vid);
- (guid)->Data2 = 0x2E08 + (USHORT)(pid);
- (guid)->Data3 = 0x463B + (USHORT)(strIndex);
- (guid)->Data4[0] = 0xA7;
- (guid)->Data4[1] = 0x2F;
- (guid)->Data4[2] = 0xA5;
- (guid)->Data4[3] = 0xBF;
- (guid)->Data4[4] = 0x64;
- (guid)->Data4[5] = 0xC8;
- (guid)->Data4[6] = 0x6E;
- (guid)->Data4[7] = 0xBA;
- }
- #define DEFINE_USBAUDIO_PRODUCT_NAME(vid, pid, strIndex)
- 0xFC575048+(USHORT)(vid), 0x2E08+(USHORT)(pid), 0x463B+(USHORT)(strIndex), 0xA7, 0x2F, 0xA5, 0xBF, 0x64, 0xC8, 0x6E, 0xBA
- #endif // !defined(INIT_USBAUDIO_PRODUCT_NAME)
- // USB Component ID
- #define STATIC_KSCOMPONENTID_USBAUDIO
- 0x8F1275F0, 0x26E9, 0x4264, 0xBA, 0x4D, 0x39, 0xFF, 0xF0, 0x1D, 0x94, 0xAA
- DEFINE_GUIDSTRUCT("8F1275F0-26E9-4264-BA4D-39FFF01D94AA", KSCOMPONENTID_USBAUDIO);
- #define KSCOMPONENTID_USBAUDIO DEFINE_GUIDNAMED(KSCOMPONENTID_USBAUDIO)
- // USB Terminals
- #define INIT_USB_TERMINAL(guid, id)
- {
- (guid)->Data1 = 0xDFF219E0 + (USHORT)(id);
- (guid)->Data2 = 0xF70F;
- (guid)->Data3 = 0x11D0;
- (guid)->Data4[0] = 0xb9;
- (guid)->Data4[1] = 0x17;
- (guid)->Data4[2] = 0x00;
- (guid)->Data4[3] = 0xa0;
- (guid)->Data4[4] = 0xc9;
- (guid)->Data4[5] = 0x22;
- (guid)->Data4[6] = 0x31;
- (guid)->Data4[7] = 0x96;
- }
- #define EXTRACT_USB_TERMINAL(guid)
- (USHORT)((guid)->Data1 - 0xDFF219E0)
- #define DEFINE_USB_TERMINAL_GUID(id)
- 0xDFF219E0+(USHORT)(id), 0xF70F, 0x11D0, 0xB9, 0x17, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
- #define STATIC_KSNODETYPE_MICROPHONE
- DEFINE_USB_TERMINAL_GUID(0x0201)
- DEFINE_GUIDSTRUCT("DFF21BE1-F70F-11D0-B917-00A0C9223196", KSNODETYPE_MICROPHONE);
- #define KSNODETYPE_MICROPHONE DEFINE_GUIDNAMED(KSNODETYPE_MICROPHONE)
- #define STATIC_KSNODETYPE_DESKTOP_MICROPHONE
- DEFINE_USB_TERMINAL_GUID(0x0202)
- DEFINE_GUIDSTRUCT("DFF21BE2-F70F-11D0-B917-00A0C9223196", KSNODETYPE_DESKTOP_MICROPHONE);
- #define KSNODETYPE_DESKTOP_MICROPHONE DEFINE_GUIDNAMED(KSNODETYPE_DESKTOP_MICROPHONE)
- #define STATIC_KSNODETYPE_PERSONAL_MICROPHONE
- DEFINE_USB_TERMINAL_GUID(0x0203)
- DEFINE_GUIDSTRUCT("DFF21BE3-F70F-11D0-B917-00A0C9223196", KSNODETYPE_PERSONAL_MICROPHONE);
- #define KSNODETYPE_PERSONAL_MICROPHONE DEFINE_GUIDNAMED(KSNODETYPE_PERSONAL_MICROPHONE)
- #define STATIC_KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE
- DEFINE_USB_TERMINAL_GUID(0x0204)
- DEFINE_GUIDSTRUCT("DFF21BE4-F70F-11D0-B917-00A0C9223196", KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE);
- #define KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE DEFINE_GUIDNAMED(KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE)
- #define STATIC_KSNODETYPE_MICROPHONE_ARRAY
- DEFINE_USB_TERMINAL_GUID(0x0205)
- DEFINE_GUIDSTRUCT("DFF21BE5-F70F-11D0-B917-00A0C9223196", KSNODETYPE_MICROPHONE_ARRAY);
- #define KSNODETYPE_MICROPHONE_ARRAY DEFINE_GUIDNAMED(KSNODETYPE_MICROPHONE_ARRAY)
- #define STATIC_KSNODETYPE_PROCESSING_MICROPHONE_ARRAY
- DEFINE_USB_TERMINAL_GUID(0x0206)
- DEFINE_GUIDSTRUCT("DFF21BE6-F70F-11D0-B917-00A0C9223196", KSNODETYPE_PROCESSING_MICROPHONE_ARRAY);
- #define KSNODETYPE_PROCESSING_MICROPHONE_ARRAY DEFINE_GUIDNAMED(KSNODETYPE_PROCESSING_MICROPHONE_ARRAY)
- #define STATIC_KSCATEGORY_MICROPHONE_ARRAY_PROCESSOR
- 0x830a44f2, 0xa32d, 0x476b, 0xbe, 0x97, 0x42, 0x84, 0x56, 0x73, 0xb3, 0x5a
- DEFINE_GUIDSTRUCT("830a44f2-a32d-476b-be97-42845673b35a", KSCATEGORY_MICROPHONE_ARRAY_PROCESSOR);
- #define KSCATEGORY_MICROPHONE_ARRAY_PROCESSOR DEFINE_GUIDNAMED(KSCATEGORY_MICROPHONE_ARRAY_PROCESSOR)
- #define STATIC_KSNODETYPE_SPEAKER
- DEFINE_USB_TERMINAL_GUID(0x0301)
- DEFINE_GUIDSTRUCT("DFF21CE1-F70F-11D0-B917-00A0C9223196", KSNODETYPE_SPEAKER);
- #define KSNODETYPE_SPEAKER DEFINE_GUIDNAMED(KSNODETYPE_SPEAKER)
- #define STATIC_KSNODETYPE_HEADPHONES
- DEFINE_USB_TERMINAL_GUID(0x0302)
- DEFINE_GUIDSTRUCT("DFF21CE2-F70F-11D0-B917-00A0C9223196", KSNODETYPE_HEADPHONES);
- #define KSNODETYPE_HEADPHONES DEFINE_GUIDNAMED(KSNODETYPE_HEADPHONES)
- #define STATIC_KSNODETYPE_HEAD_MOUNTED_DISPLAY_AUDIO
- DEFINE_USB_TERMINAL_GUID(0x0303)
- DEFINE_GUIDSTRUCT("DFF21CE3-F70F-11D0-B917-00A0C9223196", KSNODETYPE_HEAD_MOUNTED_DISPLAY_AUDIO);
- #define KSNODETYPE_HEAD_MOUNTED_DISPLAY_AUDIO DEFINE_GUIDNAMED(KSNODETYPE_HEAD_MOUNTED_DISPLAY_AUDIO)
- #define STATIC_KSNODETYPE_DESKTOP_SPEAKER
- DEFINE_USB_TERMINAL_GUID(0x0304)
- DEFINE_GUIDSTRUCT("DFF21CE4-F70F-11D0-B917-00A0C9223196", KSNODETYPE_DESKTOP_SPEAKER);
- #define KSNODETYPE_DESKTOP_SPEAKER DEFINE_GUIDNAMED(KSNODETYPE_DESKTOP_SPEAKER)
- #define STATIC_KSNODETYPE_ROOM_SPEAKER
- DEFINE_USB_TERMINAL_GUID(0x0305)
- DEFINE_GUIDSTRUCT("DFF21CE5-F70F-11D0-B917-00A0C9223196", KSNODETYPE_ROOM_SPEAKER);
- #define KSNODETYPE_ROOM_SPEAKER DEFINE_GUIDNAMED(KSNODETYPE_ROOM_SPEAKER)
- #define STATIC_KSNODETYPE_COMMUNICATION_SPEAKER
- DEFINE_USB_TERMINAL_GUID(0x0306)
- DEFINE_GUIDSTRUCT("DFF21CE6-F70F-11D0-B917-00A0C9223196", KSNODETYPE_COMMUNICATION_SPEAKER);
- #define KSNODETYPE_COMMUNICATION_SPEAKER DEFINE_GUIDNAMED(KSNODETYPE_COMMUNICATION_SPEAKER)
- #define STATIC_KSNODETYPE_LOW_FREQUENCY_EFFECTS_SPEAKER
- DEFINE_USB_TERMINAL_GUID(0x0307)
- DEFINE_GUIDSTRUCT("DFF21CE7-F70F-11D0-B917-00A0C9223196", KSNODETYPE_LOW_FREQUENCY_EFFECTS_SPEAKER);
- #define KSNODETYPE_LOW_FREQUENCY_EFFECTS_SPEAKER DEFINE_GUIDNAMED(KSNODETYPE_LOW_FREQUENCY_EFFECTS_SPEAKER)
- #define STATIC_KSNODETYPE_HANDSET
- DEFINE_USB_TERMINAL_GUID(0x0401)
- DEFINE_GUIDSTRUCT("DFF21DE1-F70F-11D0-B917-00A0C9223196", KSNODETYPE_HANDSET);
- #define KSNODETYPE_HANDSET DEFINE_GUIDNAMED(KSNODETYPE_HANDSET)
- #define STATIC_KSNODETYPE_HEADSET
- DEFINE_USB_TERMINAL_GUID(0x0402)
- DEFINE_GUIDSTRUCT("DFF21DE2-F70F-11D0-B917-00A0C9223196", KSNODETYPE_HEADSET);
- #define KSNODETYPE_HEADSET DEFINE_GUIDNAMED(KSNODETYPE_HEADSET)
- #define STATIC_KSNODETYPE_SPEAKERPHONE_NO_ECHO_REDUCTION
- DEFINE_USB_TERMINAL_GUID(0x0403)
- DEFINE_GUIDSTRUCT("DFF21DE3-F70F-11D0-B917-00A0C9223196", KSNODETYPE_SPEAKERPHONE_NO_ECHO_REDUCTION);
- #define KSNODETYPE_SPEAKERPHONE_NO_ECHO_REDUCTION DEFINE_GUIDNAMED(KSNODETYPE_SPEAKERPHONE_NO_ECHO_REDUCTION)
- #define STATIC_KSNODETYPE_ECHO_SUPPRESSING_SPEAKERPHONE
- DEFINE_USB_TERMINAL_GUID(0x0404)
- DEFINE_GUIDSTRUCT("DFF21DE4-F70F-11D0-B917-00A0C9223196", KSNODETYPE_ECHO_SUPPRESSING_SPEAKERPHONE);
- #define KSNODETYPE_ECHO_SUPPRESSING_SPEAKERPHONE DEFINE_GUIDNAMED(KSNODETYPE_ECHO_SUPPRESSING_SPEAKERPHONE)
- #define STATIC_KSNODETYPE_ECHO_CANCELING_SPEAKERPHONE
- DEFINE_USB_TERMINAL_GUID(0x0405)
- DEFINE_GUIDSTRUCT("DFF21DE5-F70F-11D0-B917-00A0C9223196", KSNODETYPE_ECHO_CANCELING_SPEAKERPHONE);
- #define KSNODETYPE_ECHO_CANCELING_SPEAKERPHONE DEFINE_GUIDNAMED(KSNODETYPE_ECHO_CANCELING_SPEAKERPHONE)
- #define STATIC_KSNODETYPE_PHONE_LINE
- DEFINE_USB_TERMINAL_GUID(0x0501)
- DEFINE_GUIDSTRUCT("DFF21EE1-F70F-11D0-B917-00A0C9223196", KSNODETYPE_PHONE_LINE);
- #define KSNODETYPE_PHONE_LINE DEFINE_GUIDNAMED(KSNODETYPE_PHONE_LINE)
- #define STATIC_KSNODETYPE_TELEPHONE
- DEFINE_USB_TERMINAL_GUID(0x0502)
- DEFINE_GUIDSTRUCT("DFF21EE2-F70F-11D0-B917-00A0C9223196", KSNODETYPE_TELEPHONE);
- #define KSNODETYPE_TELEPHONE DEFINE_GUIDNAMED(KSNODETYPE_TELEPHONE)
- #define STATIC_KSNODETYPE_DOWN_LINE_PHONE
- DEFINE_USB_TERMINAL_GUID(0x0503)
- DEFINE_GUIDSTRUCT("DFF21EE3-F70F-11D0-B917-00A0C9223196", KSNODETYPE_DOWN_LINE_PHONE);
- #define KSNODETYPE_DOWN_LINE_PHONE DEFINE_GUIDNAMED(KSNODETYPE_DOWN_LINE_PHONE)
- #define STATIC_KSNODETYPE_ANALOG_CONNECTOR
- DEFINE_USB_TERMINAL_GUID(0x601)
- DEFINE_GUIDSTRUCT("DFF21FE1-F70F-11D0-B917-00A0C9223196", KSNODETYPE_ANALOG_CONNECTOR);
- #define KSNODETYPE_ANALOG_CONNECTOR DEFINE_GUIDNAMED(KSNODETYPE_ANALOG_CONNECTOR)
- #define STATIC_KSNODETYPE_DIGITAL_AUDIO_INTERFACE
- DEFINE_USB_TERMINAL_GUID(0x0602)
- DEFINE_GUIDSTRUCT("DFF21FE2-F70F-11D0-B917-00A0C9223196", KSNODETYPE_DIGITAL_AUDIO_INTERFACE);
- #define KSNODETYPE_DIGITAL_AUDIO_INTERFACE DEFINE_GUIDNAMED(KSNODETYPE_DIGITAL_AUDIO_INTERFACE)
- #define STATIC_KSNODETYPE_LINE_CONNECTOR
- DEFINE_USB_TERMINAL_GUID(0x0603)
- DEFINE_GUIDSTRUCT("DFF21FE3-F70F-11D0-B917-00A0C9223196", KSNODETYPE_LINE_CONNECTOR);
- #define KSNODETYPE_LINE_CONNECTOR DEFINE_GUIDNAMED(KSNODETYPE_LINE_CONNECTOR)
- #define STATIC_KSNODETYPE_LEGACY_AUDIO_CONNECTOR
- DEFINE_USB_TERMINAL_GUID(0x0604)
- DEFINE_GUIDSTRUCT("DFF21FE4-F70F-11D0-B917-00A0C9223196", KSNODETYPE_LEGACY_AUDIO_CONNECTOR);
- #define KSNODETYPE_LEGACY_AUDIO_CONNECTOR DEFINE_GUIDNAMED(KSNODETYPE_LEGACY_AUDIO_CONNECTOR)
- #define STATIC_KSNODETYPE_SPDIF_INTERFACE
- DEFINE_USB_TERMINAL_GUID(0x0605)
- DEFINE_GUIDSTRUCT("DFF21FE5-F70F-11D0-B917-00A0C9223196", KSNODETYPE_SPDIF_INTERFACE);
- #define KSNODETYPE_SPDIF_INTERFACE DEFINE_GUIDNAMED(KSNODETYPE_SPDIF_INTERFACE)
- #define STATIC_KSNODETYPE_1394_DA_STREAM
- DEFINE_USB_TERMINAL_GUID(0x0606)
- DEFINE_GUIDSTRUCT("DFF21FE6-F70F-11D0-B917-00A0C9223196", KSNODETYPE_1394_DA_STREAM);
- #define KSNODETYPE_1394_DA_STREAM DEFINE_GUIDNAMED(KSNODETYPE_1394_DA_STREAM)
- #define STATIC_KSNODETYPE_1394_DV_STREAM_SOUNDTRACK
- DEFINE_USB_TERMINAL_GUID(0x0607)
- DEFINE_GUIDSTRUCT("DFF21FE7-F70F-11D0-B917-00A0C9223196", KSNODETYPE_1394_DV_STREAM_SOUNDTRACK);
- #define KSNODETYPE_1394_DV_STREAM_SOUNDTRACK DEFINE_GUIDNAMED(KSNODETYPE_1394_DV_STREAM_SOUNDTRACK)
- #define STATIC_KSNODETYPE_LEVEL_CALIBRATION_NOISE_SOURCE
- DEFINE_USB_TERMINAL_GUID(0x0701)
- DEFINE_GUIDSTRUCT("DFF220E1-F70F-11D0-B917-00A0C9223196", KSNODETYPE_LEVEL_CALIBRATION_NOISE_SOURCE);
- #define KSNODETYPE_LEVEL_CALIBRATION_NOISE_SOURCE DEFINE_GUIDNAMED(KSNODETYPE_LEVEL_CALIBRATION_NOISE_SOURCE)
- #define STATIC_KSNODETYPE_EQUALIZATION_NOISE
- DEFINE_USB_TERMINAL_GUID(0x0702)
- DEFINE_GUIDSTRUCT("DFF220E2-F70F-11D0-B917-00A0C9223196", KSNODETYPE_EQUALIZATION_NOISE);
- #define KSNODETYPE_EQUALIZATION_NOISE DEFINE_GUIDNAMED(KSNODETYPE_EQUALIZATION_NOISE)
- #define STATIC_KSNODETYPE_CD_PLAYER
- DEFINE_USB_TERMINAL_GUID(0x0703)
- DEFINE_GUIDSTRUCT("DFF220E3-F70F-11D0-B917-00A0C9223196", KSNODETYPE_CD_PLAYER);
- #define KSNODETYPE_CD_PLAYER DEFINE_GUIDNAMED(KSNODETYPE_CD_PLAYER)
- #define STATIC_KSNODETYPE_DAT_IO_DIGITAL_AUDIO_TAPE
- DEFINE_USB_TERMINAL_GUID(0x0704)
- DEFINE_GUIDSTRUCT("DFF220E4-F70F-11D0-B917-00A0C9223196", KSNODETYPE_DAT_IO_DIGITAL_AUDIO_TAPE);
- #define KSNODETYPE_DAT_IO_DIGITAL_AUDIO_TAPE DEFINE_GUIDNAMED(KSNODETYPE_DAT_IO_DIGITAL_AUDIO_TAPE)
- #define STATIC_KSNODETYPE_DCC_IO_DIGITAL_COMPACT_CASSETTE
- DEFINE_USB_TERMINAL_GUID(0x0705)
- DEFINE_GUIDSTRUCT("DFF220E5-F70F-11D0-B917-00A0C9223196", KSNODETYPE_DCC_IO_DIGITAL_COMPACT_CASSETTE);
- #define KSNODETYPE_DCC_IO_DIGITAL_COMPACT_CASSETTE DEFINE_GUIDNAMED(KSNODETYPE_DCC_IO_DIGITAL_COMPACT_CASSETTE)
- #define STATIC_KSNODETYPE_MINIDISK
- DEFINE_USB_TERMINAL_GUID(0x0706)
- DEFINE_GUIDSTRUCT("DFF220E6-F70F-11D0-B917-00A0C9223196", KSNODETYPE_MINIDISK);
- #define KSNODETYPE_MINIDISK DEFINE_GUIDNAMED(KSNODETYPE_MINIDISK)
- #define STATIC_KSNODETYPE_ANALOG_TAPE
- DEFINE_USB_TERMINAL_GUID(0x0707)
- DEFINE_GUIDSTRUCT("DFF220E7-F70F-11D0-B917-00A0C9223196", KSNODETYPE_ANALOG_TAPE);
- #define KSNODETYPE_ANALOG_TAPE DEFINE_GUIDNAMED(KSNODETYPE_ANALOG_TAPE)
- #define STATIC_KSNODETYPE_PHONOGRAPH
- DEFINE_USB_TERMINAL_GUID(0x0708)
- DEFINE_GUIDSTRUCT("DFF220E8-F70F-11D0-B917-00A0C9223196", KSNODETYPE_PHONOGRAPH);
- #define KSNODETYPE_PHONOGRAPH DEFINE_GUIDNAMED(KSNODETYPE_PHONOGRAPH)
- #define STATIC_KSNODETYPE_VCR_AUDIO
- DEFINE_USB_TERMINAL_GUID(0x0708)
- DEFINE_GUIDSTRUCT("DFF220E9-F70F-11D0-B917-00A0C9223196", KSNODETYPE_VCR_AUDIO);
- #define KSNODETYPE_VCR_AUDIO DEFINE_GUIDNAMED(KSNODETYPE_VCR_AUDIO)
- #define STATIC_KSNODETYPE_VIDEO_DISC_AUDIO
- DEFINE_USB_TERMINAL_GUID(0x070A)
- DEFINE_GUIDSTRUCT("DFF220EA-F70F-11D0-B917-00A0C9223196", KSNODETYPE_VIDEO_DISC_AUDIO);
- #define KSNODETYPE_VIDEO_DISC_AUDIO DEFINE_GUIDNAMED(KSNODETYPE_VIDEO_DISC_AUDIO)
- #define STATIC_KSNODETYPE_DVD_AUDIO
- DEFINE_USB_TERMINAL_GUID(0x070B)
- DEFINE_GUIDSTRUCT("DFF220EB-F70F-11D0-B917-00A0C9223196", KSNODETYPE_DVD_AUDIO);
- #define KSNODETYPE_DVD_AUDIO DEFINE_GUIDNAMED(KSNODETYPE_DVD_AUDIO)
- #define STATIC_KSNODETYPE_TV_TUNER_AUDIO
- DEFINE_USB_TERMINAL_GUID(0x070C)
- DEFINE_GUIDSTRUCT("DFF220EC-F70F-11D0-B917-00A0C9223196", KSNODETYPE_TV_TUNER_AUDIO);
- #define KSNODETYPE_TV_TUNER_AUDIO DEFINE_GUIDNAMED(KSNODETYPE_TV_TUNER_AUDIO)
- #define STATIC_KSNODETYPE_SATELLITE_RECEIVER_AUDIO
- DEFINE_USB_TERMINAL_GUID(0x070D)
- DEFINE_GUIDSTRUCT("DFF220ED-F70F-11D0-B917-00A0C9223196", KSNODETYPE_SATELLITE_RECEIVER_AUDIO);
- #define KSNODETYPE_SATELLITE_RECEIVER_AUDIO DEFINE_GUIDNAMED(KSNODETYPE_SATELLITE_RECEIVER_AUDIO)
- #define STATIC_KSNODETYPE_CABLE_TUNER_AUDIO
- DEFINE_USB_TERMINAL_GUID(0x070E)
- DEFINE_GUIDSTRUCT("DFF220EE-F70F-11D0-B917-00A0C9223196", KSNODETYPE_CABLE_TUNER_AUDIO);
- #define KSNODETYPE_CABLE_TUNER_AUDIO DEFINE_GUIDNAMED(KSNODETYPE_CABLE_TUNER_AUDIO)
- #define STATIC_KSNODETYPE_DSS_AUDIO
- DEFINE_USB_TERMINAL_GUID(0x070F)
- DEFINE_GUIDSTRUCT("DFF220EF-F70F-11D0-B917-00A0C9223196", KSNODETYPE_DSS_AUDIO);
- #define KSNODETYPE_DSS_AUDIO DEFINE_GUIDNAMED(KSNODETYPE_DSS_AUDIO)
- #define STATIC_KSNODETYPE_RADIO_RECEIVER
- DEFINE_USB_TERMINAL_GUID(0x0710)
- DEFINE_GUIDSTRUCT("DFF220F0-F70F-11D0-B917-00A0C9223196", KSNODETYPE_RADIO_RECEIVER);
- #define KSNODETYPE_RADIO_RECEIVER DEFINE_GUIDNAMED(KSNODETYPE_RADIO_RECEIVER)
- #define STATIC_KSNODETYPE_RADIO_TRANSMITTER
- DEFINE_USB_TERMINAL_GUID(0x0711)
- DEFINE_GUIDSTRUCT("DFF220F1-F70F-11D0-B917-00A0C9223196", KSNODETYPE_RADIO_TRANSMITTER);
- #define KSNODETYPE_RADIO_TRANSMITTER DEFINE_GUIDNAMED(KSNODETYPE_RADIO_TRANSMITTER)
- #define STATIC_KSNODETYPE_MULTITRACK_RECORDER
- DEFINE_USB_TERMINAL_GUID(0x0712)
- DEFINE_GUIDSTRUCT("DFF220F2-F70F-11D0-B917-00A0C9223196", KSNODETYPE_MULTITRACK_RECORDER);
- #define KSNODETYPE_MULTITRACK_RECORDER DEFINE_GUIDNAMED(KSNODETYPE_MULTITRACK_RECORDER)
- #define STATIC_KSNODETYPE_SYNTHESIZER
- DEFINE_USB_TERMINAL_GUID(0x0713)
- DEFINE_GUIDSTRUCT("DFF220F3-F70F-11D0-B917-00A0C9223196", KSNODETYPE_SYNTHESIZER);
- #define KSNODETYPE_SYNTHESIZER DEFINE_GUIDNAMED(KSNODETYPE_SYNTHESIZER)
- // Microsoft's WDMAUD virtual swsynth pin name guid
- #define STATIC_KSNODETYPE_SWSYNTH
- 0x423274A0L, 0x8B81, 0x11D1, 0xA0, 0x50, 0x00, 0x00, 0xF8, 0x00, 0x47, 0x88
- DEFINE_GUIDSTRUCT("423274A0-8B81-11D1-A050-0000F8004788", KSNODETYPE_SWSYNTH);
- #define KSNODETYPE_SWSYNTH DEFINE_GUIDNAMED(KSNODETYPE_SWSYNTH)
- // Microsoft's SWMIDI midi pin and node name guid
- #define STATIC_KSNODETYPE_SWMIDI
- 0xCB9BEFA0L, 0xA251, 0x11D1, 0xA0, 0x50, 0x00, 0x00, 0xF8, 0x00, 0x47, 0x88
- DEFINE_GUIDSTRUCT("CB9BEFA0-A251-11D1-A050-0000F8004788", KSNODETYPE_SWMIDI);
- #define KSNODETYPE_SWMIDI DEFINE_GUIDNAMED(KSNODETYPE_SWMIDI)
- #define STATIC_KSNODETYPE_DRM_DESCRAMBLE
- 0xFFBB6E3FL, 0xCCFE, 0x4D84, 0x90, 0xD9, 0x42, 0x14, 0x18, 0xB0, 0x3A, 0x8E
- DEFINE_GUIDSTRUCT("FFBB6E3F-CCFE-4D84-90D9-421418B03A8E", KSNODETYPE_DRM_DESCRAMBLE);
- #define KSNODETYPE_DRM_DESCRAMBLE DEFINE_GUIDNAMED(KSNODETYPE_DRM_DESCRAMBLE)
- // General categories
- #define STATIC_KSCATEGORY_AUDIO
- 0x6994AD04L, 0x93EF, 0x11D0, 0xA3, 0xCC, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
- DEFINE_GUIDSTRUCT("6994AD04-93EF-11D0-A3CC-00A0C9223196", KSCATEGORY_AUDIO);
- #define KSCATEGORY_AUDIO DEFINE_GUIDNAMED(KSCATEGORY_AUDIO)
- #define STATIC_KSCATEGORY_VIDEO
- 0x6994AD05L, 0x93EF, 0x11D0, 0xA3, 0xCC, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
- DEFINE_GUIDSTRUCT("6994AD05-93EF-11D0-A3CC-00A0C9223196", KSCATEGORY_VIDEO);
- #define KSCATEGORY_VIDEO DEFINE_GUIDNAMED(KSCATEGORY_VIDEO)
- #define STATIC_KSCATEGORY_TEXT
- 0x6994AD06L, 0x93EF, 0x11D0, 0xA3, 0xCC, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
- DEFINE_GUIDSTRUCT("6994AD06-93EF-11D0-A3CC-00A0C9223196", KSCATEGORY_TEXT);
- #define KSCATEGORY_TEXT DEFINE_GUIDNAMED(KSCATEGORY_TEXT)
- #define STATIC_KSCATEGORY_NETWORK
- 0x67C9CC3CL, 0x69C4, 0x11D2, 0x87, 0x59, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
- DEFINE_GUIDSTRUCT("67C9CC3C-69C4-11D2-8759-00A0C9223196", KSCATEGORY_NETWORK);
- #define KSCATEGORY_NETWORK DEFINE_GUIDNAMED(KSCATEGORY_NETWORK)
- #define STATIC_KSCATEGORY_TOPOLOGY
- 0xDDA54A40L, 0x1E4C, 0x11D1, 0xA0, 0x50, 0x40, 0x57, 0x05, 0xC1, 0x00, 0x00
- DEFINE_GUIDSTRUCT("DDA54A40-1E4C-11D1-A050-405705C10000", KSCATEGORY_TOPOLOGY);
- #define KSCATEGORY_TOPOLOGY DEFINE_GUIDNAMED(KSCATEGORY_TOPOLOGY)
- #define STATIC_KSCATEGORY_VIRTUAL
- 0x3503EAC4L, 0x1F26, 0x11D1, 0x8A, 0xB0, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
- DEFINE_GUIDSTRUCT("3503EAC4-1F26-11D1-8AB0-00A0C9223196", KSCATEGORY_VIRTUAL);
- #define KSCATEGORY_VIRTUAL DEFINE_GUIDNAMED(KSCATEGORY_VIRTUAL)
- #define STATIC_KSCATEGORY_ACOUSTIC_ECHO_CANCEL
- 0xBF963D80L, 0xC559, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1
- DEFINE_GUIDSTRUCT("BF963D80-C559-11D0-8A2B-00A0C9255AC1", KSCATEGORY_ACOUSTIC_ECHO_CANCEL);
- #define KSCATEGORY_ACOUSTIC_ECHO_CANCEL DEFINE_GUIDNAMED(KSCATEGORY_ACOUSTIC_ECHO_CANCEL)
- #define STATIC_KSCATEGORY_SYSAUDIO
- 0xA7C7A5B1L, 0x5AF3, 0x11D1, 0x9C, 0xED, 0x00, 0xA0, 0x24, 0xBF, 0x04, 0x07
- DEFINE_GUIDSTRUCT("A7C7A5B1-5AF3-11D1-9CED-00A024BF0407", KSCATEGORY_SYSAUDIO);
- #define KSCATEGORY_SYSAUDIO DEFINE_GUIDNAMED(KSCATEGORY_SYSAUDIO)
- #define STATIC_KSCATEGORY_WDMAUD
- 0x3E227E76L, 0x690D, 0x11D2, 0x81, 0x61, 0x00, 0x00, 0xF8, 0x77, 0x5B, 0xF1
- DEFINE_GUIDSTRUCT("3E227E76-690D-11D2-8161-0000F8775BF1", KSCATEGORY_WDMAUD);
- #define KSCATEGORY_WDMAUD DEFINE_GUIDNAMED(KSCATEGORY_WDMAUD)
- #define STATIC_KSCATEGORY_AUDIO_GFX
- 0x9BAF9572L, 0x340C, 0x11D3, 0xAB, 0xDC, 0x00, 0xA0, 0xC9, 0x0A, 0xB1, 0x6F
- DEFINE_GUIDSTRUCT("9BAF9572-340C-11D3-ABDC-00A0C90AB16F", KSCATEGORY_AUDIO_GFX);
- #define KSCATEGORY_AUDIO_GFX DEFINE_GUIDNAMED(KSCATEGORY_AUDIO_GFX)
- #define STATIC_KSCATEGORY_AUDIO_SPLITTER
- 0x9EA331FAL, 0xB91B, 0x45F8, 0x92, 0x85, 0xBD, 0x2B, 0xC7, 0x7A, 0xFC, 0xDE
- DEFINE_GUIDSTRUCT("9EA331FA-B91B-45F8-9285-BD2BC77AFCDE", KSCATEGORY_AUDIO_SPLITTER);
- #define KSCATEGORY_AUDIO_SPLITTER DEFINE_GUIDNAMED(KSCATEGORY_AUDIO_SPLITTER)
- #define STATIC_KSCATEGORY_SYNTHESIZER STATIC_KSNODETYPE_SYNTHESIZER
- #define KSCATEGORY_SYNTHESIZER KSNODETYPE_SYNTHESIZER
- #define STATIC_KSCATEGORY_DRM_DESCRAMBLE STATIC_KSNODETYPE_DRM_DESCRAMBLE
- #define KSCATEGORY_DRM_DESCRAMBLE KSNODETYPE_DRM_DESCRAMBLE
- #define STATIC_KSCATEGORY_AUDIO_DEVICE
- 0xFBF6F530L, 0x07B9, 0x11D2, 0xA7, 0x1E, 0x00, 0x00, 0xF8, 0x00, 0x47, 0x88
- DEFINE_GUIDSTRUCT("FBF6F530-07B9-11D2-A71E-0000F8004788", KSCATEGORY_AUDIO_DEVICE);
- #define KSCATEGORY_AUDIO_DEVICE DEFINE_GUIDNAMED(KSCATEGORY_AUDIO_DEVICE)
- #define STATIC_KSCATEGORY_PREFERRED_WAVEOUT_DEVICE
- 0xD6C5066EL, 0x72C1, 0x11D2, 0x97, 0x55, 0x00, 0x00, 0xF8, 0x00, 0x47, 0x88
- DEFINE_GUIDSTRUCT("D6C5066E-72C1-11D2-9755-0000F8004788", KSCATEGORY_PREFERRED_WAVEOUT_DEVICE);
- #define KSCATEGORY_PREFERRED_WAVEOUT_DEVICE DEFINE_GUIDNAMED(KSCATEGORY_PREFERRED_WAVEOUT_DEVICE)
- #define STATIC_KSCATEGORY_PREFERRED_WAVEIN_DEVICE
- 0xD6C50671L, 0x72C1, 0x11D2, 0x97, 0x55, 0x00, 0x00, 0xF8, 0x00, 0x47, 0x88
- DEFINE_GUIDSTRUCT("D6C50671-72C1-11D2-9755-0000F8004788", KSCATEGORY_PREFERRED_WAVEIN_DEVICE);
- #define KSCATEGORY_PREFERRED_WAVEIN_DEVICE DEFINE_GUIDNAMED(KSCATEGORY_PREFERRED_WAVEIN_DEVICE)
- #define STATIC_KSCATEGORY_PREFERRED_MIDIOUT_DEVICE
- 0xD6C50674L, 0x72C1, 0x11D2, 0x97, 0x55, 0x00, 0x00, 0xF8, 0x00, 0x47, 0x88
- DEFINE_GUIDSTRUCT("D6C50674-72C1-11D2-9755-0000F8004788", KSCATEGORY_PREFERRED_MIDIOUT_DEVICE);
- #define KSCATEGORY_PREFERRED_MIDIOUT_DEVICE DEFINE_GUIDNAMED(KSCATEGORY_PREFERRED_MIDIOUT_DEVICE)
- // Special pin category for wdmaud
- #define STATIC_KSCATEGORY_WDMAUD_USE_PIN_NAME
- 0x47A4FA20L, 0xA251, 0x11D1, 0xA0, 0x50, 0x00, 0x00, 0xF8, 0x00, 0x47, 0x88
- DEFINE_GUIDSTRUCT("47A4FA20-A251-11D1-A050-0000F8004788", KSCATEGORY_WDMAUD_USE_PIN_NAME);
- #define KSCATEGORY_WDMAUD_USE_PIN_NAME DEFINE_GUIDNAMED(KSCATEGORY_WDMAUD_USE_PIN_NAME)
- // Escalante Platform Interface
- #define STATIC_KSCATEGORY_ESCALANTE_PLATFORM_DRIVER
- 0x74f3aea8L, 0x9768, 0x11d1, 0x8e, 0x07, 0x00, 0xa0, 0xc9, 0x5e, 0xc2, 0x2e
- DEFINE_GUIDSTRUCT("74f3aea8-9768-11d1-8e07-00a0c95ec22e", KSCATEGORY_ESCALANTE_PLATFORM_DRIVER);
- #define KSCATEGORY_ESCALANTE_PLATFORM_DRIVER DEFINE_GUIDNAMED(KSCATEGORY_ESCALANTE_PLATFORM_DRIVER)
- // -- major types ---
- // 'vids' == MEDIATYPE_Video,
- #define STATIC_KSDATAFORMAT_TYPE_VIDEO
- 0x73646976L, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71
- DEFINE_GUIDSTRUCT("73646976-0000-0010-8000-00aa00389b71", KSDATAFORMAT_TYPE_VIDEO);
- #define KSDATAFORMAT_TYPE_VIDEO DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_VIDEO)
- // 'auds' == MEDIATYPE_Audio
- #define STATIC_KSDATAFORMAT_TYPE_AUDIO
- 0x73647561L, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71
- DEFINE_GUIDSTRUCT("73647561-0000-0010-8000-00aa00389b71", KSDATAFORMAT_TYPE_AUDIO);
- #define KSDATAFORMAT_TYPE_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_AUDIO)
- // 'txts' == MEDIATYPE_Text
- #define STATIC_KSDATAFORMAT_TYPE_TEXT
- 0x73747874L, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71
- DEFINE_GUIDSTRUCT("73747874-0000-0010-8000-00aa00389b71", KSDATAFORMAT_TYPE_TEXT);
- #define KSDATAFORMAT_TYPE_TEXT DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_TEXT)
- #if !defined( DEFINE_WAVEFORMATEX_GUID )
- #define DEFINE_WAVEFORMATEX_GUID(x) (USHORT)(x), 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71
- #endif
- #define STATIC_KSDATAFORMAT_SUBTYPE_WAVEFORMATEX
- 0x00000000L, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71
- DEFINE_GUIDSTRUCT("00000000-0000-0010-8000-00aa00389b71", KSDATAFORMAT_SUBTYPE_WAVEFORMATEX);
- #define KSDATAFORMAT_SUBTYPE_WAVEFORMATEX DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_WAVEFORMATEX)
- #define INIT_WAVEFORMATEX_GUID(Guid, x)
- {
- *(Guid) = KSDATAFORMAT_SUBTYPE_WAVEFORMATEX;
- (Guid)->Data1 = (USHORT)(x);
- }
- #define EXTRACT_WAVEFORMATEX_ID(Guid)
- (USHORT)((Guid)->Data1)
- #define IS_VALID_WAVEFORMATEX_GUID(Guid)
- (!memcmp(((PUSHORT)&KSDATAFORMAT_SUBTYPE_WAVEFORMATEX) + 1, ((PUSHORT)(Guid)) + 1, sizeof(GUID) - sizeof(USHORT)))
- #if !defined(INIT_MMREG_MID)
- //{d5a47fa7-6d98-11d1-a21a-00a0c9223196}
- #define INIT_MMREG_MID(guid, id)
- {
- (guid)->Data1 = 0xd5a47fa7 + (USHORT)(id);
- (guid)->Data2 = 0x6d98;
- (guid)->Data3 = 0x11d1;
- (guid)->Data4[0] = 0xa2;
- (guid)->Data4[1] = 0x1a;
- (guid)->Data4[2] = 0x00;
- (guid)->Data4[3] = 0xa0;
- (guid)->Data4[4] = 0xc9;
- (guid)->Data4[5] = 0x22;
- (guid)->Data4[6] = 0x31;
- (guid)->Data4[7] = 0x96;
- }
- #define EXTRACT_MMREG_MID(guid)
- (USHORT)((guid)->Data1 - 0xd5a47fa7)
- #define DEFINE_MMREG_MID_GUID(id)
- 0xd5a47fa7+(USHORT)(id), 0x6d98, 0x11d1, 0xa2, 0x1a, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96
- #define IS_COMPATIBLE_MMREG_MID(guid)
- (((guid)->Data1 >= 0xd5a47fa7) &&
- ((guid)->Data1 < 0xd5a47fa7 + 0xffff) &&
- ((guid)->Data2 == 0x6d98) &&
- ((guid)->Data3 == 0x11d1) &&
- ((guid)->Data4[0] == 0xa2) &&
- ((guid)->Data4[1] == 0x1a) &&
- ((guid)->Data4[2] == 0x00) &&
- ((guid)->Data4[3] == 0xa0) &&
- ((guid)->Data4[4] == 0xc9) &&
- ((guid)->Data4[5] == 0x22) &&
- ((guid)->Data4[6] == 0x31) &&
- ((guid)->Data4[7] == 0x96))
- #endif // !defined(INIT_MMREG_MID)
- #if !defined(INIT_MMREG_PID)
- //{e36dc2ac-6d9a-11d1-a21a-00a0c9223196}
- #define INIT_MMREG_PID(guid, id)
- {
- (guid)->Data1 = 0xe36dc2ac + (USHORT)(id);
- (guid)->Data2 = 0x6d9a;
- (guid)->Data3 = 0x11d1;
- (guid)->Data4[0] = 0xa2;
- (guid)->Data4[1] = 0x1a;
- (guid)->Data4[2] = 0x00;
- (guid)->Data4[3] = 0xa0;
- (guid)->Data4[4] = 0xc9;
- (guid)->Data4[5] = 0x22;
- (guid)->Data4[6] = 0x31;
- (guid)->Data4[7] = 0x96;
- }
- #define EXTRACT_MMREG_PID(guid)
- (USHORT)((guid)->Data1 - 0xe36dc2ac)
- #define DEFINE_MMREG_PID_GUID(id)
- 0xe36dc2ac+(USHORT)(id), 0x6d9a, 0x11d1, 0xa2, 0x1a, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96
- #define IS_COMPATIBLE_MMREG_PID(guid)
- (((guid)->Data1 >= 0xe36dc2ac) &&
- ((guid)->Data1 < 0xe36dc2ac + 0xffff) &&
- ((guid)->Data2 == 0x6d9a) &&
- ((guid)->Data3 == 0x11d1) &&
- ((guid)->Data4[0] == 0xa2) &&
- ((guid)->Data4[1] == 0x1a) &&
- ((guid)->Data4[2] == 0x00) &&
- ((guid)->Data4[3] == 0xa0) &&
- ((guid)->Data4[4] == 0xc9) &&
- ((guid)->Data4[5] == 0x22) &&
- ((guid)->Data4[6] == 0x31) &&
- ((guid)->Data4[7] == 0x96))
- #endif // !defined(INIT_MMREG_PID)
- #define STATIC_KSDATAFORMAT_SUBTYPE_ANALOG
- 0x6dba3190L, 0x67bd, 0x11cf, 0xa0, 0xf7, 0x00, 0x20, 0xaf, 0xd1, 0x56, 0xe4
- DEFINE_GUIDSTRUCT("6dba3190-67bd-11cf-a0f7-0020afd156e4", KSDATAFORMAT_SUBTYPE_ANALOG);
- #define KSDATAFORMAT_SUBTYPE_ANALOG DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_ANALOG)
- #define STATIC_KSDATAFORMAT_SUBTYPE_PCM
- DEFINE_WAVEFORMATEX_GUID(WAVE_FORMAT_PCM)
- DEFINE_GUIDSTRUCT("00000001-0000-0010-8000-00aa00389b71", KSDATAFORMAT_SUBTYPE_PCM);
- #define KSDATAFORMAT_SUBTYPE_PCM DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_PCM)
- #if defined(_INC_MMREG)
- #define STATIC_KSDATAFORMAT_SUBTYPE_IEEE_FLOAT
- DEFINE_WAVEFORMATEX_GUID(WAVE_FORMAT_IEEE_FLOAT)
- DEFINE_GUIDSTRUCT("00000003-0000-0010-8000-00aa00389b71", KSDATAFORMAT_SUBTYPE_IEEE_FLOAT);
- #define KSDATAFORMAT_SUBTYPE_IEEE_FLOAT DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_IEEE_FLOAT)
- #define STATIC_KSDATAFORMAT_SUBTYPE_DRM
- DEFINE_WAVEFORMATEX_GUID(WAVE_FORMAT_DRM)
- DEFINE_GUIDSTRUCT("00000009-0000-0010-8000-00aa00389b71", KSDATAFORMAT_SUBTYPE_DRM);
- #define KSDATAFORMAT_SUBTYPE_DRM DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_DRM)
- #define STATIC_KSDATAFORMAT_SUBTYPE_ALAW
- DEFINE_WAVEFORMATEX_GUID(WAVE_FORMAT_ALAW)
- DEFINE_GUIDSTRUCT("00000006-0000-0010-8000-00aa00389b71", KSDATAFORMAT_SUBTYPE_ALAW);
- #define KSDATAFORMAT_SUBTYPE_ALAW DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_ALAW)
- #define STATIC_KSDATAFORMAT_SUBTYPE_MULAW
- DEFINE_WAVEFORMATEX_GUID(WAVE_FORMAT_MULAW)
- DEFINE_GUIDSTRUCT("00000007-0000-0010-8000-00aa00389b71", KSDATAFORMAT_SUBTYPE_MULAW);
- #define KSDATAFORMAT_SUBTYPE_MULAW DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_MULAW)
- #define STATIC_KSDATAFORMAT_SUBTYPE_ADPCM
- DEFINE_WAVEFORMATEX_GUID(WAVE_FORMAT_ADPCM)
- DEFINE_GUIDSTRUCT("00000002-0000-0010-8000-00aa00389b71", KSDATAFORMAT_SUBTYPE_ADPCM);
- #define KSDATAFORMAT_SUBTYPE_ADPCM DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_ADPCM)
- #define STATIC_KSDATAFORMAT_SUBTYPE_MPEG
- DEFINE_WAVEFORMATEX_GUID(WAVE_FORMAT_MPEG)
- DEFINE_GUIDSTRUCT("00000050-0000-0010-8000-00aa00389b71", KSDATAFORMAT_SUBTYPE_MPEG);
- #define KSDATAFORMAT_SUBTYPE_MPEG DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_MPEG)
- #endif // defined(_INC_MMREG)
- #define STATIC_KSDATAFORMAT_SPECIFIER_VC_ID
- 0xAD98D184L, 0xAAC3, 0x11D0, 0xA4, 0x1C, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
- DEFINE_GUIDSTRUCT("AD98D184-AAC3-11D0-A41C-00A0C9223196", KSDATAFORMAT_SPECIFIER_VC_ID);
- #define KSDATAFORMAT_SPECIFIER_VC_ID DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_VC_ID)
- #define STATIC_KSDATAFORMAT_SPECIFIER_WAVEFORMATEX
- 0x05589f81L, 0xc356, 0x11ce, 0xbf, 0x01, 0x00, 0xaa, 0x00, 0x55, 0x59, 0x5a
- DEFINE_GUIDSTRUCT("05589f81-c356-11ce-bf01-00aa0055595a", KSDATAFORMAT_SPECIFIER_WAVEFORMATEX);
- #define KSDATAFORMAT_SPECIFIER_WAVEFORMATEX DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_WAVEFORMATEX)
- #define STATIC_KSDATAFORMAT_SPECIFIER_DSOUND
- 0x518590a2L, 0xa184, 0x11d0, 0x85, 0x22, 0x00, 0xc0, 0x4f, 0xd9, 0xba, 0xf3
- DEFINE_GUIDSTRUCT("518590a2-a184-11d0-8522-00c04fd9baf3", KSDATAFORMAT_SPECIFIER_DSOUND);
- #define KSDATAFORMAT_SPECIFIER_DSOUND DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_DSOUND)
- #if defined(_INC_MMSYSTEM) || defined(_INC_MMREG)
- #if !defined( PACK_PRAGMAS_NOT_SUPPORTED )
- #include <pshpack1.h>
- #endif
- typedef struct {
- KSDATAFORMAT DataFormat;
- WAVEFORMATEX WaveFormatEx;
- } KSDATAFORMAT_WAVEFORMATEX, *PKSDATAFORMAT_WAVEFORMATEX;
- #ifndef _WAVEFORMATEXTENSIBLE_
- #define _WAVEFORMATEXTENSIBLE_
- typedef struct {
- WAVEFORMATEX Format;
- union {
- WORD wValidBitsPerSample; /* bits of precision */
- WORD wSamplesPerBlock; /* valid if wBitsPerSample==0 */
- WORD wReserved; /* If neither applies, set to zero. */
- } Samples;
- DWORD dwChannelMask; /* which channels are */
- /* present in stream */
- GUID SubFormat;
- } WAVEFORMATEXTENSIBLE, *PWAVEFORMATEXTENSIBLE;
- #endif // !_WAVEFORMATEXTENSIBLE_
- #if !defined(WAVE_FORMAT_EXTENSIBLE)
- #define WAVE_FORMAT_EXTENSIBLE 0xFFFE
- #endif // !defined(WAVE_FORMAT_EXTENSIBLE)
- // DirectSound buffer description
- typedef struct {
- ULONG Flags;
- ULONG Control;
- WAVEFORMATEX WaveFormatEx;
- } KSDSOUND_BUFFERDESC, *PKSDSOUND_BUFFERDESC;
- // DirectSound format
- typedef struct {
- KSDATAFORMAT DataFormat;
- KSDSOUND_BUFFERDESC BufferDesc;
- } KSDATAFORMAT_DSOUND, *PKSDATAFORMAT_DSOUND;
- #if !defined( PACK_PRAGMAS_NOT_SUPPORTED )
- #include <poppack.h>
- #endif
- #endif // defined(_INC_MMSYSTEM) || defined(_INC_MMREG)
- // DirectSound buffer flags
- #define KSDSOUND_BUFFER_PRIMARY 0x00000001
- #define KSDSOUND_BUFFER_STATIC 0x00000002
- #define KSDSOUND_BUFFER_LOCHARDWARE 0x00000004
- #define KSDSOUND_BUFFER_LOCSOFTWARE 0x00000008
- // DirectSound buffer control flags
- #define KSDSOUND_BUFFER_CTRL_3D 0x00000001
- #define KSDSOUND_BUFFER_CTRL_FREQUENCY 0x00000002
- #define KSDSOUND_BUFFER_CTRL_PAN 0x00000004
- #define KSDSOUND_BUFFER_CTRL_VOLUME 0x00000008
- #define KSDSOUND_BUFFER_CTRL_POSITIONNOTIFY 0x00000010
- typedef struct {
- #if defined(_NTDDK_)
- ULONGLONG PlayOffset;
- ULONGLONG WriteOffset;
- #else // !_NTDDK_
- DWORDLONG PlayOffset;
- DWORDLONG WriteOffset;
- #endif // !_NTDDK_
- } KSAUDIO_POSITION, *PKSAUDIO_POSITION;
- //===========================================================================
- // DirectSound3D HAL
- typedef struct _DS3DVECTOR {
- union {
- FLOAT x;
- FLOAT dvX;
- };
- union {
- FLOAT y;
- FLOAT dvY;
- };
- union {
- FLOAT z;
- FLOAT dvZ;
- };
- } DS3DVECTOR, *PDS3DVECTOR;
- //===========================================================================
- //===========================================================================
- // KSPROPSETID_DirectSound3DListener : {437B3414-D060-11d0-8583-00C04FD9BAF3}
- #define STATIC_KSPROPSETID_DirectSound3DListener
- 0x437b3414L, 0xd060, 0x11d0, 0x85, 0x83, 0x00, 0xc0, 0x4f, 0xd9, 0xba, 0xf3
- DEFINE_GUIDSTRUCT("437b3414-d060-11d0-8583-00c04fd9baf3",KSPROPSETID_DirectSound3DListener);
- #define KSPROPSETID_DirectSound3DListener DEFINE_GUIDNAMED(KSPROPSETID_DirectSound3DListener)
- typedef enum {
- KSPROPERTY_DIRECTSOUND3DLISTENER_ALL,
- KSPROPERTY_DIRECTSOUND3DLISTENER_POSITION,
- KSPROPERTY_DIRECTSOUND3DLISTENER_VELOCITY,
- KSPROPERTY_DIRECTSOUND3DLISTENER_ORIENTATION,
- KSPROPERTY_DIRECTSOUND3DLISTENER_DISTANCEFACTOR,
- KSPROPERTY_DIRECTSOUND3DLISTENER_ROLLOFFFACTOR,
- KSPROPERTY_DIRECTSOUND3DLISTENER_DOPPLERFACTOR,
- KSPROPERTY_DIRECTSOUND3DLISTENER_BATCH,
- KSPROPERTY_DIRECTSOUND3DLISTENER_ALLOCATION
- } KSPROPERTY_DIRECTSOUND3DLISTENER;
- typedef struct {
- DS3DVECTOR Position;
- DS3DVECTOR Velocity;
- DS3DVECTOR OrientFront;
- DS3DVECTOR OrientTop;
- FLOAT DistanceFactor;
- FLOAT RolloffFactor;
- FLOAT DopplerFactor;
- } KSDS3D_LISTENER_ALL, *PKSDS3D_LISTENER_ALL;
- typedef struct {
- DS3DVECTOR Front;
- DS3DVECTOR Top;
- } KSDS3D_LISTENER_ORIENTATION, *PKSDS3D_LISTENER_ORIENTATION;
- //===========================================================================
- //===========================================================================
- // KSPROPSETID_DirectSound3DBuffer : {437B3411-D060-11d0-8583-00C04FD9BAF3}
- #define STATIC_KSPROPSETID_DirectSound3DBuffer
- 0x437b3411L, 0xd060, 0x11d0, 0x85, 0x83, 0x00, 0xc0, 0x4f, 0xd9, 0xba, 0xf3
- DEFINE_GUIDSTRUCT("437b3411-d060-11d0-8583-00c04fd9baf3", KSPROPSETID_DirectSound3DBuffer);
- #define KSPROPSETID_DirectSound3DBuffer DEFINE_GUIDNAMED(KSPROPSETID_DirectSound3DBuffer)
- typedef enum {
- KSPROPERTY_DIRECTSOUND3DBUFFER_ALL,
- KSPROPERTY_DIRECTSOUND3DBUFFER_POSITION,
- KSPROPERTY_DIRECTSOUND3DBUFFER_VELOCITY,
- KSPROPERTY_DIRECTSOUND3DBUFFER_CONEANGLES,
- KSPROPERTY_DIRECTSOUND3DBUFFER_CONEORIENTATION,
- KSPROPERTY_DIRECTSOUND3DBUFFER_CONEOUTSIDEVOLUME,
- KSPROPERTY_DIRECTSOUND3DBUFFER_MINDISTANCE,
- KSPROPERTY_DIRECTSOUND3DBUFFER_MAXDISTANCE,
- KSPROPERTY_DIRECTSOUND3DBUFFER_MODE
- } KSPROPERTY_DIRECTSOUND3DBUFFER;
- typedef struct {
- DS3DVECTOR Position;
- DS3DVECTOR Velocity;
- ULONG InsideConeAngle;
- ULONG OutsideConeAngle;
- DS3DVECTOR ConeOrientation;
- LONG ConeOutsideVolume;
- FLOAT MinDistance;
- FLOAT MaxDistance;
- ULONG Mode;
- } KSDS3D_BUFFER_ALL, *PKSDS3D_BUFFER_ALL;
- typedef struct {
- ULONG InsideConeAngle;
- ULONG OutsideConeAngle;
- } KSDS3D_BUFFER_CONE_ANGLES, *PKSDS3D_BUFFER_CONE_ANGLES;
- #define KSAUDIO_STEREO_SPEAKER_GEOMETRY_HEADPHONE (-1)
- #define KSAUDIO_STEREO_SPEAKER_GEOMETRY_MIN 5
- #define KSAUDIO_STEREO_SPEAKER_GEOMETRY_NARROW 10
- #define KSAUDIO_STEREO_SPEAKER_GEOMETRY_WIDE 20
- #define KSAUDIO_STEREO_SPEAKER_GEOMETRY_MAX 180
- #define KSDSOUND_3D_MODE_NORMAL 0x00000000
- #define KSDSOUND_3D_MODE_HEADRELATIVE 0x00000001
- #define KSDSOUND_3D_MODE_DISABLE 0x00000002
- typedef struct {
- KSDATARANGE DataRange;
- ULONG MaximumChannels;
- ULONG MinimumBitsPerSample;
- ULONG MaximumBitsPerSample;
- ULONG MinimumSampleFrequency;
- ULONG MaximumSampleFrequency;
- } KSDATARANGE_AUDIO, *PKSDATARANGE_AUDIO;
- //---------------------------------------------------------------------------
- #define STATIC_KSDATAFORMAT_SUBTYPE_RIFF
- 0x4995DAEEL, 0x9EE6, 0x11D0, 0xA4, 0x0E, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
- DEFINE_GUIDSTRUCT("4995DAEE-9EE6-11D0-A40E-00A0C9223196", KSDATAFORMAT_SUBTYPE_RIFF);
- #define KSDATAFORMAT_SUBTYPE_RIFF DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_RIFF)
- #define STATIC_KSDATAFORMAT_SUBTYPE_RIFFWAVE
- 0xe436eb8bL, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70
- DEFINE_GUIDSTRUCT("e436eb8b-524f-11ce-9f53-0020af0ba770", KSDATAFORMAT_SUBTYPE_RIFFWAVE);
- #define KSDATAFORMAT_SUBTYPE_RIFFWAVE DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_RIFFWAVE)
- //===========================================================================
- //===========================================================================
- #define STATIC_KSPROPSETID_Bibliographic
- 0x07BA150EL, 0xE2B1, 0x11D0, 0xAC, 0x17, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
- DEFINE_GUIDSTRUCT("07BA150E-E2B1-11D0-AC17-00A0C9223196", KSPROPSETID_Bibliographic);
- #define KSPROPSETID_Bibliographic DEFINE_GUIDNAMED(KSPROPSETID_Bibliographic)
- //Repeatable tags contain all entries within the property, each preceeded by length
- typedef enum {
- KSPROPERTY_BIBLIOGRAPHIC_LEADER = 'RDL ',
- KSPROPERTY_BIBLIOGRAPHIC_LCCN = '010 ',
- KSPROPERTY_BIBLIOGRAPHIC_ISBN = '020 ',
- KSPROPERTY_BIBLIOGRAPHIC_ISSN = '220 ',
- KSPROPERTY_BIBLIOGRAPHIC_CATALOGINGSOURCE = '040 ',
- KSPROPERTY_BIBLIOGRAPHIC_MAINPERSONALNAME = '001 ',
- KSPROPERTY_BIBLIOGRAPHIC_MAINCORPORATEBODY = '011 ',
- KSPROPERTY_BIBLIOGRAPHIC_MAINMEETINGNAME = '111 ',
- KSPROPERTY_BIBLIOGRAPHIC_MAINUNIFORMTITLE = '031 ',
- KSPROPERTY_BIBLIOGRAPHIC_UNIFORMTITLE = '042 ',
- KSPROPERTY_BIBLIOGRAPHIC_TITLESTATEMENT = '542 ',
- KSPROPERTY_BIBLIOGRAPHIC_VARYINGFORMTITLE = '642 ',
- KSPROPERTY_BIBLIOGRAPHIC_PUBLICATION = '062 ',
- KSPROPERTY_BIBLIOGRAPHIC_PHYSICALDESCRIPTION = '003 ',
- KSPROPERTY_BIBLIOGRAPHIC_ADDEDENTRYTITLE = '044 ',
- KSPROPERTY_BIBLIOGRAPHIC_SERIESSTATEMENT = '094 ',
- KSPROPERTY_BIBLIOGRAPHIC_GENERALNOTE = '005 ',
- KSPROPERTY_BIBLIOGRAPHIC_BIBLIOGRAPHYNOTE = '405 ',
- KSPROPERTY_BIBLIOGRAPHIC_CONTENTSNOTE = '505 ',
- KSPROPERTY_BIBLIOGRAPHIC_CREATIONCREDIT = '805 ',
- KSPROPERTY_BIBLIOGRAPHIC_CITATION = '015 ',
- KSPROPERTY_BIBLIOGRAPHIC_PARTICIPANT = '115 ',
- KSPROPERTY_BIBLIOGRAPHIC_SUMMARY = '025 ',
- KSPROPERTY_BIBLIOGRAPHIC_TARGETAUDIENCE = '125 ',
- KSPROPERTY_BIBLIOGRAPHIC_ADDEDFORMAVAILABLE = '035 ',
- KSPROPERTY_BIBLIOGRAPHIC_SYSTEMDETAILS = '835 ',
- KSPROPERTY_BIBLIOGRAPHIC_AWARDS = '685 ',
- KSPROPERTY_BIBLIOGRAPHIC_ADDEDENTRYPERSONALNAME = '006 ',
- KSPROPERTY_BIBLIOGRAPHIC_ADDEDENTRYTOPICALTERM = '056 ',
- KSPROPERTY_BIBLIOGRAPHIC_ADDEDENTRYGEOGRAPHIC = '156 ',
- KSPROPERTY_BIBLIOGRAPHIC_INDEXTERMGENRE = '556 ',
- KSPROPERTY_BIBLIOGRAPHIC_INDEXTERMCURRICULUM = '856 ',
- KSPROPERTY_BIBLIOGRAPHIC_ADDEDENTRYUNIFORMTITLE = '037 ',
- KSPROPERTY_BIBLIOGRAPHIC_ADDEDENTRYRELATED = '047 ',
- KSPROPERTY_BIBLIOGRAPHIC_SERIESSTATEMENTPERSONALNAME = '008 ',
- KSPROPERTY_BIBLIOGRAPHIC_SERIESSTATEMENTUNIFORMTITLE = '038 '
- } KSPROPERTY_BIBLIOGRAPHIC;
- #define STATIC_KSPROPSETID_TopologyNode
- 0x45FFAAA1L, 0x6E1B, 0x11D0, 0xBC, 0xF2, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00
- DEFINE_GUIDSTRUCT("45FFAAA1-6E1B-11D0-BCF2-444553540000", KSPROPSETID_TopologyNode);
- #define KSPROPSETID_TopologyNode DEFINE_GUIDNAMED(KSPROPSETID_TopologyNode)
- typedef enum {
- KSPROPERTY_TOPOLOGYNODE_ENABLE = 1,
- KSPROPERTY_TOPOLOGYNODE_RESET
- } KSPROPERTY_TOPOLOGYNODE;
- //===========================================================================
- #if defined(_NTDDK_)
- typedef NTSTATUS (CALLBACK *PRTAUDIOGETPOSITION)(IN PFILE_OBJECT PinFileObject,
- OUT PUCHAR *ppPlayPosition,
- OUT PLONG plOffset);
- #endif // defined(_NTDDK_)
- #define STATIC_KSPROPSETID_RtAudio
- 0xa855a48c, 0x2f78, 0x4729, 0x90, 0x51, 0x19, 0x68, 0x74, 0x6b, 0x9e, 0xef
- DEFINE_GUIDSTRUCT("A855A48C-2F78-4729-9051-1968746B9EEF", KSPROPSETID_RtAudio);
- #define KSPROPSETID_RtAudio DEFINE_GUIDNAMED(KSPROPSETID_RtAudio)
- typedef enum {
- KSPROPERTY_RTAUDIO_GETPOSITIONFUNCTION
- } KSPROPERTY_RTAUDIO;
- //===========================================================================
- #define STATIC_KSPROPSETID_DrmAudioStream
- 0x2f2c8ddd, 0x4198, 0x4fac, 0xba, 0x29, 0x61, 0xbb, 0x5, 0xb7, 0xde, 0x6
- DEFINE_GUIDSTRUCT("2F2C8DDD-4198-4fac-BA29-61BB05B7DE06", KSPROPSETID_DrmAudioStream);
- #define KSPROPSETID_DrmAudioStream DEFINE_GUIDNAMED(KSPROPSETID_DrmAudioStream)
- typedef enum {
- KSPROPERTY_DRMAUDIOSTREAM_CONTENTID
- } KSPROPERTY_DRMAUDIOSTREAM;
- //===========================================================================
- #define STATIC_KSPROPSETID_Audio
- 0x45FFAAA0L, 0x6E1B, 0x11D0, 0xBC, 0xF2, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00
- DEFINE_GUIDSTRUCT("45FFAAA0-6E1B-11D0-BCF2-444553540000", KSPROPSETID_Audio);
- #define KSPROPSETID_Audio DEFINE_GUIDNAMED(KSPROPSETID_Audio)
- typedef enum {
- KSPROPERTY_AUDIO_LATENCY = 1,
- KSPROPERTY_AUDIO_COPY_PROTECTION,
- KSPROPERTY_AUDIO_CHANNEL_CONFIG,
- KSPROPERTY_AUDIO_VOLUMELEVEL,
- KSPROPERTY_AUDIO_POSITION,
- KSPROPERTY_AUDIO_DYNAMIC_RANGE,
- KSPROPERTY_AUDIO_QUALITY,
- KSPROPERTY_AUDIO_SAMPLING_RATE,
- KSPROPERTY_AUDIO_DYNAMIC_SAMPLING_RATE,
- KSPROPERTY_AUDIO_MIX_LEVEL_TABLE,
- KSPROPERTY_AUDIO_MIX_LEVEL_CAPS,
- KSPROPERTY_AUDIO_MUX_SOURCE,
- KSPROPERTY_AUDIO_MUTE,
- KSPROPERTY_AUDIO_BASS,
- KSPROPERTY_AUDIO_MID,
- KSPROPERTY_AUDIO_TREBLE,
- KSPROPERTY_AUDIO_BASS_BOOST,
- KSPROPERTY_AUDIO_EQ_LEVEL,
- KSPROPERTY_AUDIO_NUM_EQ_BANDS,
- KSPROPERTY_AUDIO_EQ_BANDS,
- KSPROPERTY_AUDIO_AGC,
- KSPROPERTY_AUDIO_DELAY,
- KSPROPERTY_AUDIO_LOUDNESS,
- KSPROPERTY_AUDIO_WIDE_MODE,
- KSPROPERTY_AUDIO_WIDENESS,
- KSPROPERTY_AUDIO_REVERB_LEVEL,
- KSPROPERTY_AUDIO_CHORUS_LEVEL,
- KSPROPERTY_AUDIO_DEV_SPECIFIC,
- KSPROPERTY_AUDIO_DEMUX_DEST,
- KSPROPERTY_AUDIO_STEREO_ENHANCE,
- KSPROPERTY_AUDIO_MANUFACTURE_GUID,
- KSPROPERTY_AUDIO_PRODUCT_GUID,
- KSPROPERTY_AUDIO_CPU_RESOURCES,
- KSPROPERTY_AUDIO_STEREO_SPEAKER_GEOMETRY,
- KSPROPERTY_AUDIO_SURROUND_ENCODE,
- KSPROPERTY_AUDIO_3D_INTERFACE,
- KSPROPERTY_AUDIO_PEAKMETER,
- KSPROPERTY_AUDIO_ALGORITHM_INSTANCE,
- KSPROPERTY_AUDIO_FILTER_STATE,
- KSPROPERTY_AUDIO_PREFERRED_STATUS
- } KSPROPERTY_AUDIO;
- // Audio quality constants
- #define KSAUDIO_QUALITY_WORST 0x0
- #define KSAUDIO_QUALITY_PC 0x1
- #define KSAUDIO_QUALITY_BASIC 0x2
- #define KSAUDIO_QUALITY_ADVANCED 0x3
- // Audio CPU resource constants
- #define KSAUDIO_CPU_RESOURCES_NOT_HOST_CPU 0x00000000
- #define KSAUDIO_CPU_RESOURCES_HOST_CPU 0x7FFFFFFF
- typedef struct {
- BOOL fCopyrighted;
- BOOL fOriginal;
- } KSAUDIO_COPY_PROTECTION, *PKSAUDIO_COPY_PROTECTION;
- typedef struct {
- LONG ActiveSpeakerPositions;
- } KSAUDIO_CHANNEL_CONFIG, *PKSAUDIO_CHANNEL_CONFIG;
- // Speaker Positions:
- #define SPEAKER_FRONT_LEFT 0x1
- #define SPEAKER_FRONT_RIGHT 0x2
- #define SPEAKER_FRONT_CENTER 0x4
- #define SPEAKER_LOW_FREQUENCY 0x8
- #define SPEAKER_BACK_LEFT 0x10
- #define SPEAKER_BACK_RIGHT 0x20
- #define SPEAKER_FRONT_LEFT_OF_CENTER 0x40
- #define SPEAKER_FRONT_RIGHT_OF_CENTER 0x80
- #define SPEAKER_BACK_CENTER 0x100
- #define SPEAKER_SIDE_LEFT 0x200
- #define SPEAKER_SIDE_RIGHT 0x400
- #define SPEAKER_TOP_CENTER 0x800
- #define SPEAKER_TOP_FRONT_LEFT 0x1000
- #define SPEAKER_TOP_FRONT_CENTER 0x2000
- #define SPEAKER_TOP_FRONT_RIGHT 0x4000
- #define SPEAKER_TOP_BACK_LEFT 0x8000
- #define SPEAKER_TOP_BACK_CENTER 0x10000
- #define SPEAKER_TOP_BACK_RIGHT 0x20000
- // Bit mask locations reserved for future use
- #define SPEAKER_RESERVED 0x7FFC0000
- // Used to specify that any possible permutation of speaker configurations
- #define SPEAKER_ALL 0x80000000
- // DirectSound Speaker Config
- #define KSAUDIO_SPEAKER_DIRECTOUT 0
- #define KSAUDIO_SPEAKER_MONO (SPEAKER_FRONT_CENTER)
- #define KSAUDIO_SPEAKER_STEREO (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT)
- #define KSAUDIO_SPEAKER_QUAD (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT |
- SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT)
- #define KSAUDIO_SPEAKER_SURROUND (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT |
- SPEAKER_FRONT_CENTER | SPEAKER_BACK_CENTER)
- #define KSAUDIO_SPEAKER_5POINT1 (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT |
- SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY |
- SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT)
- #define KSAUDIO_SPEAKER_7POINT1 (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT |
- SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY |
- SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT |
- SPEAKER_FRONT_LEFT_OF_CENTER | SPEAKER_FRONT_RIGHT_OF_CENTER)
- // DVD Speaker Positions
- #define KSAUDIO_SPEAKER_GROUND_FRONT_LEFT SPEAKER_FRONT_LEFT
- #define KSAUDIO_SPEAKER_GROUND_FRONT_CENTER SPEAKER_FRONT_CENTER
- #define KSAUDIO_SPEAKER_GROUND_FRONT_RIGHT SPEAKER_FRONT_RIGHT
- #define KSAUDIO_SPEAKER_GROUND_REAR_LEFT SPEAKER_BACK_LEFT
- #define KSAUDIO_SPEAKER_GROUND_REAR_RIGHT SPEAKER_BACK_RIGHT
- #define KSAUDIO_SPEAKER_TOP_MIDDLE SPEAKER_TOP_CENTER
- #define KSAUDIO_SPEAKER_SUPER_WOOFER SPEAKER_LOW_FREQUENCY
- typedef struct {
- ULONG QuietCompression;
- ULONG LoudCompression;
- } KSAUDIO_DYNAMIC_RANGE, *PKSAUDIO_DYNAMIC_RANGE;
- typedef struct {
- BOOL Mute;
- LONG Level;
- } KSAUDIO_MIXLEVEL, *PKSAUDIO_MIXLEVEL;
- typedef struct {
- BOOL Mute;
- LONG Minimum;
- LONG Maximum;
- LONG Reset;
- } KSAUDIO_MIX_CAPS, *PKSAUDIO_MIX_CAPS;
- typedef struct {
- ULONG InputChannels;
- ULONG OutputChannels;
- KSAUDIO_MIX_CAPS Capabilities[1];
- } KSAUDIO_MIXCAP_TABLE, *PKSAUDIO_MIXCAP_TABLE;
- typedef enum {
- SE_TECH_NONE,
- SE_TECH_ANALOG_DEVICES_PHAT,
- SE_TECH_CREATIVE,
- SE_TECH_NATIONAL_SEMI,
- SE_TECH_YAMAHA_YMERSION,
- SE_TECH_BBE,
- SE_TECH_CRYSTAL_SEMI,
- SE_TECH_QSOUND_QXPANDER,
- SE_TECH_SPATIALIZER,
- SE_TECH_SRS,
- SE_TECH_PLATFORM_TECH,
- SE_TECH_AKM,
- SE_TECH_AUREAL,
- SE_TECH_AZTECH,
- SE_TECH_BINAURA,
- SE_TECH_ESS_TECH,
- SE_TECH_HARMAN_VMAX,
- SE_TECH_NVIDEA,
- SE_TECH_PHILIPS_INCREDIBLE,
- SE_TECH_TEXAS_INST,
- SE_TECH_VLSI_TECH
- } SE_TECHNIQUE;
- typedef struct {
- SE_TECHNIQUE Technique;
- ULONG Center;
- ULONG Depth;
- ULONG Reserved;
- } KSAUDIO_STEREO_ENHANCE, *PKSAUDIO_STEREO_ENHANCE;
- typedef enum { // preferred device index
- KSPROPERTY_SYSAUDIO_NORMAL_DEFAULT = 0,
- KSPROPERTY_SYSAUDIO_PLAYBACK_DEFAULT,
- KSPROPERTY_SYSAUDIO_RECORD_DEFAULT,
- KSPROPERTY_SYSAUDIO_MIDI_DEFAULT,
- KSPROPERTY_SYSAUDIO_MIXER_DEFAULT
- } KSPROPERTY_SYSAUDIO_DEFAULT_TYPE;
- typedef struct {
- BOOL Enable;
- KSPROPERTY_SYSAUDIO_DEFAULT_TYPE DeviceType;
- ULONG Flags;
- ULONG Reserved;
- } KSAUDIO_PREFERRED_STATUS, *PKSAUDIO_PREFERRED_STATUS;
- //===========================================================================
- // Topology Node Type GUIDs
- #define STATIC_KSNODETYPE_DAC
- 0x507AE360L, 0xC554, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1
- DEFINE_GUIDSTRUCT("507AE360-C554-11D0-8A2B-00A0C9255AC1", KSNODETYPE_DAC);
- #define KSNODETYPE_DAC DEFINE_GUIDNAMED(KSNODETYPE_DAC)
- #define STATIC_KSNODETYPE_ADC
- 0x4D837FE0L, 0xC555, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1
- DEFINE_GUIDSTRUCT("4D837FE0-C555-11D0-8A2B-00A0C9255AC1", KSNODETYPE_ADC);
- #define KSNODETYPE_ADC DEFINE_GUIDNAMED(KSNODETYPE_ADC)
- #define STATIC_KSNODETYPE_SRC
- 0x9DB7B9E0L, 0xC555, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1
- DEFINE_GUIDSTRUCT("9DB7B9E0-C555-11D0-8A2B-00A0C9255AC1", KSNODETYPE_SRC);
- #define KSNODETYPE_SRC DEFINE_GUIDNAMED(KSNODETYPE_SRC)
- #define STATIC_KSNODETYPE_SUPERMIX
- 0xE573ADC0L, 0xC555, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1
- DEFINE_GUIDSTRUCT("E573ADC0-C555-11D0-8A2B-00A0C9255AC1", KSNODETYPE_SUPERMIX);
- #define KSNODETYPE_SUPERMIX DEFINE_GUIDNAMED(KSNODETYPE_SUPERMIX)
- #define STATIC_KSNODETYPE_MUX
- 0x2CEAF780L, 0xC556, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1
- DEFINE_GUIDSTRUCT("2CEAF780-C556-11D0-8A2B-00A0C9255AC1", KSNODETYPE_MUX);
- #define KSNODETYPE_MUX DEFINE_GUIDNAMED(KSNODETYPE_MUX)
- #define STATIC_KSNODETYPE_DEMUX
- 0xC0EB67D4L, 0xE807, 0x11D0, 0x95, 0x8A, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("C0EB67D4-E807-11D0-958A-00C04FB925D3", KSNODETYPE_DEMUX);
- #define KSNODETYPE_DEMUX DEFINE_GUIDNAMED(KSNODETYPE_DEMUX)
- #define STATIC_KSNODETYPE_SUM
- 0xDA441A60L, 0xC556, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1
- DEFINE_GUIDSTRUCT("DA441A60-C556-11D0-8A2B-00A0C9255AC1", KSNODETYPE_SUM);
- #define KSNODETYPE_SUM DEFINE_GUIDNAMED(KSNODETYPE_SUM)
- #define STATIC_KSNODETYPE_MUTE
- 0x02B223C0L, 0xC557, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1
- DEFINE_GUIDSTRUCT("02B223C0-C557-11D0-8A2B-00A0C9255AC1", KSNODETYPE_MUTE);
- #define KSNODETYPE_MUTE DEFINE_GUIDNAMED(KSNODETYPE_MUTE)
- #define STATIC_KSNODETYPE_VOLUME
- 0x3A5ACC00L, 0xC557, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1
- DEFINE_GUIDSTRUCT("3A5ACC00-C557-11D0-8A2B-00A0C9255AC1", KSNODETYPE_VOLUME);
- #define KSNODETYPE_VOLUME DEFINE_GUIDNAMED(KSNODETYPE_VOLUME)
- #define STATIC_KSNODETYPE_TONE
- 0x7607E580L, 0xC557, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1
- DEFINE_GUIDSTRUCT("7607E580-C557-11D0-8A2B-00A0C9255AC1", KSNODETYPE_TONE);
- #define KSNODETYPE_TONE DEFINE_GUIDNAMED(KSNODETYPE_TONE)
- #define STATIC_KSNODETYPE_EQUALIZER
- 0x9D41B4A0L, 0xC557, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1
- DEFINE_GUIDSTRUCT("9D41B4A0-C557-11D0-8A2B-00A0C9255AC1", KSNODETYPE_EQUALIZER);
- #define KSNODETYPE_EQUALIZER DEFINE_GUIDNAMED(KSNODETYPE_EQUALIZER)
- #define STATIC_KSNODETYPE_AGC
- 0xE88C9BA0L, 0xC557, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1
- DEFINE_GUIDSTRUCT("E88C9BA0-C557-11D0-8A2B-00A0C9255AC1", KSNODETYPE_AGC);
- #define KSNODETYPE_AGC DEFINE_GUIDNAMED(KSNODETYPE_AGC)
- #define STATIC_KSNODETYPE_NOISE_SUPPRESS
- 0xe07f903f, 0x62fd, 0x4e60, 0x8c, 0xdd, 0xde, 0xa7, 0x23, 0x66, 0x65, 0xb5
- DEFINE_GUIDSTRUCT("E07F903F-62FD-4e60-8CDD-DEA7236665B5", KSNODETYPE_NOISE_SUPPRESS);
- #define KSNODETYPE_NOISE_SUPPRESS DEFINE_GUIDNAMED(KSNODETYPE_NOISE_SUPPRESS)
- #define STATIC_KSNODETYPE_DELAY
- 0x144981E0L, 0xC558, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1
- DEFINE_GUIDSTRUCT("144981E0-C558-11D0-8A2B-00A0C9255AC1", KSNODETYPE_DELAY);
- #define KSNODETYPE_DELAY DEFINE_GUIDNAMED(KSNODETYPE_DELAY)
- #define STATIC_KSNODETYPE_LOUDNESS
- 0x41887440L, 0xC558, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1
- DEFINE_GUIDSTRUCT("41887440-C558-11D0-8A2B-00A0C9255AC1", KSNODETYPE_LOUDNESS);
- #define KSNODETYPE_LOUDNESS DEFINE_GUIDNAMED(KSNODETYPE_LOUDNESS)
- #define STATIC_KSNODETYPE_PROLOGIC_DECODER
- 0x831C2C80L, 0xC558, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1
- DEFINE_GUIDSTRUCT("831C2C80-C558-11D0-8A2B-00A0C9255AC1", KSNODETYPE_PROLOGIC_DECODER);
- #define KSNODETYPE_PROLOGIC_DECODER DEFINE_GUIDNAMED(KSNODETYPE_PROLOGIC_DECODER)
- #define STATIC_KSNODETYPE_STEREO_WIDE
- 0xA9E69800L, 0xC558, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1
- DEFINE_GUIDSTRUCT("A9E69800-C558-11D0-8A2B-00A0C9255AC1", KSNODETYPE_STEREO_WIDE);
- #define KSNODETYPE_STEREO_WIDE DEFINE_GUIDNAMED(KSNODETYPE_STEREO_WIDE)
- #define STATIC_KSNODETYPE_STEREO_ENHANCE
- 0xAF6878ACL, 0xE83F, 0x11D0, 0x95, 0x8A, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("AF6878AC-E83F-11D0-958A-00C04FB925D3", KSNODETYPE_STEREO_ENHANCE);
- #define KSNODETYPE_STEREO_ENHANCE DEFINE_GUIDNAMED(KSNODETYPE_STEREO_ENHANCE)
- #define STATIC_KSNODETYPE_REVERB
- 0xEF0328E0L, 0xC558, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1
- DEFINE_GUIDSTRUCT("EF0328E0-C558-11D0-8A2B-00A0C9255AC1", KSNODETYPE_REVERB);
- #define KSNODETYPE_REVERB DEFINE_GUIDNAMED(KSNODETYPE_REVERB)
- #define STATIC_KSNODETYPE_CHORUS
- 0x20173F20L, 0xC559, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1
- DEFINE_GUIDSTRUCT("20173F20-C559-11D0-8A2B-00A0C9255AC1", KSNODETYPE_CHORUS);
- #define KSNODETYPE_CHORUS DEFINE_GUIDNAMED(KSNODETYPE_CHORUS)
- #define STATIC_KSNODETYPE_3D_EFFECTS
- 0x55515860L, 0xC559, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1
- DEFINE_GUIDSTRUCT("55515860-C559-11D0-8A2B-00A0C9255AC1", KSNODETYPE_3D_EFFECTS);
- #define KSNODETYPE_3D_EFFECTS DEFINE_GUIDNAMED(KSNODETYPE_3D_EFFECTS)
- #define STATIC_KSNODETYPE_ACOUSTIC_ECHO_CANCEL STATIC_KSCATEGORY_ACOUSTIC_ECHO_CANCEL
- #define KSNODETYPE_ACOUSTIC_ECHO_CANCEL KSCATEGORY_ACOUSTIC_ECHO_CANCEL
- #define STATIC_KSALGORITHMINSTANCE_SYSTEM_ACOUSTIC_ECHO_CANCEL
- 0x1c22c56dL, 0x9879, 0x4f5b, 0xa3, 0x89, 0x27, 0x99, 0x6d, 0xdc, 0x28, 0x10
- DEFINE_GUIDSTRUCT("1C22C56D-9879-4f5b-A389-27996DDC2810", KSALGORITHMINSTANCE_SYSTEM_ACOUSTIC_ECHO_CANCEL);
- #define KSALGORITHMINSTANCE_SYSTEM_ACOUSTIC_ECHO_CANCEL DEFINE_GUIDNAMED(KSALGORITHMINSTANCE_SYSTEM_ACOUSTIC_ECHO_CANCEL)
- #define STATIC_KSALGORITHMINSTANCE_SYSTEM_NOISE_SUPPRESS
- 0x5ab0882eL, 0x7274, 0x4516, 0x87, 0x7d, 0x4e, 0xee, 0x99, 0xba, 0x4f, 0xd0
- DEFINE_GUIDSTRUCT("5AB0882E-7274-4516-877D-4EEE99BA4FD0", KSALGORITHMINSTANCE_SYSTEM_NOISE_SUPPRESS);
- #define KSALGORITHMINSTANCE_SYSTEM_NOISE_SUPPRESS DEFINE_GUIDNAMED(KSALGORITHMINSTANCE_SYSTEM_NOISE_SUPPRESS)
- #define STATIC_KSALGORITHMINSTANCE_SYSTEM_AGC
- 0x950e55b9L, 0x877c, 0x4c67, 0xbe, 0x8, 0xe4, 0x7b, 0x56, 0x11, 0x13, 0xa
- DEFINE_GUIDSTRUCT("950E55B9-877C-4c67-BE08-E47B5611130A", KSALGORITHMINSTANCE_SYSTEM_AGC);
- #define KSALGORITHMINSTANCE_SYSTEM_AGC DEFINE_GUIDNAMED(KSALGORITHMINSTANCE_SYSTEM_AGC)
- #define STATIC_KSALGORITHMINSTANCE_SYSTEM_MICROPHONE_ARRAY_PROCESSOR
- 0xB6F5A0A0L, 0x9E61, 0x4F8C, 0x91, 0xE3, 0x76, 0xCF, 0xF, 0x3C, 0x47, 0x1F
- DEFINE_GUIDSTRUCT("B6F5A0A0-9E61-4f8c-91E3-76CF0F3C471F", KSALGORITHMINSTANCE_SYSTEM_MICROPHONE_ARRAY_PROCESSOR);
- #define KSALGORITHMINSTANCE_SYSTEM_MICROPHONE_ARRAY_PROCESSOR DEFINE_GUIDNAMED(KSALGORITHMINSTANCE_SYSTEM_MICROPHONE_ARRAY_PROCESSOR)
- #define STATIC_KSNODETYPE_MICROPHONE_ARRAY_PROCESSOR STATIC_KSCATEGORY_MICROPHONE_ARRAY_PROCESSOR
- #define KSNODETYPE_MICROPHONE_ARRAY_PROCESSOR KSCATEGORY_MICROPHONE_ARRAY_PROCESSOR
- #define STATIC_KSNODETYPE_DEV_SPECIFIC
- 0x941C7AC0L, 0xC559, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1
- DEFINE_GUIDSTRUCT("941C7AC0-C559-11D0-8A2B-00A0C9255AC1", KSNODETYPE_DEV_SPECIFIC);
- #define KSNODETYPE_DEV_SPECIFIC DEFINE_GUIDNAMED(KSNODETYPE_DEV_SPECIFIC)
- #define STATIC_KSNODETYPE_PROLOGIC_ENCODER
- 0x8074C5B2L, 0x3C66, 0x11D2, 0xB4, 0x5A, 0x30, 0x78, 0x30, 0x2C, 0x20, 0x30
- DEFINE_GUIDSTRUCT("8074C5B2-3C66-11D2-B45A-3078302C2030", KSNODETYPE_PROLOGIC_ENCODER);
- #define KSNODETYPE_PROLOGIC_ENCODER DEFINE_GUIDNAMED(KSNODETYPE_PROLOGIC_ENCODER)
- #define KSNODETYPE_SURROUND_ENCODER KSNODETYPE_PROLOGIC_ENCODER
- #define STATIC_KSNODETYPE_PEAKMETER
- 0xa085651eL, 0x5f0d, 0x4b36, 0xa8, 0x69, 0xd1, 0x95, 0xd6, 0xab, 0x4b, 0x9e
- DEFINE_GUIDSTRUCT("A085651E-5F0D-4b36-A869-D195D6AB4B9E", KSNODETYPE_PEAKMETER);
- #define KSNODETYPE_PEAKMETER DEFINE_GUIDNAMED(KSNODETYPE_PEAKMETER)
- //===========================================================================
- // Topology Node Name GUIDs for common audio nodes
- #define STATIC_KSAUDFNAME_BASS
- 0x185FEDE0L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEDE0-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_BASS);
- #define KSAUDFNAME_BASS DEFINE_GUIDNAMED(KSAUDFNAME_BASS)
- #define STATIC_KSAUDFNAME_TREBLE
- 0x185FEDE1L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEDE1-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_TREBLE);
- #define KSAUDFNAME_TREBLE DEFINE_GUIDNAMED(KSAUDFNAME_TREBLE)
- #define STATIC_KSAUDFNAME_3D_STEREO
- 0x185FEDE2L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEDE2-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_3D_STEREO);
- #define KSAUDFNAME_3D_STEREO DEFINE_GUIDNAMED(KSAUDFNAME_3D_STEREO)
- #define STATIC_KSAUDFNAME_MASTER_VOLUME
- 0x185FEDE3L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEDE3-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_MASTER_VOLUME);
- #define KSAUDFNAME_MASTER_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_MASTER_VOLUME)
- #define STATIC_KSAUDFNAME_MASTER_MUTE
- 0x185FEDE4L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEDE4-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_MASTER_MUTE);
- #define KSAUDFNAME_MASTER_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_MASTER_MUTE)
- #define STATIC_KSAUDFNAME_WAVE_VOLUME
- 0x185FEDE5L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEDE5-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_WAVE_VOLUME);
- #define KSAUDFNAME_WAVE_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_WAVE_VOLUME)
- #define STATIC_KSAUDFNAME_WAVE_MUTE
- 0x185FEDE6L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEDE6-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_WAVE_MUTE);
- #define KSAUDFNAME_WAVE_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_WAVE_MUTE)
- #define STATIC_KSAUDFNAME_MIDI_VOLUME
- 0x185FEDE7L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEDE7-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_MIDI_VOLUME);
- #define KSAUDFNAME_MIDI_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_MIDI_VOLUME)
- #define STATIC_KSAUDFNAME_MIDI_MUTE
- 0x185FEDE8L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEDE8-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_MIDI_MUTE);
- #define KSAUDFNAME_MIDI_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_MIDI_MUTE)
- #define STATIC_KSAUDFNAME_CD_VOLUME
- 0x185FEDE9L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEDE9-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_CD_VOLUME);
- #define KSAUDFNAME_CD_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_CD_VOLUME)
- #define STATIC_KSAUDFNAME_CD_MUTE
- 0x185FEDEAL, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEDEA-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_CD_MUTE);
- #define KSAUDFNAME_CD_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_CD_MUTE)
- #define STATIC_KSAUDFNAME_LINE_VOLUME
- 0x185FEDEBL, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEDEB-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_LINE_VOLUME);
- #define KSAUDFNAME_LINE_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_LINE_VOLUME)
- #define STATIC_KSAUDFNAME_LINE_MUTE
- 0x185FEDECL, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEDEC-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_LINE_MUTE);
- #define KSAUDFNAME_LINE_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_LINE_MUTE)
- #define STATIC_KSAUDFNAME_MIC_VOLUME
- 0x185FEDEDL, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEDED-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_MIC_VOLUME);
- #define KSAUDFNAME_MIC_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_MIC_VOLUME)
- #define STATIC_KSAUDFNAME_MIC_MUTE
- 0x185FEDEEL, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEDEE-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_MIC_MUTE);
- #define KSAUDFNAME_MIC_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_MIC_MUTE)
- #define STATIC_KSAUDFNAME_RECORDING_SOURCE
- 0x185FEDEFL, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEDEF-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_RECORDING_SOURCE);
- #define KSAUDFNAME_RECORDING_SOURCE DEFINE_GUIDNAMED(KSAUDFNAME_RECORDING_SOURCE)
- #define STATIC_KSAUDFNAME_PC_SPEAKER_VOLUME
- 0x185FEDF0L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEDF0-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_PC_SPEAKER_VOLUME);
- #define KSAUDFNAME_PC_SPEAKER_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_PC_SPEAKER_VOLUME)
- #define STATIC_KSAUDFNAME_PC_SPEAKER_MUTE
- 0x185FEDF1L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEDF1-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_PC_SPEAKER_MUTE);
- #define KSAUDFNAME_PC_SPEAKER_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_PC_SPEAKER_MUTE)
- #define STATIC_KSAUDFNAME_MIDI_IN_VOLUME
- 0x185FEDF2L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEDF2-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_MIDI_IN_VOLUME);
- #define KSAUDFNAME_MIDI_IN_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_MIDI_IN_VOLUME)
- #define STATIC_KSAUDFNAME_CD_IN_VOLUME
- 0x185FEDF3L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEDF3-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_CD_IN_VOLUME);
- #define KSAUDFNAME_CD_IN_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_CD_IN_VOLUME)
- #define STATIC_KSAUDFNAME_LINE_IN_VOLUME
- 0x185FEDF4L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEDF4-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_LINE_IN_VOLUME);
- #define KSAUDFNAME_LINE_IN_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_LINE_IN_VOLUME)
- #define STATIC_KSAUDFNAME_MIC_IN_VOLUME
- 0x185FEDF5L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEDF5-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_MIC_IN_VOLUME);
- #define KSAUDFNAME_MIC_IN_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_MIC_IN_VOLUME)
- #define STATIC_KSAUDFNAME_WAVE_IN_VOLUME
- 0x185FEDF6L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEDF6-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_WAVE_IN_VOLUME);
- #define KSAUDFNAME_WAVE_IN_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_WAVE_IN_VOLUME)
- #define STATIC_KSAUDFNAME_VOLUME_CONTROL
- 0x185FEDF7L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEDF7-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_VOLUME_CONTROL);
- #define KSAUDFNAME_VOLUME_CONTROL DEFINE_GUIDNAMED(KSAUDFNAME_VOLUME_CONTROL)
- #define STATIC_KSAUDFNAME_MIDI
- 0x185FEDF8L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEDF8-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_MIDI);
- #define KSAUDFNAME_MIDI DEFINE_GUIDNAMED(KSAUDFNAME_MIDI)
- #define STATIC_KSAUDFNAME_LINE_IN
- 0x185FEDF9L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEDF9-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_LINE_IN);
- #define KSAUDFNAME_LINE_IN DEFINE_GUIDNAMED(KSAUDFNAME_LINE_IN)
- #define STATIC_KSAUDFNAME_RECORDING_CONTROL
- 0x185FEDFAL, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEDFA-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_RECORDING_CONTROL);
- #define KSAUDFNAME_RECORDING_CONTROL DEFINE_GUIDNAMED(KSAUDFNAME_RECORDING_CONTROL)
- #define STATIC_KSAUDFNAME_CD_AUDIO
- 0x185FEDFBL, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEDFB-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_CD_AUDIO);
- #define KSAUDFNAME_CD_AUDIO DEFINE_GUIDNAMED(KSAUDFNAME_CD_AUDIO)
- #define STATIC_KSAUDFNAME_AUX_VOLUME
- 0x185FEDFCL, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEDFC-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_AUX_VOLUME);
- #define KSAUDFNAME_AUX_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_AUX_VOLUME)
- #define STATIC_KSAUDFNAME_AUX_MUTE
- 0x185FEDFDL, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEDFD-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_AUX_MUTE);
- #define KSAUDFNAME_AUX_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_AUX_MUTE)
- #define STATIC_KSAUDFNAME_AUX
- 0x185FEDFEL, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEDFE-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_AUX);
- #define KSAUDFNAME_AUX DEFINE_GUIDNAMED(KSAUDFNAME_AUX)
- #define STATIC_KSAUDFNAME_PC_SPEAKER
- 0x185FEDFFL, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEDFF-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_PC_SPEAKER);
- #define KSAUDFNAME_PC_SPEAKER DEFINE_GUIDNAMED(KSAUDFNAME_PC_SPEAKER)
- #define STATIC_KSAUDFNAME_WAVE_OUT_MIX
- 0x185FEE00L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("185FEE00-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_WAVE_OUT_MIX);
- #define KSAUDFNAME_WAVE_OUT_MIX DEFINE_GUIDNAMED(KSAUDFNAME_WAVE_OUT_MIX)
- #define STATIC_KSAUDFNAME_MONO_OUT
- 0xf9b41dc3L, 0x96e2, 0x11d2, 0xac, 0x4c, 0x0, 0xc0, 0x4f, 0x8e, 0xfb, 0x68
- DEFINE_GUIDSTRUCT("F9B41DC3-96E2-11d2-AC4C-00C04F8EFB68", KSAUDFNAME_MONO_OUT);
- #define KSAUDFNAME_MONO_OUT DEFINE_GUIDNAMED(KSAUDFNAME_MONO_OUT)
- #define STATIC_KSAUDFNAME_STEREO_MIX
- 0xdff077L, 0x96e3, 0x11d2, 0xac, 0x4c, 0x0, 0xc0, 0x4f, 0x8e, 0xfb, 0x68
- DEFINE_GUIDSTRUCT("00DFF077-96E3-11d2-AC4C-00C04F8EFB68", KSAUDFNAME_STEREO_MIX);
- #define KSAUDFNAME_STEREO_MIX DEFINE_GUIDNAMED(KSAUDFNAME_STEREO_MIX)
- #define STATIC_KSAUDFNAME_MONO_MIX
- 0xdff078L, 0x96e3, 0x11d2, 0xac, 0x4c, 0x0, 0xc0, 0x4f, 0x8e, 0xfb, 0x68
- DEFINE_GUIDSTRUCT("00DFF078-96E3-11d2-AC4C-00C04F8EFB68", KSAUDFNAME_MONO_MIX);
- #define KSAUDFNAME_MONO_MIX DEFINE_GUIDNAMED(KSAUDFNAME_MONO_MIX)
- #define STATIC_KSAUDFNAME_MONO_OUT_VOLUME
- 0x1ad247ebL, 0x96e3, 0x11d2, 0xac, 0x4c, 0x0, 0xc0, 0x4f, 0x8e, 0xfb, 0x68
- DEFINE_GUIDSTRUCT("1AD247EB-96E3-11d2-AC4C-00C04F8EFB68", KSAUDFNAME_MONO_OUT_VOLUME);
- #define KSAUDFNAME_MONO_OUT_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_MONO_OUT_VOLUME)
- #define STATIC_KSAUDFNAME_MONO_OUT_MUTE
- 0x1ad247ecL, 0x96e3, 0x11d2, 0xac, 0x4c, 0x0, 0xc0, 0x4f, 0x8e, 0xfb, 0x68
- DEFINE_GUIDSTRUCT("1AD247EC-96E3-11d2-AC4C-00C04F8EFB68", KSAUDFNAME_MONO_OUT_MUTE);
- #define KSAUDFNAME_MONO_OUT_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_MONO_OUT_MUTE)
- #define STATIC_KSAUDFNAME_STEREO_MIX_VOLUME
- 0x1ad247edL, 0x96e3, 0x11d2, 0xac, 0x4c, 0x0, 0xc0, 0x4f, 0x8e, 0xfb, 0x68
- DEFINE_GUIDSTRUCT("1AD247ED-96E3-11d2-AC4C-00C04F8EFB68", KSAUDFNAME_STEREO_MIX_VOLUME);
- #define KSAUDFNAME_STEREO_MIX_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_STEREO_MIX_VOLUME)
- #define STATIC_KSAUDFNAME_STEREO_MIX_MUTE
- 0x22b0eafdL, 0x96e3, 0x11d2, 0xac, 0x4c, 0x0, 0xc0, 0x4f, 0x8e, 0xfb, 0x68
- DEFINE_GUIDSTRUCT("22B0EAFD-96E3-11d2-AC4C-00C04F8EFB68", KSAUDFNAME_STEREO_MIX_MUTE);
- #define KSAUDFNAME_STEREO_MIX_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_STEREO_MIX_MUTE)
- #define STATIC_KSAUDFNAME_MONO_MIX_VOLUME
- 0x22b0eafeL, 0x96e3, 0x11d2, 0xac, 0x4c, 0x0, 0xc0, 0x4f, 0x8e, 0xfb, 0x68
- DEFINE_GUIDSTRUCT("22B0EAFE-96E3-11d2-AC4C-00C04F8EFB68", KSAUDFNAME_MONO_MIX_VOLUME);
- #define KSAUDFNAME_MONO_MIX_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_MONO_MIX_VOLUME)
- #define STATIC_KSAUDFNAME_MONO_MIX_MUTE
- 0x2bc31d69L, 0x96e3, 0x11d2, 0xac, 0x4c, 0x0, 0xc0, 0x4f, 0x8e, 0xfb, 0x68
- DEFINE_GUIDSTRUCT("2BC31D69-96E3-11d2-AC4C-00C04F8EFB68", KSAUDFNAME_MONO_MIX_MUTE);
- #define KSAUDFNAME_MONO_MIX_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_MONO_MIX_MUTE)
- #define STATIC_KSAUDFNAME_MICROPHONE_BOOST
- 0x2bc31d6aL, 0x96e3, 0x11d2, 0xac, 0x4c, 0x0, 0xc0, 0x4f, 0x8e, 0xfb, 0x68
- DEFINE_GUIDSTRUCT("2BC31D6A-96E3-11d2-AC4C-00C04F8EFB68", KSAUDFNAME_MICROPHONE_BOOST);
- #define KSAUDFNAME_MICROPHONE_BOOST DEFINE_GUIDNAMED(KSAUDFNAME_MICROPHONE_BOOST)
- #define STATIC_KSAUDFNAME_ALTERNATE_MICROPHONE
- 0x2bc31d6bL, 0x96e3, 0x11d2, 0xac, 0x4c, 0x0, 0xc0, 0x4f, 0x8e, 0xfb, 0x68
- DEFINE_GUIDSTRUCT("2BC31D6B-96E3-11d2-AC4C-00C04F8EFB68", KSAUDFNAME_ALTERNATE_MICROPHONE);
- #define KSAUDFNAME_ALTERNATE_MICROPHONE DEFINE_GUIDNAMED(KSAUDFNAME_ALTERNATE_MICROPHONE)
- #define STATIC_KSAUDFNAME_3D_DEPTH
- 0x63ff5747L, 0x991f, 0x11d2, 0xac, 0x4d, 0x0, 0xc0, 0x4f, 0x8e, 0xfb, 0x68
- DEFINE_GUIDSTRUCT("63FF5747-991F-11d2-AC4D-00C04F8EFB68", KSAUDFNAME_3D_DEPTH);
- #define KSAUDFNAME_3D_DEPTH DEFINE_GUIDNAMED(KSAUDFNAME_3D_DEPTH)
- #define STATIC_KSAUDFNAME_3D_CENTER
- 0x9f0670b4L, 0x991f, 0x11d2, 0xac, 0x4d, 0x0, 0xc0, 0x4f, 0x8e, 0xfb, 0x68
- DEFINE_GUIDSTRUCT("9F0670B4-991F-11d2-AC4D-00C04F8EFB68", KSAUDFNAME_3D_CENTER);
- #define KSAUDFNAME_3D_CENTER DEFINE_GUIDNAMED(KSAUDFNAME_3D_CENTER)
- #define STATIC_KSAUDFNAME_VIDEO_VOLUME
- 0x9b46e708L, 0x992a, 0x11d2, 0xac, 0x4d, 0x0, 0xc0, 0x4f, 0x8e, 0xfb, 0x68
- DEFINE_GUIDSTRUCT("9B46E708-992A-11d2-AC4D-00C04F8EFB68", KSAUDFNAME_VIDEO_VOLUME);
- #define KSAUDFNAME_VIDEO_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_VIDEO_VOLUME)
- #define STATIC_KSAUDFNAME_VIDEO_MUTE
- 0x9b46e709L, 0x992a, 0x11d2, 0xac, 0x4d, 0x0, 0xc0, 0x4f, 0x8e, 0xfb, 0x68
- DEFINE_GUIDSTRUCT("9B46E709-992A-11d2-AC4D-00C04F8EFB68", KSAUDFNAME_VIDEO_MUTE);
- #define KSAUDFNAME_VIDEO_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_VIDEO_MUTE)
- #define STATIC_KSAUDFNAME_VIDEO
- 0x915daec4L, 0xa434, 0x11d2, 0xac, 0x52, 0x0, 0xc0, 0x4f, 0x8e, 0xfb, 0x68
- DEFINE_GUIDSTRUCT("915DAEC4-A434-11d2-AC52-00C04F8EFB68", KSAUDFNAME_VIDEO);
- #define KSAUDFNAME_VIDEO DEFINE_GUIDNAMED(KSAUDFNAME_VIDEO)
- #define STATIC_KSAUDFNAME_PEAKMETER
- 0x57e24340L, 0xfc5b, 0x4612, 0xa5, 0x62, 0x72, 0xb1, 0x1a, 0x29, 0xdf, 0xae
- DEFINE_GUIDSTRUCT("57E24340-FC5B-4612-A562-72B11A29DFAE", KSAUDFNAME_PEAKMETER);
- #define KSAUDFNAME_PEAKMETER DEFINE_GUIDNAMED(KSAUDFNAME_PEAKMETER)
- // Internal topology node pin definitions
- #define KSNODEPIN_STANDARD_IN 1
- #define KSNODEPIN_STANDARD_OUT 0
- #define KSNODEPIN_SUM_MUX_IN 1 // can be >= 1
- #define KSNODEPIN_SUM_MUX_OUT 0
- #define KSNODEPIN_DEMUX_IN 0
- #define KSNODEPIN_DEMUX_OUT 1 // can be >= 1
- #define KSNODEPIN_AEC_RENDER_IN 1
- #define KSNODEPIN_AEC_RENDER_OUT 0
- #define KSNODEPIN_AEC_CAPTURE_IN 2
- #define KSNODEPIN_AEC_CAPTURE_OUT 3
- //===========================================================================
- //===========================================================================
- #define STATIC_KSMETHODSETID_Wavetable
- 0xDCEF31EBL, 0xD907, 0x11D0, 0x95, 0x83, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("DCEF31EB-D907-11D0-9583-00C04FB925D3", KSMETHODSETID_Wavetable);
- #define KSMETHODSETID_Wavetable DEFINE_GUIDNAMED(KSMETHODSETID_Wavetable)
- typedef enum {
- KSMETHOD_WAVETABLE_WAVE_ALLOC,
- KSMETHOD_WAVETABLE_WAVE_FREE,
- KSMETHOD_WAVETABLE_WAVE_FIND,
- KSMETHOD_WAVETABLE_WAVE_WRITE
- } KSMETHOD_WAVETABLE;
- typedef struct {
- KSIDENTIFIER Identifier; // wave identifier
- ULONG Size; // wave size
- BOOL Looped; // wave looped flag
- ULONG LoopPoint; // wave loop point
- BOOL InROM; // wave InROM flag
- KSDATAFORMAT Format; // wave format
- } KSWAVETABLE_WAVE_DESC, *PKSWAVETABLE_WAVE_DESC;
- //===========================================================================
- //===========================================================================
- /*
- Property sets and items
- */
- //===========================================================================
- //===========================================================================
- #define STATIC_KSPROPSETID_Acoustic_Echo_Cancel
- 0xd7a4af8bL, 0x3dc1, 0x4902, 0x91, 0xea, 0x8a, 0x15, 0xc9, 0x0e, 0x05, 0xb2
- DEFINE_GUIDSTRUCT("D7A4AF8B-3DC1-4902-91EA-8A15C90E05B2", KSPROPSETID_Acoustic_Echo_Cancel);
- #define KSPROPSETID_Acoustic_Echo_Cancel DEFINE_GUIDNAMED(KSPROPSETID_Acoustic_Echo_Cancel)
- typedef enum {
- KSPROPERTY_AEC_NOISE_FILL_ENABLE = 0,
- KSPROPERTY_AEC_STATUS,
- KSPROPERTY_AEC_MODE
- } KSPROPERTY_AEC;
- #define AEC_STATUS_FD_HISTORY_UNINITIALIZED 0x0
- #define AEC_STATUS_FD_HISTORY_CONTINUOUSLY_CONVERGED 0x1
- #define AEC_STATUS_FD_HISTORY_PREVIOUSLY_DIVERGED 0x2
- #define AEC_STATUS_FD_CURRENTLY_CONVERGED 0x8
- #define AEC_MODE_PASS_THROUGH 0x0
- #define AEC_MODE_HALF_DUPLEX 0x1
- #define AEC_MODE_FULL_DUPLEX 0x2
- //===========================================================================
- //===========================================================================
- #define STATIC_KSPROPSETID_Wave_Queued
- 0x16a15b10L, 0x16f0, 0x11d0, 0xa1, 0x95, 0x00, 0x20, 0xaf, 0xd1, 0x56, 0xe4
- DEFINE_GUIDSTRUCT("16a15b10-16f0-11d0-a195-0020afd156e4", KSPROPSETID_Wave_Queued);
- #define KSPROPSETID_Wave_Queued DEFINE_GUIDNAMED(KSPROPSETID_Wave_Queued)
- #define KSPROPERTY_WAVE_QUEUED_POSITION 0x00000001
- #define STATIC_KSMETHODSETID_Wave_Queued
- 0x7432c160L, 0x8827, 0x11cf, 0xa1, 0x02, 0x00, 0x20, 0xaf, 0xd1, 0x56, 0xe4
- DEFINE_GUIDSTRUCT("7432c160-8827-11cf-a102-0020afd156e4", KSMETHODSETID_Wave_Queued);
- #define KSMETHODSETID_Wave_Queued DEFINE_GUIDNAMED(KSMETHODSETID_Wave_Queued)
- #define KSMETHOD_WAVE_QUEUED_BREAKLOOP 0x00000001
- #define STATIC_KSPROPSETID_Wave
- 0x924e54b0L, 0x630f, 0x11cf, 0xad, 0xa7, 0x08, 0x00, 0x3e, 0x30, 0x49, 0x4a
- DEFINE_GUIDSTRUCT("924e54b0-630f-11cf-ada7-08003e30494a", KSPROPSETID_Wave);
- #define KSPROPSETID_Wave DEFINE_GUIDNAMED(KSPROPSETID_Wave)
- typedef enum {
- KSPROPERTY_WAVE_COMPATIBLE_CAPABILITIES,
- KSPROPERTY_WAVE_INPUT_CAPABILITIES,
- KSPROPERTY_WAVE_OUTPUT_CAPABILITIES,
- KSPROPERTY_WAVE_BUFFER,
- KSPROPERTY_WAVE_FREQUENCY,
- KSPROPERTY_WAVE_VOLUME,
- KSPROPERTY_WAVE_PAN
- } KSPROPERTY_WAVE;
- 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 LeftAttenuation;
- LONG RightAttenuation;
- } KSWAVE_VOLUME, *PKSWAVE_VOLUME;
- #define KSWAVE_BUFFER_ATTRIBUTEF_LOOPING 0x00000001
- #define KSWAVE_BUFFER_ATTRIBUTEF_STATIC 0x00000002
- typedef struct {
- ULONG Attributes;
- ULONG BufferSize;
- PVOID BufferAddress;
- } KSWAVE_BUFFER, *PKSWAVE_BUFFER;
- //===========================================================================
- //===========================================================================
- #define STATIC_KSMUSIC_TECHNOLOGY_PORT
- 0x86C92E60L, 0x62E8, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
- DEFINE_GUIDSTRUCT("86C92E60-62E8-11CF-A5D6-28DB04C10000", KSMUSIC_TECHNOLOGY_PORT);
- #define KSMUSIC_TECHNOLOGY_PORT DEFINE_GUIDNAMED(KSMUSIC_TECHNOLOGY_PORT)
- #define STATIC_KSMUSIC_TECHNOLOGY_SQSYNTH
- 0x0ECF4380L, 0x62E9, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
- DEFINE_GUIDSTRUCT("0ECF4380-62E9-11CF-A5D6-28DB04C10000", KSMUSIC_TECHNOLOGY_SQSYNTH);
- #define KSMUSIC_TECHNOLOGY_SQSYNTH DEFINE_GUIDNAMED(KSMUSIC_TECHNOLOGY_SQSYNTH)
- #define STATIC_KSMUSIC_TECHNOLOGY_FMSYNTH
- 0x252C5C80L, 0x62E9, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
- DEFINE_GUIDSTRUCT("252C5C80-62E9-11CF-A5D6-28DB04C10000", KSMUSIC_TECHNOLOGY_FMSYNTH);
- #define KSMUSIC_TECHNOLOGY_FMSYNTH DEFINE_GUIDNAMED(KSMUSIC_TECHNOLOGY_FMSYNTH)
- #define STATIC_KSMUSIC_TECHNOLOGY_WAVETABLE
- 0x394EC7C0L, 0x62E9, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
- DEFINE_GUIDSTRUCT("394EC7C0-62E9-11CF-A5D6-28DB04C10000", KSMUSIC_TECHNOLOGY_WAVETABLE);
- #define KSMUSIC_TECHNOLOGY_WAVETABLE DEFINE_GUIDNAMED(KSMUSIC_TECHNOLOGY_WAVETABLE)
- #define STATIC_KSMUSIC_TECHNOLOGY_SWSYNTH
- 0x37407736L, 0x3620, 0x11D1, 0x85, 0xD3, 0x00, 0x00, 0xF8, 0x75, 0x43, 0x80
- DEFINE_GUIDSTRUCT("37407736-3620-11D1-85D3-0000F8754380", KSMUSIC_TECHNOLOGY_SWSYNTH);
- #define KSMUSIC_TECHNOLOGY_SWSYNTH DEFINE_GUIDNAMED(KSMUSIC_TECHNOLOGY_SWSYNTH)
- #define STATIC_KSPROPSETID_WaveTable
- 0x8539E660L, 0x62E9, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
- DEFINE_GUIDSTRUCT("8539E660-62E9-11CF-A5D6-28DB04C10000", KSPROPSETID_WaveTable);
- #define KSPROPSETID_WaveTable DEFINE_GUIDNAMED(KSPROPSETID_WaveTable)
- typedef enum {
- KSPROPERTY_WAVETABLE_LOAD_SAMPLE,
- KSPROPERTY_WAVETABLE_UNLOAD_SAMPLE,
- KSPROPERTY_WAVETABLE_MEMORY,
- KSPROPERTY_WAVETABLE_VERSION
- } KSPROPERTY_WAVETABLE;
- typedef struct {
- KSDATARANGE DataRange;
- GUID Technology;
- ULONG Channels;
- ULONG Notes;
- ULONG ChannelMask;
- } KSDATARANGE_MUSIC, *PKSDATARANGE_MUSIC;
- //===========================================================================
- #define STATIC_KSEVENTSETID_Cyclic
- 0x142C1AC0L, 0x072A, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
- DEFINE_GUIDSTRUCT("142C1AC0-072A-11D0-A5D6-28DB04C10000", KSEVENTSETID_Cyclic);
- #define KSEVENTSETID_Cyclic DEFINE_GUIDNAMED(KSEVENTSETID_Cyclic)
- typedef enum {
- KSEVENT_CYCLIC_TIME_INTERVAL,
- } KSEVENT_CYCLIC_TIME;
- #define STATIC_KSPROPSETID_Cyclic
- 0x3FFEAEA0L, 0x2BEE, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
- DEFINE_GUIDSTRUCT("3FFEAEA0-2BEE-11CF-A5D6-28DB04C10000", KSPROPSETID_Cyclic);
- #define KSPROPSETID_Cyclic DEFINE_GUIDNAMED(KSPROPSETID_Cyclic)
- typedef enum {
- KSPROPERTY_CYCLIC_POSITION,
- } KSPROPERTY_CYCLIC;
- //===========================================================================
- #define STATIC_KSEVENTSETID_AudioControlChange
- 0xE85E9698L, 0xFA2F, 0x11D1, 0x95, 0xBD, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
- DEFINE_GUIDSTRUCT("E85E9698-FA2F-11D1-95BD-00C04FB925D3", KSEVENTSETID_AudioControlChange);
- #define KSEVENTSETID_AudioControlChange DEFINE_GUIDNAMED(KSEVENTSETID_AudioControlChange)
- typedef enum {
- KSEVENT_CONTROL_CHANGE,
- } KSEVENT_AUDIO_CONTROL_CHANGE;
- //===========================================================================
- #define STATIC_KSEVENTSETID_LoopedStreaming
- 0x4682B940L, 0xC6EF, 0x11D0, 0x96, 0xD8, 0x00, 0xAA, 0x00, 0x51, 0xE5, 0x1D
- DEFINE_GUIDSTRUCT("4682B940-C6EF-11D0-96D8-00AA0051E51D", KSEVENTSETID_LoopedStreaming);
- #define KSEVENTSETID_LoopedStreaming DEFINE_GUIDNAMED(KSEVENTSETID_LoopedStreaming)
- typedef enum {
- KSEVENT_LOOPEDSTREAMING_POSITION,
- } KSEVENT_LOOPEDSTREAMING;
- typedef struct {
- KSEVENTDATA KsEventData;
- #if defined(_NTDDK_)
- ULONGLONG Position;
- #else // !_NTDDK_
- DWORDLONG Position;
- #endif // !_NTDDK_
- } LOOPEDSTREAMING_POSITION_EVENT_DATA, *PLOOPEDSTREAMING_POSITION_EVENT_DATA ;
- //===========================================================================
- #define STATIC_KSEVENTSETID_Sysaudio
- 0x04800320L, 0x4491, 0x11D1, 0xA0, 0x50, 0x40, 0x57, 0x05, 0xC1, 0x00, 0x00
- DEFINE_GUIDSTRUCT("04800320-4491-11D1-A050-405705C10000", KSEVENTSETID_Sysaudio);
- #define KSEVENTSETID_Sysaudio DEFINE_GUIDNAMED(KSEVENTSETID_Sysaudio)
- typedef enum {
- KSEVENT_SYSAUDIO_ADDREMOVE_DEVICE,
- KSEVENT_SYSAUDIO_CHANGE_DEVICE
- } KSEVENT_SYSAUDIO;
- //===========================================================================
- // @@BEGIN_DDKSPLIT
- #define STATIC_KSPROPSETID_Sysaudio
- 0xCBE3FAA0L, 0xCC75, 0x11D0, 0xB4, 0x65, 0x00, 0x00, 0x1A, 0x18, 0x18, 0xE6
- DEFINE_GUIDSTRUCT("CBE3FAA0-CC75-11D0-B465-00001A1818E6", KSPROPSETID_Sysaudio);
- #define KSPROPSETID_Sysaudio DEFINE_GUIDNAMED(KSPROPSETID_Sysaudio)
- typedef enum {
- KSPROPERTY_SYSAUDIO_DEVICE_COUNT = 1,
- KSPROPERTY_SYSAUDIO_DEVICE_FRIENDLY_NAME,
- KSPROPERTY_SYSAUDIO_DEVICE_INSTANCE,
- KSPROPERTY_SYSAUDIO_DEVICE_INTERFACE_NAME,
- KSPROPERTY_SYSAUDIO_SELECT_GRAPH,
- KSPROPERTY_SYSAUDIO_CREATE_VIRTUAL_SOURCE,
- KSPROPERTY_SYSAUDIO_DEVICE_DEFAULT,
- KSPROPERTY_SYSAUDIO_ALWAYS_CREATE_VIRTUAL_SOURCE,
- KSPROPERTY_SYSAUDIO_ADDREMOVE_LOCK,
- KSPROPERTY_SYSAUDIO_ADDREMOVE_UNLOCK,
- KSPROPERTY_SYSAUDIO_RENDER_PIN_INSTANCES,
- KSPROPERTY_SYSAUDIO_RENDER_CONNECTION_INDEX,
- KSPROPERTY_SYSAUDIO_CREATE_VIRTUAL_SOURCE_ONLY,
- KSPROPERTY_SYSAUDIO_INSTANCE_INFO,
- KSPROPERTY_SYSAUDIO_PREFERRED_DEVICE,
- KSPROPERTY_SYSAUDIO_COMPONENT_ID,
- KSPROPERTY_SYSAUDIO_ADDREMOVE_GFX
- } KSPROPERTY_SYSAUDIO;
- typedef struct {
- KSPROPERTY Property;
- GUID PinCategory;
- GUID PinName;
- } SYSAUDIO_CREATE_VIRTUAL_SOURCE, *PSYSAUDIO_CREATE_VIRTUAL_SOURCE;
- typedef struct {
- BOOL Enable;
- HANDLE hGfx;
- ULONG ulOrder; // Order of the GFX
- ULONG ulType; // Type of the GFX
- ULONG ulFlags;
- ULONG ulDeviceNameOffset; // DeviceInterface on which this GFX needs to be attached
- ULONG ulFriendlyNameOffset; // Friendly name of the GFX
- } SYSAUDIO_GFX, *PSYSAUDIO_GFX;
- #define GFX_DEVICETYPE_RENDER 1
- #define GFX_DEVICETYPE_CAPTURE 2
- typedef struct {
- KSPROPERTY Property;
- ULONG PinId;
- ULONG NodeId;
- ULONG Flags;
- ULONG Reserved;
- } SYSAUDIO_SELECT_GRAPH, *PSYSAUDIO_SELECT_GRAPH;
- typedef struct {
- KSPROPERTY Property;
- ULONG Flags;
- ULONG DeviceNumber;
- } SYSAUDIO_INSTANCE_INFO, *PSYSAUDIO_INSTANCE_INFO;
- #define SYSAUDIO_FLAGS_DONT_COMBINE_PINS 0x00000001
- typedef struct {
- KSPROPERTY Property;
- ULONG Flags;
- ULONG Index; // KSPROPERTY_SYSAUDIO_DEFAULT_TYPE
- } SYSAUDIO_PREFERRED_DEVICE, *PSYSAUDIO_PREFERRED_DEVICE;
- #define SYSAUDIO_FLAGS_CLEAR_PREFERRED 0x00000002
- #define STATIC_KSPROPSETID_Sysaudio_Pin
- 0xA3A53220L, 0xC6E4, 0x11D0, 0xB4, 0x65, 0x00, 0x00, 0x1A, 0x18, 0x18, 0xE6
- DEFINE_GUIDSTRUCT("A3A53220-C6E4-11D0-B465-00001A1818E6", KSPROPSETID_Sysaudio_Pin);
- #define KSPROPSETID_Sysaudio_Pin DEFINE_GUIDNAMED(KSPROPSETID_Sysaudio_Pin)
- typedef enum {
- KSPROPERTY_SYSAUDIO_TOPOLOGY_CONNECTION_INDEX,
- KSPROPERTY_SYSAUDIO_ATTACH_VIRTUAL_SOURCE,
- KSPROPERTY_SYSAUDIO_PIN_VOLUME_NODE
- } KSPROPERTY_SYSAUDIO_PIN;
- typedef struct {
- KSPROPERTY Property;
- ULONG MixerPinId;
- ULONG Reserved;
- } SYSAUDIO_ATTACH_VIRTUAL_SOURCE, *PSYSAUDIO_ATTACH_VIRTUAL_SOURCE;
- // @@END_DDKSPLIT
- //===========================================================================
- typedef struct {
- KSPROPERTY Property;
- ULONG NodeId;
- ULONG Reserved;
- } KSNODEPROPERTY, *PKSNODEPROPERTY;
- typedef struct {
- KSNODEPROPERTY NodeProperty;
- LONG Channel; // value to get or set
- ULONG Reserved;
- } KSNODEPROPERTY_AUDIO_CHANNEL, *PKSNODEPROPERTY_AUDIO_CHANNEL;
- typedef struct {
- KSNODEPROPERTY NodeProperty;
- ULONG DevSpecificId;
- ULONG DeviceInfo;
- ULONG Length;
- } KSNODEPROPERTY_AUDIO_DEV_SPECIFIC, *PKSNODEPROPERTY_AUDIO_DEV_SPECIFIC;
- typedef struct {
- KSNODEPROPERTY NodeProperty;
- PVOID ListenerId;
- #ifndef _WIN64
- ULONG Reserved;
- #endif // _WIN64
- } KSNODEPROPERTY_AUDIO_3D_LISTENER, *PKSNODEPROPERTY_AUDIO_3D_LISTENER;
- typedef struct {
- KSNODEPROPERTY NodeProperty;
- PVOID AppContext;
- ULONG Length;
- #ifndef _WIN64
- ULONG Reserved;
- #endif // _WIN64
- } KSNODEPROPERTY_AUDIO_PROPERTY, *PKSNODEPROPERTY_AUDIO_PROPERTY;
- //===========================================================================
- // {79A9312E-59AE-43b0-A350-8B05284CAB24}
- #define STATIC_KSPROPSETID_AudioGfx
- 0x79a9312eL, 0x59ae, 0x43b0, 0xa3, 0x50, 0x8b, 0x5, 0x28, 0x4c, 0xab, 0x24
- DEFINE_GUIDSTRUCT("79A9312E-59AE-43b0-A350-8B05284CAB24", KSPROPSETID_AudioGfx);
- #define KSPROPSETID_AudioGfx DEFINE_GUIDNAMED(KSPROPSETID_AudioGfx)
- typedef enum {
- KSPROPERTY_AUDIOGFX_RENDERTARGETDEVICEID,
- KSPROPERTY_AUDIOGFX_CAPTURETARGETDEVICEID
- } KSPROPERTY_AUDIOGFX;
- //===========================================================================
- #define STATIC_KSPROPSETID_Linear
- 0x5A2FFE80L, 0x16B9, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
- DEFINE_GUIDSTRUCT("5A2FFE80-16B9-11D0-A5D6-28DB04C10000", KSPROPSETID_Linear);
- #define KSPROPSETID_Linear DEFINE_GUIDNAMED(KSPROPSETID_Linear)
- typedef enum {
- KSPROPERTY_LINEAR_POSITION,
- } KSPROPERTY_LINEAR;
- //===========================================================================
- //
- // Midi definitions
- //
- /*
- Formats
- */
- #define STATIC_KSDATAFORMAT_TYPE_MUSIC
- 0xE725D360L, 0x62CC, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
- DEFINE_GUIDSTRUCT("E725D360-62CC-11CF-A5D6-28DB04C10000", KSDATAFORMAT_TYPE_MUSIC);
- #define KSDATAFORMAT_TYPE_MUSIC DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_MUSIC)
- // 'mids' == MEDIATYPE_Midi
- #define STATIC_KSDATAFORMAT_TYPE_MIDI
- 0x7364696DL, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71
- DEFINE_GUIDSTRUCT("7364696D-0000-0010-8000-00aa00389b71", KSDATAFORMAT_TYPE_MIDI);
- #define KSDATAFORMAT_TYPE_MIDI DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_MIDI)
- #define STATIC_KSDATAFORMAT_SUBTYPE_MIDI
- 0x1D262760L, 0xE957, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
- DEFINE_GUIDSTRUCT("1D262760-E957-11CF-A5D6-28DB04C10000", KSDATAFORMAT_SUBTYPE_MIDI);
- #define KSDATAFORMAT_SUBTYPE_MIDI DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_MIDI)
- #define STATIC_KSDATAFORMAT_SUBTYPE_MIDI_BUS
- 0x2CA15FA0L, 0x6CFE, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
- DEFINE_GUIDSTRUCT("2CA15FA0-6CFE-11CF-A5D6-28DB04C10000", KSDATAFORMAT_SUBTYPE_MIDI_BUS);
- #define KSDATAFORMAT_SUBTYPE_MIDI_BUS DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_MIDI_BUS)
- #define STATIC_KSDATAFORMAT_SUBTYPE_RIFFMIDI
- 0x4995DAF0L, 0x9EE6, 0x11D0, 0xA4, 0x0E, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
- DEFINE_GUIDSTRUCT("4995DAF0-9EE6-11D0-A40E-00A0C9223196", KSDATAFORMAT_SUBTYPE_RIFFMIDI);
- #define KSDATAFORMAT_SUBTYPE_RIFFMIDI DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_RIFFMIDI)
- /*
- KSDATAFORMAT_SUBTYPE_DIRECTMUSIC
- see DMusicKS.h
- */
- // WARNING! This structure MUST be dword aligned
- // regardless of the number of data bytes.
- typedef struct {
- ULONG TimeDeltaMs; // Delta Milliseconds from the previous midiformat
- // in the packet. The first midiformat in the packet
- // is a delta from the PTS in the KSSTREAM_HEADER.
- ULONG ByteCount; // Number of bytes of data that follow this struct.
- } KSMUSICFORMAT, *PKSMUSICFORMAT;
- //
- // This entire set of MPEG Standard/Dialect Guids are obsolete. Do not use them.
- //
- //====================================================================================================
- //====================================================================================================
- // The following official MPEG Formats, Subtypes and Specifiers are listed as required or optional
- // These official MPEG GUIDs are the preferred method of supporting MPEG/AC-3 media types in new code.
- // Older MPEG GUIDs should also be supported for compatibilty, but these new modes are still required.
- //====================================================================================================
- //====================================================================================================
- /*
- This is a summary of what media types/specifiers will be required for all DVD+DSS+DVB+DTV MPEG decoders.
- These media types are what the decoder driver must accept, hardware support for all of these media types
- may or may not actually be provided by the decoder natively. These media types are intended to define
- the "officially" supported MPEG/AC-3 media types that all WHQL certified decoders must implement. This
- specifically includes driver and/or hardware support for all the required standards and dialects.
- All MPEG video decoders must support all of the MPEG video modes shown as [required] below.
- All MPEG audio decoders must support all of the MPEG audio modes shown as [required] below.
- All AC-3 audio decoders must support all of the AC-3 audio modes shown as [required] below.
- The line items shown as [optional] need not be implemented, but are possible formats that might be implemented.
- Note that the input/output pin formats are defined by 2 or 3 GUIDs: TYPE, SUBTYPE, and maybe SPECIFIER.
- The specifiers are included if the data format is a "dialect" that needs to be differentiated during decoding.
- The decoder MUST be prepared to deal with ALL requests for _required_ "Standard" formats OR _required_ "Dialects".
- STATIC_KSDATAFORMAT_TYPE_STANDARD_ELEMENTARY_STREAM [required]
- STATIC_KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_VIDEO [required]
- STATIC_KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_VIDEO [optional]
- STATIC_KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_AUDIO [required]
- STATIC_KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_AUDIO [optional]
- STATIC_KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_VIDEO [required]
- STATIC_KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_VIDEO [required]
- STATIC_KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_AUDIO [required]
- STATIC_KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_AUDIO [optional]
- STATIC_KSDATAFORMAT_SUBTYPE_STANDARD_AC3_AUDIO [required]
- STATIC_KSDATAFORMAT_SPECIFIER_DIALECT_AC3_AUDIO [optional]
- STATIC_KSDATAFORMAT_TYPE_STANDARD_PES_PACKET [required]
- STATIC_KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_VIDEO [optional]
- STATIC_KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_VIDEO [optional]
- STATIC_KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_AUDIO [optional]
- STATIC_KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_AUDIO [optional]
- STATIC_KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_VIDEO [required]
- STATIC_KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_VIDEO [required]
- STATIC_KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_AUDIO [required]
- STATIC_KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_AUDIO [required]
- STATIC_KSDATAFORMAT_SUBTYPE_STANDARD_AC3_AUDIO [required]
- STATIC_KSDATAFORMAT_SPECIFIER_DIALECT_AC3_AUDIO [optional]
- STATIC_KSDATAFORMAT_TYPE_STANDARD_PACK_HEADER [required]
- STATIC_KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_VIDEO [required]
- STATIC_KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_VIDEO [required]
- STATIC_KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_AUDIO [required]
- STATIC_KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_AUDIO [optional]
- STATIC_KSDATAFORMAT_SUBTYPE_STANDARD_AC3_AUDIO [required]
- STATIC_KSDATAFORMAT_SPECIFIER_DIALECT_AC3_AUDIO [optional]
- Note that the SPECIFIER GUIDs normally identify particular versions of MPEG such as DSS and DVD.
- This approach was taken to minimize the number of DSS/DVB/DVD/DTV etc. media SUBTYPES.
- These specifiers are currently required to disambiguate MPEG syntax _parsing_ by the decoder
- using alternate parsing routines or downloadable firmware or hardware decode settings.
- In the future these specifiers will be extended to cover new KS MPEG flavors such as DVB and DTV.
- Thus, the optional specifiers will be subject to clarification and/or definition as they are needed.
- Important note: Per the ITU MPEG specs, MPEG 2 media may contain pure MPEG 1 syntax and
- any "MPEG 2" PES packets may actually contain MPEG 1 payloads and MPEG 1 syntax. Some MPEG
- broadcasts can revert from MPEG2 to MPEG1 format data at their discretion, without warning.
- CAUTION: Decoders MUST attempt to process MPEG data AS SOON AS POSSIBLE after reception.
- In particular, elementary MPEG or MPEG PES packet streams should not be aggregated into DVD
- "pack headers" internally before submission to the codec hardware if AT ALL POSSIBLE. The
- reason is that mpeg data may need to be processed immediately but there may be no additional
- MPEG data forthcoming to fill up the PES packet OR DVD "pack" in a timely fashion. This is
- particularly true of MPEG dialects that utilize "repeat field signally" to reuse the last
- decoded MPEG video field.
- */
- /////////////////////////////////////////////////////////////////////////
- // The major data type GUIDs that define the data packet encapsulation //
- /////////////////////////////////////////////////////////////////////////
- // STATIC_KSDATAFORMAT_TYPE_STANDARD_ELEMENTARY_STREAM
- #define STATIC_KSDATAFORMAT_TYPE_STANDARD_ELEMENTARY_STREAM
- 0x36523b11L, 0x8ee5, 0x11d1, 0x8c, 0xa3, 0x00, 0x60, 0xb0, 0x57, 0x66, 0x4a
- DEFINE_GUIDSTRUCT("36523B11-8EE5-11d1-8CA3-0060B057664A", KSDATAFORMAT_TYPE_STANDARD_ELEMENTARY_STREAM );
- #define KSDATAFORMAT_TYPE_STANDARD_ELEMENTARY_STREAM DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_STANDARD_ELEMENTARY_STREAM)
- // STATIC_KSDATAFORMAT_TYPE_STANDARD_PES_PACKET
- #define STATIC_KSDATAFORMAT_TYPE_STANDARD_PES_PACKET
- 0x36523b12L, 0x8ee5, 0x11d1, 0x8c, 0xa3, 0x00, 0x60, 0xb0, 0x57, 0x66, 0x4a
- DEFINE_GUIDSTRUCT("36523B12-8EE5-11d1-8CA3-0060B057664A", KSDATAFORMAT_TYPE_STANDARD_PES_PACKET );
- #define KSDATAFORMAT_TYPE_STANDARD_PES_PACKET DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_STANDARD_PES_PACKET)
- // STATIC_KSDATAFORMAT_TYPE_STANDARD_PACK_HEADER
- #define STATIC_KSDATAFORMAT_TYPE_STANDARD_PACK_HEADER
- 0x36523b13L, 0x8ee5, 0x11d1, 0x8c, 0xa3, 0x00, 0x60, 0xb0, 0x57, 0x66, 0x4a
- DEFINE_GUIDSTRUCT("36523B13-8EE5-11d1-8CA3-0060B057664A", KSDATAFORMAT_TYPE_STANDARD_PACK_HEADER );
- #define KSDATAFORMAT_TYPE_STANDARD_PACK_HEADER DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_STANDARD_PACK_HEADER)
- ///////////////////////////////////////////////////////////////////////////////
- // The minor data subtype GUIDs that define the exact class of the data type.//
- ///////////////////////////////////////////////////////////////////////////////
- // STATIC_KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_VIDEO
- #define STATIC_KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_VIDEO
- 0x36523b21L, 0x8ee5, 0x11d1, 0x8c, 0xa3, 0x00, 0x60, 0xb0, 0x57, 0x66, 0x4a
- DEFINE_GUIDSTRUCT("36523B21-8EE5-11d1-8CA3-0060B057664A", KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_VIDEO );
- #define KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_VIDEO DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_VIDEO)
- // STATIC_KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_AUDIO
- #define STATIC_KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_AUDIO
- 0x36523b22L, 0x8ee5, 0x11d1, 0x8c, 0xa3, 0x00, 0x60, 0xb0, 0x57, 0x66, 0x4a
- DEFINE_GUIDSTRUCT("36523B22-8EE5-11d1-8CA3-0060B057664A", KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_AUDIO );
- #define KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_AUDIO)
- // STATIC_KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_VIDEO
- #define STATIC_KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_VIDEO
- 0x36523b23L, 0x8ee5, 0x11d1, 0x8c, 0xa3, 0x00, 0x60, 0xb0, 0x57, 0x66, 0x4a
- DEFINE_GUIDSTRUCT("36523B23-8EE5-11d1-8CA3-0060B057664A", KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_VIDEO );
- #define KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_VIDEO DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_VIDEO)
- // STATIC_KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_AUDIO
- #define STATIC_KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_AUDIO
- 0x36523b24L, 0x8ee5, 0x11d1, 0x8c, 0xa3, 0x00, 0x60, 0xb0, 0x57, 0x66, 0x4a
- DEFINE_GUIDSTRUCT("36523B24-8EE5-11d1-8CA3-0060B057664A", KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_AUDIO );
- #define KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_AUDIO)
- // STATIC_KSDATAFORMAT_SUBTYPE_STANDARD_AC3_AUDIO
- #define STATIC_KSDATAFORMAT_SUBTYPE_STANDARD_AC3_AUDIO
- 0x36523b25L, 0x8ee5, 0x11d1, 0x8c, 0xa3, 0x00, 0x60, 0xb0, 0x57, 0x66, 0x4a
- DEFINE_GUIDSTRUCT("36523B25-8EE5-11d1-8CA3-0060B057664A", KSDATAFORMAT_SUBTYPE_STANDARD_AC3_AUDIO );
- #define KSDATAFORMAT_SUBTYPE_STANDARD_AC3_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_STANDARD_AC3_AUDIO)
- ///////////////////////////////////////////////////////////////////////////////
- // The low-level specifier GUIDs that define the flavor of the data subtype. //
- // Some SUBTYPES, notably MPEG2_VIDEO, MPEG2_AUDIO have different dialects. //
- // These specifiers are intended to be accompanied by a specifier structure. //
- ///////////////////////////////////////////////////////////////////////////////
- // STATIC_KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_VIDEO
- #define STATIC_KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_VIDEO
- 0x36523b31L, 0x8ee5, 0x11d1, 0x8c, 0xa3, 0x00, 0x60, 0xb0, 0x57, 0x66, 0x4a
- DEFINE_GUIDSTRUCT("36523B31-8EE5-11d1-8CA3-0060B057664A", KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_VIDEO );
- #define KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_VIDEO DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_VIDEO)
- // STATIC_KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_AUDIO
- #define STATIC_KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_AUDIO
- 0x36523b32L, 0x8ee5, 0x11d1, 0x8c, 0xa3, 0x00, 0x60, 0xb0, 0x57, 0x66, 0x4a
- DEFINE_GUIDSTRUCT("36523B32-8EE5-11d1-8CA3-0060B057664A", KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_AUDIO );
- #define KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_AUDIO)
- // STATIC_KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_VIDEO Associated with KS_MPEGVIDEOINFO2 defined later
- #define STATIC_KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_VIDEO
- 0x36523b33L, 0x8ee5, 0x11d1, 0x8c, 0xa3, 0x00, 0x60, 0xb0, 0x57, 0x66, 0x4a
- DEFINE_GUIDSTRUCT("36523B33-8EE5-11d1-8CA3-0060B057664A", KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_VIDEO );
- #define KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_VIDEO DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_VIDEO)
- // STATIC_KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_AUDIO Associated with KS_MPEGAUDIOINFO defined later
- #define STATIC_KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_AUDIO
- 0x36523b34L, 0x8ee5, 0x11d1, 0x8c, 0xa3, 0x00, 0x60, 0xb0, 0x57, 0x66, 0x4a
- DEFINE_GUIDSTRUCT("36523B34-8EE5-11d1-8CA3-0060B057664A", KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_AUDIO );
- #define KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_AUDIO)
- // STATIC_KSDATAFORMAT_SPECIFIER_DIALECT_AC3_AUDIO
- #define STATIC_KSDATAFORMAT_SPECIFIER_DIALECT_AC3_AUDIO
- 0x36523b35L, 0x8ee5, 0x11d1, 0x8c, 0xa3, 0x00, 0x60, 0xb0, 0x57, 0x66, 0x4a
- DEFINE_GUIDSTRUCT("36523B35-8EE5-11d1-8CA3-0060B057664A", KSDATAFORMAT_SPECIFIER_DIALECT_AC3_AUDIO );
- #define KSDATAFORMAT_SPECIFIER_DIALECT_AC3_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_DIALECT_AC3_AUDIO)
- //====================================================================================================
- //====================================================================================================
- // *** COMPATIBILITY WARNING ***
- // The *following* older DSS, MPEG, DVD & AC-3 GUID definitions are retained for backward compability.
- // These MPEG GUIDs should also be supported for compatibilty, but the above newer modes are still required.
- //====================================================================================================
- //====================================================================================================
- //
- // DSS definitions
- //
- #define STATIC_KSDATAFORMAT_SUBTYPE_DSS_VIDEO
- 0xa0af4f81L, 0xe163, 0x11d0, 0xba, 0xd9, 0x00, 0x60, 0x97, 0x44, 0x11, 0x1a
- DEFINE_GUIDSTRUCT("a0af4f81-e163-11d0-bad9-00609744111a", KSDATAFORMAT_SUBTYPE_DSS_VIDEO);
- #define KSDATAFORMAT_SUBTYPE_DSS_VIDEO DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_DSS_VIDEO)
- #define STATIC_KSDATAFORMAT_SUBTYPE_DSS_AUDIO
- 0xa0af4f82L, 0xe163, 0x11d0, 0xba, 0xd9, 0x00, 0x60, 0x97, 0x44, 0x11, 0x1a
- DEFINE_GUIDSTRUCT("a0af4f82-e163-11d0-bad9-00609744111a", KSDATAFORMAT_SUBTYPE_DSS_AUDIO);
- #define KSDATAFORMAT_SUBTYPE_DSS_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_DSS_AUDIO)
- //
- // End of obsolete MPEG definitions.
- //
- //
- // mpeg 1 definitions
- //
- #define STATIC_KSDATAFORMAT_SUBTYPE_MPEG1Packet
- 0xe436eb80, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70
- DEFINE_GUIDSTRUCT("e436eb80-524f-11ce-9F53-0020af0ba770", KSDATAFORMAT_SUBTYPE_MPEG1Packet);
- #define KSDATAFORMAT_SUBTYPE_MPEG1Packet DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_MPEG1Packet)
- #define STATIC_KSDATAFORMAT_SUBTYPE_MPEG1Payload
- 0xe436eb81, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70
- DEFINE_GUIDSTRUCT("e436eb81-524f-11ce-9F53-0020af0ba770", KSDATAFORMAT_SUBTYPE_MPEG1Payload);
- #define KSDATAFORMAT_SUBTYPE_MPEG1Payload DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_MPEG1Payload)
- // MEDIASUBTYPE_MPEG1Video
- #define STATIC_KSDATAFORMAT_SUBTYPE_MPEG1Video
- 0xe436eb86, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70
- DEFINE_GUIDSTRUCT("e436eb86-524f-11ce-9f53-0020af0ba770", KSDATAFORMAT_SUBTYPE_MPEG1Video);
- #define KSDATAFORMAT_SUBTYPE_MPEG1Video DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_MPEG1Video)
- //FORMAT_MPEGVideo
- #define STATIC_KSDATAFORMAT_SPECIFIER_MPEG1_VIDEO
- 0x05589f82L, 0xc356, 0x11ce, 0xbf, 0x01, 0x00, 0xaa, 0x00, 0x55, 0x59, 0x5a
- DEFINE_GUIDSTRUCT("05589f82-c356-11ce-bf01-00aa0055595a", KSDATAFORMAT_SPECIFIER_MPEG1_VIDEO);
- #define KSDATAFORMAT_SPECIFIER_MPEG1_VIDEO DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_MPEG1_VIDEO)
- //
- // mpeg 2 definitions
- //
- #define STATIC_KSDATAFORMAT_TYPE_MPEG2_PES
- 0xe06d8020L, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea
- DEFINE_GUIDSTRUCT("e06d8020-db46-11cf-b4d1-00805f6cbbea", KSDATAFORMAT_TYPE_MPEG2_PES);
- #define KSDATAFORMAT_TYPE_MPEG2_PES DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_MPEG2_PES)
- #define STATIC_KSDATAFORMAT_TYPE_MPEG2_PROGRAM
- 0xe06d8022L, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea
- DEFINE_GUIDSTRUCT("e06d8022-db46-11cf-b4d1-00805f6cbbea", KSDATAFORMAT_TYPE_MPEG2_PROGRAM);
- #define KSDATAFORMAT_TYPE_MPEG2_PROGRAM DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_MPEG2_PROGRAM)
- #define STATIC_KSDATAFORMAT_TYPE_MPEG2_TRANSPORT
- 0xe06d8023L, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea
- DEFINE_GUIDSTRUCT("e06d8023-db46-11cf-b4d1-00805f6cbbea", KSDATAFORMAT_TYPE_MPEG2_TRANSPORT);
- #define KSDATAFORMAT_TYPE_MPEG2_TRANSPORT DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_MPEG2_TRANSPORT)
- #define STATIC_KSDATAFORMAT_SUBTYPE_MPEG2_VIDEO
- 0xe06d8026L, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea
- DEFINE_GUIDSTRUCT("e06d8026-db46-11cf-b4d1-00805f6cbbea", KSDATAFORMAT_SUBTYPE_MPEG2_VIDEO);
- #define KSDATAFORMAT_SUBTYPE_MPEG2_VIDEO DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_MPEG2_VIDEO)
- // use MPEGVIDEOINFO2 (defined below) with KSDATAFORMAT_SPECIFIER_MPEG2_VIDEO
- #define STATIC_KSDATAFORMAT_SPECIFIER_MPEG2_VIDEO
- 0xe06d80e3L, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea
- DEFINE_GUIDSTRUCT("e06d80e3-db46-11cf-b4d1-00805f6cbbea", KSDATAFORMAT_SPECIFIER_MPEG2_VIDEO);
- #define KSDATAFORMAT_SPECIFIER_MPEG2_VIDEO DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_MPEG2_VIDEO)
- //
- // Mpeg2 video properties
- //
- #define STATIC_KSPROPSETID_Mpeg2Vid
- 0xC8E11B60L, 0x0CC9, 0x11D0, 0xBD, 0x69, 0x00, 0x35, 0x05, 0xC1, 0x03, 0xA9
- DEFINE_GUIDSTRUCT("C8E11B60-0CC9-11D0-BD69-003505C103A9", KSPROPSETID_Mpeg2Vid);
- #define KSPROPSETID_Mpeg2Vid DEFINE_GUIDNAMED( KSPROPSETID_Mpeg2Vid )
- typedef enum {
- KSPROPERTY_MPEG2VID_MODES, // available output modes of decoder
- KSPROPERTY_MPEG2VID_CUR_MODE, // current mode of the decoder
- KSPROPERTY_MPEG2VID_4_3_RECT, // output coordinates for 4:3 source
- KSPROPERTY_MPEG2VID_16_9_RECT, // output coordinates for 16:9 source
- KSPROPERTY_MPEG2VID_16_9_PANSCAN, // pan and scan vectors
- } KSPROPERTY_MPEG2VID;
- //