00001
00006 #if !defined(_KS_)
00007 #warning ks.h must be included before ksmedia.h
00008 #include "ks.h"
00009 #endif
00010
00011 #if __GNUC__ >= 3
00012 #pragma GCC system_header
00013 #endif
00014
00015 #if !defined(_KSMEDIA_)
00016 #define _KSMEDIA_
00017
00018 typedef struct {
00019 KSPROPERTY Property;
00020 KSMULTIPLE_ITEM MultipleItem;
00021 } KSMULTIPLE_DATA_PROP,*PKSMULTIPLE_DATA_PROP;
00022
00023 #define STATIC_KSMEDIUMSETID_MidiBus \
00024 0x05908040L,0x3246,0x11D0,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00
00025 DEFINE_GUIDSTRUCT("05908040-3246-11D0-A5D6-28DB04C10000",KSMEDIUMSETID_MidiBus);
00026 #define KSMEDIUMSETID_MidiBus DEFINE_GUIDNAMED(KSMEDIUMSETID_MidiBus)
00027
00028 #define STATIC_KSMEDIUMSETID_VPBus \
00029 0xA18C15ECL,0xCE43,0x11D0,0xAB,0xE7,0x00,0xA0,0xC9,0x22,0x31,0x96
00030 DEFINE_GUIDSTRUCT("A18C15EC-CE43-11D0-ABE7-00A0C9223196",KSMEDIUMSETID_VPBus);
00031 #define KSMEDIUMSETID_VPBus DEFINE_GUIDNAMED(KSMEDIUMSETID_VPBus)
00032
00033 #define STATIC_KSINTERFACESETID_Media \
00034 0x3A13EB40L,0x30A7,0x11D0,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00
00035 DEFINE_GUIDSTRUCT("3A13EB40-30A7-11D0-A5D6-28DB04C10000",KSINTERFACESETID_Media);
00036 #define KSINTERFACESETID_Media DEFINE_GUIDNAMED(KSINTERFACESETID_Media)
00037
00038 typedef enum {
00039 KSINTERFACE_MEDIA_MUSIC,
00040 KSINTERFACE_MEDIA_WAVE_BUFFERED,
00041 KSINTERFACE_MEDIA_WAVE_QUEUED
00042 } KSINTERFACE_MEDIA;
00043
00044 #ifndef INIT_USBAUDIO_MID
00045 #define INIT_USBAUDIO_MID(guid,id) \
00046 { \
00047 (guid)->Data1 = 0x4e1cecd2 + (USHORT)(id); \
00048 (guid)->Data2 = 0x1679; \
00049 (guid)->Data3 = 0x463b; \
00050 (guid)->Data4[0] = 0xa7; \
00051 (guid)->Data4[1] = 0x2f; \
00052 (guid)->Data4[2] = 0xa5; \
00053 (guid)->Data4[3] = 0xbf; \
00054 (guid)->Data4[4] = 0x64; \
00055 (guid)->Data4[5] = 0xc8; \
00056 (guid)->Data4[6] = 0x6e; \
00057 (guid)->Data4[7] = 0xba; \
00058 }
00059 #define EXTRACT_USBAUDIO_MID(guid) \
00060 (USHORT)((guid)->Data1 - 0x4e1cecd2)
00061 #define DEFINE_USBAUDIO_MID_GUID(id) \
00062 0x4e1cecd2+(USHORT)(id),0x1679,0x463b,0xa7,0x2f,0xa5,0xbf,0x64,0xc8,0x6e,0xba
00063 #define IS_COMPATIBLE_USBAUDIO_MID(guid) \
00064 (((guid)->Data1 >= 0x4e1cecd2) && \
00065 ((guid)->Data1 < 0x4e1cecd2 + 0xffff) && \
00066 ((guid)->Data2 == 0x1679) && \
00067 ((guid)->Data3 == 0x463b) && \
00068 ((guid)->Data4[0] == 0xa7) && \
00069 ((guid)->Data4[1] == 0x2f) && \
00070 ((guid)->Data4[2] == 0xa5) && \
00071 ((guid)->Data4[3] == 0xbf) && \
00072 ((guid)->Data4[4] == 0x64) && \
00073 ((guid)->Data4[5] == 0xc8) && \
00074 ((guid)->Data4[6] == 0x6e) && \
00075 ((guid)->Data4[7] == 0xba) )
00076 #endif
00077
00078 #ifndef INIT_USBAUDIO_PID
00079 #define INIT_USBAUDIO_PID(guid,id) \
00080 { \
00081 (guid)->Data1 = 0xabcc5a5e + (USHORT)(id); \
00082 (guid)->Data2 = 0xc263; \
00083 (guid)->Data3 = 0x463b; \
00084 (guid)->Data4[0] = 0xa7; \
00085 (guid)->Data4[1] = 0x2f; \
00086 (guid)->Data4[2] = 0xa5; \
00087 (guid)->Data4[3] = 0xbf; \
00088 (guid)->Data4[4] = 0x64; \
00089 (guid)->Data4[5] = 0xc8; \
00090 (guid)->Data4[6] = 0x6e; \
00091 (guid)->Data4[7] = 0xba; \
00092 }
00093 #define EXTRACT_USBAUDIO_PID(guid) \
00094 (USHORT)((guid)->Data1 - 0xabcc5a5e)
00095 #define DEFINE_USBAUDIO_PID_GUID(id) \
00096 0xabcc5a5e+(USHORT)(id),0xc263,0x463b,0xa7,0x2f,0xa5,0xbf,0x64,0xc8,0x6e,0xba
00097 #define IS_COMPATIBLE_USBAUDIO_PID(guid) \
00098 (((guid)->Data1 >= 0xabcc5a5e) && \
00099 ((guid)->Data1 < 0xabcc5a5e + 0xffff) && \
00100 ((guid)->Data2 == 0xc263) && \
00101 ((guid)->Data3 == 0x463b) && \
00102 ((guid)->Data4[0] == 0xa7) && \
00103 ((guid)->Data4[1] == 0x2f) && \
00104 ((guid)->Data4[2] == 0xa5) && \
00105 ((guid)->Data4[3] == 0xbf) && \
00106 ((guid)->Data4[4] == 0x64) && \
00107 ((guid)->Data4[5] == 0xc8) && \
00108 ((guid)->Data4[6] == 0x6e) && \
00109 ((guid)->Data4[7] == 0xba) )
00110 #endif
00111
00112 #ifndef INIT_USBAUDIO_PRODUCT_NAME
00113 #define INIT_USBAUDIO_PRODUCT_NAME(guid,vid,pid,strIndex) \
00114 { \
00115 (guid)->Data1 = 0XFC575048 + (USHORT)(vid); \
00116 (guid)->Data2 = 0x2E08 + (USHORT)(pid); \
00117 (guid)->Data3 = 0x463B + (USHORT)(strIndex); \
00118 (guid)->Data4[0] = 0xA7; \
00119 (guid)->Data4[1] = 0x2F; \
00120 (guid)->Data4[2] = 0xA5; \
00121 (guid)->Data4[3] = 0xBF; \
00122 (guid)->Data4[4] = 0x64; \
00123 (guid)->Data4[5] = 0xC8; \
00124 (guid)->Data4[6] = 0x6E; \
00125 (guid)->Data4[7] = 0xBA; \
00126 }
00127 #define DEFINE_USBAUDIO_PRODUCT_NAME(vid,pid,strIndex) \
00128 0xFC575048+(USHORT)(vid),0x2E08+(USHORT)(pid),0x463B+(USHORT)(strIndex),0xA7,0x2F,0xA5,0xBF,0x64,0xC8,0x6E,0xBA
00129 #endif
00130
00131 #define STATIC_KSCOMPONENTID_USBAUDIO \
00132 0x8F1275F0,0x26E9,0x4264,0xBA,0x4D,0x39,0xFF,0xF0,0x1D,0x94,0xAA
00133 DEFINE_GUIDSTRUCT("8F1275F0-26E9-4264-BA4D-39FFF01D94AA",KSCOMPONENTID_USBAUDIO);
00134 #define KSCOMPONENTID_USBAUDIO DEFINE_GUIDNAMED(KSCOMPONENTID_USBAUDIO)
00135
00136 #define INIT_USB_TERMINAL(guid,id) \
00137 { \
00138 (guid)->Data1 = 0xDFF219E0 + (USHORT)(id); \
00139 (guid)->Data2 = 0xF70F; \
00140 (guid)->Data3 = 0x11D0; \
00141 (guid)->Data4[0] = 0xb9; \
00142 (guid)->Data4[1] = 0x17; \
00143 (guid)->Data4[2] = 0x00; \
00144 (guid)->Data4[3] = 0xa0; \
00145 (guid)->Data4[4] = 0xc9; \
00146 (guid)->Data4[5] = 0x22; \
00147 (guid)->Data4[6] = 0x31; \
00148 (guid)->Data4[7] = 0x96; \
00149 }
00150 #define EXTRACT_USB_TERMINAL(guid) \
00151 (USHORT)((guid)->Data1 - 0xDFF219E0)
00152 #define DEFINE_USB_TERMINAL_GUID(id) \
00153 0xDFF219E0+(USHORT)(id),0xF70F,0x11D0,0xB9,0x17,0x00,0xA0,0xC9,0x22,0x31,0x96
00154
00155 #define STATIC_KSNODETYPE_MICROPHONE \
00156 DEFINE_USB_TERMINAL_GUID(0x0201)
00157 DEFINE_GUIDSTRUCT("DFF21BE1-F70F-11D0-B917-00A0C9223196",KSNODETYPE_MICROPHONE);
00158 #define KSNODETYPE_MICROPHONE DEFINE_GUIDNAMED(KSNODETYPE_MICROPHONE)
00159
00160 #define STATIC_KSNODETYPE_DESKTOP_MICROPHONE \
00161 DEFINE_USB_TERMINAL_GUID(0x0202)
00162 DEFINE_GUIDSTRUCT("DFF21BE2-F70F-11D0-B917-00A0C9223196",KSNODETYPE_DESKTOP_MICROPHONE);
00163 #define KSNODETYPE_DESKTOP_MICROPHONE DEFINE_GUIDNAMED(KSNODETYPE_DESKTOP_MICROPHONE)
00164
00165 #define STATIC_KSNODETYPE_PERSONAL_MICROPHONE \
00166 DEFINE_USB_TERMINAL_GUID(0x0203)
00167 DEFINE_GUIDSTRUCT("DFF21BE3-F70F-11D0-B917-00A0C9223196",KSNODETYPE_PERSONAL_MICROPHONE);
00168 #define KSNODETYPE_PERSONAL_MICROPHONE DEFINE_GUIDNAMED(KSNODETYPE_PERSONAL_MICROPHONE)
00169
00170 #define STATIC_KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE \
00171 DEFINE_USB_TERMINAL_GUID(0x0204)
00172 DEFINE_GUIDSTRUCT("DFF21BE4-F70F-11D0-B917-00A0C9223196",KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE);
00173 #define KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE DEFINE_GUIDNAMED(KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE)
00174
00175 #define STATIC_KSNODETYPE_MICROPHONE_ARRAY \
00176 DEFINE_USB_TERMINAL_GUID(0x0205)
00177 DEFINE_GUIDSTRUCT("DFF21BE5-F70F-11D0-B917-00A0C9223196",KSNODETYPE_MICROPHONE_ARRAY);
00178 #define KSNODETYPE_MICROPHONE_ARRAY DEFINE_GUIDNAMED(KSNODETYPE_MICROPHONE_ARRAY)
00179
00180 #define STATIC_KSNODETYPE_PROCESSING_MICROPHONE_ARRAY \
00181 DEFINE_USB_TERMINAL_GUID(0x0206)
00182 DEFINE_GUIDSTRUCT("DFF21BE6-F70F-11D0-B917-00A0C9223196",KSNODETYPE_PROCESSING_MICROPHONE_ARRAY);
00183 #define KSNODETYPE_PROCESSING_MICROPHONE_ARRAY DEFINE_GUIDNAMED(KSNODETYPE_PROCESSING_MICROPHONE_ARRAY)
00184
00185 #define STATIC_KSCATEGORY_MICROPHONE_ARRAY_PROCESSOR \
00186 0x830a44f2,0xa32d,0x476b,0xbe,0x97,0x42,0x84,0x56,0x73,0xb3,0x5a
00187 DEFINE_GUIDSTRUCT("830a44f2-a32d-476b-be97-42845673b35a",KSCATEGORY_MICROPHONE_ARRAY_PROCESSOR);
00188 #define KSCATEGORY_MICROPHONE_ARRAY_PROCESSOR DEFINE_GUIDNAMED(KSCATEGORY_MICROPHONE_ARRAY_PROCESSOR)
00189
00190 #define STATIC_KSNODETYPE_SPEAKER \
00191 DEFINE_USB_TERMINAL_GUID(0x0301)
00192 DEFINE_GUIDSTRUCT("DFF21CE1-F70F-11D0-B917-00A0C9223196",KSNODETYPE_SPEAKER);
00193 #define KSNODETYPE_SPEAKER DEFINE_GUIDNAMED(KSNODETYPE_SPEAKER)
00194
00195 #define STATIC_KSNODETYPE_HEADPHONES \
00196 DEFINE_USB_TERMINAL_GUID(0x0302)
00197 DEFINE_GUIDSTRUCT("DFF21CE2-F70F-11D0-B917-00A0C9223196",KSNODETYPE_HEADPHONES);
00198 #define KSNODETYPE_HEADPHONES DEFINE_GUIDNAMED(KSNODETYPE_HEADPHONES)
00199
00200 #define STATIC_KSNODETYPE_HEAD_MOUNTED_DISPLAY_AUDIO \
00201 DEFINE_USB_TERMINAL_GUID(0x0303)
00202 DEFINE_GUIDSTRUCT("DFF21CE3-F70F-11D0-B917-00A0C9223196",KSNODETYPE_HEAD_MOUNTED_DISPLAY_AUDIO);
00203 #define KSNODETYPE_HEAD_MOUNTED_DISPLAY_AUDIO DEFINE_GUIDNAMED(KSNODETYPE_HEAD_MOUNTED_DISPLAY_AUDIO)
00204
00205 #define STATIC_KSNODETYPE_DESKTOP_SPEAKER \
00206 DEFINE_USB_TERMINAL_GUID(0x0304)
00207 DEFINE_GUIDSTRUCT("DFF21CE4-F70F-11D0-B917-00A0C9223196",KSNODETYPE_DESKTOP_SPEAKER);
00208 #define KSNODETYPE_DESKTOP_SPEAKER DEFINE_GUIDNAMED(KSNODETYPE_DESKTOP_SPEAKER)
00209
00210 #define STATIC_KSNODETYPE_ROOM_SPEAKER \
00211 DEFINE_USB_TERMINAL_GUID(0x0305)
00212 DEFINE_GUIDSTRUCT("DFF21CE5-F70F-11D0-B917-00A0C9223196",KSNODETYPE_ROOM_SPEAKER);
00213 #define KSNODETYPE_ROOM_SPEAKER DEFINE_GUIDNAMED(KSNODETYPE_ROOM_SPEAKER)
00214
00215 #define STATIC_KSNODETYPE_COMMUNICATION_SPEAKER \
00216 DEFINE_USB_TERMINAL_GUID(0x0306)
00217 DEFINE_GUIDSTRUCT("DFF21CE6-F70F-11D0-B917-00A0C9223196",KSNODETYPE_COMMUNICATION_SPEAKER);
00218 #define KSNODETYPE_COMMUNICATION_SPEAKER DEFINE_GUIDNAMED(KSNODETYPE_COMMUNICATION_SPEAKER)
00219
00220 #define STATIC_KSNODETYPE_LOW_FREQUENCY_EFFECTS_SPEAKER \
00221 DEFINE_USB_TERMINAL_GUID(0x0307)
00222 DEFINE_GUIDSTRUCT("DFF21CE7-F70F-11D0-B917-00A0C9223196",KSNODETYPE_LOW_FREQUENCY_EFFECTS_SPEAKER);
00223 #define KSNODETYPE_LOW_FREQUENCY_EFFECTS_SPEAKER DEFINE_GUIDNAMED(KSNODETYPE_LOW_FREQUENCY_EFFECTS_SPEAKER)
00224
00225 #define STATIC_KSNODETYPE_HANDSET \
00226 DEFINE_USB_TERMINAL_GUID(0x0401)
00227 DEFINE_GUIDSTRUCT("DFF21DE1-F70F-11D0-B917-00A0C9223196",KSNODETYPE_HANDSET);
00228 #define KSNODETYPE_HANDSET DEFINE_GUIDNAMED(KSNODETYPE_HANDSET)
00229
00230 #define STATIC_KSNODETYPE_HEADSET \
00231 DEFINE_USB_TERMINAL_GUID(0x0402)
00232 DEFINE_GUIDSTRUCT("DFF21DE2-F70F-11D0-B917-00A0C9223196",KSNODETYPE_HEADSET);
00233 #define KSNODETYPE_HEADSET DEFINE_GUIDNAMED(KSNODETYPE_HEADSET)
00234
00235 #define STATIC_KSNODETYPE_SPEAKERPHONE_NO_ECHO_REDUCTION \
00236 DEFINE_USB_TERMINAL_GUID(0x0403)
00237 DEFINE_GUIDSTRUCT("DFF21DE3-F70F-11D0-B917-00A0C9223196",KSNODETYPE_SPEAKERPHONE_NO_ECHO_REDUCTION);
00238 #define KSNODETYPE_SPEAKERPHONE_NO_ECHO_REDUCTION DEFINE_GUIDNAMED(KSNODETYPE_SPEAKERPHONE_NO_ECHO_REDUCTION)
00239
00240 #define STATIC_KSNODETYPE_ECHO_SUPPRESSING_SPEAKERPHONE \
00241 DEFINE_USB_TERMINAL_GUID(0x0404)
00242 DEFINE_GUIDSTRUCT("DFF21DE4-F70F-11D0-B917-00A0C9223196",KSNODETYPE_ECHO_SUPPRESSING_SPEAKERPHONE);
00243 #define KSNODETYPE_ECHO_SUPPRESSING_SPEAKERPHONE DEFINE_GUIDNAMED(KSNODETYPE_ECHO_SUPPRESSING_SPEAKERPHONE)
00244
00245 #define STATIC_KSNODETYPE_ECHO_CANCELING_SPEAKERPHONE \
00246 DEFINE_USB_TERMINAL_GUID(0x0405)
00247 DEFINE_GUIDSTRUCT("DFF21DE5-F70F-11D0-B917-00A0C9223196",KSNODETYPE_ECHO_CANCELING_SPEAKERPHONE);
00248 #define KSNODETYPE_ECHO_CANCELING_SPEAKERPHONE DEFINE_GUIDNAMED(KSNODETYPE_ECHO_CANCELING_SPEAKERPHONE)
00249
00250 #define STATIC_KSNODETYPE_PHONE_LINE \
00251 DEFINE_USB_TERMINAL_GUID(0x0501)
00252 DEFINE_GUIDSTRUCT("DFF21EE1-F70F-11D0-B917-00A0C9223196",KSNODETYPE_PHONE_LINE);
00253 #define KSNODETYPE_PHONE_LINE DEFINE_GUIDNAMED(KSNODETYPE_PHONE_LINE)
00254
00255 #define STATIC_KSNODETYPE_TELEPHONE \
00256 DEFINE_USB_TERMINAL_GUID(0x0502)
00257 DEFINE_GUIDSTRUCT("DFF21EE2-F70F-11D0-B917-00A0C9223196",KSNODETYPE_TELEPHONE);
00258 #define KSNODETYPE_TELEPHONE DEFINE_GUIDNAMED(KSNODETYPE_TELEPHONE)
00259
00260 #define STATIC_KSNODETYPE_DOWN_LINE_PHONE \
00261 DEFINE_USB_TERMINAL_GUID(0x0503)
00262 DEFINE_GUIDSTRUCT("DFF21EE3-F70F-11D0-B917-00A0C9223196",KSNODETYPE_DOWN_LINE_PHONE);
00263 #define KSNODETYPE_DOWN_LINE_PHONE DEFINE_GUIDNAMED(KSNODETYPE_DOWN_LINE_PHONE)
00264
00265 #define STATIC_KSNODETYPE_ANALOG_CONNECTOR \
00266 DEFINE_USB_TERMINAL_GUID(0x601)
00267 DEFINE_GUIDSTRUCT("DFF21FE1-F70F-11D0-B917-00A0C9223196",KSNODETYPE_ANALOG_CONNECTOR);
00268 #define KSNODETYPE_ANALOG_CONNECTOR DEFINE_GUIDNAMED(KSNODETYPE_ANALOG_CONNECTOR)
00269
00270 #define STATIC_KSNODETYPE_DIGITAL_AUDIO_INTERFACE \
00271 DEFINE_USB_TERMINAL_GUID(0x0602)
00272 DEFINE_GUIDSTRUCT("DFF21FE2-F70F-11D0-B917-00A0C9223196",KSNODETYPE_DIGITAL_AUDIO_INTERFACE);
00273 #define KSNODETYPE_DIGITAL_AUDIO_INTERFACE DEFINE_GUIDNAMED(KSNODETYPE_DIGITAL_AUDIO_INTERFACE)
00274
00275 #define STATIC_KSNODETYPE_LINE_CONNECTOR \
00276 DEFINE_USB_TERMINAL_GUID(0x0603)
00277 DEFINE_GUIDSTRUCT("DFF21FE3-F70F-11D0-B917-00A0C9223196",KSNODETYPE_LINE_CONNECTOR);
00278 #define KSNODETYPE_LINE_CONNECTOR DEFINE_GUIDNAMED(KSNODETYPE_LINE_CONNECTOR)
00279
00280 #define STATIC_KSNODETYPE_LEGACY_AUDIO_CONNECTOR \
00281 DEFINE_USB_TERMINAL_GUID(0x0604)
00282 DEFINE_GUIDSTRUCT("DFF21FE4-F70F-11D0-B917-00A0C9223196",KSNODETYPE_LEGACY_AUDIO_CONNECTOR);
00283 #define KSNODETYPE_LEGACY_AUDIO_CONNECTOR DEFINE_GUIDNAMED(KSNODETYPE_LEGACY_AUDIO_CONNECTOR)
00284
00285 #define STATIC_KSNODETYPE_SPDIF_INTERFACE \
00286 DEFINE_USB_TERMINAL_GUID(0x0605)
00287 DEFINE_GUIDSTRUCT("DFF21FE5-F70F-11D0-B917-00A0C9223196",KSNODETYPE_SPDIF_INTERFACE);
00288 #define KSNODETYPE_SPDIF_INTERFACE DEFINE_GUIDNAMED(KSNODETYPE_SPDIF_INTERFACE)
00289
00290 #define STATIC_KSNODETYPE_1394_DA_STREAM \
00291 DEFINE_USB_TERMINAL_GUID(0x0606)
00292 DEFINE_GUIDSTRUCT("DFF21FE6-F70F-11D0-B917-00A0C9223196",KSNODETYPE_1394_DA_STREAM);
00293 #define KSNODETYPE_1394_DA_STREAM DEFINE_GUIDNAMED(KSNODETYPE_1394_DA_STREAM)
00294
00295 #define STATIC_KSNODETYPE_1394_DV_STREAM_SOUNDTRACK \
00296 DEFINE_USB_TERMINAL_GUID(0x0607)
00297 DEFINE_GUIDSTRUCT("DFF21FE7-F70F-11D0-B917-00A0C9223196",KSNODETYPE_1394_DV_STREAM_SOUNDTRACK);
00298 #define KSNODETYPE_1394_DV_STREAM_SOUNDTRACK DEFINE_GUIDNAMED(KSNODETYPE_1394_DV_STREAM_SOUNDTRACK)
00299
00300 #define STATIC_KSNODETYPE_LEVEL_CALIBRATION_NOISE_SOURCE \
00301 DEFINE_USB_TERMINAL_GUID(0x0701)
00302 DEFINE_GUIDSTRUCT("DFF220E1-F70F-11D0-B917-00A0C9223196",KSNODETYPE_LEVEL_CALIBRATION_NOISE_SOURCE);
00303 #define KSNODETYPE_LEVEL_CALIBRATION_NOISE_SOURCE DEFINE_GUIDNAMED(KSNODETYPE_LEVEL_CALIBRATION_NOISE_SOURCE)
00304
00305 #define STATIC_KSNODETYPE_EQUALIZATION_NOISE \
00306 DEFINE_USB_TERMINAL_GUID(0x0702)
00307 DEFINE_GUIDSTRUCT("DFF220E2-F70F-11D0-B917-00A0C9223196",KSNODETYPE_EQUALIZATION_NOISE);
00308 #define KSNODETYPE_EQUALIZATION_NOISE DEFINE_GUIDNAMED(KSNODETYPE_EQUALIZATION_NOISE)
00309
00310 #define STATIC_KSNODETYPE_CD_PLAYER \
00311 DEFINE_USB_TERMINAL_GUID(0x0703)
00312 DEFINE_GUIDSTRUCT("DFF220E3-F70F-11D0-B917-00A0C9223196",KSNODETYPE_CD_PLAYER);
00313 #define KSNODETYPE_CD_PLAYER DEFINE_GUIDNAMED(KSNODETYPE_CD_PLAYER)
00314
00315 #define STATIC_KSNODETYPE_DAT_IO_DIGITAL_AUDIO_TAPE \
00316 DEFINE_USB_TERMINAL_GUID(0x0704)
00317 DEFINE_GUIDSTRUCT("DFF220E4-F70F-11D0-B917-00A0C9223196",KSNODETYPE_DAT_IO_DIGITAL_AUDIO_TAPE);
00318 #define KSNODETYPE_DAT_IO_DIGITAL_AUDIO_TAPE DEFINE_GUIDNAMED(KSNODETYPE_DAT_IO_DIGITAL_AUDIO_TAPE)
00319
00320 #define STATIC_KSNODETYPE_DCC_IO_DIGITAL_COMPACT_CASSETTE \
00321 DEFINE_USB_TERMINAL_GUID(0x0705)
00322 DEFINE_GUIDSTRUCT("DFF220E5-F70F-11D0-B917-00A0C9223196",KSNODETYPE_DCC_IO_DIGITAL_COMPACT_CASSETTE);
00323 #define KSNODETYPE_DCC_IO_DIGITAL_COMPACT_CASSETTE DEFINE_GUIDNAMED(KSNODETYPE_DCC_IO_DIGITAL_COMPACT_CASSETTE)
00324
00325 #define STATIC_KSNODETYPE_MINIDISK \
00326 DEFINE_USB_TERMINAL_GUID(0x0706)
00327 DEFINE_GUIDSTRUCT("DFF220E6-F70F-11D0-B917-00A0C9223196",KSNODETYPE_MINIDISK);
00328 #define KSNODETYPE_MINIDISK DEFINE_GUIDNAMED(KSNODETYPE_MINIDISK)
00329
00330 #define STATIC_KSNODETYPE_ANALOG_TAPE \
00331 DEFINE_USB_TERMINAL_GUID(0x0707)
00332 DEFINE_GUIDSTRUCT("DFF220E7-F70F-11D0-B917-00A0C9223196",KSNODETYPE_ANALOG_TAPE);
00333 #define KSNODETYPE_ANALOG_TAPE DEFINE_GUIDNAMED(KSNODETYPE_ANALOG_TAPE)
00334
00335 #define STATIC_KSNODETYPE_PHONOGRAPH \
00336 DEFINE_USB_TERMINAL_GUID(0x0708)
00337 DEFINE_GUIDSTRUCT("DFF220E8-F70F-11D0-B917-00A0C9223196",KSNODETYPE_PHONOGRAPH);
00338 #define KSNODETYPE_PHONOGRAPH DEFINE_GUIDNAMED(KSNODETYPE_PHONOGRAPH)
00339
00340 #define STATIC_KSNODETYPE_VCR_AUDIO \
00341 DEFINE_USB_TERMINAL_GUID(0x0708)
00342 DEFINE_GUIDSTRUCT("DFF220E9-F70F-11D0-B917-00A0C9223196",KSNODETYPE_VCR_AUDIO);
00343 #define KSNODETYPE_VCR_AUDIO DEFINE_GUIDNAMED(KSNODETYPE_VCR_AUDIO)
00344
00345 #define STATIC_KSNODETYPE_VIDEO_DISC_AUDIO \
00346 DEFINE_USB_TERMINAL_GUID(0x070A)
00347 DEFINE_GUIDSTRUCT("DFF220EA-F70F-11D0-B917-00A0C9223196",KSNODETYPE_VIDEO_DISC_AUDIO);
00348 #define KSNODETYPE_VIDEO_DISC_AUDIO DEFINE_GUIDNAMED(KSNODETYPE_VIDEO_DISC_AUDIO)
00349
00350 #define STATIC_KSNODETYPE_DVD_AUDIO \
00351 DEFINE_USB_TERMINAL_GUID(0x070B)
00352 DEFINE_GUIDSTRUCT("DFF220EB-F70F-11D0-B917-00A0C9223196",KSNODETYPE_DVD_AUDIO);
00353 #define KSNODETYPE_DVD_AUDIO DEFINE_GUIDNAMED(KSNODETYPE_DVD_AUDIO)
00354
00355 #define STATIC_KSNODETYPE_TV_TUNER_AUDIO \
00356 DEFINE_USB_TERMINAL_GUID(0x070C)
00357 DEFINE_GUIDSTRUCT("DFF220EC-F70F-11D0-B917-00A0C9223196",KSNODETYPE_TV_TUNER_AUDIO);
00358 #define KSNODETYPE_TV_TUNER_AUDIO DEFINE_GUIDNAMED(KSNODETYPE_TV_TUNER_AUDIO)
00359
00360 #define STATIC_KSNODETYPE_SATELLITE_RECEIVER_AUDIO \
00361 DEFINE_USB_TERMINAL_GUID(0x070D)
00362 DEFINE_GUIDSTRUCT("DFF220ED-F70F-11D0-B917-00A0C9223196",KSNODETYPE_SATELLITE_RECEIVER_AUDIO);
00363 #define KSNODETYPE_SATELLITE_RECEIVER_AUDIO DEFINE_GUIDNAMED(KSNODETYPE_SATELLITE_RECEIVER_AUDIO)
00364
00365 #define STATIC_KSNODETYPE_CABLE_TUNER_AUDIO \
00366 DEFINE_USB_TERMINAL_GUID(0x070E)
00367 DEFINE_GUIDSTRUCT("DFF220EE-F70F-11D0-B917-00A0C9223196",KSNODETYPE_CABLE_TUNER_AUDIO);
00368 #define KSNODETYPE_CABLE_TUNER_AUDIO DEFINE_GUIDNAMED(KSNODETYPE_CABLE_TUNER_AUDIO)
00369
00370 #define STATIC_KSNODETYPE_DSS_AUDIO \
00371 DEFINE_USB_TERMINAL_GUID(0x070F)
00372 DEFINE_GUIDSTRUCT("DFF220EF-F70F-11D0-B917-00A0C9223196",KSNODETYPE_DSS_AUDIO);
00373 #define KSNODETYPE_DSS_AUDIO DEFINE_GUIDNAMED(KSNODETYPE_DSS_AUDIO)
00374
00375 #define STATIC_KSNODETYPE_RADIO_RECEIVER \
00376 DEFINE_USB_TERMINAL_GUID(0x0710)
00377 DEFINE_GUIDSTRUCT("DFF220F0-F70F-11D0-B917-00A0C9223196",KSNODETYPE_RADIO_RECEIVER);
00378 #define KSNODETYPE_RADIO_RECEIVER DEFINE_GUIDNAMED(KSNODETYPE_RADIO_RECEIVER)
00379
00380 #define STATIC_KSNODETYPE_RADIO_TRANSMITTER \
00381 DEFINE_USB_TERMINAL_GUID(0x0711)
00382 DEFINE_GUIDSTRUCT("DFF220F1-F70F-11D0-B917-00A0C9223196",KSNODETYPE_RADIO_TRANSMITTER);
00383 #define KSNODETYPE_RADIO_TRANSMITTER DEFINE_GUIDNAMED(KSNODETYPE_RADIO_TRANSMITTER)
00384
00385 #define STATIC_KSNODETYPE_MULTITRACK_RECORDER \
00386 DEFINE_USB_TERMINAL_GUID(0x0712)
00387 DEFINE_GUIDSTRUCT("DFF220F2-F70F-11D0-B917-00A0C9223196",KSNODETYPE_MULTITRACK_RECORDER);
00388 #define KSNODETYPE_MULTITRACK_RECORDER DEFINE_GUIDNAMED(KSNODETYPE_MULTITRACK_RECORDER)
00389
00390 #define STATIC_KSNODETYPE_SYNTHESIZER \
00391 DEFINE_USB_TERMINAL_GUID(0x0713)
00392 DEFINE_GUIDSTRUCT("DFF220F3-F70F-11D0-B917-00A0C9223196",KSNODETYPE_SYNTHESIZER);
00393 #define KSNODETYPE_SYNTHESIZER DEFINE_GUIDNAMED(KSNODETYPE_SYNTHESIZER)
00394
00395 #define STATIC_KSNODETYPE_SWSYNTH \
00396 0x423274A0L,0x8B81,0x11D1,0xA0,0x50,0x00,0x00,0xF8,0x00,0x47,0x88
00397 DEFINE_GUIDSTRUCT("423274A0-8B81-11D1-A050-0000F8004788",KSNODETYPE_SWSYNTH);
00398 #define KSNODETYPE_SWSYNTH DEFINE_GUIDNAMED(KSNODETYPE_SWSYNTH)
00399
00400 #define STATIC_KSNODETYPE_SWMIDI \
00401 0xCB9BEFA0L,0xA251,0x11D1,0xA0,0x50,0x00,0x00,0xF8,0x00,0x47,0x88
00402 DEFINE_GUIDSTRUCT("CB9BEFA0-A251-11D1-A050-0000F8004788",KSNODETYPE_SWMIDI);
00403 #define KSNODETYPE_SWMIDI DEFINE_GUIDNAMED(KSNODETYPE_SWMIDI)
00404
00405 #define STATIC_KSNODETYPE_DRM_DESCRAMBLE \
00406 0xFFBB6E3FL,0xCCFE,0x4D84,0x90,0xD9,0x42,0x14,0x18,0xB0,0x3A,0x8E
00407 DEFINE_GUIDSTRUCT("FFBB6E3F-CCFE-4D84-90D9-421418B03A8E",KSNODETYPE_DRM_DESCRAMBLE);
00408 #define KSNODETYPE_DRM_DESCRAMBLE DEFINE_GUIDNAMED(KSNODETYPE_DRM_DESCRAMBLE)
00409
00410 #define STATIC_KSCATEGORY_AUDIO \
00411 0x6994AD04L,0x93EF,0x11D0,0xA3,0xCC,0x00,0xA0,0xC9,0x22,0x31,0x96
00412 DEFINE_GUIDSTRUCT("6994AD04-93EF-11D0-A3CC-00A0C9223196",KSCATEGORY_AUDIO);
00413 #define KSCATEGORY_AUDIO DEFINE_GUIDNAMED(KSCATEGORY_AUDIO)
00414
00415 #define STATIC_KSCATEGORY_VIDEO \
00416 0x6994AD05L,0x93EF,0x11D0,0xA3,0xCC,0x00,0xA0,0xC9,0x22,0x31,0x96
00417 DEFINE_GUIDSTRUCT("6994AD05-93EF-11D0-A3CC-00A0C9223196",KSCATEGORY_VIDEO);
00418 #define KSCATEGORY_VIDEO DEFINE_GUIDNAMED(KSCATEGORY_VIDEO)
00419
00420 #define STATIC_KSCATEGORY_TEXT \
00421 0x6994AD06L,0x93EF,0x11D0,0xA3,0xCC,0x00,0xA0,0xC9,0x22,0x31,0x96
00422 DEFINE_GUIDSTRUCT("6994AD06-93EF-11D0-A3CC-00A0C9223196",KSCATEGORY_TEXT);
00423 #define KSCATEGORY_TEXT DEFINE_GUIDNAMED(KSCATEGORY_TEXT)
00424
00425 #define STATIC_KSCATEGORY_NETWORK \
00426 0x67C9CC3CL,0x69C4,0x11D2,0x87,0x59,0x00,0xA0,0xC9,0x22,0x31,0x96
00427 DEFINE_GUIDSTRUCT("67C9CC3C-69C4-11D2-8759-00A0C9223196",KSCATEGORY_NETWORK);
00428 #define KSCATEGORY_NETWORK DEFINE_GUIDNAMED(KSCATEGORY_NETWORK)
00429
00430 #define STATIC_KSCATEGORY_TOPOLOGY \
00431 0xDDA54A40L,0x1E4C,0x11D1,0xA0,0x50,0x40,0x57,0x05,0xC1,0x00,0x00
00432 DEFINE_GUIDSTRUCT("DDA54A40-1E4C-11D1-A050-405705C10000",KSCATEGORY_TOPOLOGY);
00433 #define KSCATEGORY_TOPOLOGY DEFINE_GUIDNAMED(KSCATEGORY_TOPOLOGY)
00434
00435 #define STATIC_KSCATEGORY_VIRTUAL \
00436 0x3503EAC4L,0x1F26,0x11D1,0x8A,0xB0,0x00,0xA0,0xC9,0x22,0x31,0x96
00437 DEFINE_GUIDSTRUCT("3503EAC4-1F26-11D1-8AB0-00A0C9223196",KSCATEGORY_VIRTUAL);
00438 #define KSCATEGORY_VIRTUAL DEFINE_GUIDNAMED(KSCATEGORY_VIRTUAL)
00439
00440 #define STATIC_KSCATEGORY_ACOUSTIC_ECHO_CANCEL \
00441 0xBF963D80L,0xC559,0x11D0,0x8A,0x2B,0x00,0xA0,0xC9,0x25,0x5A,0xC1
00442 DEFINE_GUIDSTRUCT("BF963D80-C559-11D0-8A2B-00A0C9255AC1",KSCATEGORY_ACOUSTIC_ECHO_CANCEL);
00443 #define KSCATEGORY_ACOUSTIC_ECHO_CANCEL DEFINE_GUIDNAMED(KSCATEGORY_ACOUSTIC_ECHO_CANCEL)
00444
00445 #define STATIC_KSCATEGORY_SYSAUDIO \
00446 0xA7C7A5B1L,0x5AF3,0x11D1,0x9C,0xED,0x00,0xA0,0x24,0xBF,0x04,0x07
00447 DEFINE_GUIDSTRUCT("A7C7A5B1-5AF3-11D1-9CED-00A024BF0407",KSCATEGORY_SYSAUDIO);
00448 #define KSCATEGORY_SYSAUDIO DEFINE_GUIDNAMED(KSCATEGORY_SYSAUDIO)
00449
00450 #define STATIC_KSCATEGORY_WDMAUD \
00451 0x3E227E76L,0x690D,0x11D2,0x81,0x61,0x00,0x00,0xF8,0x77,0x5B,0xF1
00452 DEFINE_GUIDSTRUCT("3E227E76-690D-11D2-8161-0000F8775BF1",KSCATEGORY_WDMAUD);
00453 #define KSCATEGORY_WDMAUD DEFINE_GUIDNAMED(KSCATEGORY_WDMAUD)
00454
00455 #define STATIC_KSCATEGORY_AUDIO_GFX \
00456 0x9BAF9572L,0x340C,0x11D3,0xAB,0xDC,0x00,0xA0,0xC9,0x0A,0xB1,0x6F
00457 DEFINE_GUIDSTRUCT("9BAF9572-340C-11D3-ABDC-00A0C90AB16F",KSCATEGORY_AUDIO_GFX);
00458 #define KSCATEGORY_AUDIO_GFX DEFINE_GUIDNAMED(KSCATEGORY_AUDIO_GFX)
00459
00460 #define STATIC_KSCATEGORY_AUDIO_SPLITTER \
00461 0x9EA331FAL,0xB91B,0x45F8,0x92,0x85,0xBD,0x2B,0xC7,0x7A,0xFC,0xDE
00462 DEFINE_GUIDSTRUCT("9EA331FA-B91B-45F8-9285-BD2BC77AFCDE",KSCATEGORY_AUDIO_SPLITTER);
00463 #define KSCATEGORY_AUDIO_SPLITTER DEFINE_GUIDNAMED(KSCATEGORY_AUDIO_SPLITTER)
00464
00465 #define STATIC_KSCATEGORY_SYNTHESIZER STATIC_KSNODETYPE_SYNTHESIZER
00466 #define KSCATEGORY_SYNTHESIZER KSNODETYPE_SYNTHESIZER
00467
00468 #define STATIC_KSCATEGORY_DRM_DESCRAMBLE STATIC_KSNODETYPE_DRM_DESCRAMBLE
00469 #define KSCATEGORY_DRM_DESCRAMBLE KSNODETYPE_DRM_DESCRAMBLE
00470
00471 #define STATIC_KSCATEGORY_AUDIO_DEVICE \
00472 0xFBF6F530L,0x07B9,0x11D2,0xA7,0x1E,0x00,0x00,0xF8,0x00,0x47,0x88
00473 DEFINE_GUIDSTRUCT("FBF6F530-07B9-11D2-A71E-0000F8004788",KSCATEGORY_AUDIO_DEVICE);
00474 #define KSCATEGORY_AUDIO_DEVICE DEFINE_GUIDNAMED(KSCATEGORY_AUDIO_DEVICE)
00475
00476 #define STATIC_KSCATEGORY_PREFERRED_WAVEOUT_DEVICE \
00477 0xD6C5066EL,0x72C1,0x11D2,0x97,0x55,0x00,0x00,0xF8,0x00,0x47,0x88
00478 DEFINE_GUIDSTRUCT("D6C5066E-72C1-11D2-9755-0000F8004788",KSCATEGORY_PREFERRED_WAVEOUT_DEVICE);
00479 #define KSCATEGORY_PREFERRED_WAVEOUT_DEVICE DEFINE_GUIDNAMED(KSCATEGORY_PREFERRED_WAVEOUT_DEVICE)
00480
00481 #define STATIC_KSCATEGORY_PREFERRED_WAVEIN_DEVICE \
00482 0xD6C50671L,0x72C1,0x11D2,0x97,0x55,0x00,0x00,0xF8,0x00,0x47,0x88
00483 DEFINE_GUIDSTRUCT("D6C50671-72C1-11D2-9755-0000F8004788",KSCATEGORY_PREFERRED_WAVEIN_DEVICE);
00484 #define KSCATEGORY_PREFERRED_WAVEIN_DEVICE DEFINE_GUIDNAMED(KSCATEGORY_PREFERRED_WAVEIN_DEVICE)
00485
00486 #define STATIC_KSCATEGORY_PREFERRED_MIDIOUT_DEVICE \
00487 0xD6C50674L,0x72C1,0x11D2,0x97,0x55,0x00,0x00,0xF8,0x00,0x47,0x88
00488 DEFINE_GUIDSTRUCT("D6C50674-72C1-11D2-9755-0000F8004788",KSCATEGORY_PREFERRED_MIDIOUT_DEVICE);
00489 #define KSCATEGORY_PREFERRED_MIDIOUT_DEVICE DEFINE_GUIDNAMED(KSCATEGORY_PREFERRED_MIDIOUT_DEVICE)
00490
00491 #define STATIC_KSCATEGORY_WDMAUD_USE_PIN_NAME \
00492 0x47A4FA20L,0xA251,0x11D1,0xA0,0x50,0x00,0x00,0xF8,0x00,0x47,0x88
00493 DEFINE_GUIDSTRUCT("47A4FA20-A251-11D1-A050-0000F8004788",KSCATEGORY_WDMAUD_USE_PIN_NAME);
00494 #define KSCATEGORY_WDMAUD_USE_PIN_NAME DEFINE_GUIDNAMED(KSCATEGORY_WDMAUD_USE_PIN_NAME)
00495
00496 #define STATIC_KSCATEGORY_ESCALANTE_PLATFORM_DRIVER \
00497 0x74f3aea8L,0x9768,0x11d1,0x8e,0x07,0x00,0xa0,0xc9,0x5e,0xc2,0x2e
00498 DEFINE_GUIDSTRUCT("74f3aea8-9768-11d1-8e07-00a0c95ec22e",KSCATEGORY_ESCALANTE_PLATFORM_DRIVER);
00499 #define KSCATEGORY_ESCALANTE_PLATFORM_DRIVER DEFINE_GUIDNAMED(KSCATEGORY_ESCALANTE_PLATFORM_DRIVER)
00500
00501 #define STATIC_KSDATAFORMAT_TYPE_VIDEO \
00502 0x73646976L,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71
00503 DEFINE_GUIDSTRUCT("73646976-0000-0010-8000-00aa00389b71",KSDATAFORMAT_TYPE_VIDEO);
00504 #define KSDATAFORMAT_TYPE_VIDEO DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_VIDEO)
00505
00506 #define STATIC_KSDATAFORMAT_TYPE_AUDIO \
00507 0x73647561L,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71
00508 DEFINE_GUIDSTRUCT("73647561-0000-0010-8000-00aa00389b71",KSDATAFORMAT_TYPE_AUDIO);
00509 #define KSDATAFORMAT_TYPE_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_AUDIO)
00510
00511 #define STATIC_KSDATAFORMAT_TYPE_TEXT \
00512 0x73747874L,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71
00513 DEFINE_GUIDSTRUCT("73747874-0000-0010-8000-00aa00389b71",KSDATAFORMAT_TYPE_TEXT);
00514 #define KSDATAFORMAT_TYPE_TEXT DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_TEXT)
00515
00516 #if !defined(DEFINE_WAVEFORMATEX_GUID)
00517 #define DEFINE_WAVEFORMATEX_GUID(x) \
00518 (USHORT)(x),0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71
00519 #endif
00520
00521 #define STATIC_KSDATAFORMAT_SUBTYPE_WAVEFORMATEX \
00522 0x00000000L,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71
00523 DEFINE_GUIDSTRUCT("00000000-0000-0010-8000-00aa00389b71",KSDATAFORMAT_SUBTYPE_WAVEFORMATEX);
00524 #define KSDATAFORMAT_SUBTYPE_WAVEFORMATEX DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_WAVEFORMATEX)
00525
00526 #define INIT_WAVEFORMATEX_GUID(Guid,x) \
00527 { \
00528 *(Guid) = KSDATAFORMAT_SUBTYPE_WAVEFORMATEX; \
00529 (Guid)->Data1 = (USHORT)(x); \
00530 }
00531
00532 #define EXTRACT_WAVEFORMATEX_ID(Guid) \
00533 (USHORT)((Guid)->Data1)
00534
00535 #define IS_VALID_WAVEFORMATEX_GUID(Guid) \
00536 (!memcmp(((PUSHORT)&KSDATAFORMAT_SUBTYPE_WAVEFORMATEX) + 1, ((PUSHORT)(Guid)) + 1,sizeof(GUID) - sizeof(USHORT)))
00537
00538 #ifndef INIT_MMREG_MID
00539 #define INIT_MMREG_MID(guid,id) \
00540 { \
00541 (guid)->Data1 = 0xd5a47fa7 + (USHORT)(id); \
00542 (guid)->Data2 = 0x6d98; \
00543 (guid)->Data3 = 0x11d1; \
00544 (guid)->Data4[0] = 0xa2; \
00545 (guid)->Data4[1] = 0x1a; \
00546 (guid)->Data4[2] = 0x00; \
00547 (guid)->Data4[3] = 0xa0; \
00548 (guid)->Data4[4] = 0xc9; \
00549 (guid)->Data4[5] = 0x22; \
00550 (guid)->Data4[6] = 0x31; \
00551 (guid)->Data4[7] = 0x96; \
00552 }
00553 #define EXTRACT_MMREG_MID(guid) \
00554 (USHORT)((guid)->Data1 - 0xd5a47fa7)
00555 #define DEFINE_MMREG_MID_GUID(id) \
00556 0xd5a47fa7+(USHORT)(id),0x6d98,0x11d1,0xa2,0x1a,0x00,0xa0,0xc9,0x22,0x31,0x96
00557
00558 #define IS_COMPATIBLE_MMREG_MID(guid) \
00559 (((guid)->Data1 >= 0xd5a47fa7) && \
00560 ((guid)->Data1 < 0xd5a47fa7 + 0xffff) && \
00561 ((guid)->Data2 == 0x6d98) && \
00562 ((guid)->Data3 == 0x11d1) && \
00563 ((guid)->Data4[0] == 0xa2) && \
00564 ((guid)->Data4[1] == 0x1a) && \
00565 ((guid)->Data4[2] == 0x00) && \
00566 ((guid)->Data4[3] == 0xa0) && \
00567 ((guid)->Data4[4] == 0xc9) && \
00568 ((guid)->Data4[5] == 0x22) && \
00569 ((guid)->Data4[6] == 0x31) && \
00570 ((guid)->Data4[7] == 0x96) )
00571 #endif
00572
00573 #ifndef INIT_MMREG_PID
00574 #define INIT_MMREG_PID(guid,id) \
00575 { \
00576 (guid)->Data1 = 0xe36dc2ac + (USHORT)(id); \
00577 (guid)->Data2 = 0x6d9a; \
00578 (guid)->Data3 = 0x11d1; \
00579 (guid)->Data4[0] = 0xa2; \
00580 (guid)->Data4[1] = 0x1a; \
00581 (guid)->Data4[2] = 0x00; \
00582 (guid)->Data4[3] = 0xa0; \
00583 (guid)->Data4[4] = 0xc9; \
00584 (guid)->Data4[5] = 0x22; \
00585 (guid)->Data4[6] = 0x31; \
00586 (guid)->Data4[7] = 0x96; \
00587 }
00588 #define EXTRACT_MMREG_PID(guid) \
00589 (USHORT)((guid)->Data1 - 0xe36dc2ac)
00590 #define DEFINE_MMREG_PID_GUID(id) \
00591 0xe36dc2ac+(USHORT)(id),0x6d9a,0x11d1,0xa2,0x1a,0x00,0xa0,0xc9,0x22,0x31,0x96
00592
00593 #define IS_COMPATIBLE_MMREG_PID(guid) \
00594 (((guid)->Data1 >= 0xe36dc2ac) && \
00595 ((guid)->Data1 < 0xe36dc2ac + 0xffff) && \
00596 ((guid)->Data2 == 0x6d9a) && \
00597 ((guid)->Data3 == 0x11d1) && \
00598 ((guid)->Data4[0] == 0xa2) && \
00599 ((guid)->Data4[1] == 0x1a) && \
00600 ((guid)->Data4[2] == 0x00) && \
00601 ((guid)->Data4[3] == 0xa0) && \
00602 ((guid)->Data4[4] == 0xc9) && \
00603 ((guid)->Data4[5] == 0x22) && \
00604 ((guid)->Data4[6] == 0x31) && \
00605 ((guid)->Data4[7] == 0x96) )
00606 #endif
00607
00608 #define STATIC_KSDATAFORMAT_SUBTYPE_ANALOG \
00609 0x6dba3190L,0x67bd,0x11cf,0xa0,0xf7,0x00,0x20,0xaf,0xd1,0x56,0xe4
00610 DEFINE_GUIDSTRUCT("6dba3190-67bd-11cf-a0f7-0020afd156e4",KSDATAFORMAT_SUBTYPE_ANALOG);
00611 #define KSDATAFORMAT_SUBTYPE_ANALOG DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_ANALOG)
00612
00613 #define STATIC_KSDATAFORMAT_SUBTYPE_PCM \
00614 DEFINE_WAVEFORMATEX_GUID(WAVE_FORMAT_PCM)
00615 DEFINE_GUIDSTRUCT("00000001-0000-0010-8000-00aa00389b71",KSDATAFORMAT_SUBTYPE_PCM);
00616 #define KSDATAFORMAT_SUBTYPE_PCM DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_PCM)
00617
00618 #ifdef _INC_MMREG
00619 #define STATIC_KSDATAFORMAT_SUBTYPE_IEEE_FLOAT \
00620 DEFINE_WAVEFORMATEX_GUID(WAVE_FORMAT_IEEE_FLOAT)
00621 DEFINE_GUIDSTRUCT("00000003-0000-0010-8000-00aa00389b71",KSDATAFORMAT_SUBTYPE_IEEE_FLOAT);
00622 #define KSDATAFORMAT_SUBTYPE_IEEE_FLOAT DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_IEEE_FLOAT)
00623
00624 #define STATIC_KSDATAFORMAT_SUBTYPE_DRM \
00625 DEFINE_WAVEFORMATEX_GUID(WAVE_FORMAT_DRM)
00626 DEFINE_GUIDSTRUCT("00000009-0000-0010-8000-00aa00389b71",KSDATAFORMAT_SUBTYPE_DRM);
00627 #define KSDATAFORMAT_SUBTYPE_DRM DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_DRM)
00628
00629 #define STATIC_KSDATAFORMAT_SUBTYPE_ALAW \
00630 DEFINE_WAVEFORMATEX_GUID(WAVE_FORMAT_ALAW)
00631 DEFINE_GUIDSTRUCT("00000006-0000-0010-8000-00aa00389b71",KSDATAFORMAT_SUBTYPE_ALAW);
00632 #define KSDATAFORMAT_SUBTYPE_ALAW DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_ALAW)
00633
00634 #define STATIC_KSDATAFORMAT_SUBTYPE_MULAW \
00635 DEFINE_WAVEFORMATEX_GUID(WAVE_FORMAT_MULAW)
00636 DEFINE_GUIDSTRUCT("00000007-0000-0010-8000-00aa00389b71",KSDATAFORMAT_SUBTYPE_MULAW);
00637 #define KSDATAFORMAT_SUBTYPE_MULAW DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_MULAW)
00638
00639 #define STATIC_KSDATAFORMAT_SUBTYPE_ADPCM \
00640 DEFINE_WAVEFORMATEX_GUID(WAVE_FORMAT_ADPCM)
00641 DEFINE_GUIDSTRUCT("00000002-0000-0010-8000-00aa00389b71",KSDATAFORMAT_SUBTYPE_ADPCM);
00642 #define KSDATAFORMAT_SUBTYPE_ADPCM DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_ADPCM)
00643
00644 #define STATIC_KSDATAFORMAT_SUBTYPE_MPEG \
00645 DEFINE_WAVEFORMATEX_GUID(WAVE_FORMAT_MPEG)
00646 DEFINE_GUIDSTRUCT("00000050-0000-0010-8000-00aa00389b71",KSDATAFORMAT_SUBTYPE_MPEG);
00647 #define KSDATAFORMAT_SUBTYPE_MPEG DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_MPEG)
00648 #endif
00649
00650 #define STATIC_KSDATAFORMAT_SPECIFIER_VC_ID \
00651 0xAD98D184L,0xAAC3,0x11D0,0xA4,0x1C,0x00,0xA0,0xC9,0x22,0x31,0x96
00652 DEFINE_GUIDSTRUCT("AD98D184-AAC3-11D0-A41C-00A0C9223196",KSDATAFORMAT_SPECIFIER_VC_ID);
00653 #define KSDATAFORMAT_SPECIFIER_VC_ID DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_VC_ID)
00654
00655 #define STATIC_KSDATAFORMAT_SPECIFIER_WAVEFORMATEX \
00656 0x05589f81L,0xc356,0x11ce,0xbf,0x01,0x00,0xaa,0x00,0x55,0x59,0x5a
00657 DEFINE_GUIDSTRUCT("05589f81-c356-11ce-bf01-00aa0055595a",KSDATAFORMAT_SPECIFIER_WAVEFORMATEX);
00658 #define KSDATAFORMAT_SPECIFIER_WAVEFORMATEX DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_WAVEFORMATEX)
00659
00660 #define STATIC_KSDATAFORMAT_SPECIFIER_DSOUND \
00661 0x518590a2L,0xa184,0x11d0,0x85,0x22,0x00,0xc0,0x4f,0xd9,0xba,0xf3
00662 DEFINE_GUIDSTRUCT("518590a2-a184-11d0-8522-00c04fd9baf3",KSDATAFORMAT_SPECIFIER_DSOUND);
00663 #define KSDATAFORMAT_SPECIFIER_DSOUND DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_DSOUND)
00664
00665 #if defined(_INC_MMSYSTEM) || defined(_INC_MMREG)
00666 #if !defined(PACK_PRAGMAS_NOT_SUPPORTED)
00667 #include <pshpack1.h>
00668 #endif
00669 typedef struct {
00670 KSDATAFORMAT DataFormat;
00671 WAVEFORMATEX WaveFormatEx;
00672 } KSDATAFORMAT_WAVEFORMATEX,*PKSDATAFORMAT_WAVEFORMATEX;
00673
00674 #ifndef _WAVEFORMATEXTENSIBLE_
00675 #define _WAVEFORMATEXTENSIBLE_
00676 typedef struct {
00677 WAVEFORMATEX Format;
00678 union {
00679 WORD wValidBitsPerSample;
00680 WORD wSamplesPerBlock;
00681 WORD wReserved;
00682 } Samples;
00683 DWORD dwChannelMask;
00684
00685 GUID SubFormat;
00686 } WAVEFORMATEXTENSIBLE,*PWAVEFORMATEXTENSIBLE;
00687 #endif
00688
00689 #if !defined(WAVE_FORMAT_EXTENSIBLE)
00690 #define WAVE_FORMAT_EXTENSIBLE 0xFFFE
00691 #endif
00692
00693 typedef struct {
00694 ULONG Flags;
00695 ULONG Control;
00696 WAVEFORMATEX WaveFormatEx;
00697 } KSDSOUND_BUFFERDESC,*PKSDSOUND_BUFFERDESC;
00698
00699 typedef struct {
00700 KSDATAFORMAT DataFormat;
00701 KSDSOUND_BUFFERDESC BufferDesc;
00702 } KSDATAFORMAT_DSOUND,*PKSDATAFORMAT_DSOUND;
00703
00704 #if !defined(PACK_PRAGMAS_NOT_SUPPORTED)
00705 #include <poppack.h>
00706 #endif
00707 #endif
00708
00709 #define KSDSOUND_BUFFER_PRIMARY 0x00000001
00710 #define KSDSOUND_BUFFER_STATIC 0x00000002
00711 #define KSDSOUND_BUFFER_LOCHARDWARE 0x00000004
00712 #define KSDSOUND_BUFFER_LOCSOFTWARE 0x00000008
00713
00714 #define KSDSOUND_BUFFER_CTRL_3D 0x00000001
00715 #define KSDSOUND_BUFFER_CTRL_FREQUENCY 0x00000002
00716 #define KSDSOUND_BUFFER_CTRL_PAN 0x00000004
00717 #define KSDSOUND_BUFFER_CTRL_VOLUME 0x00000008
00718 #define KSDSOUND_BUFFER_CTRL_POSITIONNOTIFY 0x00000010
00719
00720 typedef struct {
00721 DWORDLONG PlayOffset;
00722 DWORDLONG WriteOffset;
00723 } KSAUDIO_POSITION,*PKSAUDIO_POSITION;
00724
00725 typedef struct _DS3DVECTOR {
00726 __MINGW_EXTENSION union {
00727 FLOAT x;
00728 FLOAT dvX;
00729 };
00730 __MINGW_EXTENSION union {
00731 FLOAT y;
00732 FLOAT dvY;
00733 };
00734 __MINGW_EXTENSION union {
00735 FLOAT z;
00736 FLOAT dvZ;
00737 };
00738 } DS3DVECTOR,*PDS3DVECTOR;
00739
00740 #define STATIC_KSPROPSETID_DirectSound3DListener \
00741 0x437b3414L,0xd060,0x11d0,0x85,0x83,0x00,0xc0,0x4f,0xd9,0xba,0xf3
00742 DEFINE_GUIDSTRUCT("437b3414-d060-11d0-8583-00c04fd9baf3",KSPROPSETID_DirectSound3DListener);
00743 #define KSPROPSETID_DirectSound3DListener DEFINE_GUIDNAMED(KSPROPSETID_DirectSound3DListener)
00744
00745 typedef enum {
00746 KSPROPERTY_DIRECTSOUND3DLISTENER_ALL,
00747 KSPROPERTY_DIRECTSOUND3DLISTENER_POSITION,
00748 KSPROPERTY_DIRECTSOUND3DLISTENER_VELOCITY,
00749 KSPROPERTY_DIRECTSOUND3DLISTENER_ORIENTATION,
00750 KSPROPERTY_DIRECTSOUND3DLISTENER_DISTANCEFACTOR,
00751 KSPROPERTY_DIRECTSOUND3DLISTENER_ROLLOFFFACTOR,
00752 KSPROPERTY_DIRECTSOUND3DLISTENER_DOPPLERFACTOR,
00753 KSPROPERTY_DIRECTSOUND3DLISTENER_BATCH,
00754 KSPROPERTY_DIRECTSOUND3DLISTENER_ALLOCATION
00755 } KSPROPERTY_DIRECTSOUND3DLISTENER;
00756
00757 typedef struct {
00758 DS3DVECTOR Position;
00759 DS3DVECTOR Velocity;
00760 DS3DVECTOR OrientFront;
00761 DS3DVECTOR OrientTop;
00762 FLOAT DistanceFactor;
00763 FLOAT RolloffFactor;
00764 FLOAT DopplerFactor;
00765 } KSDS3D_LISTENER_ALL,*PKSDS3D_LISTENER_ALL;
00766
00767 typedef struct {
00768 DS3DVECTOR Front;
00769 DS3DVECTOR Top;
00770 } KSDS3D_LISTENER_ORIENTATION,*PKSDS3D_LISTENER_ORIENTATION;
00771
00772 #define STATIC_KSPROPSETID_DirectSound3DBuffer \
00773 0x437b3411L,0xd060,0x11d0,0x85,0x83,0x00,0xc0,0x4f,0xd9,0xba,0xf3
00774 DEFINE_GUIDSTRUCT("437b3411-d060-11d0-8583-00c04fd9baf3",KSPROPSETID_DirectSound3DBuffer);
00775 #define KSPROPSETID_DirectSound3DBuffer DEFINE_GUIDNAMED(KSPROPSETID_DirectSound3DBuffer)
00776
00777 typedef enum {
00778 KSPROPERTY_DIRECTSOUND3DBUFFER_ALL,
00779 KSPROPERTY_DIRECTSOUND3DBUFFER_POSITION,
00780 KSPROPERTY_DIRECTSOUND3DBUFFER_VELOCITY,
00781 KSPROPERTY_DIRECTSOUND3DBUFFER_CONEANGLES,
00782 KSPROPERTY_DIRECTSOUND3DBUFFER_CONEORIENTATION,
00783 KSPROPERTY_DIRECTSOUND3DBUFFER_CONEOUTSIDEVOLUME,
00784 KSPROPERTY_DIRECTSOUND3DBUFFER_MINDISTANCE,
00785 KSPROPERTY_DIRECTSOUND3DBUFFER_MAXDISTANCE,
00786 KSPROPERTY_DIRECTSOUND3DBUFFER_MODE
00787 } KSPROPERTY_DIRECTSOUND3DBUFFER;
00788
00789 typedef struct {
00790 DS3DVECTOR Position;
00791 DS3DVECTOR Velocity;
00792 ULONG InsideConeAngle;
00793 ULONG OutsideConeAngle;
00794 DS3DVECTOR ConeOrientation;
00795 LONG ConeOutsideVolume;
00796 FLOAT MinDistance;
00797 FLOAT MaxDistance;
00798 ULONG Mode;
00799 } KSDS3D_BUFFER_ALL,*PKSDS3D_BUFFER_ALL;
00800
00801 typedef struct {
00802 ULONG InsideConeAngle;
00803 ULONG OutsideConeAngle;
00804 } KSDS3D_BUFFER_CONE_ANGLES,*PKSDS3D_BUFFER_CONE_ANGLES;
00805
00806 #define KSAUDIO_STEREO_SPEAKER_GEOMETRY_HEADPHONE (-1)
00807 #define KSAUDIO_STEREO_SPEAKER_GEOMETRY_MIN 5
00808 #define KSAUDIO_STEREO_SPEAKER_GEOMETRY_NARROW 10
00809 #define KSAUDIO_STEREO_SPEAKER_GEOMETRY_WIDE 20
00810 #define KSAUDIO_STEREO_SPEAKER_GEOMETRY_MAX 180
00811
00812 #define KSDSOUND_3D_MODE_NORMAL 0x00000000
00813 #define KSDSOUND_3D_MODE_HEADRELATIVE 0x00000001
00814 #define KSDSOUND_3D_MODE_DISABLE 0x00000002
00815
00816 #define KSDSOUND_BUFFER_CTRL_HRTF_3D 0x40000000
00817
00818 typedef struct {
00819 ULONG Size;
00820 ULONG Enabled;
00821 WINBOOL SwapChannels;
00822 WINBOOL ZeroAzimuth;
00823 WINBOOL CrossFadeOutput;
00824 ULONG FilterSize;
00825 } KSDS3D_HRTF_PARAMS_MSG,*PKSDS3D_HRTF_PARAMS_MSG;
00826
00827 typedef enum {
00828 FULL_FILTER,
00829 LIGHT_FILTER,
00830 KSDS3D_FILTER_QUALITY_COUNT
00831 } KSDS3D_HRTF_FILTER_QUALITY;
00832
00833 typedef struct {
00834 ULONG Size;
00835 KSDS3D_HRTF_FILTER_QUALITY Quality;
00836 FLOAT SampleRate;
00837 ULONG MaxFilterSize;
00838 ULONG FilterTransientMuteLength;
00839 ULONG FilterOverlapBufferLength;
00840 ULONG OutputOverlapBufferLength;
00841 ULONG Reserved;
00842 } KSDS3D_HRTF_INIT_MSG,*PKSDS3D_HRTF_INIT_MSG;
00843
00844 typedef enum {
00845 FLOAT_COEFF,
00846 SHORT_COEFF,
00847 KSDS3D_COEFF_COUNT
00848 } KSDS3D_HRTF_COEFF_FORMAT;
00849
00850 typedef enum {
00851 DIRECT_FORM,
00852 CASCADE_FORM,
00853 KSDS3D_FILTER_METHOD_COUNT
00854 } KSDS3D_HRTF_FILTER_METHOD;
00855
00856 typedef enum {
00857 DS3D_HRTF_VERSION_1
00858 } KSDS3D_HRTF_FILTER_VERSION;
00859
00860 typedef struct {
00861 KSDS3D_HRTF_FILTER_METHOD FilterMethod;
00862 KSDS3D_HRTF_COEFF_FORMAT CoeffFormat;
00863 KSDS3D_HRTF_FILTER_VERSION Version;
00864 ULONG Reserved;
00865 } KSDS3D_HRTF_FILTER_FORMAT_MSG,*PKSDS3D_HRTF_FILTER_FORMAT_MSG;
00866
00867 #define STATIC_KSPROPSETID_Hrtf3d \
00868 0xb66decb0L,0xa083,0x11d0,0x85,0x1e,0x00,0xc0,0x4f,0xd9,0xba,0xf3
00869 DEFINE_GUIDSTRUCT("b66decb0-a083-11d0-851e-00c04fd9baf3",KSPROPSETID_Hrtf3d);
00870 #define KSPROPSETID_Hrtf3d DEFINE_GUIDNAMED(KSPROPSETID_Hrtf3d)
00871
00872 typedef enum {
00873 KSPROPERTY_HRTF3D_PARAMS = 0,
00874 KSPROPERTY_HRTF3D_INITIALIZE,
00875 KSPROPERTY_HRTF3D_FILTER_FORMAT
00876 } KSPROPERTY_HRTF3D;
00877
00878 typedef struct {
00879 LONG Channel;
00880 FLOAT VolSmoothScale;
00881 FLOAT TotalDryAttenuation;
00882 FLOAT TotalWetAttenuation;
00883 LONG SmoothFrequency;
00884 LONG Delay;
00885 } KSDS3D_ITD_PARAMS,*PKSDS3D_ITD_PARAMS;
00886
00887 typedef struct {
00888 ULONG Enabled;
00889 KSDS3D_ITD_PARAMS LeftParams;
00890 KSDS3D_ITD_PARAMS RightParams;
00891 ULONG Reserved;
00892 } KSDS3D_ITD_PARAMS_MSG,*PKSDS3D_ITD_PARAMS_MSG;
00893
00894 #define STATIC_KSPROPSETID_Itd3d \
00895 0x6429f090L,0x9fd9,0x11d0,0xa7,0x5b,0x00,0xa0,0xc9,0x03,0x65,0xe3
00896 DEFINE_GUIDSTRUCT("6429f090-9fd9-11d0-a75b-00a0c90365e3",KSPROPSETID_Itd3d);
00897 #define KSPROPSETID_Itd3d DEFINE_GUIDNAMED(KSPROPSETID_Itd3d)
00898
00899 typedef enum {
00900 KSPROPERTY_ITD3D_PARAMS = 0
00901 } KSPROPERTY_ITD3D;
00902
00903 typedef struct {
00904 KSDATARANGE DataRange;
00905 ULONG MaximumChannels;
00906 ULONG MinimumBitsPerSample;
00907 ULONG MaximumBitsPerSample;
00908 ULONG MinimumSampleFrequency;
00909 ULONG MaximumSampleFrequency;
00910 } KSDATARANGE_AUDIO,*PKSDATARANGE_AUDIO;
00911
00912 #define STATIC_KSDATAFORMAT_SUBTYPE_RIFF \
00913 0x4995DAEEL,0x9EE6,0x11D0,0xA4,0x0E,0x00,0xA0,0xC9,0x22,0x31,0x96
00914 DEFINE_GUIDSTRUCT("4995DAEE-9EE6-11D0-A40E-00A0C9223196",KSDATAFORMAT_SUBTYPE_RIFF);
00915 #define KSDATAFORMAT_SUBTYPE_RIFF DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_RIFF)
00916
00917 #define STATIC_KSDATAFORMAT_SUBTYPE_RIFFWAVE \
00918 0xe436eb8bL,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70
00919 DEFINE_GUIDSTRUCT("e436eb8b-524f-11ce-9f53-0020af0ba770",KSDATAFORMAT_SUBTYPE_RIFFWAVE);
00920 #define KSDATAFORMAT_SUBTYPE_RIFFWAVE DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_RIFFWAVE)
00921
00922 #define STATIC_KSPROPSETID_Bibliographic \
00923 0x07BA150EL,0xE2B1,0x11D0,0xAC,0x17,0x00,0xA0,0xC9,0x22,0x31,0x96
00924 DEFINE_GUIDSTRUCT("07BA150E-E2B1-11D0-AC17-00A0C9223196",KSPROPSETID_Bibliographic);
00925 #define KSPROPSETID_Bibliographic DEFINE_GUIDNAMED(KSPROPSETID_Bibliographic)
00926
00927 typedef enum {
00928 KSPROPERTY_BIBLIOGRAPHIC_LEADER = 'RDL ',
00929 KSPROPERTY_BIBLIOGRAPHIC_LCCN = '010 ',
00930 KSPROPERTY_BIBLIOGRAPHIC_ISBN = '020 ',
00931 KSPROPERTY_BIBLIOGRAPHIC_ISSN = '220 ',
00932 KSPROPERTY_BIBLIOGRAPHIC_CATALOGINGSOURCE = '040 ',
00933 KSPROPERTY_BIBLIOGRAPHIC_MAINPERSONALNAME = '001 ',
00934 KSPROPERTY_BIBLIOGRAPHIC_MAINCORPORATEBODY = '011 ',
00935 KSPROPERTY_BIBLIOGRAPHIC_MAINMEETINGNAME = '111 ',
00936 KSPROPERTY_BIBLIOGRAPHIC_MAINUNIFORMTITLE = '031 ',
00937 KSPROPERTY_BIBLIOGRAPHIC_UNIFORMTITLE = '042 ',
00938 KSPROPERTY_BIBLIOGRAPHIC_TITLESTATEMENT = '542 ',
00939 KSPROPERTY_BIBLIOGRAPHIC_VARYINGFORMTITLE = '642 ',
00940 KSPROPERTY_BIBLIOGRAPHIC_PUBLICATION = '062 ',
00941 KSPROPERTY_BIBLIOGRAPHIC_PHYSICALDESCRIPTION = '003 ',
00942 KSPROPERTY_BIBLIOGRAPHIC_ADDEDENTRYTITLE = '044 ',
00943 KSPROPERTY_BIBLIOGRAPHIC_SERIESSTATEMENT = '094 ',
00944 KSPROPERTY_BIBLIOGRAPHIC_GENERALNOTE = '005 ',
00945 KSPROPERTY_BIBLIOGRAPHIC_BIBLIOGRAPHYNOTE = '405 ',
00946 KSPROPERTY_BIBLIOGRAPHIC_CONTENTSNOTE = '505 ',
00947 KSPROPERTY_BIBLIOGRAPHIC_CREATIONCREDIT = '805 ',
00948 KSPROPERTY_BIBLIOGRAPHIC_CITATION = '015 ',
00949 KSPROPERTY_BIBLIOGRAPHIC_PARTICIPANT = '115 ',
00950 KSPROPERTY_BIBLIOGRAPHIC_SUMMARY = '025 ',
00951 KSPROPERTY_BIBLIOGRAPHIC_TARGETAUDIENCE = '125 ',
00952 KSPROPERTY_BIBLIOGRAPHIC_ADDEDFORMAVAILABLE = '035 ',
00953 KSPROPERTY_BIBLIOGRAPHIC_SYSTEMDETAILS = '835 ',
00954 KSPROPERTY_BIBLIOGRAPHIC_AWARDS = '685 ',
00955 KSPROPERTY_BIBLIOGRAPHIC_ADDEDENTRYPERSONALNAME = '006 ',
00956 KSPROPERTY_BIBLIOGRAPHIC_ADDEDENTRYTOPICALTERM = '056 ',
00957 KSPROPERTY_BIBLIOGRAPHIC_ADDEDENTRYGEOGRAPHIC = '156 ',
00958 KSPROPERTY_BIBLIOGRAPHIC_INDEXTERMGENRE = '556 ',
00959 KSPROPERTY_BIBLIOGRAPHIC_INDEXTERMCURRICULUM = '856 ',
00960 KSPROPERTY_BIBLIOGRAPHIC_ADDEDENTRYUNIFORMTITLE = '037 ',
00961 KSPROPERTY_BIBLIOGRAPHIC_ADDEDENTRYRELATED = '047 ',
00962 KSPROPERTY_BIBLIOGRAPHIC_SERIESSTATEMENTPERSONALNAME = '008 ',
00963 KSPROPERTY_BIBLIOGRAPHIC_SERIESSTATEMENTUNIFORMTITLE = '038 '
00964 } KSPROPERTY_BIBLIOGRAPHIC;
00965
00966 #define STATIC_KSPROPSETID_TopologyNode \
00967 0x45FFAAA1L,0x6E1B,0x11D0,0xBC,0xF2,0x44,0x45,0x53,0x54,0x00,0x00
00968 DEFINE_GUIDSTRUCT("45FFAAA1-6E1B-11D0-BCF2-444553540000",KSPROPSETID_TopologyNode);
00969 #define KSPROPSETID_TopologyNode DEFINE_GUIDNAMED(KSPROPSETID_TopologyNode)
00970
00971 typedef enum {
00972 KSPROPERTY_TOPOLOGYNODE_ENABLE = 1,
00973 KSPROPERTY_TOPOLOGYNODE_RESET
00974 } KSPROPERTY_TOPOLOGYNODE;
00975
00976 #define STATIC_KSPROPSETID_RtAudio \
00977 0xa855a48c,0x2f78,0x4729,0x90,0x51,0x19,0x68,0x74,0x6b,0x9e,0xef
00978 DEFINE_GUIDSTRUCT("A855A48C-2F78-4729-9051-1968746B9EEF",KSPROPSETID_RtAudio);
00979 #define KSPROPSETID_RtAudio DEFINE_GUIDNAMED(KSPROPSETID_RtAudio)
00980
00981 typedef enum {
00982 KSPROPERTY_RTAUDIO_GETPOSITIONFUNCTION
00983 } KSPROPERTY_RTAUDIO;
00984
00985 #define STATIC_KSPROPSETID_DrmAudioStream \
00986 0x2f2c8ddd,0x4198,0x4fac,0xba,0x29,0x61,0xbb,0x5,0xb7,0xde,0x6
00987 DEFINE_GUIDSTRUCT("2F2C8DDD-4198-4fac-BA29-61BB05B7DE06",KSPROPSETID_DrmAudioStream);
00988 #define KSPROPSETID_DrmAudioStream DEFINE_GUIDNAMED(KSPROPSETID_DrmAudioStream)
00989
00990 typedef enum {
00991 KSPROPERTY_DRMAUDIOSTREAM_CONTENTID
00992 } KSPROPERTY_DRMAUDIOSTREAM;
00993
00994 #define STATIC_KSPROPSETID_Audio \
00995 0x45FFAAA0L,0x6E1B,0x11D0,0xBC,0xF2,0x44,0x45,0x53,0x54,0x00,0x00
00996 DEFINE_GUIDSTRUCT("45FFAAA0-6E1B-11D0-BCF2-444553540000",KSPROPSETID_Audio);
00997 #define KSPROPSETID_Audio DEFINE_GUIDNAMED(KSPROPSETID_Audio)
00998
00999 typedef enum {
01000 KSPROPERTY_AUDIO_LATENCY = 1,
01001 KSPROPERTY_AUDIO_COPY_PROTECTION,
01002 KSPROPERTY_AUDIO_CHANNEL_CONFIG,
01003 KSPROPERTY_AUDIO_VOLUMELEVEL,
01004 KSPROPERTY_AUDIO_POSITION,
01005 KSPROPERTY_AUDIO_DYNAMIC_RANGE,
01006 KSPROPERTY_AUDIO_QUALITY,
01007 KSPROPERTY_AUDIO_SAMPLING_RATE,
01008 KSPROPERTY_AUDIO_DYNAMIC_SAMPLING_RATE,
01009 KSPROPERTY_AUDIO_MIX_LEVEL_TABLE,
01010 KSPROPERTY_AUDIO_MIX_LEVEL_CAPS,
01011 KSPROPERTY_AUDIO_MUX_SOURCE,
01012 KSPROPERTY_AUDIO_MUTE,
01013 KSPROPERTY_AUDIO_BASS,
01014 KSPROPERTY_AUDIO_MID,
01015 KSPROPERTY_AUDIO_TREBLE,
01016 KSPROPERTY_AUDIO_BASS_BOOST,
01017 KSPROPERTY_AUDIO_EQ_LEVEL,
01018 KSPROPERTY_AUDIO_NUM_EQ_BANDS,
01019 KSPROPERTY_AUDIO_EQ_BANDS,
01020 KSPROPERTY_AUDIO_AGC,
01021 KSPROPERTY_AUDIO_DELAY,
01022 KSPROPERTY_AUDIO_LOUDNESS,
01023 KSPROPERTY_AUDIO_WIDE_MODE,
01024 KSPROPERTY_AUDIO_WIDENESS,
01025 KSPROPERTY_AUDIO_REVERB_LEVEL,
01026 KSPROPERTY_AUDIO_CHORUS_LEVEL,
01027 KSPROPERTY_AUDIO_DEV_SPECIFIC,
01028 KSPROPERTY_AUDIO_DEMUX_DEST,
01029 KSPROPERTY_AUDIO_STEREO_ENHANCE,
01030 KSPROPERTY_AUDIO_MANUFACTURE_GUID,
01031 KSPROPERTY_AUDIO_PRODUCT_GUID,
01032 KSPROPERTY_AUDIO_CPU_RESOURCES,
01033 KSPROPERTY_AUDIO_STEREO_SPEAKER_GEOMETRY,
01034 KSPROPERTY_AUDIO_SURROUND_ENCODE,
01035 KSPROPERTY_AUDIO_3D_INTERFACE,
01036 KSPROPERTY_AUDIO_PEAKMETER,
01037 KSPROPERTY_AUDIO_ALGORITHM_INSTANCE,
01038 KSPROPERTY_AUDIO_FILTER_STATE,
01039 KSPROPERTY_AUDIO_PREFERRED_STATUS
01040 } KSPROPERTY_AUDIO;
01041
01042 #define KSAUDIO_QUALITY_WORST 0x0
01043 #define KSAUDIO_QUALITY_PC 0x1
01044 #define KSAUDIO_QUALITY_BASIC 0x2
01045 #define KSAUDIO_QUALITY_ADVANCED 0x3
01046
01047 #define KSAUDIO_CPU_RESOURCES_NOT_HOST_CPU 0x00000000
01048 #define KSAUDIO_CPU_RESOURCES_HOST_CPU 0x7FFFFFFF
01049
01050 typedef struct {
01051 WINBOOL fCopyrighted;
01052 WINBOOL fOriginal;
01053 } KSAUDIO_COPY_PROTECTION,*PKSAUDIO_COPY_PROTECTION;
01054
01055 typedef struct {
01056 LONG ActiveSpeakerPositions;
01057 } KSAUDIO_CHANNEL_CONFIG,*PKSAUDIO_CHANNEL_CONFIG;
01058
01059 #define SPEAKER_FRONT_LEFT 0x1
01060 #define SPEAKER_FRONT_RIGHT 0x2
01061 #define SPEAKER_FRONT_CENTER 0x4
01062 #define SPEAKER_LOW_FREQUENCY 0x8
01063 #define SPEAKER_BACK_LEFT 0x10
01064 #define SPEAKER_BACK_RIGHT 0x20
01065 #define SPEAKER_FRONT_LEFT_OF_CENTER 0x40
01066 #define SPEAKER_FRONT_RIGHT_OF_CENTER 0x80
01067 #define SPEAKER_BACK_CENTER 0x100
01068 #define SPEAKER_SIDE_LEFT 0x200
01069 #define SPEAKER_SIDE_RIGHT 0x400
01070 #define SPEAKER_TOP_CENTER 0x800
01071 #define SPEAKER_TOP_FRONT_LEFT 0x1000
01072 #define SPEAKER_TOP_FRONT_CENTER 0x2000
01073 #define SPEAKER_TOP_FRONT_RIGHT 0x4000
01074 #define SPEAKER_TOP_BACK_LEFT 0x8000
01075 #define SPEAKER_TOP_BACK_CENTER 0x10000
01076 #define SPEAKER_TOP_BACK_RIGHT 0x20000
01077
01078 #define SPEAKER_RESERVED 0x7FFC0000
01079
01080 #define SPEAKER_ALL 0x80000000
01081
01082 #define KSAUDIO_SPEAKER_DIRECTOUT 0
01083 #define KSAUDIO_SPEAKER_MONO (SPEAKER_FRONT_CENTER)
01084 #define KSAUDIO_SPEAKER_STEREO (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT)
01085 #define KSAUDIO_SPEAKER_QUAD (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | \
01086 SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT)
01087 #define KSAUDIO_SPEAKER_SURROUND (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | \
01088 SPEAKER_FRONT_CENTER | SPEAKER_BACK_CENTER)
01089 #define KSAUDIO_SPEAKER_5POINT1 (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | \
01090 SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | \
01091 SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT)
01092 #define KSAUDIO_SPEAKER_7POINT1 (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | \
01093 SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | \
01094 SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT | \
01095 SPEAKER_FRONT_LEFT_OF_CENTER | SPEAKER_FRONT_RIGHT_OF_CENTER)
01096 #define KSAUDIO_SPEAKER_5POINT1_SURROUND (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | \
01097 SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | \
01098 SPEAKER_SIDE_LEFT | SPEAKER_SIDE_RIGHT)
01099 #define KSAUDIO_SPEAKER_7POINT1_SURROUND (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | \
01100 SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | \
01101 SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT | \
01102 SPEAKER_SIDE_LEFT | SPEAKER_SIDE_RIGHT)
01103
01104 #define KSAUDIO_SPEAKER_5POINT1_BACK KSAUDIO_SPEAKER_5POINT1
01105 #define KSAUDIO_SPEAKER_7POINT1_WIDE KSAUDIO_SPEAKER_7POINT1
01106
01107 #define KSAUDIO_SPEAKER_GROUND_FRONT_LEFT SPEAKER_FRONT_LEFT
01108 #define KSAUDIO_SPEAKER_GROUND_FRONT_CENTER SPEAKER_FRONT_CENTER
01109 #define KSAUDIO_SPEAKER_GROUND_FRONT_RIGHT SPEAKER_FRONT_RIGHT
01110 #define KSAUDIO_SPEAKER_GROUND_REAR_LEFT SPEAKER_BACK_LEFT
01111 #define KSAUDIO_SPEAKER_GROUND_REAR_RIGHT SPEAKER_BACK_RIGHT
01112 #define KSAUDIO_SPEAKER_TOP_MIDDLE SPEAKER_TOP_CENTER
01113 #define KSAUDIO_SPEAKER_SUPER_WOOFER SPEAKER_LOW_FREQUENCY
01114
01115 typedef struct {
01116 ULONG QuietCompression;
01117 ULONG LoudCompression;
01118 } KSAUDIO_DYNAMIC_RANGE,*PKSAUDIO_DYNAMIC_RANGE;
01119
01120 typedef struct {
01121 WINBOOL Mute;
01122 LONG Level;
01123 } KSAUDIO_MIXLEVEL,*PKSAUDIO_MIXLEVEL;
01124
01125 typedef struct {
01126 WINBOOL Mute;
01127 LONG Minimum;
01128 LONG Maximum;
01129 LONG Reset;
01130 } KSAUDIO_MIX_CAPS,*PKSAUDIO_MIX_CAPS;
01131
01132 typedef struct {
01133 ULONG InputChannels;
01134 ULONG OutputChannels;
01135 KSAUDIO_MIX_CAPS Capabilities[1];
01136 } KSAUDIO_MIXCAP_TABLE,*PKSAUDIO_MIXCAP_TABLE;
01137
01138 typedef enum {
01139 SE_TECH_NONE,
01140 SE_TECH_ANALOG_DEVICES_PHAT,
01141 SE_TECH_CREATIVE,
01142 SE_TECH_NATIONAL_SEMI,
01143 SE_TECH_YAMAHA_YMERSION,
01144 SE_TECH_BBE,
01145 SE_TECH_CRYSTAL_SEMI,
01146 SE_TECH_QSOUND_QXPANDER,
01147 SE_TECH_SPATIALIZER,
01148 SE_TECH_SRS,
01149 SE_TECH_PLATFORM_TECH,
01150 SE_TECH_AKM,
01151 SE_TECH_AUREAL,
01152 SE_TECH_AZTECH,
01153 SE_TECH_BINAURA,
01154 SE_TECH_ESS_TECH,
01155 SE_TECH_HARMAN_VMAX,
01156 SE_TECH_NVIDEA,
01157 SE_TECH_PHILIPS_INCREDIBLE,
01158 SE_TECH_TEXAS_INST,
01159 SE_TECH_VLSI_TECH
01160 } SE_TECHNIQUE;
01161
01162 typedef struct {
01163 SE_TECHNIQUE Technique;
01164 ULONG Center;
01165 ULONG Depth;
01166 ULONG Reserved;
01167 } KSAUDIO_STEREO_ENHANCE,*PKSAUDIO_STEREO_ENHANCE;
01168
01169 typedef enum {
01170 KSPROPERTY_SYSAUDIO_NORMAL_DEFAULT = 0,
01171 KSPROPERTY_SYSAUDIO_PLAYBACK_DEFAULT,
01172 KSPROPERTY_SYSAUDIO_RECORD_DEFAULT,
01173 KSPROPERTY_SYSAUDIO_MIDI_DEFAULT,
01174 KSPROPERTY_SYSAUDIO_MIXER_DEFAULT
01175 } KSPROPERTY_SYSAUDIO_DEFAULT_TYPE;
01176
01177 typedef struct {
01178 WINBOOL Enable;
01179 KSPROPERTY_SYSAUDIO_DEFAULT_TYPE DeviceType;
01180 ULONG Flags;
01181 ULONG Reserved;
01182 } KSAUDIO_PREFERRED_STATUS,*PKSAUDIO_PREFERRED_STATUS;
01183
01184 #define STATIC_KSNODETYPE_DAC \
01185 0x507AE360L,0xC554,0x11D0,0x8A,0x2B,0x00,0xA0,0xC9,0x25,0x5A,0xC1
01186 DEFINE_GUIDSTRUCT("507AE360-C554-11D0-8A2B-00A0C9255AC1",KSNODETYPE_DAC);
01187 #define KSNODETYPE_DAC DEFINE_GUIDNAMED(KSNODETYPE_DAC)
01188
01189 #define STATIC_KSNODETYPE_ADC \
01190 0x4D837FE0L,0xC555,0x11D0,0x8A,0x2B,0x00,0xA0,0xC9,0x25,0x5A,0xC1
01191 DEFINE_GUIDSTRUCT("4D837FE0-C555-11D0-8A2B-00A0C9255AC1",KSNODETYPE_ADC);
01192 #define KSNODETYPE_ADC DEFINE_GUIDNAMED(KSNODETYPE_ADC)
01193
01194 #define STATIC_KSNODETYPE_SRC \
01195 0x9DB7B9E0L,0xC555,0x11D0,0x8A,0x2B,0x00,0xA0,0xC9,0x25,0x5A,0xC1
01196 DEFINE_GUIDSTRUCT("9DB7B9E0-C555-11D0-8A2B-00A0C9255AC1",KSNODETYPE_SRC);
01197 #define KSNODETYPE_SRC DEFINE_GUIDNAMED(KSNODETYPE_SRC)
01198
01199 #define STATIC_KSNODETYPE_SUPERMIX \
01200 0xE573ADC0L,0xC555,0x11D0,0x8A,0x2B,0x00,0xA0,0xC9,0x25,0x5A,0xC1
01201 DEFINE_GUIDSTRUCT("E573ADC0-C555-11D0-8A2B-00A0C9255AC1",KSNODETYPE_SUPERMIX);
01202 #define KSNODETYPE_SUPERMIX DEFINE_GUIDNAMED(KSNODETYPE_SUPERMIX)
01203
01204 #define STATIC_KSNODETYPE_MUX \
01205 0x2CEAF780L,0xC556,0x11D0,0x8A,0x2B,0x00,0xA0,0xC9,0x25,0x5A,0xC1
01206 DEFINE_GUIDSTRUCT("2CEAF780-C556-11D0-8A2B-00A0C9255AC1",KSNODETYPE_MUX);
01207 #define KSNODETYPE_MUX DEFINE_GUIDNAMED(KSNODETYPE_MUX)
01208
01209 #define STATIC_KSNODETYPE_DEMUX \
01210 0xC0EB67D4L,0xE807,0x11D0,0x95,0x8A,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01211 DEFINE_GUIDSTRUCT("C0EB67D4-E807-11D0-958A-00C04FB925D3",KSNODETYPE_DEMUX);
01212 #define KSNODETYPE_DEMUX DEFINE_GUIDNAMED(KSNODETYPE_DEMUX)
01213
01214 #define STATIC_KSNODETYPE_SUM \
01215 0xDA441A60L,0xC556,0x11D0,0x8A,0x2B,0x00,0xA0,0xC9,0x25,0x5A,0xC1
01216 DEFINE_GUIDSTRUCT("DA441A60-C556-11D0-8A2B-00A0C9255AC1",KSNODETYPE_SUM);
01217 #define KSNODETYPE_SUM DEFINE_GUIDNAMED(KSNODETYPE_SUM)
01218
01219 #define STATIC_KSNODETYPE_MUTE \
01220 0x02B223C0L,0xC557,0x11D0,0x8A,0x2B,0x00,0xA0,0xC9,0x25,0x5A,0xC1
01221 DEFINE_GUIDSTRUCT("02B223C0-C557-11D0-8A2B-00A0C9255AC1",KSNODETYPE_MUTE);
01222 #define KSNODETYPE_MUTE DEFINE_GUIDNAMED(KSNODETYPE_MUTE)
01223
01224 #define STATIC_KSNODETYPE_VOLUME \
01225 0x3A5ACC00L,0xC557,0x11D0,0x8A,0x2B,0x00,0xA0,0xC9,0x25,0x5A,0xC1
01226 DEFINE_GUIDSTRUCT("3A5ACC00-C557-11D0-8A2B-00A0C9255AC1",KSNODETYPE_VOLUME);
01227 #define KSNODETYPE_VOLUME DEFINE_GUIDNAMED(KSNODETYPE_VOLUME)
01228
01229 #define STATIC_KSNODETYPE_TONE \
01230 0x7607E580L,0xC557,0x11D0,0x8A,0x2B,0x00,0xA0,0xC9,0x25,0x5A,0xC1
01231 DEFINE_GUIDSTRUCT("7607E580-C557-11D0-8A2B-00A0C9255AC1",KSNODETYPE_TONE);
01232 #define KSNODETYPE_TONE DEFINE_GUIDNAMED(KSNODETYPE_TONE)
01233
01234 #define STATIC_KSNODETYPE_EQUALIZER \
01235 0x9D41B4A0L,0xC557,0x11D0,0x8A,0x2B,0x00,0xA0,0xC9,0x25,0x5A,0xC1
01236 DEFINE_GUIDSTRUCT("9D41B4A0-C557-11D0-8A2B-00A0C9255AC1",KSNODETYPE_EQUALIZER);
01237 #define KSNODETYPE_EQUALIZER DEFINE_GUIDNAMED(KSNODETYPE_EQUALIZER)
01238
01239 #define STATIC_KSNODETYPE_AGC \
01240 0xE88C9BA0L,0xC557,0x11D0,0x8A,0x2B,0x00,0xA0,0xC9,0x25,0x5A,0xC1
01241 DEFINE_GUIDSTRUCT("E88C9BA0-C557-11D0-8A2B-00A0C9255AC1",KSNODETYPE_AGC);
01242 #define KSNODETYPE_AGC DEFINE_GUIDNAMED(KSNODETYPE_AGC)
01243
01244 #define STATIC_KSNODETYPE_NOISE_SUPPRESS \
01245 0xe07f903f,0x62fd,0x4e60,0x8c,0xdd,0xde,0xa7,0x23,0x66,0x65,0xb5
01246 DEFINE_GUIDSTRUCT("E07F903F-62FD-4e60-8CDD-DEA7236665B5",KSNODETYPE_NOISE_SUPPRESS);
01247 #define KSNODETYPE_NOISE_SUPPRESS DEFINE_GUIDNAMED(KSNODETYPE_NOISE_SUPPRESS)
01248
01249 #define STATIC_KSNODETYPE_DELAY \
01250 0x144981E0L,0xC558,0x11D0,0x8A,0x2B,0x00,0xA0,0xC9,0x25,0x5A,0xC1
01251 DEFINE_GUIDSTRUCT("144981E0-C558-11D0-8A2B-00A0C9255AC1",KSNODETYPE_DELAY);
01252 #define KSNODETYPE_DELAY DEFINE_GUIDNAMED(KSNODETYPE_DELAY)
01253
01254 #define STATIC_KSNODETYPE_LOUDNESS \
01255 0x41887440L,0xC558,0x11D0,0x8A,0x2B,0x00,0xA0,0xC9,0x25,0x5A,0xC1
01256 DEFINE_GUIDSTRUCT("41887440-C558-11D0-8A2B-00A0C9255AC1",KSNODETYPE_LOUDNESS);
01257 #define KSNODETYPE_LOUDNESS DEFINE_GUIDNAMED(KSNODETYPE_LOUDNESS)
01258
01259 #define STATIC_KSNODETYPE_PROLOGIC_DECODER \
01260 0x831C2C80L,0xC558,0x11D0,0x8A,0x2B,0x00,0xA0,0xC9,0x25,0x5A,0xC1
01261 DEFINE_GUIDSTRUCT("831C2C80-C558-11D0-8A2B-00A0C9255AC1",KSNODETYPE_PROLOGIC_DECODER);
01262 #define KSNODETYPE_PROLOGIC_DECODER DEFINE_GUIDNAMED(KSNODETYPE_PROLOGIC_DECODER)
01263
01264 #define STATIC_KSNODETYPE_STEREO_WIDE \
01265 0xA9E69800L,0xC558,0x11D0,0x8A,0x2B,0x00,0xA0,0xC9,0x25,0x5A,0xC1
01266 DEFINE_GUIDSTRUCT("A9E69800-C558-11D0-8A2B-00A0C9255AC1",KSNODETYPE_STEREO_WIDE);
01267 #define KSNODETYPE_STEREO_WIDE DEFINE_GUIDNAMED(KSNODETYPE_STEREO_WIDE)
01268
01269 #define STATIC_KSNODETYPE_STEREO_ENHANCE \
01270 0xAF6878ACL,0xE83F,0x11D0,0x95,0x8A,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01271 DEFINE_GUIDSTRUCT("AF6878AC-E83F-11D0-958A-00C04FB925D3",KSNODETYPE_STEREO_ENHANCE);
01272 #define KSNODETYPE_STEREO_ENHANCE DEFINE_GUIDNAMED(KSNODETYPE_STEREO_ENHANCE)
01273
01274 #define STATIC_KSNODETYPE_REVERB \
01275 0xEF0328E0L,0xC558,0x11D0,0x8A,0x2B,0x00,0xA0,0xC9,0x25,0x5A,0xC1
01276 DEFINE_GUIDSTRUCT("EF0328E0-C558-11D0-8A2B-00A0C9255AC1",KSNODETYPE_REVERB);
01277 #define KSNODETYPE_REVERB DEFINE_GUIDNAMED(KSNODETYPE_REVERB)
01278
01279 #define STATIC_KSNODETYPE_CHORUS \
01280 0x20173F20L,0xC559,0x11D0,0x8A,0x2B,0x00,0xA0,0xC9,0x25,0x5A,0xC1
01281 DEFINE_GUIDSTRUCT("20173F20-C559-11D0-8A2B-00A0C9255AC1",KSNODETYPE_CHORUS);
01282 #define KSNODETYPE_CHORUS DEFINE_GUIDNAMED(KSNODETYPE_CHORUS)
01283
01284 #define STATIC_KSNODETYPE_3D_EFFECTS \
01285 0x55515860L,0xC559,0x11D0,0x8A,0x2B,0x00,0xA0,0xC9,0x25,0x5A,0xC1
01286 DEFINE_GUIDSTRUCT("55515860-C559-11D0-8A2B-00A0C9255AC1",KSNODETYPE_3D_EFFECTS);
01287 #define KSNODETYPE_3D_EFFECTS DEFINE_GUIDNAMED(KSNODETYPE_3D_EFFECTS)
01288
01289 #define STATIC_KSNODETYPE_ACOUSTIC_ECHO_CANCEL STATIC_KSCATEGORY_ACOUSTIC_ECHO_CANCEL
01290 #define KSNODETYPE_ACOUSTIC_ECHO_CANCEL KSCATEGORY_ACOUSTIC_ECHO_CANCEL
01291
01292 #define STATIC_KSALGORITHMINSTANCE_SYSTEM_ACOUSTIC_ECHO_CANCEL \
01293 0x1c22c56dL,0x9879,0x4f5b,0xa3,0x89,0x27,0x99,0x6d,0xdc,0x28,0x10
01294 DEFINE_GUIDSTRUCT("1C22C56D-9879-4f5b-A389-27996DDC2810",KSALGORITHMINSTANCE_SYSTEM_ACOUSTIC_ECHO_CANCEL);
01295 #define KSALGORITHMINSTANCE_SYSTEM_ACOUSTIC_ECHO_CANCEL DEFINE_GUIDNAMED(KSALGORITHMINSTANCE_SYSTEM_ACOUSTIC_ECHO_CANCEL)
01296
01297 #define STATIC_KSALGORITHMINSTANCE_SYSTEM_NOISE_SUPPRESS \
01298 0x5ab0882eL,0x7274,0x4516,0x87,0x7d,0x4e,0xee,0x99,0xba,0x4f,0xd0
01299 DEFINE_GUIDSTRUCT("5AB0882E-7274-4516-877D-4EEE99BA4FD0",KSALGORITHMINSTANCE_SYSTEM_NOISE_SUPPRESS);
01300 #define KSALGORITHMINSTANCE_SYSTEM_NOISE_SUPPRESS DEFINE_GUIDNAMED(KSALGORITHMINSTANCE_SYSTEM_NOISE_SUPPRESS)
01301
01302 #define STATIC_KSALGORITHMINSTANCE_SYSTEM_AGC \
01303 0x950e55b9L,0x877c,0x4c67,0xbe,0x8,0xe4,0x7b,0x56,0x11,0x13,0xa
01304 DEFINE_GUIDSTRUCT("950E55B9-877C-4c67-BE08-E47B5611130A",KSALGORITHMINSTANCE_SYSTEM_AGC);
01305 #define KSALGORITHMINSTANCE_SYSTEM_AGC DEFINE_GUIDNAMED(KSALGORITHMINSTANCE_SYSTEM_AGC)
01306
01307 #define STATIC_KSALGORITHMINSTANCE_SYSTEM_MICROPHONE_ARRAY_PROCESSOR \
01308 0xB6F5A0A0L,0x9E61,0x4F8C,0x91,0xE3,0x76,0xCF,0xF,0x3C,0x47,0x1F
01309 DEFINE_GUIDSTRUCT("B6F5A0A0-9E61-4f8c-91E3-76CF0F3C471F",KSALGORITHMINSTANCE_SYSTEM_MICROPHONE_ARRAY_PROCESSOR);
01310 #define KSALGORITHMINSTANCE_SYSTEM_MICROPHONE_ARRAY_PROCESSOR DEFINE_GUIDNAMED(KSALGORITHMINSTANCE_SYSTEM_MICROPHONE_ARRAY_PROCESSOR)
01311
01312 #define STATIC_KSNODETYPE_MICROPHONE_ARRAY_PROCESSOR STATIC_KSCATEGORY_MICROPHONE_ARRAY_PROCESSOR
01313 #define KSNODETYPE_MICROPHONE_ARRAY_PROCESSOR KSCATEGORY_MICROPHONE_ARRAY_PROCESSOR
01314
01315 #define STATIC_KSNODETYPE_DEV_SPECIFIC \
01316 0x941C7AC0L,0xC559,0x11D0,0x8A,0x2B,0x00,0xA0,0xC9,0x25,0x5A,0xC1
01317 DEFINE_GUIDSTRUCT("941C7AC0-C559-11D0-8A2B-00A0C9255AC1",KSNODETYPE_DEV_SPECIFIC);
01318 #define KSNODETYPE_DEV_SPECIFIC DEFINE_GUIDNAMED(KSNODETYPE_DEV_SPECIFIC)
01319
01320 #define STATIC_KSNODETYPE_PROLOGIC_ENCODER \
01321 0x8074C5B2L,0x3C66,0x11D2,0xB4,0x5A,0x30,0x78,0x30,0x2C,0x20,0x30
01322 DEFINE_GUIDSTRUCT("8074C5B2-3C66-11D2-B45A-3078302C2030",KSNODETYPE_PROLOGIC_ENCODER);
01323 #define KSNODETYPE_PROLOGIC_ENCODER DEFINE_GUIDNAMED(KSNODETYPE_PROLOGIC_ENCODER)
01324 #define KSNODETYPE_SURROUND_ENCODER KSNODETYPE_PROLOGIC_ENCODER
01325
01326 #define STATIC_KSNODETYPE_PEAKMETER \
01327 0xa085651eL,0x5f0d,0x4b36,0xa8,0x69,0xd1,0x95,0xd6,0xab,0x4b,0x9e
01328 DEFINE_GUIDSTRUCT("A085651E-5F0D-4b36-A869-D195D6AB4B9E",KSNODETYPE_PEAKMETER);
01329 #define KSNODETYPE_PEAKMETER DEFINE_GUIDNAMED(KSNODETYPE_PEAKMETER)
01330
01331 #define STATIC_KSAUDFNAME_BASS \
01332 0x185FEDE0L,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01333 DEFINE_GUIDSTRUCT("185FEDE0-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_BASS);
01334 #define KSAUDFNAME_BASS DEFINE_GUIDNAMED(KSAUDFNAME_BASS)
01335
01336 #define STATIC_KSAUDFNAME_TREBLE \
01337 0x185FEDE1L,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01338 DEFINE_GUIDSTRUCT("185FEDE1-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_TREBLE);
01339 #define KSAUDFNAME_TREBLE DEFINE_GUIDNAMED(KSAUDFNAME_TREBLE)
01340
01341 #define STATIC_KSAUDFNAME_3D_STEREO \
01342 0x185FEDE2L,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01343 DEFINE_GUIDSTRUCT("185FEDE2-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_3D_STEREO);
01344 #define KSAUDFNAME_3D_STEREO DEFINE_GUIDNAMED(KSAUDFNAME_3D_STEREO)
01345
01346 #define STATIC_KSAUDFNAME_MASTER_VOLUME \
01347 0x185FEDE3L,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01348 DEFINE_GUIDSTRUCT("185FEDE3-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_MASTER_VOLUME);
01349 #define KSAUDFNAME_MASTER_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_MASTER_VOLUME)
01350
01351 #define STATIC_KSAUDFNAME_MASTER_MUTE \
01352 0x185FEDE4L,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01353 DEFINE_GUIDSTRUCT("185FEDE4-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_MASTER_MUTE);
01354 #define KSAUDFNAME_MASTER_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_MASTER_MUTE)
01355
01356 #define STATIC_KSAUDFNAME_WAVE_VOLUME \
01357 0x185FEDE5L,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01358 DEFINE_GUIDSTRUCT("185FEDE5-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_WAVE_VOLUME);
01359 #define KSAUDFNAME_WAVE_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_WAVE_VOLUME)
01360
01361 #define STATIC_KSAUDFNAME_WAVE_MUTE \
01362 0x185FEDE6L,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01363 DEFINE_GUIDSTRUCT("185FEDE6-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_WAVE_MUTE);
01364 #define KSAUDFNAME_WAVE_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_WAVE_MUTE)
01365
01366 #define STATIC_KSAUDFNAME_MIDI_VOLUME \
01367 0x185FEDE7L,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01368 DEFINE_GUIDSTRUCT("185FEDE7-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_MIDI_VOLUME);
01369 #define KSAUDFNAME_MIDI_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_MIDI_VOLUME)
01370
01371 #define STATIC_KSAUDFNAME_MIDI_MUTE \
01372 0x185FEDE8L,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01373 DEFINE_GUIDSTRUCT("185FEDE8-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_MIDI_MUTE);
01374 #define KSAUDFNAME_MIDI_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_MIDI_MUTE)
01375
01376 #define STATIC_KSAUDFNAME_CD_VOLUME \
01377 0x185FEDE9L,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01378 DEFINE_GUIDSTRUCT("185FEDE9-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_CD_VOLUME);
01379 #define KSAUDFNAME_CD_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_CD_VOLUME)
01380
01381 #define STATIC_KSAUDFNAME_CD_MUTE \
01382 0x185FEDEAL,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01383 DEFINE_GUIDSTRUCT("185FEDEA-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_CD_MUTE);
01384 #define KSAUDFNAME_CD_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_CD_MUTE)
01385
01386 #define STATIC_KSAUDFNAME_LINE_VOLUME \
01387 0x185FEDEBL,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01388 DEFINE_GUIDSTRUCT("185FEDEB-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_LINE_VOLUME);
01389 #define KSAUDFNAME_LINE_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_LINE_VOLUME)
01390
01391 #define STATIC_KSAUDFNAME_LINE_MUTE \
01392 0x185FEDECL,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01393 DEFINE_GUIDSTRUCT("185FEDEC-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_LINE_MUTE);
01394 #define KSAUDFNAME_LINE_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_LINE_MUTE)
01395
01396 #define STATIC_KSAUDFNAME_MIC_VOLUME \
01397 0x185FEDEDL,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01398 DEFINE_GUIDSTRUCT("185FEDED-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_MIC_VOLUME);
01399 #define KSAUDFNAME_MIC_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_MIC_VOLUME)
01400
01401 #define STATIC_KSAUDFNAME_MIC_MUTE \
01402 0x185FEDEEL,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01403 DEFINE_GUIDSTRUCT("185FEDEE-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_MIC_MUTE);
01404 #define KSAUDFNAME_MIC_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_MIC_MUTE)
01405
01406 #define STATIC_KSAUDFNAME_RECORDING_SOURCE \
01407 0x185FEDEFL,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01408 DEFINE_GUIDSTRUCT("185FEDEF-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_RECORDING_SOURCE);
01409 #define KSAUDFNAME_RECORDING_SOURCE DEFINE_GUIDNAMED(KSAUDFNAME_RECORDING_SOURCE)
01410
01411 #define STATIC_KSAUDFNAME_PC_SPEAKER_VOLUME \
01412 0x185FEDF0L,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01413 DEFINE_GUIDSTRUCT("185FEDF0-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_PC_SPEAKER_VOLUME);
01414 #define KSAUDFNAME_PC_SPEAKER_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_PC_SPEAKER_VOLUME)
01415
01416 #define STATIC_KSAUDFNAME_PC_SPEAKER_MUTE \
01417 0x185FEDF1L,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01418 DEFINE_GUIDSTRUCT("185FEDF1-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_PC_SPEAKER_MUTE);
01419 #define KSAUDFNAME_PC_SPEAKER_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_PC_SPEAKER_MUTE)
01420
01421 #define STATIC_KSAUDFNAME_MIDI_IN_VOLUME \
01422 0x185FEDF2L,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01423 DEFINE_GUIDSTRUCT("185FEDF2-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_MIDI_IN_VOLUME);
01424 #define KSAUDFNAME_MIDI_IN_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_MIDI_IN_VOLUME)
01425
01426 #define STATIC_KSAUDFNAME_CD_IN_VOLUME \
01427 0x185FEDF3L,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01428 DEFINE_GUIDSTRUCT("185FEDF3-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_CD_IN_VOLUME);
01429 #define KSAUDFNAME_CD_IN_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_CD_IN_VOLUME)
01430
01431 #define STATIC_KSAUDFNAME_LINE_IN_VOLUME \
01432 0x185FEDF4L,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01433 DEFINE_GUIDSTRUCT("185FEDF4-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_LINE_IN_VOLUME);
01434 #define KSAUDFNAME_LINE_IN_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_LINE_IN_VOLUME)
01435
01436 #define STATIC_KSAUDFNAME_MIC_IN_VOLUME \
01437 0x185FEDF5L,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01438 DEFINE_GUIDSTRUCT("185FEDF5-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_MIC_IN_VOLUME);
01439 #define KSAUDFNAME_MIC_IN_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_MIC_IN_VOLUME)
01440
01441 #define STATIC_KSAUDFNAME_WAVE_IN_VOLUME \
01442 0x185FEDF6L,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01443 DEFINE_GUIDSTRUCT("185FEDF6-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_WAVE_IN_VOLUME);
01444 #define KSAUDFNAME_WAVE_IN_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_WAVE_IN_VOLUME)
01445
01446 #define STATIC_KSAUDFNAME_VOLUME_CONTROL \
01447 0x185FEDF7L,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01448 DEFINE_GUIDSTRUCT("185FEDF7-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_VOLUME_CONTROL);
01449 #define KSAUDFNAME_VOLUME_CONTROL DEFINE_GUIDNAMED(KSAUDFNAME_VOLUME_CONTROL)
01450
01451 #define STATIC_KSAUDFNAME_MIDI \
01452 0x185FEDF8L,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01453 DEFINE_GUIDSTRUCT("185FEDF8-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_MIDI);
01454 #define KSAUDFNAME_MIDI DEFINE_GUIDNAMED(KSAUDFNAME_MIDI)
01455
01456 #define STATIC_KSAUDFNAME_LINE_IN \
01457 0x185FEDF9L,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01458 DEFINE_GUIDSTRUCT("185FEDF9-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_LINE_IN);
01459 #define KSAUDFNAME_LINE_IN DEFINE_GUIDNAMED(KSAUDFNAME_LINE_IN)
01460
01461 #define STATIC_KSAUDFNAME_RECORDING_CONTROL \
01462 0x185FEDFAL,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01463 DEFINE_GUIDSTRUCT("185FEDFA-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_RECORDING_CONTROL);
01464 #define KSAUDFNAME_RECORDING_CONTROL DEFINE_GUIDNAMED(KSAUDFNAME_RECORDING_CONTROL)
01465
01466 #define STATIC_KSAUDFNAME_CD_AUDIO \
01467 0x185FEDFBL,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01468 DEFINE_GUIDSTRUCT("185FEDFB-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_CD_AUDIO);
01469 #define KSAUDFNAME_CD_AUDIO DEFINE_GUIDNAMED(KSAUDFNAME_CD_AUDIO)
01470
01471 #define STATIC_KSAUDFNAME_AUX_VOLUME \
01472 0x185FEDFCL,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01473 DEFINE_GUIDSTRUCT("185FEDFC-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_AUX_VOLUME);
01474 #define KSAUDFNAME_AUX_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_AUX_VOLUME)
01475
01476 #define STATIC_KSAUDFNAME_AUX_MUTE \
01477 0x185FEDFDL,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01478 DEFINE_GUIDSTRUCT("185FEDFD-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_AUX_MUTE);
01479 #define KSAUDFNAME_AUX_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_AUX_MUTE)
01480
01481 #define STATIC_KSAUDFNAME_AUX \
01482 0x185FEDFEL,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01483 DEFINE_GUIDSTRUCT("185FEDFE-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_AUX);
01484 #define KSAUDFNAME_AUX DEFINE_GUIDNAMED(KSAUDFNAME_AUX)
01485
01486 #define STATIC_KSAUDFNAME_PC_SPEAKER \
01487 0x185FEDFFL,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01488 DEFINE_GUIDSTRUCT("185FEDFF-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_PC_SPEAKER);
01489 #define KSAUDFNAME_PC_SPEAKER DEFINE_GUIDNAMED(KSAUDFNAME_PC_SPEAKER)
01490
01491 #define STATIC_KSAUDFNAME_WAVE_OUT_MIX \
01492 0x185FEE00L,0x9905,0x11D1,0x95,0xA9,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01493 DEFINE_GUIDSTRUCT("185FEE00-9905-11D1-95A9-00C04FB925D3",KSAUDFNAME_WAVE_OUT_MIX);
01494 #define KSAUDFNAME_WAVE_OUT_MIX DEFINE_GUIDNAMED(KSAUDFNAME_WAVE_OUT_MIX)
01495
01496 #define STATIC_KSAUDFNAME_MONO_OUT \
01497 0xf9b41dc3L,0x96e2,0x11d2,0xac,0x4c,0x0,0xc0,0x4f,0x8e,0xfb,0x68
01498 DEFINE_GUIDSTRUCT("F9B41DC3-96E2-11d2-AC4C-00C04F8EFB68",KSAUDFNAME_MONO_OUT);
01499 #define KSAUDFNAME_MONO_OUT DEFINE_GUIDNAMED(KSAUDFNAME_MONO_OUT)
01500
01501 #define STATIC_KSAUDFNAME_STEREO_MIX \
01502 0xdff077L,0x96e3,0x11d2,0xac,0x4c,0x0,0xc0,0x4f,0x8e,0xfb,0x68
01503 DEFINE_GUIDSTRUCT("00DFF077-96E3-11d2-AC4C-00C04F8EFB68",KSAUDFNAME_STEREO_MIX);
01504 #define KSAUDFNAME_STEREO_MIX DEFINE_GUIDNAMED(KSAUDFNAME_STEREO_MIX)
01505
01506 #define STATIC_KSAUDFNAME_MONO_MIX \
01507 0xdff078L,0x96e3,0x11d2,0xac,0x4c,0x0,0xc0,0x4f,0x8e,0xfb,0x68
01508 DEFINE_GUIDSTRUCT("00DFF078-96E3-11d2-AC4C-00C04F8EFB68",KSAUDFNAME_MONO_MIX);
01509 #define KSAUDFNAME_MONO_MIX DEFINE_GUIDNAMED(KSAUDFNAME_MONO_MIX)
01510
01511 #define STATIC_KSAUDFNAME_MONO_OUT_VOLUME \
01512 0x1ad247ebL,0x96e3,0x11d2,0xac,0x4c,0x0,0xc0,0x4f,0x8e,0xfb,0x68
01513 DEFINE_GUIDSTRUCT("1AD247EB-96E3-11d2-AC4C-00C04F8EFB68",KSAUDFNAME_MONO_OUT_VOLUME);
01514 #define KSAUDFNAME_MONO_OUT_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_MONO_OUT_VOLUME)
01515
01516 #define STATIC_KSAUDFNAME_MONO_OUT_MUTE \
01517 0x1ad247ecL,0x96e3,0x11d2,0xac,0x4c,0x0,0xc0,0x4f,0x8e,0xfb,0x68
01518 DEFINE_GUIDSTRUCT("1AD247EC-96E3-11d2-AC4C-00C04F8EFB68",KSAUDFNAME_MONO_OUT_MUTE);
01519 #define KSAUDFNAME_MONO_OUT_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_MONO_OUT_MUTE)
01520
01521 #define STATIC_KSAUDFNAME_STEREO_MIX_VOLUME \
01522 0x1ad247edL,0x96e3,0x11d2,0xac,0x4c,0x0,0xc0,0x4f,0x8e,0xfb,0x68
01523 DEFINE_GUIDSTRUCT("1AD247ED-96E3-11d2-AC4C-00C04F8EFB68",KSAUDFNAME_STEREO_MIX_VOLUME);
01524 #define KSAUDFNAME_STEREO_MIX_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_STEREO_MIX_VOLUME)
01525
01526 #define STATIC_KSAUDFNAME_STEREO_MIX_MUTE \
01527 0x22b0eafdL,0x96e3,0x11d2,0xac,0x4c,0x0,0xc0,0x4f,0x8e,0xfb,0x68
01528 DEFINE_GUIDSTRUCT("22B0EAFD-96E3-11d2-AC4C-00C04F8EFB68",KSAUDFNAME_STEREO_MIX_MUTE);
01529 #define KSAUDFNAME_STEREO_MIX_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_STEREO_MIX_MUTE)
01530
01531 #define STATIC_KSAUDFNAME_MONO_MIX_VOLUME \
01532 0x22b0eafeL,0x96e3,0x11d2,0xac,0x4c,0x0,0xc0,0x4f,0x8e,0xfb,0x68
01533 DEFINE_GUIDSTRUCT("22B0EAFE-96E3-11d2-AC4C-00C04F8EFB68",KSAUDFNAME_MONO_MIX_VOLUME);
01534 #define KSAUDFNAME_MONO_MIX_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_MONO_MIX_VOLUME)
01535
01536 #define STATIC_KSAUDFNAME_MONO_MIX_MUTE \
01537 0x2bc31d69L,0x96e3,0x11d2,0xac,0x4c,0x0,0xc0,0x4f,0x8e,0xfb,0x68
01538 DEFINE_GUIDSTRUCT("2BC31D69-96E3-11d2-AC4C-00C04F8EFB68",KSAUDFNAME_MONO_MIX_MUTE);
01539 #define KSAUDFNAME_MONO_MIX_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_MONO_MIX_MUTE)
01540
01541 #define STATIC_KSAUDFNAME_MICROPHONE_BOOST \
01542 0x2bc31d6aL,0x96e3,0x11d2,0xac,0x4c,0x0,0xc0,0x4f,0x8e,0xfb,0x68
01543 DEFINE_GUIDSTRUCT("2BC31D6A-96E3-11d2-AC4C-00C04F8EFB68",KSAUDFNAME_MICROPHONE_BOOST);
01544 #define KSAUDFNAME_MICROPHONE_BOOST DEFINE_GUIDNAMED(KSAUDFNAME_MICROPHONE_BOOST)
01545
01546 #define STATIC_KSAUDFNAME_ALTERNATE_MICROPHONE \
01547 0x2bc31d6bL,0x96e3,0x11d2,0xac,0x4c,0x0,0xc0,0x4f,0x8e,0xfb,0x68
01548 DEFINE_GUIDSTRUCT("2BC31D6B-96E3-11d2-AC4C-00C04F8EFB68",KSAUDFNAME_ALTERNATE_MICROPHONE);
01549 #define KSAUDFNAME_ALTERNATE_MICROPHONE DEFINE_GUIDNAMED(KSAUDFNAME_ALTERNATE_MICROPHONE)
01550
01551 #define STATIC_KSAUDFNAME_3D_DEPTH \
01552 0x63ff5747L,0x991f,0x11d2,0xac,0x4d,0x0,0xc0,0x4f,0x8e,0xfb,0x68
01553 DEFINE_GUIDSTRUCT("63FF5747-991F-11d2-AC4D-00C04F8EFB68",KSAUDFNAME_3D_DEPTH);
01554 #define KSAUDFNAME_3D_DEPTH DEFINE_GUIDNAMED(KSAUDFNAME_3D_DEPTH)
01555
01556 #define STATIC_KSAUDFNAME_3D_CENTER \
01557 0x9f0670b4L,0x991f,0x11d2,0xac,0x4d,0x0,0xc0,0x4f,0x8e,0xfb,0x68
01558 DEFINE_GUIDSTRUCT("9F0670B4-991F-11d2-AC4D-00C04F8EFB68",KSAUDFNAME_3D_CENTER);
01559 #define KSAUDFNAME_3D_CENTER DEFINE_GUIDNAMED(KSAUDFNAME_3D_CENTER)
01560
01561 #define STATIC_KSAUDFNAME_VIDEO_VOLUME \
01562 0x9b46e708L,0x992a,0x11d2,0xac,0x4d,0x0,0xc0,0x4f,0x8e,0xfb,0x68
01563 DEFINE_GUIDSTRUCT("9B46E708-992A-11d2-AC4D-00C04F8EFB68",KSAUDFNAME_VIDEO_VOLUME);
01564 #define KSAUDFNAME_VIDEO_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_VIDEO_VOLUME)
01565
01566 #define STATIC_KSAUDFNAME_VIDEO_MUTE \
01567 0x9b46e709L,0x992a,0x11d2,0xac,0x4d,0x0,0xc0,0x4f,0x8e,0xfb,0x68
01568 DEFINE_GUIDSTRUCT("9B46E709-992A-11d2-AC4D-00C04F8EFB68",KSAUDFNAME_VIDEO_MUTE);
01569 #define KSAUDFNAME_VIDEO_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_VIDEO_MUTE)
01570
01571 #define STATIC_KSAUDFNAME_VIDEO \
01572 0x915daec4L,0xa434,0x11d2,0xac,0x52,0x0,0xc0,0x4f,0x8e,0xfb,0x68
01573 DEFINE_GUIDSTRUCT("915DAEC4-A434-11d2-AC52-00C04F8EFB68",KSAUDFNAME_VIDEO);
01574 #define KSAUDFNAME_VIDEO DEFINE_GUIDNAMED(KSAUDFNAME_VIDEO)
01575
01576 #define STATIC_KSAUDFNAME_PEAKMETER \
01577 0x57e24340L,0xfc5b,0x4612,0xa5,0x62,0x72,0xb1,0x1a,0x29,0xdf,0xae
01578 DEFINE_GUIDSTRUCT("57E24340-FC5B-4612-A562-72B11A29DFAE",KSAUDFNAME_PEAKMETER);
01579 #define KSAUDFNAME_PEAKMETER DEFINE_GUIDNAMED(KSAUDFNAME_PEAKMETER)
01580
01581 #define KSNODEPIN_STANDARD_IN 1
01582 #define KSNODEPIN_STANDARD_OUT 0
01583
01584 #define KSNODEPIN_SUM_MUX_IN 1
01585 #define KSNODEPIN_SUM_MUX_OUT 0
01586
01587 #define KSNODEPIN_DEMUX_IN 0
01588 #define KSNODEPIN_DEMUX_OUT 1
01589
01590 #define KSNODEPIN_AEC_RENDER_IN 1
01591 #define KSNODEPIN_AEC_RENDER_OUT 0
01592 #define KSNODEPIN_AEC_CAPTURE_IN 2
01593 #define KSNODEPIN_AEC_CAPTURE_OUT 3
01594
01595 #define STATIC_KSMETHODSETID_Wavetable \
01596 0xDCEF31EBL,0xD907,0x11D0,0x95,0x83,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01597 DEFINE_GUIDSTRUCT("DCEF31EB-D907-11D0-9583-00C04FB925D3",KSMETHODSETID_Wavetable);
01598 #define KSMETHODSETID_Wavetable DEFINE_GUIDNAMED(KSMETHODSETID_Wavetable)
01599
01600 typedef enum {
01601 KSMETHOD_WAVETABLE_WAVE_ALLOC,
01602 KSMETHOD_WAVETABLE_WAVE_FREE,
01603 KSMETHOD_WAVETABLE_WAVE_FIND,
01604 KSMETHOD_WAVETABLE_WAVE_WRITE
01605 } KSMETHOD_WAVETABLE;
01606
01607 typedef struct {
01608 KSIDENTIFIER Identifier;
01609 ULONG Size;
01610 WINBOOL Looped;
01611 ULONG LoopPoint;
01612 WINBOOL InROM;
01613 KSDATAFORMAT Format;
01614 } KSWAVETABLE_WAVE_DESC,*PKSWAVETABLE_WAVE_DESC;
01615
01616 #define STATIC_KSPROPSETID_Acoustic_Echo_Cancel \
01617 0xd7a4af8bL,0x3dc1,0x4902,0x91,0xea,0x8a,0x15,0xc9,0x0e,0x05,0xb2
01618 DEFINE_GUIDSTRUCT("D7A4AF8B-3DC1-4902-91EA-8A15C90E05B2",KSPROPSETID_Acoustic_Echo_Cancel);
01619 #define KSPROPSETID_Acoustic_Echo_Cancel DEFINE_GUIDNAMED(KSPROPSETID_Acoustic_Echo_Cancel)
01620
01621 typedef enum {
01622 KSPROPERTY_AEC_NOISE_FILL_ENABLE = 0,
01623 KSPROPERTY_AEC_STATUS,
01624 KSPROPERTY_AEC_MODE
01625 } KSPROPERTY_AEC;
01626
01627 #define AEC_STATUS_FD_HISTORY_UNINITIALIZED 0x0
01628 #define AEC_STATUS_FD_HISTORY_CONTINUOUSLY_CONVERGED 0x1
01629 #define AEC_STATUS_FD_HISTORY_PREVIOUSLY_DIVERGED 0x2
01630 #define AEC_STATUS_FD_CURRENTLY_CONVERGED 0x8
01631
01632 #define AEC_MODE_PASS_THROUGH 0x0
01633 #define AEC_MODE_HALF_DUPLEX 0x1
01634 #define AEC_MODE_FULL_DUPLEX 0x2
01635
01636 #define STATIC_KSPROPSETID_Wave \
01637 0x924e54b0L,0x630f,0x11cf,0xad,0xa7,0x08,0x00,0x3e,0x30,0x49,0x4a
01638 DEFINE_GUIDSTRUCT("924e54b0-630f-11cf-ada7-08003e30494a",KSPROPSETID_Wave);
01639 #define KSPROPSETID_Wave DEFINE_GUIDNAMED(KSPROPSETID_Wave)
01640
01641 typedef enum {
01642 KSPROPERTY_WAVE_COMPATIBLE_CAPABILITIES,
01643 KSPROPERTY_WAVE_INPUT_CAPABILITIES,
01644 KSPROPERTY_WAVE_OUTPUT_CAPABILITIES,
01645 KSPROPERTY_WAVE_BUFFER,
01646 KSPROPERTY_WAVE_FREQUENCY,
01647 KSPROPERTY_WAVE_VOLUME,
01648 KSPROPERTY_WAVE_PAN
01649 } KSPROPERTY_WAVE;
01650
01651 typedef struct {
01652 ULONG ulDeviceType;
01653 } KSWAVE_COMPATCAPS,*PKSWAVE_COMPATCAPS;
01654
01655 #define KSWAVE_COMPATCAPS_INPUT 0x00000000
01656 #define KSWAVE_COMPATCAPS_OUTPUT 0x00000001
01657
01658 typedef struct {
01659 ULONG MaximumChannelsPerConnection;
01660 ULONG MinimumBitsPerSample;
01661 ULONG MaximumBitsPerSample;
01662 ULONG MinimumSampleFrequency;
01663 ULONG MaximumSampleFrequency;
01664 ULONG TotalConnections;
01665 ULONG ActiveConnections;
01666 } KSWAVE_INPUT_CAPABILITIES,*PKSWAVE_INPUT_CAPABILITIES;
01667
01668 typedef struct {
01669 ULONG MaximumChannelsPerConnection;
01670 ULONG MinimumBitsPerSample;
01671 ULONG MaximumBitsPerSample;
01672 ULONG MinimumSampleFrequency;
01673 ULONG MaximumSampleFrequency;
01674 ULONG TotalConnections;
01675 ULONG StaticConnections;
01676 ULONG StreamingConnections;
01677 ULONG ActiveConnections;
01678 ULONG ActiveStaticConnections;
01679 ULONG ActiveStreamingConnections;
01680 ULONG Total3DConnections;
01681 ULONG Static3DConnections;
01682 ULONG Streaming3DConnections;
01683 ULONG Active3DConnections;
01684 ULONG ActiveStatic3DConnections;
01685 ULONG ActiveStreaming3DConnections;
01686 ULONG TotalSampleMemory;
01687 ULONG FreeSampleMemory;
01688 ULONG LargestFreeContiguousSampleMemory;
01689 } KSWAVE_OUTPUT_CAPABILITIES,*PKSWAVE_OUTPUT_CAPABILITIES;
01690
01691 typedef struct {
01692 LONG LeftAttenuation;
01693 LONG RightAttenuation;
01694 } KSWAVE_VOLUME,*PKSWAVE_VOLUME;
01695
01696 #define KSWAVE_BUFFER_ATTRIBUTEF_LOOPING 0x00000001
01697 #define KSWAVE_BUFFER_ATTRIBUTEF_STATIC 0x00000002
01698
01699 typedef struct {
01700 ULONG Attributes;
01701 ULONG BufferSize;
01702 PVOID BufferAddress;
01703 } KSWAVE_BUFFER,*PKSWAVE_BUFFER;
01704
01705 #define STATIC_KSMUSIC_TECHNOLOGY_PORT \
01706 0x86C92E60L,0x62E8,0x11CF,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00
01707 DEFINE_GUIDSTRUCT("86C92E60-62E8-11CF-A5D6-28DB04C10000",KSMUSIC_TECHNOLOGY_PORT);
01708 #define KSMUSIC_TECHNOLOGY_PORT DEFINE_GUIDNAMED(KSMUSIC_TECHNOLOGY_PORT)
01709
01710 #define STATIC_KSMUSIC_TECHNOLOGY_SQSYNTH \
01711 0x0ECF4380L,0x62E9,0x11CF,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00
01712 DEFINE_GUIDSTRUCT("0ECF4380-62E9-11CF-A5D6-28DB04C10000",KSMUSIC_TECHNOLOGY_SQSYNTH);
01713 #define KSMUSIC_TECHNOLOGY_SQSYNTH DEFINE_GUIDNAMED(KSMUSIC_TECHNOLOGY_SQSYNTH)
01714
01715 #define STATIC_KSMUSIC_TECHNOLOGY_FMSYNTH \
01716 0x252C5C80L,0x62E9,0x11CF,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00
01717 DEFINE_GUIDSTRUCT("252C5C80-62E9-11CF-A5D6-28DB04C10000",KSMUSIC_TECHNOLOGY_FMSYNTH);
01718 #define KSMUSIC_TECHNOLOGY_FMSYNTH DEFINE_GUIDNAMED(KSMUSIC_TECHNOLOGY_FMSYNTH)
01719
01720 #define STATIC_KSMUSIC_TECHNOLOGY_WAVETABLE \
01721 0x394EC7C0L,0x62E9,0x11CF,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00
01722 DEFINE_GUIDSTRUCT("394EC7C0-62E9-11CF-A5D6-28DB04C10000",KSMUSIC_TECHNOLOGY_WAVETABLE);
01723 #define KSMUSIC_TECHNOLOGY_WAVETABLE DEFINE_GUIDNAMED(KSMUSIC_TECHNOLOGY_WAVETABLE)
01724
01725 #define STATIC_KSMUSIC_TECHNOLOGY_SWSYNTH \
01726 0x37407736L,0x3620,0x11D1,0x85,0xD3,0x00,0x00,0xF8,0x75,0x43,0x80
01727 DEFINE_GUIDSTRUCT("37407736-3620-11D1-85D3-0000F8754380",KSMUSIC_TECHNOLOGY_SWSYNTH);
01728 #define KSMUSIC_TECHNOLOGY_SWSYNTH DEFINE_GUIDNAMED(KSMUSIC_TECHNOLOGY_SWSYNTH)
01729
01730 #define STATIC_KSPROPSETID_WaveTable \
01731 0x8539E660L,0x62E9,0x11CF,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00
01732 DEFINE_GUIDSTRUCT("8539E660-62E9-11CF-A5D6-28DB04C10000",KSPROPSETID_WaveTable);
01733 #define KSPROPSETID_WaveTable DEFINE_GUIDNAMED(KSPROPSETID_WaveTable)
01734
01735 typedef enum {
01736 KSPROPERTY_WAVETABLE_LOAD_SAMPLE,
01737 KSPROPERTY_WAVETABLE_UNLOAD_SAMPLE,
01738 KSPROPERTY_WAVETABLE_MEMORY,
01739 KSPROPERTY_WAVETABLE_VERSION
01740 } KSPROPERTY_WAVETABLE;
01741
01742 typedef struct {
01743 KSDATARANGE DataRange;
01744 GUID Technology;
01745 ULONG Channels;
01746 ULONG Notes;
01747 ULONG ChannelMask;
01748 } KSDATARANGE_MUSIC,*PKSDATARANGE_MUSIC;
01749
01750 #define STATIC_KSEVENTSETID_Cyclic \
01751 0x142C1AC0L,0x072A,0x11D0,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00
01752 DEFINE_GUIDSTRUCT("142C1AC0-072A-11D0-A5D6-28DB04C10000",KSEVENTSETID_Cyclic);
01753 #define KSEVENTSETID_Cyclic DEFINE_GUIDNAMED(KSEVENTSETID_Cyclic)
01754
01755 typedef enum {
01756 KSEVENT_CYCLIC_TIME_INTERVAL
01757 } KSEVENT_CYCLIC_TIME;
01758
01759 #define STATIC_KSPROPSETID_Cyclic \
01760 0x3FFEAEA0L,0x2BEE,0x11CF,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00
01761 DEFINE_GUIDSTRUCT("3FFEAEA0-2BEE-11CF-A5D6-28DB04C10000",KSPROPSETID_Cyclic);
01762 #define KSPROPSETID_Cyclic DEFINE_GUIDNAMED(KSPROPSETID_Cyclic)
01763
01764 typedef enum {
01765 KSPROPERTY_CYCLIC_POSITION
01766 } KSPROPERTY_CYCLIC;
01767
01768 #define STATIC_KSEVENTSETID_AudioControlChange \
01769 0xE85E9698L,0xFA2F,0x11D1,0x95,0xBD,0x00,0xC0,0x4F,0xB9,0x25,0xD3
01770 DEFINE_GUIDSTRUCT("E85E9698-FA2F-11D1-95BD-00C04FB925D3",KSEVENTSETID_AudioControlChange);
01771 #define KSEVENTSETID_AudioControlChange DEFINE_GUIDNAMED(KSEVENTSETID_AudioControlChange)
01772
01773 typedef enum {
01774 KSEVENT_CONTROL_CHANGE
01775 } KSEVENT_AUDIO_CONTROL_CHANGE;
01776
01777 #define STATIC_KSEVENTSETID_LoopedStreaming \
01778 0x4682B940L,0xC6EF,0x11D0,0x96,0xD8,0x00,0xAA,0x00,0x51,0xE5,0x1D
01779 DEFINE_GUIDSTRUCT("4682B940-C6EF-11D0-96D8-00AA0051E51D",KSEVENTSETID_LoopedStreaming);
01780 #define KSEVENTSETID_LoopedStreaming DEFINE_GUIDNAMED(KSEVENTSETID_LoopedStreaming)
01781
01782 typedef enum {
01783 KSEVENT_LOOPEDSTREAMING_POSITION
01784 } KSEVENT_LOOPEDSTREAMING;
01785
01786 typedef struct {
01787 KSEVENTDATA KsEventData;
01788 DWORDLONG Position;
01789 } LOOPEDSTREAMING_POSITION_EVENT_DATA,*PLOOPEDSTREAMING_POSITION_EVENT_DATA;
01790
01791 #define STATIC_KSPROPSETID_Sysaudio \
01792 0xCBE3FAA0L,0xCC75,0x11D0,0xB4,0x65,0x00,0x00,0x1A,0x18,0x18,0xE6
01793 DEFINE_GUIDSTRUCT("CBE3FAA0-CC75-11D0-B465-00001A1818E6",KSPROPSETID_Sysaudio);
01794 #define KSPROPSETID_Sysaudio DEFINE_GUIDNAMED(KSPROPSETID_Sysaudio)
01795
01796 typedef enum {
01797 KSPROPERTY_SYSAUDIO_DEVICE_COUNT = 1,
01798 KSPROPERTY_SYSAUDIO_DEVICE_FRIENDLY_NAME = 2,
01799 KSPROPERTY_SYSAUDIO_DEVICE_INSTANCE = 3,
01800 KSPROPERTY_SYSAUDIO_DEVICE_INTERFACE_NAME = 4,
01801 KSPROPERTY_SYSAUDIO_SELECT_GRAPH = 5,
01802 KSPROPERTY_SYSAUDIO_CREATE_VIRTUAL_SOURCE = 6,
01803 KSPROPERTY_SYSAUDIO_DEVICE_DEFAULT = 7,
01804 KSPROPERTY_SYSAUDIO_INSTANCE_INFO = 14,
01805 KSPROPERTY_SYSAUDIO_COMPONENT_ID = 16
01806 } KSPROPERTY_SYSAUDIO;
01807
01808 typedef struct {
01809 KSPROPERTY Property;
01810 GUID PinCategory;
01811 GUID PinName;
01812 } SYSAUDIO_CREATE_VIRTUAL_SOURCE,*PSYSAUDIO_CREATE_VIRTUAL_SOURCE;
01813
01814 typedef struct {
01815 KSPROPERTY Property;
01816 ULONG PinId;
01817 ULONG NodeId;
01818 ULONG Flags;
01819 ULONG Reserved;
01820 } SYSAUDIO_SELECT_GRAPH,*PSYSAUDIO_SELECT_GRAPH;
01821
01822 typedef struct {
01823 KSPROPERTY Property;
01824 ULONG Flags;
01825 ULONG DeviceNumber;
01826 } SYSAUDIO_INSTANCE_INFO,*PSYSAUDIO_INSTANCE_INFO;
01827
01828 #define SYSAUDIO_FLAGS_DONT_COMBINE_PINS 0x00000001
01829
01830 #define STATIC_KSPROPSETID_Sysaudio_Pin \
01831 0xA3A53220L,0xC6E4,0x11D0,0xB4,0x65,0x00,0x00,0x1A,0x18,0x18,0xE6
01832 DEFINE_GUIDSTRUCT("A3A53220-C6E4-11D0-B465-00001A1818E6",KSPROPSETID_Sysaudio_Pin);
01833 #define KSPROPSETID_Sysaudio_Pin DEFINE_GUIDNAMED(KSPROPSETID_Sysaudio_Pin)
01834
01835 typedef enum {
01836 KSPROPERTY_SYSAUDIO_ATTACH_VIRTUAL_SOURCE = 1
01837 } KSPROPERTY_SYSAUDIO_PIN;
01838
01839 typedef struct {
01840 KSPROPERTY Property;
01841 ULONG MixerPinId;
01842 ULONG Reserved;
01843 } SYSAUDIO_ATTACH_VIRTUAL_SOURCE,*PSYSAUDIO_ATTACH_VIRTUAL_SOURCE;
01844
01845 typedef struct {
01846 KSPROPERTY Property;
01847 ULONG NodeId;
01848 ULONG Reserved;
01849 } KSNODEPROPERTY,*PKSNODEPROPERTY;
01850
01851 typedef struct {
01852 KSNODEPROPERTY NodeProperty;
01853 LONG Channel;
01854 ULONG Reserved;
01855 } KSNODEPROPERTY_AUDIO_CHANNEL,*PKSNODEPROPERTY_AUDIO_CHANNEL;
01856
01857 typedef struct {
01858 KSNODEPROPERTY NodeProperty;
01859 ULONG DevSpecificId;
01860 ULONG DeviceInfo;
01861 ULONG Length;
01862 } KSNODEPROPERTY_AUDIO_DEV_SPECIFIC,*PKSNODEPROPERTY_AUDIO_DEV_SPECIFIC;
01863
01864 typedef struct {
01865 KSNODEPROPERTY NodeProperty;
01866 PVOID ListenerId;
01867 #ifndef _WIN64
01868 ULONG Reserved;
01869 #endif
01870 } KSNODEPROPERTY_AUDIO_3D_LISTENER,*PKSNODEPROPERTY_AUDIO_3D_LISTENER;
01871
01872 typedef struct {
01873 KSNODEPROPERTY NodeProperty;
01874 PVOID AppContext;
01875 ULONG Length;
01876 #ifndef _WIN64
01877 ULONG Reserved;
01878 #endif
01879 } KSNODEPROPERTY_AUDIO_PROPERTY,*PKSNODEPROPERTY_AUDIO_PROPERTY;
01880
01881 #define STATIC_KSPROPSETID_AudioGfx \
01882 0x79a9312eL,0x59ae,0x43b0,0xa3,0x50,0x8b,0x5,0x28,0x4c,0xab,0x24
01883 DEFINE_GUIDSTRUCT("79A9312E-59AE-43b0-A350-8B05284CAB24",KSPROPSETID_AudioGfx);
01884 #define KSPROPSETID_AudioGfx DEFINE_GUIDNAMED(KSPROPSETID_AudioGfx)
01885
01886 typedef enum {
01887 KSPROPERTY_AUDIOGFX_RENDERTARGETDEVICEID,
01888 KSPROPERTY_AUDIOGFX_CAPTURETARGETDEVICEID
01889 } KSPROPERTY_AUDIOGFX;
01890
01891 #define STATIC_KSPROPSETID_Linear \
01892 0x5A2FFE80L,0x16B9,0x11D0,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00
01893 DEFINE_GUIDSTRUCT("5A2FFE80-16B9-11D0-A5D6-28DB04C10000",KSPROPSETID_Linear);
01894 #define KSPROPSETID_Linear DEFINE_GUIDNAMED(KSPROPSETID_Linear)
01895
01896 typedef enum {
01897 KSPROPERTY_LINEAR_POSITION
01898 } KSPROPERTY_LINEAR;
01899
01900 #define STATIC_KSDATAFORMAT_TYPE_MUSIC \
01901 0xE725D360L,0x62CC,0x11CF,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00
01902 DEFINE_GUIDSTRUCT("E725D360-62CC-11CF-A5D6-28DB04C10000",KSDATAFORMAT_TYPE_MUSIC);
01903 #define KSDATAFORMAT_TYPE_MUSIC DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_MUSIC)
01904
01905 #define STATIC_KSDATAFORMAT_TYPE_MIDI \
01906 0x7364696DL,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71
01907 DEFINE_GUIDSTRUCT("7364696D-0000-0010-8000-00aa00389b71",KSDATAFORMAT_TYPE_MIDI);
01908 #define KSDATAFORMAT_TYPE_MIDI DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_MIDI)
01909
01910 #define STATIC_KSDATAFORMAT_SUBTYPE_MIDI \
01911 0x1D262760L,0xE957,0x11CF,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00
01912 DEFINE_GUIDSTRUCT("1D262760-E957-11CF-A5D6-28DB04C10000",KSDATAFORMAT_SUBTYPE_MIDI);
01913 #define KSDATAFORMAT_SUBTYPE_MIDI DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_MIDI)
01914
01915 #define STATIC_KSDATAFORMAT_SUBTYPE_MIDI_BUS \
01916 0x2CA15FA0L,0x6CFE,0x11CF,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00
01917 DEFINE_GUIDSTRUCT("2CA15FA0-6CFE-11CF-A5D6-28DB04C10000",KSDATAFORMAT_SUBTYPE_MIDI_BUS);
01918 #define KSDATAFORMAT_SUBTYPE_MIDI_BUS DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_MIDI_BUS)
01919
01920 #define STATIC_KSDATAFORMAT_SUBTYPE_RIFFMIDI \
01921 0x4995DAF0L,0x9EE6,0x11D0,0xA4,0x0E,0x00,0xA0,0xC9,0x22,0x31,0x96
01922 DEFINE_GUIDSTRUCT("4995DAF0-9EE6-11D0-A40E-00A0C9223196",KSDATAFORMAT_SUBTYPE_RIFFMIDI);
01923 #define KSDATAFORMAT_SUBTYPE_RIFFMIDI DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_RIFFMIDI)
01924
01925 typedef struct {
01926 ULONG TimeDeltaMs;
01927
01928 ULONG ByteCount;
01929 } KSMUSICFORMAT,*PKSMUSICFORMAT;
01930
01931 #define STATIC_KSDATAFORMAT_TYPE_STANDARD_ELEMENTARY_STREAM \
01932 0x36523b11L,0x8ee5,0x11d1,0x8c,0xa3,0x00,0x60,0xb0,0x57,0x66,0x4a
01933 DEFINE_GUIDSTRUCT("36523B11-8EE5-11d1-8CA3-0060B057664A",KSDATAFORMAT_TYPE_STANDARD_ELEMENTARY_STREAM);
01934 #define KSDATAFORMAT_TYPE_STANDARD_ELEMENTARY_STREAM DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_STANDARD_ELEMENTARY_STREAM)
01935
01936 #define STATIC_KSDATAFORMAT_TYPE_STANDARD_PES_PACKET \
01937 0x36523b12L,0x8ee5,0x11d1,0x8c,0xa3,0x00,0x60,0xb0,0x57,0x66,0x4a
01938 DEFINE_GUIDSTRUCT("36523B12-8EE5-11d1-8CA3-0060B057664A",KSDATAFORMAT_TYPE_STANDARD_PES_PACKET);
01939 #define KSDATAFORMAT_TYPE_STANDARD_PES_PACKET DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_STANDARD_PES_PACKET)
01940
01941 #define STATIC_KSDATAFORMAT_TYPE_STANDARD_PACK_HEADER \
01942 0x36523b13L,0x8ee5,0x11d1,0x8c,0xa3,0x00,0x60,0xb0,0x57,0x66,0x4a
01943 DEFINE_GUIDSTRUCT("36523B13-8EE5-11d1-8CA3-0060B057664A",KSDATAFORMAT_TYPE_STANDARD_PACK_HEADER);
01944 #define KSDATAFORMAT_TYPE_STANDARD_PACK_HEADER DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_STANDARD_PACK_HEADER)
01945
01946 #define STATIC_KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_VIDEO \
01947 0x36523b21L,0x8ee5,0x11d1,0x8c,0xa3,0x00,0x60,0xb0,0x57,0x66,0x4a
01948 DEFINE_GUIDSTRUCT("36523B21-8EE5-11d1-8CA3-0060B057664A",KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_VIDEO);
01949 #define KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_VIDEO DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_VIDEO)
01950
01951 #define STATIC_KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_AUDIO \
01952 0x36523b22L,0x8ee5,0x11d1,0x8c,0xa3,0x00,0x60,0xb0,0x57,0x66,0x4a
01953 DEFINE_GUIDSTRUCT("36523B22-8EE5-11d1-8CA3-0060B057664A",KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_AUDIO);
01954 #define KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_AUDIO)
01955
01956 #define STATIC_KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_VIDEO \
01957 0x36523b23L,0x8ee5,0x11d1,0x8c,0xa3,0x00,0x60,0xb0,0x57,0x66,0x4a
01958 DEFINE_GUIDSTRUCT("36523B23-8EE5-11d1-8CA3-0060B057664A",KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_VIDEO);
01959 #define KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_VIDEO DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_VIDEO)
01960
01961 #define STATIC_KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_AUDIO \
01962 0x36523b24L,0x8ee5,0x11d1,0x8c,0xa3,0x00,0x60,0xb0,0x57,0x66,0x4a
01963 DEFINE_GUIDSTRUCT("36523B24-8EE5-11d1-8CA3-0060B057664A",KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_AUDIO);
01964 #define KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_AUDIO)
01965
01966 #define STATIC_KSDATAFORMAT_SUBTYPE_STANDARD_AC3_AUDIO \
01967 0x36523b25L,0x8ee5,0x11d1,0x8c,0xa3,0x00,0x60,0xb0,0x57,0x66,0x4a
01968 DEFINE_GUIDSTRUCT("36523B25-8EE5-11d1-8CA3-0060B057664A",KSDATAFORMAT_SUBTYPE_STANDARD_AC3_AUDIO);
01969 #define KSDATAFORMAT_SUBTYPE_STANDARD_AC3_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_STANDARD_AC3_AUDIO)
01970
01971 #define STATIC_KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_VIDEO \
01972 0x36523b31L,0x8ee5,0x11d1,0x8c,0xa3,0x00,0x60,0xb0,0x57,0x66,0x4a
01973 DEFINE_GUIDSTRUCT("36523B31-8EE5-11d1-8CA3-0060B057664A",KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_VIDEO);
01974 #define KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_VIDEO DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_VIDEO)
01975
01976 #define STATIC_KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_AUDIO \
01977 0x36523b32L,0x8ee5,0x11d1,0x8c,0xa3,0x00,0x60,0xb0,0x57,0x66,0x4a
01978 DEFINE_GUIDSTRUCT("36523B32-8EE5-11d1-8CA3-0060B057664A",KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_AUDIO);
01979 #define KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_AUDIO)
01980
01981 #define STATIC_KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_VIDEO \
01982 0x36523b33L,0x8ee5,0x11d1,0x8c,0xa3,0x00,0x60,0xb0,0x57,0x66,0x4a
01983 DEFINE_GUIDSTRUCT("36523B33-8EE5-11d1-8CA3-0060B057664A",KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_VIDEO);
01984 #define KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_VIDEO DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_VIDEO)
01985
01986 #define STATIC_KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_AUDIO \
01987 0x36523b34L,0x8ee5,0x11d1,0x8c,0xa3,0x00,0x60,0xb0,0x57,0x66,0x4a
01988 DEFINE_GUIDSTRUCT("36523B34-8EE5-11d1-8CA3-0060B057664A",KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_AUDIO);
01989 #define KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_AUDIO)
01990
01991 #define STATIC_KSDATAFORMAT_SPECIFIER_DIALECT_AC3_AUDIO \
01992 0x36523b35L,0x8ee5,0x11d1,0x8c,0xa3,0x00,0x60,0xb0,0x57,0x66,0x4a
01993 DEFINE_GUIDSTRUCT("36523B35-8EE5-11d1-8CA3-0060B057664A",KSDATAFORMAT_SPECIFIER_DIALECT_AC3_AUDIO);
01994 #define KSDATAFORMAT_SPECIFIER_DIALECT_AC3_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_DIALECT_AC3_AUDIO)
01995
01996 #define STATIC_KSDATAFORMAT_SUBTYPE_DSS_VIDEO \
01997 0xa0af4f81L,0xe163,0x11d0,0xba,0xd9,0x00,0x60,0x97,0x44,0x11,0x1a
01998 DEFINE_GUIDSTRUCT("a0af4f81-e163-11d0-bad9-00609744111a",KSDATAFORMAT_SUBTYPE_DSS_VIDEO);
01999 #define KSDATAFORMAT_SUBTYPE_DSS_VIDEO DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_DSS_VIDEO)
02000
02001 #define STATIC_KSDATAFORMAT_SUBTYPE_DSS_AUDIO \
02002 0xa0af4f82L,0xe163,0x11d0,0xba,0xd9,0x00,0x60,0x97,0x44,0x11,0x1a
02003 DEFINE_GUIDSTRUCT("a0af4f82-e163-11d0-bad9-00609744111a",KSDATAFORMAT_SUBTYPE_DSS_AUDIO);
02004 #define KSDATAFORMAT_SUBTYPE_DSS_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_DSS_AUDIO)
02005
02006 #define STATIC_KSDATAFORMAT_SUBTYPE_MPEG1Packet \
02007 0xe436eb80,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70
02008 DEFINE_GUIDSTRUCT("e436eb80-524f-11ce-9F53-0020af0ba770",KSDATAFORMAT_SUBTYPE_MPEG1Packet);
02009 #define KSDATAFORMAT_SUBTYPE_MPEG1Packet DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_MPEG1Packet)
02010
02011 #define STATIC_KSDATAFORMAT_SUBTYPE_MPEG1Payload \
02012 0xe436eb81,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70
02013 DEFINE_GUIDSTRUCT("e436eb81-524f-11ce-9F53-0020af0ba770",KSDATAFORMAT_SUBTYPE_MPEG1Payload);
02014 #define KSDATAFORMAT_SUBTYPE_MPEG1Payload DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_MPEG1Payload)
02015
02016 #define STATIC_KSDATAFORMAT_SUBTYPE_MPEG1Video \
02017 0xe436eb86,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70
02018 DEFINE_GUIDSTRUCT("e436eb86-524f-11ce-9f53-0020af0ba770",KSDATAFORMAT_SUBTYPE_MPEG1Video);
02019 #define KSDATAFORMAT_SUBTYPE_MPEG1Video DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_MPEG1Video)
02020
02021 #define STATIC_KSDATAFORMAT_SPECIFIER_MPEG1_VIDEO \
02022 0x05589f82L,0xc356,0x11ce,0xbf,0x01,0x00,0xaa,0x00,0x55,0x59,0x5a
02023 DEFINE_GUIDSTRUCT("05589f82-c356-11ce-bf01-00aa0055595a",KSDATAFORMAT_SPECIFIER_MPEG1_VIDEO);
02024 #define KSDATAFORMAT_SPECIFIER_MPEG1_VIDEO DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_MPEG1_VIDEO)
02025
02026 #define STATIC_KSDATAFORMAT_TYPE_MPEG2_PES \
02027 0xe06d8020L,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea
02028 DEFINE_GUIDSTRUCT("e06d8020-db46-11cf-b4d1-00805f6cbbea",KSDATAFORMAT_TYPE_MPEG2_PES);
02029 #define KSDATAFORMAT_TYPE_MPEG2_PES DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_MPEG2_PES)
02030
02031 #define STATIC_KSDATAFORMAT_TYPE_MPEG2_PROGRAM \
02032 0xe06d8022L,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea
02033 DEFINE_GUIDSTRUCT("e06d8022-db46-11cf-b4d1-00805f6cbbea",KSDATAFORMAT_TYPE_MPEG2_PROGRAM);
02034 #define KSDATAFORMAT_TYPE_MPEG2_PROGRAM DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_MPEG2_PROGRAM)
02035
02036 #define STATIC_KSDATAFORMAT_TYPE_MPEG2_TRANSPORT \
02037 0xe06d8023L,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea
02038 DEFINE_GUIDSTRUCT("e06d8023-db46-11cf-b4d1-00805f6cbbea",KSDATAFORMAT_TYPE_MPEG2_TRANSPORT);
02039 #define KSDATAFORMAT_TYPE_MPEG2_TRANSPORT DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_MPEG2_TRANSPORT)
02040
02041 #define STATIC_KSDATAFORMAT_SUBTYPE_MPEG2_VIDEO \
02042 0xe06d8026L,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea
02043 DEFINE_GUIDSTRUCT("e06d8026-db46-11cf-b4d1-00805f6cbbea",KSDATAFORMAT_SUBTYPE_MPEG2_VIDEO);
02044 #define KSDATAFORMAT_SUBTYPE_MPEG2_VIDEO DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_MPEG2_VIDEO)
02045
02046 #define STATIC_KSDATAFORMAT_SPECIFIER_MPEG2_VIDEO \
02047 0xe06d80e3L,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea
02048 DEFINE_GUIDSTRUCT("e06d80e3-db46-11cf-b4d1-00805f6cbbea",KSDATAFORMAT_SPECIFIER_MPEG2_VIDEO);
02049 #define KSDATAFORMAT_SPECIFIER_MPEG2_VIDEO DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_MPEG2_VIDEO)
02050
02051 #define STATIC_KSPROPSETID_Mpeg2Vid \
02052 0xC8E11B60L,0x0CC9,0x11D0,0xBD,0x69,0x00,0x35,0x05,0xC1,0x03,0xA9
02053 DEFINE_GUIDSTRUCT("C8E11B60-0CC9-11D0-BD69-003505C103A9",KSPROPSETID_Mpeg2Vid);
02054 #define KSPROPSETID_Mpeg2Vid DEFINE_GUIDNAMED(KSPROPSETID_Mpeg2Vid)
02055
02056 typedef enum {
02057 KSPROPERTY_MPEG2VID_MODES,
02058 KSPROPERTY_MPEG2VID_CUR_MODE,
02059 KSPROPERTY_MPEG2VID_4_3_RECT,
02060 KSPROPERTY_MPEG2VID_16_9_RECT,
02061 KSPROPERTY_MPEG2VID_16_9_PANSCAN
02062 } KSPROPERTY_MPEG2VID;
02063
02064 #define KSMPEGVIDMODE_PANSCAN 0x0001
02065 #define KSMPEGVIDMODE_LTRBOX 0x0002
02066 #define KSMPEGVIDMODE_SCALE 0x0004
02067
02068 typedef struct _KSMPEGVID_RECT {
02069 ULONG StartX;
02070 ULONG StartY;
02071 ULONG EndX;
02072 ULONG EndY;
02073 } KSMPEGVID_RECT,*PKSMPEGVID_RECT;
02074
02075 #define STATIC_KSDATAFORMAT_SUBTYPE_MPEG2_AUDIO \
02076 0xe06d802bL,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea
02077 DEFINE_GUIDSTRUCT("e06d802b-db46-11cf-b4d1-00805f6cbbea",KSDATAFORMAT_SUBTYPE_MPEG2_AUDIO);
02078 #define KSDATAFORMAT_SUBTYPE_MPEG2_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_MPEG2_AUDIO)
02079
02080 #define STATIC_KSDATAFORMAT_SPECIFIER_MPEG2_AUDIO \
02081 0xe06d80e5L,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea
02082 DEFINE_GUIDSTRUCT("e06d80e5-db46-11cf-b4d1-00805f6cbbea",KSDATAFORMAT_SPECIFIER_MPEG2_AUDIO);
02083 #define KSDATAFORMAT_SPECIFIER_MPEG2_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_MPEG2_AUDIO)
02084
02085 #define STATIC_KSDATAFORMAT_SUBTYPE_LPCM_AUDIO \
02086 0xe06d8032L,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea
02087 DEFINE_GUIDSTRUCT("e06d8032-db46-11cf-b4d1-00805f6cbbea",KSDATAFORMAT_SUBTYPE_LPCM_AUDIO);
02088 #define KSDATAFORMAT_SUBTYPE_LPCM_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_LPCM_AUDIO)
02089
02090 #define STATIC_KSDATAFORMAT_SPECIFIER_LPCM_AUDIO \
02091 0xe06d80e6L,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea
02092 DEFINE_GUIDSTRUCT("e06d80e6-db46-11cf-b4d1-00805f6cbbea",KSDATAFORMAT_SPECIFIER_LPCM_AUDIO);
02093 #define KSDATAFORMAT_SPECIFIER_LPCM_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_LPCM_AUDIO)
02094
02095 #define STATIC_KSDATAFORMAT_SUBTYPE_AC3_AUDIO \
02096 0xe06d802cL,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea
02097 DEFINE_GUIDSTRUCT("e06d802c-db46-11cf-b4d1-00805f6cbbea",KSDATAFORMAT_SUBTYPE_AC3_AUDIO);
02098 #define KSDATAFORMAT_SUBTYPE_AC3_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_AC3_AUDIO)
02099
02100 #define STATIC_KSDATAFORMAT_SPECIFIER_AC3_AUDIO \
02101 0xe06d80e4L,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea
02102 DEFINE_GUIDSTRUCT("e06d80e4-db46-11cf-b4d1-00805f6cbbea",KSDATAFORMAT_SPECIFIER_AC3_AUDIO);
02103 #define KSDATAFORMAT_SPECIFIER_AC3_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_AC3_AUDIO)
02104
02105 #define STATIC_KSPROPSETID_AC3 \
02106 0xBFABE720L,0x6E1F,0x11D0,0xBC,0xF2,0x44,0x45,0x53,0x54,0x00,0x00
02107 DEFINE_GUIDSTRUCT("BFABE720-6E1F-11D0-BCF2-444553540000",KSPROPSETID_AC3);
02108 #define KSPROPSETID_AC3 DEFINE_GUIDNAMED(KSPROPSETID_AC3)
02109
02110 typedef enum {
02111 KSPROPERTY_AC3_ERROR_CONCEALMENT = 1,
02112 KSPROPERTY_AC3_ALTERNATE_AUDIO,
02113 KSPROPERTY_AC3_DOWNMIX,
02114 KSPROPERTY_AC3_BIT_STREAM_MODE,
02115 KSPROPERTY_AC3_DIALOGUE_LEVEL,
02116 KSPROPERTY_AC3_LANGUAGE_CODE,
02117 KSPROPERTY_AC3_ROOM_TYPE
02118 } KSPROPERTY_AC3;
02119
02120 typedef struct {
02121 WINBOOL fRepeatPreviousBlock;
02122 WINBOOL fErrorInCurrentBlock;
02123 } KSAC3_ERROR_CONCEALMENT,*PKSAC3_ERROR_CONCEALMENT;
02124
02125 typedef struct {
02126 WINBOOL fStereo;
02127 ULONG DualMode;
02128 } KSAC3_ALTERNATE_AUDIO,*PKSAC3_ALTERNATE_AUDIO;
02129
02130 #define KSAC3_ALTERNATE_AUDIO_1 1
02131 #define KSAC3_ALTERNATE_AUDIO_2 2
02132 #define KSAC3_ALTERNATE_AUDIO_BOTH 3
02133
02134 typedef struct {
02135 WINBOOL fDownMix;
02136 WINBOOL fDolbySurround;
02137 } KSAC3_DOWNMIX,*PKSAC3_DOWNMIX;
02138
02139 typedef struct {
02140 LONG BitStreamMode;
02141 } KSAC3_BIT_STREAM_MODE,*PKSAC3_BIT_STREAM_MODE;
02142
02143 #define KSAC3_SERVICE_MAIN_AUDIO 0
02144 #define KSAC3_SERVICE_NO_DIALOG 1
02145 #define KSAC3_SERVICE_VISUALLY_IMPAIRED 2
02146 #define KSAC3_SERVICE_HEARING_IMPAIRED 3
02147 #define KSAC3_SERVICE_DIALOG_ONLY 4
02148 #define KSAC3_SERVICE_COMMENTARY 5
02149 #define KSAC3_SERVICE_EMERGENCY_FLASH 6
02150 #define KSAC3_SERVICE_VOICE_OVER 7
02151
02152 typedef struct {
02153 ULONG DialogueLevel;
02154 } KSAC3_DIALOGUE_LEVEL,*PKSAC3_DIALOGUE_LEVEL;
02155
02156 typedef struct {
02157 WINBOOL fLargeRoom;
02158 } KSAC3_ROOM_TYPE,*PKSAC3_ROOM_TYPE;
02159
02160 #define STATIC_KSDATAFORMAT_SUBTYPE_DTS_AUDIO \
02161 0xe06d8033L,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea
02162 DEFINE_GUIDSTRUCT("e06d8033-db46-11cf-b4d1-00805f6cbbea",KSDATAFORMAT_SUBTYPE_DTS_AUDIO);
02163 #define KSDATAFORMAT_SUBTYPE_DTS_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_DTS_AUDIO)
02164
02165 #define STATIC_KSDATAFORMAT_SUBTYPE_SDDS_AUDIO \
02166 0xe06d8034L,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea
02167 DEFINE_GUIDSTRUCT("e06d8034-db46-11cf-b4d1-00805f6cbbea",KSDATAFORMAT_SUBTYPE_SDDS_AUDIO);
02168 #define KSDATAFORMAT_SUBTYPE_SDDS_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_SDDS_AUDIO)
02169
02170 #define STATIC_KSPROPSETID_AudioDecoderOut \
02171 0x6ca6e020L,0x43bd,0x11d0,0xbd,0x6a,0x00,0x35,0x05,0xc1,0x03,0xa9
02172 DEFINE_GUIDSTRUCT("6ca6e020-43bd-11d0-bd6a-003505c103a9",KSPROPSETID_AudioDecoderOut);
02173 #define KSPROPSETID_AudioDecoderOut DEFINE_GUIDNAMED(KSPROPSETID_AudioDecoderOut)
02174
02175 typedef enum {
02176 KSPROPERTY_AUDDECOUT_MODES,
02177 KSPROPERTY_AUDDECOUT_CUR_MODE
02178 } KSPROPERTY_AUDDECOUT;
02179
02180 #define KSAUDDECOUTMODE_STEREO_ANALOG 0x0001
02181 #define KSAUDDECOUTMODE_PCM_51 0x0002
02182 #define KSAUDDECOUTMODE_SPDIFF 0x0004
02183
02184 #define STATIC_KSDATAFORMAT_SUBTYPE_SUBPICTURE \
02185 0xe06d802dL,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea
02186 DEFINE_GUIDSTRUCT("e06d802d-db46-11cf-b4d1-00805f6cbbea",KSDATAFORMAT_SUBTYPE_SUBPICTURE);
02187 #define KSDATAFORMAT_SUBTYPE_SUBPICTURE DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_SUBPICTURE)
02188
02189 #define STATIC_KSPROPSETID_DvdSubPic \
02190 0xac390460L,0x43af,0x11d0,0xbd,0x6a,0x00,0x35,0x05,0xc1,0x03,0xa9
02191 DEFINE_GUIDSTRUCT("ac390460-43af-11d0-bd6a-003505c103a9",KSPROPSETID_DvdSubPic);
02192 #define KSPROPSETID_DvdSubPic DEFINE_GUIDNAMED(KSPROPSETID_DvdSubPic)
02193
02194 typedef enum {
02195 KSPROPERTY_DVDSUBPIC_PALETTE,
02196 KSPROPERTY_DVDSUBPIC_HLI,
02197 KSPROPERTY_DVDSUBPIC_COMPOSIT_ON
02198 } KSPROPERTY_DVDSUBPIC;
02199
02200 typedef struct _KS_DVD_YCrCb {
02201 UCHAR Reserved;
02202 UCHAR Y;
02203 UCHAR Cr;
02204 UCHAR Cb;
02205 } KS_DVD_YCrCb,*PKS_DVD_YCrCb;
02206
02207 typedef struct _KS_DVD_YUV {
02208 UCHAR Reserved;
02209 UCHAR Y;
02210 UCHAR V;
02211 UCHAR U;
02212 } KS_DVD_YUV,*PKS_DVD_YUV;
02213
02214 typedef struct _KSPROPERTY_SPPAL {
02215 KS_DVD_YUV sppal[16];
02216 } KSPROPERTY_SPPAL,*PKSPROPERTY_SPPAL;
02217
02218 typedef struct _KS_COLCON {
02219 UCHAR emph1col:4;
02220 UCHAR emph2col:4;
02221 UCHAR backcol:4;
02222 UCHAR patcol:4;
02223 UCHAR emph1con:4;
02224 UCHAR emph2con:4;
02225 UCHAR backcon:4;
02226 UCHAR patcon:4;
02227 } KS_COLCON,*PKS_COLCON;
02228
02229 typedef struct _KSPROPERTY_SPHLI {
02230 USHORT HLISS;
02231 USHORT Reserved;
02232 ULONG StartPTM;
02233 ULONG EndPTM;
02234 USHORT StartX;
02235 USHORT StartY;
02236 USHORT StopX;
02237 USHORT StopY;
02238 KS_COLCON ColCon;
02239 } KSPROPERTY_SPHLI,*PKSPROPERTY_SPHLI;
02240
02241 typedef WINBOOL KSPROPERTY_COMPOSIT_ON,*PKSPROPERTY_COMPOSIT_ON;
02242
02243 #define STATIC_KSPROPSETID_CopyProt \
02244 0x0E8A0A40L,0x6AEF,0x11D0,0x9E,0xD0,0x00,0xA0,0x24,0xCA,0x19,0xB3
02245 DEFINE_GUIDSTRUCT("0E8A0A40-6AEF-11D0-9ED0-00A024CA19B3",KSPROPSETID_CopyProt);
02246 #define KSPROPSETID_CopyProt DEFINE_GUIDNAMED(KSPROPSETID_CopyProt)
02247
02248 typedef enum {
02249 KSPROPERTY_DVDCOPY_CHLG_KEY = 0x01,
02250 KSPROPERTY_DVDCOPY_DVD_KEY1,
02251 KSPROPERTY_DVDCOPY_DEC_KEY2,
02252 KSPROPERTY_DVDCOPY_TITLE_KEY,
02253 KSPROPERTY_COPY_MACROVISION,
02254 KSPROPERTY_DVDCOPY_REGION,
02255 KSPROPERTY_DVDCOPY_SET_COPY_STATE,
02256 KSPROPERTY_DVDCOPY_DISC_KEY = 0x80
02257 } KSPROPERTY_COPYPROT;
02258
02259 typedef struct _KS_DVDCOPY_CHLGKEY {
02260 BYTE ChlgKey[10];
02261 BYTE Reserved[2];
02262 } KS_DVDCOPY_CHLGKEY,*PKS_DVDCOPY_CHLGKEY;
02263
02264 typedef struct _KS_DVDCOPY_BUSKEY {
02265 BYTE BusKey[5];
02266 BYTE Reserved[1];
02267 } KS_DVDCOPY_BUSKEY,*PKS_DVDCOPY_BUSKEY;
02268
02269 typedef struct _KS_DVDCOPY_DISCKEY {
02270 BYTE DiscKey[2048];
02271 } KS_DVDCOPY_DISCKEY,*PKS_DVDCOPY_DISCKEY;
02272
02273 typedef struct _KS_DVDCOPY_REGION {
02274 UCHAR Reserved;
02275 UCHAR RegionData;
02276 UCHAR Reserved2[2];
02277 } KS_DVDCOPY_REGION,*PKS_DVDCOPY_REGION;
02278
02279 typedef struct _KS_DVDCOPY_TITLEKEY {
02280 ULONG KeyFlags;
02281 ULONG ReservedNT[2];
02282 UCHAR TitleKey[6];
02283 UCHAR Reserved[2];
02284 } KS_DVDCOPY_TITLEKEY,*PKS_DVDCOPY_TITLEKEY;
02285
02286 typedef struct _KS_COPY_MACROVISION {
02287 ULONG MACROVISIONLevel;
02288 } KS_COPY_MACROVISION,*PKS_COPY_MACROVISION;
02289
02290 typedef struct _KS_DVDCOPY_SET_COPY_STATE {
02291 ULONG DVDCopyState;
02292 } KS_DVDCOPY_SET_COPY_STATE,*PKS_DVDCOPY_SET_COPY_STATE;
02293
02294 typedef enum {
02295 KS_DVDCOPYSTATE_INITIALIZE,
02296 KS_DVDCOPYSTATE_INITIALIZE_TITLE,
02297 KS_DVDCOPYSTATE_AUTHENTICATION_NOT_REQUIRED,
02298 KS_DVDCOPYSTATE_AUTHENTICATION_REQUIRED,
02299 KS_DVDCOPYSTATE_DONE
02300 } KS_DVDCOPYSTATE;
02301
02302 typedef enum {
02303 KS_MACROVISION_DISABLED,
02304 KS_MACROVISION_LEVEL1,
02305 KS_MACROVISION_LEVEL2,
02306 KS_MACROVISION_LEVEL3
02307 } KS_COPY_MACROVISION_LEVEL,*PKS_COPY_MACROVISION_LEVEL;
02308
02309 #define KS_DVD_CGMS_RESERVED_MASK 0x00000078
02310
02311 #define KS_DVD_CGMS_COPY_PROTECT_MASK 0x00000018
02312 #define KS_DVD_CGMS_COPY_PERMITTED 0x00000000
02313 #define KS_DVD_CGMS_COPY_ONCE 0x00000010
02314 #define KS_DVD_CGMS_NO_COPY 0x00000018
02315
02316 #define KS_DVD_COPYRIGHT_MASK 0x00000040
02317 #define KS_DVD_NOT_COPYRIGHTED 0x00000000
02318 #define KS_DVD_COPYRIGHTED 0x00000040
02319
02320 #define KS_DVD_SECTOR_PROTECT_MASK 0x00000020
02321 #define KS_DVD_SECTOR_NOT_PROTECTED 0x00000000
02322 #define KS_DVD_SECTOR_PROTECTED 0x00000020
02323
02324 #define STATIC_KSCATEGORY_TVTUNER \
02325 0xa799a800L,0xa46d,0x11d0,0xa1,0x8c,0x00,0xa0,0x24,0x01,0xdc,0xd4
02326 DEFINE_GUIDSTRUCT("a799a800-a46d-11d0-a18c-00a02401dcd4",KSCATEGORY_TVTUNER);
02327 #define KSCATEGORY_TVTUNER DEFINE_GUIDNAMED(KSCATEGORY_TVTUNER)
02328
02329 #define STATIC_KSCATEGORY_CROSSBAR \
02330 0xa799a801L,0xa46d,0x11d0,0xa1,0x8c,0x00,0xa0,0x24,0x01,0xdc,0xd4
02331 DEFINE_GUIDSTRUCT("a799a801-a46d-11d0-a18c-00a02401dcd4",KSCATEGORY_CROSSBAR);
02332 #define KSCATEGORY_CROSSBAR DEFINE_GUIDNAMED(KSCATEGORY_CROSSBAR)
02333
02334 #define STATIC_KSCATEGORY_TVAUDIO \
02335 0xa799a802L,0xa46d,0x11d0,0xa1,0x8c,0x00,0xa0,0x24,0x01,0xdc,0xd4
02336 DEFINE_GUIDSTRUCT("a799a802-a46d-11d0-a18c-00a02401dcd4",KSCATEGORY_TVAUDIO);
02337 #define KSCATEGORY_TVAUDIO DEFINE_GUIDNAMED(KSCATEGORY_TVAUDIO)
02338
02339 #define STATIC_KSCATEGORY_VPMUX \
02340 0xa799a803L,0xa46d,0x11d0,0xa1,0x8c,0x00,0xa0,0x24,0x01,0xdc,0xd4
02341 DEFINE_GUIDSTRUCT("a799a803-a46d-11d0-a18c-00a02401dcd4",KSCATEGORY_VPMUX);
02342 #define KSCATEGORY_VPMUX DEFINE_GUIDNAMED(KSCATEGORY_VPMUX)
02343
02344 #define STATIC_KSCATEGORY_VBICODEC \
02345 0x07dad660L,0x22f1,0x11d1,0xa9,0xf4,0x00,0xc0,0x4f,0xbb,0xde,0x8f
02346 DEFINE_GUIDSTRUCT("07dad660-22f1-11d1-a9f4-00c04fbbde8f",KSCATEGORY_VBICODEC);
02347 #define KSCATEGORY_VBICODEC DEFINE_GUIDNAMED(KSCATEGORY_VBICODEC)
02348
02349 #define STATIC_KSDATAFORMAT_SUBTYPE_VPVideo \
02350 0x5a9b6a40L,0x1a22,0x11d1,0xba,0xd9,0x0,0x60,0x97,0x44,0x11,0x1a
02351 DEFINE_GUIDSTRUCT("5a9b6a40-1a22-11d1-bad9-00609744111a",KSDATAFORMAT_SUBTYPE_VPVideo);
02352 #define KSDATAFORMAT_SUBTYPE_VPVideo DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_VPVideo)
02353
02354 #define STATIC_KSDATAFORMAT_SUBTYPE_VPVBI \
02355 0x5a9b6a41L,0x1a22,0x11d1,0xba,0xd9,0x0,0x60,0x97,0x44,0x11,0x1a
02356 DEFINE_GUIDSTRUCT("5a9b6a41-1a22-11d1-bad9-00609744111a",KSDATAFORMAT_SUBTYPE_VPVBI);
02357 #define KSDATAFORMAT_SUBTYPE_VPVBI DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_VPVBI)
02358
02359 #define STATIC_KSDATAFORMAT_SPECIFIER_VIDEOINFO \
02360 0x05589f80L,0xc356,0x11ce,0xbf,0x01,0x00,0xaa,0x00,0x55,0x59,0x5a
02361 DEFINE_GUIDSTRUCT("05589f80-c356-11ce-bf01-00aa0055595a",KSDATAFORMAT_SPECIFIER_VIDEOINFO);
02362 #define KSDATAFORMAT_SPECIFIER_VIDEOINFO DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_VIDEOINFO)
02363
02364 #define STATIC_KSDATAFORMAT_SPECIFIER_VIDEOINFO2 \
02365 0xf72a76A0L,0xeb0a,0x11d0,0xac,0xe4,0x00,0x00,0xc0,0xcc,0x16,0xba
02366 DEFINE_GUIDSTRUCT("f72a76A0-eb0a-11d0-ace4-0000c0cc16ba",KSDATAFORMAT_SPECIFIER_VIDEOINFO2);
02367 #define KSDATAFORMAT_SPECIFIER_VIDEOINFO2 DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_VIDEOINFO2)
02368
02369 #define STATIC_KSDATAFORMAT_TYPE_ANALOGVIDEO \
02370 0x0482dde1L,0x7817,0x11cf,0x8a,0x03,0x00,0xaa,0x00,0x6e,0xcb,0x65
02371 DEFINE_GUIDSTRUCT("0482dde1-7817-11cf-8a03-00aa006ecb65",KSDATAFORMAT_TYPE_ANALOGVIDEO);
02372 #define KSDATAFORMAT_TYPE_ANALOGVIDEO DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_ANALOGVIDEO)
02373
02374 #define STATIC_KSDATAFORMAT_SPECIFIER_ANALOGVIDEO \
02375 0x0482dde0L,0x7817,0x11cf,0x8a,0x03,0x00,0xaa,0x00,0x6e,0xcb,0x65
02376 DEFINE_GUIDSTRUCT("0482dde0-7817-11cf-8a03-00aa006ecb65",KSDATAFORMAT_SPECIFIER_ANALOGVIDEO);
02377 #define KSDATAFORMAT_SPECIFIER_ANALOGVIDEO DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_ANALOGVIDEO)
02378
02379 #define STATIC_KSDATAFORMAT_TYPE_ANALOGAUDIO \
02380 0x0482dee1L,0x7817,0x11cf,0x8a,0x03,0x00,0xaa,0x00,0x6e,0xcb,0x65
02381 DEFINE_GUIDSTRUCT("0482DEE1-7817-11cf-8a03-00aa006ecb65",KSDATAFORMAT_TYPE_ANALOGAUDIO);
02382 #define KSDATAFORMAT_TYPE_ANALOGAUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_ANALOGAUDIO)
02383
02384 #define STATIC_KSDATAFORMAT_SPECIFIER_VBI \
02385 0xf72a76e0L,0xeb0a,0x11d0,0xac,0xe4,0x00,0x00,0xc0,0xcc,0x16,0xba
02386 DEFINE_GUIDSTRUCT("f72a76e0-eb0a-11d0-ace4-0000c0cc16ba",KSDATAFORMAT_SPECIFIER_VBI);
02387 #define KSDATAFORMAT_SPECIFIER_VBI DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_VBI)
02388
02389 #define STATIC_KSDATAFORMAT_TYPE_VBI \
02390 0xf72a76e1L,0xeb0a,0x11d0,0xac,0xe4,0x00,0x00,0xc0,0xcc,0x16,0xba
02391 DEFINE_GUIDSTRUCT("f72a76e1-eb0a-11d0-ace4-0000c0cc16ba",KSDATAFORMAT_TYPE_VBI);
02392 #define KSDATAFORMAT_TYPE_VBI DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_VBI)
02393
02394 #define STATIC_KSDATAFORMAT_SUBTYPE_RAW8 \
02395 0xca20d9a0,0x3e3e,0x11d1,0x9b,0xf9,0x0,0xc0,0x4f,0xbb,0xde,0xbf
02396 DEFINE_GUIDSTRUCT("ca20d9a0-3e3e-11d1-9bf9-00c04fbbdebf",KSDATAFORMAT_SUBTYPE_RAW8);
02397 #define KSDATAFORMAT_SUBTYPE_RAW8 DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_RAW8)
02398
02399 #define STATIC_KSDATAFORMAT_SUBTYPE_CC \
02400 0x33214cc1,0x11f,0x11d2,0xb4,0xb1,0x0,0xa0,0xd1,0x2,0xcf,0xbe
02401 DEFINE_GUIDSTRUCT("33214CC1-011F-11D2-B4B1-00A0D102CFBE",KSDATAFORMAT_SUBTYPE_CC);
02402 #define KSDATAFORMAT_SUBTYPE_CC DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_CC)
02403
02404 #define STATIC_KSDATAFORMAT_SUBTYPE_NABTS \
02405 0xf72a76e2L,0xeb0a,0x11d0,0xac,0xe4,0x00,0x00,0xc0,0xcc,0x16,0xba
02406 DEFINE_GUIDSTRUCT("f72a76e2-eb0a-11d0-ace4-0000c0cc16ba",KSDATAFORMAT_SUBTYPE_NABTS);
02407 #define KSDATAFORMAT_SUBTYPE_NABTS DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_NABTS)
02408
02409 #define STATIC_KSDATAFORMAT_SUBTYPE_TELETEXT \
02410 0xf72a76e3L,0xeb0a,0x11d0,0xac,0xe4,0x00,0x00,0xc0,0xcc,0x16,0xba
02411 DEFINE_GUIDSTRUCT("f72a76e3-eb0a-11d0-ace4-0000c0cc16ba",KSDATAFORMAT_SUBTYPE_TELETEXT);
02412 #define KSDATAFORMAT_SUBTYPE_TELETEXT DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_TELETEXT)
02413
02414 #define KS_BI_RGB 0L
02415 #define KS_BI_RLE8 1L
02416 #define KS_BI_RLE4 2L
02417 #define KS_BI_BITFIELDS 3L
02418
02419 typedef struct tagKS_RGBQUAD {
02420 BYTE rgbBlue;
02421 BYTE rgbGreen;
02422 BYTE rgbRed;
02423 BYTE rgbReserved;
02424 } KS_RGBQUAD,*PKS_RGBQUAD;
02425
02426 #define KS_iPALETTE_COLORS 256
02427 #define KS_iEGA_COLORS 16
02428 #define KS_iMASK_COLORS 3
02429 #define KS_iTRUECOLOR 16
02430 #define KS_iRED 0
02431 #define KS_iGREEN 1
02432 #define KS_iBLUE 2
02433 #define KS_iPALETTE 8
02434 #define KS_iMAXBITS 8
02435 #define KS_SIZE_EGA_PALETTE (KS_iEGA_COLORS *sizeof(KS_RGBQUAD))
02436 #define KS_SIZE_PALETTE (KS_iPALETTE_COLORS *sizeof(KS_RGBQUAD))
02437
02438 typedef struct tagKS_BITMAPINFOHEADER {
02439 DWORD biSize;
02440 LONG biWidth;
02441 LONG biHeight;
02442 WORD biPlanes;
02443 WORD biBitCount;
02444 DWORD biCompression;
02445 DWORD biSizeImage;
02446 LONG biXPelsPerMeter;
02447 LONG biYPelsPerMeter;
02448 DWORD biClrUsed;
02449 DWORD biClrImportant;
02450 } KS_BITMAPINFOHEADER,*PKS_BITMAPINFOHEADER;
02451
02452 typedef struct tag_KS_TRUECOLORINFO {
02453 DWORD dwBitMasks[KS_iMASK_COLORS];
02454 KS_RGBQUAD bmiColors[KS_iPALETTE_COLORS];
02455 } KS_TRUECOLORINFO,*PKS_TRUECOLORINFO;
02456
02457 #define KS_WIDTHBYTES(bits) ((DWORD)(((bits)+31) & (~31)) / 8)
02458 #define KS_DIBWIDTHBYTES(bi) (DWORD)KS_WIDTHBYTES((DWORD)(bi).biWidth *(DWORD)(bi).biBitCount)
02459 #define KS__DIBSIZE(bi) (KS_DIBWIDTHBYTES(bi) *(DWORD)(bi).biHeight)
02460 #define KS_DIBSIZE(bi) ((bi).biHeight < 0 ? (-1)*(KS__DIBSIZE(bi)) : KS__DIBSIZE(bi))
02461
02462 typedef LONGLONG REFERENCE_TIME;
02463
02464 typedef struct tagKS_VIDEOINFOHEADER {
02465 RECT rcSource;
02466 RECT rcTarget;
02467 DWORD dwBitRate;
02468 DWORD dwBitErrorRate;
02469 REFERENCE_TIME AvgTimePerFrame;
02470 KS_BITMAPINFOHEADER bmiHeader;
02471 } KS_VIDEOINFOHEADER,*PKS_VIDEOINFOHEADER;
02472
02473 typedef struct tagKS_VIDEOINFO {
02474 RECT rcSource;
02475 RECT rcTarget;
02476 DWORD dwBitRate;
02477 DWORD dwBitErrorRate;
02478 REFERENCE_TIME AvgTimePerFrame;
02479 KS_BITMAPINFOHEADER bmiHeader;
02480 __MINGW_EXTENSION union {
02481 KS_RGBQUAD bmiColors[KS_iPALETTE_COLORS];
02482 DWORD dwBitMasks[KS_iMASK_COLORS];
02483 KS_TRUECOLORINFO TrueColorInfo;
02484 };
02485 } KS_VIDEOINFO,*PKS_VIDEOINFO;
02486
02487 #define KS_SIZE_MASKS (KS_iMASK_COLORS *sizeof(DWORD))
02488 #define KS_SIZE_PREHEADER (FIELD_OFFSET(KS_VIDEOINFOHEADER,bmiHeader))
02489
02490 #define KS_SIZE_VIDEOHEADER(pbmi) ((pbmi)->bmiHeader.biSize + KS_SIZE_PREHEADER)
02491
02492 typedef struct tagKS_VBIINFOHEADER {
02493 ULONG StartLine;
02494 ULONG EndLine;
02495 ULONG SamplingFrequency;
02496 ULONG MinLineStartTime;
02497 ULONG MaxLineStartTime;
02498 ULONG ActualLineStartTime;
02499 ULONG ActualLineEndTime;
02500 ULONG VideoStandard;
02501 ULONG SamplesPerLine;
02502 ULONG StrideInBytes;
02503 ULONG BufferSize;
02504 } KS_VBIINFOHEADER,*PKS_VBIINFOHEADER;
02505
02506 #define KS_VBIDATARATE_NABTS (5727272L)
02507 #define KS_VBIDATARATE_CC (503493L)
02508 #define KS_VBISAMPLINGRATE_4X_NABTS ((long)(4*KS_VBIDATARATE_NABTS))
02509 #define KS_VBISAMPLINGRATE_47X_NABTS ((long)(27000000))
02510 #define KS_VBISAMPLINGRATE_5X_NABTS ((long)(5*KS_VBIDATARATE_NABTS))
02511
02512 #define KS_47NABTS_SCALER (KS_VBISAMPLINGRATE_47X_NABTS/(double)KS_VBIDATARATE_NABTS)
02513
02514 typedef struct tagKS_AnalogVideoInfo {
02515 RECT rcSource;
02516 RECT rcTarget;
02517 DWORD dwActiveWidth;
02518 DWORD dwActiveHeight;
02519 REFERENCE_TIME AvgTimePerFrame;
02520 } KS_ANALOGVIDEOINFO,*PKS_ANALOGVIDEOINFO;
02521
02522 #define KS_TVTUNER_CHANGE_BEGIN_TUNE 0x0001L
02523 #define KS_TVTUNER_CHANGE_END_TUNE 0x0002L
02524
02525 typedef struct tagKS_TVTUNER_CHANGE_INFO {
02526 DWORD dwFlags;
02527 DWORD dwCountryCode;
02528 DWORD dwAnalogVideoStandard;
02529 DWORD dwChannel;
02530 } KS_TVTUNER_CHANGE_INFO,*PKS_TVTUNER_CHANGE_INFO;
02531
02532 typedef enum {
02533 KS_MPEG2Level_Low,
02534 KS_MPEG2Level_Main,
02535 KS_MPEG2Level_High1440,
02536 KS_MPEG2Level_High
02537 } KS_MPEG2Level;
02538
02539 typedef enum {
02540 KS_MPEG2Profile_Simple,
02541 KS_MPEG2Profile_Main,
02542 KS_MPEG2Profile_SNRScalable,
02543 KS_MPEG2Profile_SpatiallyScalable,
02544 KS_MPEG2Profile_High
02545 } KS_MPEG2Profile;
02546
02547 #define KS_INTERLACE_IsInterlaced 0x00000001
02548 #define KS_INTERLACE_1FieldPerSample 0x00000002
02549 #define KS_INTERLACE_Field1First 0x00000004
02550 #define KS_INTERLACE_UNUSED 0x00000008
02551 #define KS_INTERLACE_FieldPatternMask 0x00000030
02552 #define KS_INTERLACE_FieldPatField1Only 0x00000000
02553 #define KS_INTERLACE_FieldPatField2Only 0x00000010
02554 #define KS_INTERLACE_FieldPatBothRegular 0x00000020
02555 #define KS_INTERLACE_FieldPatBothIrregular 0x00000030
02556 #define KS_INTERLACE_DisplayModeMask 0x000000c0
02557 #define KS_INTERLACE_DisplayModeBobOnly 0x00000000
02558 #define KS_INTERLACE_DisplayModeWeaveOnly 0x00000040
02559 #define KS_INTERLACE_DisplayModeBobOrWeave 0x00000080
02560
02561 #define KS_MPEG2_DoPanScan 0x00000001
02562 #define KS_MPEG2_DVDLine21Field1 0x00000002
02563 #define KS_MPEG2_DVDLine21Field2 0x00000004
02564 #define KS_MPEG2_SourceIsLetterboxed 0x00000008
02565 #define KS_MPEG2_FilmCameraMode 0x00000010
02566 #define KS_MPEG2_LetterboxAnalogOut 0x00000020
02567 #define KS_MPEG2_DSS_UserData 0x00000040
02568 #define KS_MPEG2_DVB_UserData 0x00000080
02569 #define KS_MPEG2_27MhzTimebase 0x00000100
02570
02571 typedef struct tagKS_VIDEOINFOHEADER2 {
02572 RECT rcSource;
02573 RECT rcTarget;
02574 DWORD dwBitRate;
02575 DWORD dwBitErrorRate;
02576 REFERENCE_TIME AvgTimePerFrame;
02577 DWORD dwInterlaceFlags;
02578 DWORD dwCopyProtectFlags;
02579 DWORD dwPictAspectRatioX;
02580 DWORD dwPictAspectRatioY;
02581 DWORD dwReserved1;
02582 DWORD dwReserved2;
02583 KS_BITMAPINFOHEADER bmiHeader;
02584 } KS_VIDEOINFOHEADER2,*PKS_VIDEOINFOHEADER2;
02585
02586 typedef struct tagKS_MPEG1VIDEOINFO {
02587 KS_VIDEOINFOHEADER hdr;
02588 DWORD dwStartTimeCode;
02589 DWORD cbSequenceHeader;
02590 BYTE bSequenceHeader[1];
02591 } KS_MPEG1VIDEOINFO,*PKS_MPEG1VIDEOINFO;
02592
02593 #define KS_MAX_SIZE_MPEG1_SEQUENCE_INFO 140
02594 #define KS_SIZE_MPEG1VIDEOINFO(pv) (FIELD_OFFSET(KS_MPEG1VIDEOINFO,bSequenceHeader[0]) + (pv)->cbSequenceHeader)
02595 #define KS_MPEG1_SEQUENCE_INFO(pv) ((const BYTE *)(pv)->bSequenceHeader)
02596
02597 typedef struct tagKS_MPEGVIDEOINFO2 {
02598 KS_VIDEOINFOHEADER2 hdr;
02599 DWORD dwStartTimeCode;
02600 DWORD cbSequenceHeader;
02601 DWORD dwProfile;
02602 DWORD dwLevel;
02603 DWORD dwFlags;
02604 DWORD bSequenceHeader[1];
02605 } KS_MPEGVIDEOINFO2,*PKS_MPEGVIDEOINFO2;
02606
02607 #define KS_SIZE_MPEGVIDEOINFO2(pv) (FIELD_OFFSET(KS_MPEGVIDEOINFO2,bSequenceHeader[0]) + (pv)->cbSequenceHeader)
02608 #define KS_MPEG1_SEQUENCE_INFO(pv) ((const BYTE *)(pv)->bSequenceHeader)
02609
02610 #define KS_MPEGAUDIOINFO_27MhzTimebase 0x00000001
02611
02612 typedef struct tagKS_MPEAUDIOINFO {
02613 DWORD dwFlags;
02614 DWORD dwReserved1;
02615 DWORD dwReserved2;
02616 DWORD dwReserved3;
02617 } KS_MPEGAUDIOINFO,*PKS_MPEGAUDIOINFO;
02618
02619 typedef struct tagKS_DATAFORMAT_VIDEOINFOHEADER {
02620 KSDATAFORMAT DataFormat;
02621 KS_VIDEOINFOHEADER VideoInfoHeader;
02622 } KS_DATAFORMAT_VIDEOINFOHEADER,*PKS_DATAFORMAT_VIDEOINFOHEADER;
02623
02624 typedef struct tagKS_DATAFORMAT_VIDEOINFOHEADER2 {
02625 KSDATAFORMAT DataFormat;
02626 KS_VIDEOINFOHEADER2 VideoInfoHeader2;
02627 } KS_DATAFORMAT_VIDEOINFOHEADER2,*PKS_DATAFORMAT_VIDEOINFOHEADER2;
02628
02629 typedef struct tagKS_DATAFORMAT_VIDEOINFO_PALETTE {
02630 KSDATAFORMAT DataFormat;
02631 KS_VIDEOINFO VideoInfo;
02632 } KS_DATAFORMAT_VIDEOINFO_PALETTE,*PKS_DATAFORMAT_VIDEOINFO_PALETTE;
02633
02634 typedef struct tagKS_DATAFORMAT_VBIINFOHEADER {
02635 KSDATAFORMAT DataFormat;
02636 KS_VBIINFOHEADER VBIInfoHeader;
02637 } KS_DATAFORMAT_VBIINFOHEADER,*PKS_DATAFORMAT_VBIINFOHEADER;
02638
02639 typedef struct _KS_VIDEO_STREAM_CONFIG_CAPS {
02640 GUID guid;
02641 ULONG VideoStandard;
02642 SIZE InputSize;
02643 SIZE MinCroppingSize;
02644 SIZE MaxCroppingSize;
02645 int CropGranularityX;
02646 int CropGranularityY;
02647 int CropAlignX;
02648 int CropAlignY;
02649 SIZE MinOutputSize;
02650 SIZE MaxOutputSize;
02651 int OutputGranularityX;
02652 int OutputGranularityY;
02653 int StretchTapsX;
02654 int StretchTapsY;
02655 int ShrinkTapsX;
02656 int ShrinkTapsY;
02657 LONGLONG MinFrameInterval;
02658 LONGLONG MaxFrameInterval;
02659 LONG MinBitsPerSecond;
02660 LONG MaxBitsPerSecond;
02661 } KS_VIDEO_STREAM_CONFIG_CAPS,*PKS_VIDEO_STREAM_CONFIG_CAPS;
02662
02663 typedef struct tagKS_DATARANGE_VIDEO {
02664 KSDATARANGE DataRange;
02665 WINBOOL bFixedSizeSamples;
02666 WINBOOL bTemporalCompression;
02667 DWORD StreamDescriptionFlags;
02668 DWORD MemoryAllocationFlags;
02669 KS_VIDEO_STREAM_CONFIG_CAPS ConfigCaps;
02670 KS_VIDEOINFOHEADER VideoInfoHeader;
02671 } KS_DATARANGE_VIDEO,*PKS_DATARANGE_VIDEO;
02672
02673 typedef struct tagKS_DATARANGE_VIDEO2 {
02674 KSDATARANGE DataRange;
02675 WINBOOL bFixedSizeSamples;
02676 WINBOOL bTemporalCompression;
02677 DWORD StreamDescriptionFlags;
02678 DWORD MemoryAllocationFlags;
02679 KS_VIDEO_STREAM_CONFIG_CAPS ConfigCaps;
02680 KS_VIDEOINFOHEADER2 VideoInfoHeader;
02681 } KS_DATARANGE_VIDEO2,*PKS_DATARANGE_VIDEO2;
02682
02683 typedef struct tagKS_DATARANGE_MPEG1_VIDEO {
02684 KSDATARANGE DataRange;
02685 WINBOOL bFixedSizeSamples;
02686 WINBOOL bTemporalCompression;
02687 DWORD StreamDescriptionFlags;
02688 DWORD MemoryAllocationFlags;
02689 KS_VIDEO_STREAM_CONFIG_CAPS ConfigCaps;
02690 KS_MPEG1VIDEOINFO VideoInfoHeader;
02691 } KS_DATARANGE_MPEG1_VIDEO,*PKS_DATARANGE_MPEG1_VIDEO;
02692
02693 typedef struct tagKS_DATARANGE_MPEG2_VIDEO {
02694 KSDATARANGE DataRange;
02695 WINBOOL bFixedSizeSamples;
02696 WINBOOL bTemporalCompression;
02697 DWORD StreamDescriptionFlags;
02698 DWORD MemoryAllocationFlags;
02699 KS_VIDEO_STREAM_CONFIG_CAPS ConfigCaps;
02700 KS_MPEGVIDEOINFO2 VideoInfoHeader;
02701 } KS_DATARANGE_MPEG2_VIDEO,*PKS_DATARANGE_MPEG2_VIDEO;
02702
02703 typedef struct tagKS_DATARANGE_VIDEO_PALETTE {
02704 KSDATARANGE DataRange;
02705 WINBOOL bFixedSizeSamples;
02706 WINBOOL bTemporalCompression;
02707 DWORD StreamDescriptionFlags;
02708 DWORD MemoryAllocationFlags;
02709 KS_VIDEO_STREAM_CONFIG_CAPS ConfigCaps;
02710 KS_VIDEOINFO VideoInfo;
02711 } KS_DATARANGE_VIDEO_PALETTE,*PKS_DATARANGE_VIDEO_PALETTE;
02712
02713 typedef struct tagKS_DATARANGE_VIDEO_VBI {
02714 KSDATARANGE DataRange;
02715 WINBOOL bFixedSizeSamples;
02716 WINBOOL bTemporalCompression;
02717 DWORD StreamDescriptionFlags;
02718 DWORD MemoryAllocationFlags;
02719 KS_VIDEO_STREAM_CONFIG_CAPS ConfigCaps;
02720 KS_VBIINFOHEADER VBIInfoHeader;
02721 } KS_DATARANGE_VIDEO_VBI,*PKS_DATARANGE_VIDEO_VBI;
02722
02723 typedef struct tagKS_DATARANGE_ANALOGVIDEO {
02724 KSDATARANGE DataRange;
02725 KS_ANALOGVIDEOINFO AnalogVideoInfo;
02726 } KS_DATARANGE_ANALOGVIDEO,*PKS_DATARANGE_ANALOGVIDEO;
02727
02728 #define KS_VIDEOSTREAM_PREVIEW 0x0001
02729 #define KS_VIDEOSTREAM_CAPTURE 0x0002
02730 #define KS_VIDEOSTREAM_VBI 0x0010
02731 #define KS_VIDEOSTREAM_NABTS 0x0020
02732 #define KS_VIDEOSTREAM_CC 0x0100
02733 #define KS_VIDEOSTREAM_EDS 0x0200
02734 #define KS_VIDEOSTREAM_TELETEXT 0x0400
02735 #define KS_VIDEOSTREAM_STILL 0x1000
02736 #define KS_VIDEOSTREAM_IS_VPE 0x8000
02737
02738 #define KS_VIDEO_ALLOC_VPE_SYSTEM 0x0001
02739 #define KS_VIDEO_ALLOC_VPE_DISPLAY 0x0002
02740 #define KS_VIDEO_ALLOC_VPE_AGP 0x0004
02741
02742 #define STATIC_KSPROPSETID_VBICAP_PROPERTIES \
02743 0xf162c607,0x7b35,0x496f,0xad,0x7f,0x2d,0xca,0x3b,0x46,0xb7,0x18
02744 DEFINE_GUIDSTRUCT("F162C607-7B35-496f-AD7F-2DCA3B46B718",KSPROPSETID_VBICAP_PROPERTIES);
02745 #define KSPROPSETID_VBICAP_PROPERTIES DEFINE_GUIDNAMED(KSPROPSETID_VBICAP_PROPERTIES)
02746
02747 typedef enum {
02748 KSPROPERTY_VBICAP_PROPERTIES_PROTECTION = 0x01
02749 } KSPROPERTY_VBICAP;
02750
02751 typedef struct _VBICAP_PROPERTIES_PROTECTION_S {
02752 KSPROPERTY Property;
02753 ULONG StreamIndex;
02754 ULONG Status;
02755 } VBICAP_PROPERTIES_PROTECTION_S,*PVBICAP_PROPERTIES_PROTECTION_S;
02756
02757 #define KS_VBICAP_PROTECTION_MV_PRESENT 0x0001L
02758 #define KS_VBICAP_PROTECTION_MV_HARDWARE 0x0002L
02759 #define KS_VBICAP_PROTECTION_MV_DETECTED 0x0004L
02760
02761 #define KS_NABTS_GROUPID_ORIGINAL_CONTENT_BASE 0x800
02762 #define KS_NABTS_GROUPID_ORIGINAL_CONTENT_ADVERTISER_BASE 0x810
02763
02764 #define KS_NABTS_GROUPID_PRODUCTION_COMPANY_CONTENT_BASE 0x820
02765 #define KS_NABTS_GROUPID_PRODUCTION_COMPANY_ADVERTISER_BASE 0x830
02766
02767 #define KS_NABTS_GROUPID_SYNDICATED_SHOW_CONTENT_BASE 0x840
02768 #define KS_NABTS_GROUPID_SYNDICATED_SHOW_ADVERTISER_BASE 0x850
02769
02770 #define KS_NABTS_GROUPID_NETWORK_WIDE_CONTENT_BASE 0x860
02771 #define KS_NABTS_GROUPID_NETWORK_WIDE_ADVERTISER_BASE 0x870
02772
02773 #define KS_NABTS_GROUPID_TELEVISION_STATION_CONTENT_BASE 0x880
02774 #define KS_NABTS_GROUPID_TELEVISION_STATION_ADVERTISER_BASE 0x890
02775
02776 #define KS_NABTS_GROUPID_LOCAL_CABLE_SYSTEM_CONTENT_BASE 0x8A0
02777 #define KS_NABTS_GROUPID_LOCAL_CABLE_SYSTEM_ADVERTISER_BASE 0x8B0
02778
02779 #define KS_NABTS_GROUPID_MICROSOFT_RESERVED_TEST_DATA_BASE 0x8F0
02780
02781 #define STATIC_KSDATAFORMAT_TYPE_NABTS \
02782 0xe757bca0,0x39ac,0x11d1,0xa9,0xf5,0x0,0xc0,0x4f,0xbb,0xde,0x8f
02783 DEFINE_GUIDSTRUCT("E757BCA0-39AC-11d1-A9F5-00C04FBBDE8F",KSDATAFORMAT_TYPE_NABTS);
02784 #define KSDATAFORMAT_TYPE_NABTS DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_NABTS)
02785
02786 #define STATIC_KSDATAFORMAT_SUBTYPE_NABTS_FEC \
02787 0xe757bca1,0x39ac,0x11d1,0xa9,0xf5,0x0,0xc0,0x4f,0xbb,0xde,0x8f
02788 DEFINE_GUIDSTRUCT("E757BCA1-39AC-11d1-A9F5-00C04FBBDE8F",KSDATAFORMAT_SUBTYPE_NABTS_FEC);
02789 #define KSDATAFORMAT_SUBTYPE_NABTS_FEC DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_NABTS_FEC)
02790
02791 #define MAX_NABTS_VBI_LINES_PER_FIELD 11
02792 #define NABTS_LINES_PER_BUNDLE 16
02793 #define NABTS_PAYLOAD_PER_LINE 28
02794 #define NABTS_BYTES_PER_LINE 36
02795
02796 typedef struct _NABTSFEC_BUFFER {
02797 ULONG dataSize;
02798 USHORT groupID;
02799 USHORT Reserved;
02800 UCHAR data[NABTS_LINES_PER_BUNDLE *NABTS_PAYLOAD_PER_LINE];
02801 } NABTSFEC_BUFFER,*PNABTSFEC_BUFFER;
02802
02803 #define STATIC_KSPROPSETID_VBICodecFiltering \
02804 0xcafeb0caL,0x8715,0x11d0,0xbd,0x6a,0x00,0x35,0xc0,0xed,0xba,0xbe
02805 DEFINE_GUIDSTRUCT("cafeb0ca-8715-11d0-bd6a-0035c0edbabe",KSPROPSETID_VBICodecFiltering);
02806 #define KSPROPSETID_VBICodecFiltering DEFINE_GUIDNAMED(KSPROPSETID_VBICodecFiltering)
02807
02808 typedef enum {
02809 KSPROPERTY_VBICODECFILTERING_SCANLINES_REQUESTED_BIT_ARRAY = 0x01,
02810 KSPROPERTY_VBICODECFILTERING_SCANLINES_DISCOVERED_BIT_ARRAY,
02811 KSPROPERTY_VBICODECFILTERING_SUBSTREAMS_REQUESTED_BIT_ARRAY,
02812 KSPROPERTY_VBICODECFILTERING_SUBSTREAMS_DISCOVERED_BIT_ARRAY,
02813 KSPROPERTY_VBICODECFILTERING_STATISTICS
02814 } KSPROPERTY_VBICODECFILTERING;
02815
02816 typedef struct _VBICODECFILTERING_SCANLINES {
02817 DWORD DwordBitArray[32];
02818 } VBICODECFILTERING_SCANLINES,*PVBICODECFILTERING_SCANLINES;
02819
02820 typedef struct _VBICODECFILTERING_NABTS_SUBSTREAMS {
02821 DWORD SubstreamMask[128];
02822 } VBICODECFILTERING_NABTS_SUBSTREAMS,*PVBICODECFILTERING_NABTS_SUBSTREAMS;
02823
02824 typedef struct _VBICODECFILTERING_CC_SUBSTREAMS {
02825 DWORD SubstreamMask;
02826 } VBICODECFILTERING_CC_SUBSTREAMS,*PVBICODECFILTERING_CC_SUBSTREAMS;
02827
02828 #define KS_CC_SUBSTREAM_ODD 0x0001L
02829 #define KS_CC_SUBSTREAM_EVEN 0x0002L
02830
02831 #define KS_CC_SUBSTREAM_FIELD1_MASK 0x00F0L
02832 #define KS_CC_SUBSTREAM_SERVICE_CC1 0x0010L
02833 #define KS_CC_SUBSTREAM_SERVICE_CC2 0x0020L
02834 #define KS_CC_SUBSTREAM_SERVICE_T1 0x0040L
02835 #define KS_CC_SUBSTREAM_SERVICE_T2 0x0080L
02836
02837 #define KS_CC_SUBSTREAM_FIELD2_MASK 0x1F00L
02838 #define KS_CC_SUBSTREAM_SERVICE_CC3 0x0100L
02839 #define KS_CC_SUBSTREAM_SERVICE_CC4 0x0200L
02840 #define KS_CC_SUBSTREAM_SERVICE_T3 0x0400L
02841 #define KS_CC_SUBSTREAM_SERVICE_T4 0x0800L
02842 #define KS_CC_SUBSTREAM_SERVICE_XDS 0x1000L
02843
02844 #define CC_MAX_HW_DECODE_LINES 12
02845 typedef struct _CC_BYTE_PAIR {
02846 BYTE Decoded[2];
02847 USHORT Reserved;
02848 } CC_BYTE_PAIR,*PCC_BYTE_PAIR;
02849
02850 typedef struct _CC_HW_FIELD {
02851 VBICODECFILTERING_SCANLINES ScanlinesRequested;
02852 ULONG fieldFlags;
02853 LONGLONG PictureNumber;
02854 CC_BYTE_PAIR Lines[CC_MAX_HW_DECODE_LINES];
02855 } CC_HW_FIELD,*PCC_HW_FIELD;
02856
02857 #ifndef PACK_PRAGMAS_NOT_SUPPORTED
02858 #include <pshpack1.h>
02859 #endif
02860 typedef struct _NABTS_BUFFER_LINE {
02861 BYTE Confidence;
02862 BYTE Bytes[NABTS_BYTES_PER_LINE];
02863 } NABTS_BUFFER_LINE,*PNABTS_BUFFER_LINE;
02864
02865 #define NABTS_BUFFER_PICTURENUMBER_SUPPORT 1
02866 typedef struct _NABTS_BUFFER {
02867 VBICODECFILTERING_SCANLINES ScanlinesRequested;
02868 LONGLONG PictureNumber;
02869 NABTS_BUFFER_LINE NabtsLines[MAX_NABTS_VBI_LINES_PER_FIELD];
02870 } NABTS_BUFFER,*PNABTS_BUFFER;
02871 #ifndef PACK_PRAGMAS_NOT_SUPPORTED
02872 #include <poppack.h>
02873 #endif
02874
02875 #define WST_TVTUNER_CHANGE_BEGIN_TUNE 0x1000L
02876 #define WST_TVTUNER_CHANGE_END_TUNE 0x2000L
02877
02878 #define MAX_WST_VBI_LINES_PER_FIELD 17
02879 #define WST_BYTES_PER_LINE 42
02880
02881 typedef struct _WST_BUFFER_LINE {
02882 BYTE Confidence;
02883 BYTE Bytes[WST_BYTES_PER_LINE];
02884 } WST_BUFFER_LINE,*PWST_BUFFER_LINE;
02885
02886 typedef struct _WST_BUFFER {
02887 VBICODECFILTERING_SCANLINES ScanlinesRequested;
02888 WST_BUFFER_LINE WstLines[MAX_WST_VBI_LINES_PER_FIELD];
02889 } WST_BUFFER,*PWST_BUFFER;
02890
02891 typedef struct _VBICODECFILTERING_STATISTICS_COMMON {
02892 DWORD InputSRBsProcessed;
02893 DWORD OutputSRBsProcessed;
02894 DWORD SRBsIgnored;
02895 DWORD InputSRBsMissing;
02896 DWORD OutputSRBsMissing;
02897 DWORD OutputFailures;
02898 DWORD InternalErrors;
02899 DWORD ExternalErrors;
02900 DWORD InputDiscontinuities;
02901 DWORD DSPFailures;
02902 DWORD TvTunerChanges;
02903 DWORD VBIHeaderChanges;
02904 DWORD LineConfidenceAvg;
02905 DWORD BytesOutput;
02906 } VBICODECFILTERING_STATISTICS_COMMON,*PVBICODECFILTERING_STATISTICS_COMMON;
02907
02908 typedef struct _VBICODECFILTERING_STATISTICS_COMMON_PIN {
02909 DWORD SRBsProcessed;
02910 DWORD SRBsIgnored;
02911 DWORD SRBsMissing;
02912 DWORD InternalErrors;
02913 DWORD ExternalErrors;
02914 DWORD Discontinuities;
02915 DWORD LineConfidenceAvg;
02916 DWORD BytesOutput;
02917 } VBICODECFILTERING_STATISTICS_COMMON_PIN,*PVBICODECFILTERING_STATISTICS_COMMON_PIN;
02918
02919 typedef struct _VBICODECFILTERING_STATISTICS_NABTS {
02920 VBICODECFILTERING_STATISTICS_COMMON Common;
02921 DWORD FECBundleBadLines;
02922 DWORD FECQueueOverflows;
02923 DWORD FECCorrectedLines;
02924 DWORD FECUncorrectableLines;
02925 DWORD BundlesProcessed;
02926 DWORD BundlesSent2IP;
02927 DWORD FilteredLines;
02928 } VBICODECFILTERING_STATISTICS_NABTS,*PVBICODECFILTERING_STATISTICS_NABTS;
02929
02930 typedef struct _VBICODECFILTERING_STATISTICS_NABTS_PIN {
02931 VBICODECFILTERING_STATISTICS_COMMON_PIN Common;
02932 } VBICODECFILTERING_STATISTICS_NABTS_PIN,*PVBICODECFILTERING_STATISTICS_NABTS_PIN;
02933
02934 typedef struct _VBICODECFILTERING_STATISTICS_CC {
02935 VBICODECFILTERING_STATISTICS_COMMON Common;
02936 } VBICODECFILTERING_STATISTICS_CC,*PVBICODECFILTERING_STATISTICS_CC;
02937
02938 typedef struct _VBICODECFILTERING_STATISTICS_CC_PIN {
02939 VBICODECFILTERING_STATISTICS_COMMON_PIN Common;
02940 } VBICODECFILTERING_STATISTICS_CC_PIN,*PVBICODECFILTERING_STATISTICS_CC_PIN;
02941
02942 typedef struct _VBICODECFILTERING_STATISTICS_TELETEXT {
02943 VBICODECFILTERING_STATISTICS_COMMON Common;
02944 } VBICODECFILTERING_STATISTICS_TELETEXT,*PVBICODECFILTERING_STATISTICS_TELETEXT;
02945
02946 typedef struct _VBICODECFILTERING_STATISTICS_TELETEXT_PIN {
02947 VBICODECFILTERING_STATISTICS_COMMON_PIN Common;
02948 } VBICODECFILTERING_STATISTICS_TELETEXT_PIN,*PVBICODECFILTERING_STATISTICS_TELETEXT_PIN;
02949
02950 typedef struct {
02951 KSPROPERTY Property;
02952 VBICODECFILTERING_SCANLINES Scanlines;
02953 } KSPROPERTY_VBICODECFILTERING_SCANLINES_S,*PKSPROPERTY_VBICODECFILTERING_SCANLINES_S;
02954
02955 typedef struct {
02956 KSPROPERTY Property;
02957 VBICODECFILTERING_NABTS_SUBSTREAMS Substreams;
02958 } KSPROPERTY_VBICODECFILTERING_NABTS_SUBSTREAMS_S,*PKSPROPERTY_VBICODECFILTERING_NABTS_SUBSTREAMS_S;
02959
02960 typedef struct {
02961 KSPROPERTY Property;
02962 VBICODECFILTERING_CC_SUBSTREAMS Substreams;
02963 } KSPROPERTY_VBICODECFILTERING_CC_SUBSTREAMS_S,*PKSPROPERTY_VBICODECFILTERING_CC_SUBSTREAMS_S;
02964
02965 typedef struct {
02966 KSPROPERTY Property;
02967 VBICODECFILTERING_STATISTICS_COMMON Statistics;
02968 } KSPROPERTY_VBICODECFILTERING_STATISTICS_COMMON_S,*PKSPROPERTY_VBICODECFILTERING_STATISTICS_COMMON_S;
02969
02970 typedef struct {
02971 KSPROPERTY Property;
02972 VBICODECFILTERING_STATISTICS_COMMON_PIN Statistics;
02973 } KSPROPERTY_VBICODECFILTERING_STATISTICS_COMMON_PIN_S,*PKSPROPERTY_VBICODECFILTERING_STATISTICS_COMMON_PIN_S;
02974
02975 typedef struct {
02976 KSPROPERTY Property;
02977 VBICODECFILTERING_STATISTICS_NABTS Statistics;
02978 } KSPROPERTY_VBICODECFILTERING_STATISTICS_NABTS_S,*PKSPROPERTY_VBICODECFILTERING_STATISTICS_NABTS_S;
02979
02980 typedef struct {
02981 KSPROPERTY Property;
02982 VBICODECFILTERING_STATISTICS_NABTS_PIN Statistics;
02983 } KSPROPERTY_VBICODECFILTERING_STATISTICS_NABTS_PIN_S,*PKSPROPERTY_VBICODECFILTERING_STATISTICS_NABTS_PIN_S;
02984
02985 typedef struct {
02986 KSPROPERTY Property;
02987 VBICODECFILTERING_STATISTICS_CC Statistics;
02988 } KSPROPERTY_VBICODECFILTERING_STATISTICS_CC_S,*PKSPROPERTY_VBICODECFILTERING_STATISTICS_CC_S;
02989
02990 typedef struct {
02991 KSPROPERTY Property;
02992 VBICODECFILTERING_STATISTICS_CC_PIN Statistics;
02993 } KSPROPERTY_VBICODECFILTERING_STATISTICS_CC_PIN_S,*PKSPROPERTY_VBICODECFILTERING_STATISTICS_CC_PIN_S;
02994
02995 #define STATIC_PINNAME_VIDEO_CAPTURE \
02996 0xfb6c4281,0x353,0x11d1,0x90,0x5f,0x0,0x0,0xc0,0xcc,0x16,0xba
02997 #define STATIC_PINNAME_CAPTURE STATIC_PINNAME_VIDEO_CAPTURE
02998 DEFINE_GUIDSTRUCT("FB6C4281-0353-11d1-905F-0000C0CC16BA",PINNAME_VIDEO_CAPTURE);
02999 #define PINNAME_VIDEO_CAPTURE DEFINE_GUIDNAMED(PINNAME_VIDEO_CAPTURE)
03000 #define PINNAME_CAPTURE PINNAME_VIDEO_CAPTURE
03001
03002 #define STATIC_PINNAME_VIDEO_CC_CAPTURE \
03003 0x1aad8061,0x12d,0x11d2,0xb4,0xb1,0x0,0xa0,0xd1,0x2,0xcf,0xbe
03004 #define STATIC_PINNAME_CC_CAPTURE STATIC_PINNAME_VIDEO_CC_CAPTURE
03005 DEFINE_GUIDSTRUCT("1AAD8061-012D-11d2-B4B1-00A0D102CFBE",PINNAME_VIDEO_CC_CAPTURE);
03006 #define PINNAME_VIDEO_CC_CAPTURE DEFINE_GUIDNAMED(PINNAME_VIDEO_CC_CAPTURE)
03007
03008 #define STATIC_PINNAME_VIDEO_NABTS_CAPTURE \
03009 0x29703660,0x498a,0x11d2,0xb4,0xb1,0x0,0xa0,0xd1,0x2,0xcf,0xbe
03010 #define STATIC_PINNAME_NABTS_CAPTURE STATIC_PINNAME_VIDEO_NABTS_CAPTURE
03011 DEFINE_GUIDSTRUCT("29703660-498A-11d2-B4B1-00A0D102CFBE",PINNAME_VIDEO_NABTS_CAPTURE);
03012 #define PINNAME_VIDEO_NABTS_CAPTURE DEFINE_GUIDNAMED(PINNAME_VIDEO_NABTS_CAPTURE)
03013
03014 #define STATIC_PINNAME_VIDEO_PREVIEW \
03015 0xfb6c4282,0x353,0x11d1,0x90,0x5f,0x0,0x0,0xc0,0xcc,0x16,0xba
03016 #define STATIC_PINNAME_PREVIEW STATIC_PINNAME_VIDEO_PREVIEW
03017 DEFINE_GUIDSTRUCT("FB6C4282-0353-11d1-905F-0000C0CC16BA",PINNAME_VIDEO_PREVIEW);
03018 #define PINNAME_VIDEO_PREVIEW DEFINE_GUIDNAMED(PINNAME_VIDEO_PREVIEW)
03019 #define PINNAME_PREVIEW PINNAME_VIDEO_PREVIEW
03020
03021 #define STATIC_PINNAME_VIDEO_ANALOGVIDEOIN \
03022 0xfb6c4283,0x353,0x11d1,0x90,0x5f,0x0,0x0,0xc0,0xcc,0x16,0xba
03023 DEFINE_GUIDSTRUCT("FB6C4283-0353-11d1-905F-0000C0CC16BA",PINNAME_VIDEO_ANALOGVIDEOIN);
03024 #define PINNAME_VIDEO_ANALOGVIDEOIN DEFINE_GUIDNAMED(PINNAME_VIDEO_ANALOGVIDEOIN)
03025
03026 #define STATIC_PINNAME_VIDEO_VBI \
03027 0xfb6c4284,0x353,0x11d1,0x90,0x5f,0x0,0x0,0xc0,0xcc,0x16,0xba
03028 DEFINE_GUIDSTRUCT("FB6C4284-0353-11d1-905F-0000C0CC16BA",PINNAME_VIDEO_VBI);
03029 #define PINNAME_VIDEO_VBI DEFINE_GUIDNAMED(PINNAME_VIDEO_VBI)
03030
03031 #define STATIC_PINNAME_VIDEO_VIDEOPORT \
03032 0xfb6c4285,0x353,0x11d1,0x90,0x5f,0x0,0x0,0xc0,0xcc,0x16,0xba
03033 DEFINE_GUIDSTRUCT("FB6C4285-0353-11d1-905F-0000C0CC16BA",PINNAME_VIDEO_VIDEOPORT);
03034 #define PINNAME_VIDEO_VIDEOPORT DEFINE_GUIDNAMED(PINNAME_VIDEO_VIDEOPORT)
03035
03036 #define STATIC_PINNAME_VIDEO_NABTS \
03037 0xfb6c4286,0x353,0x11d1,0x90,0x5f,0x0,0x0,0xc0,0xcc,0x16,0xba
03038 DEFINE_GUIDSTRUCT("FB6C4286-0353-11d1-905F-0000C0CC16BA",PINNAME_VIDEO_NABTS);
03039 #define PINNAME_VIDEO_NABTS DEFINE_GUIDNAMED(PINNAME_VIDEO_NABTS)
03040
03041 #define STATIC_PINNAME_VIDEO_EDS \
03042 0xfb6c4287,0x353,0x11d1,0x90,0x5f,0x0,0x0,0xc0,0xcc,0x16,0xba
03043 DEFINE_GUIDSTRUCT("FB6C4287-0353-11d1-905F-0000C0CC16BA",PINNAME_VIDEO_EDS);
03044 #define PINNAME_VIDEO_EDS DEFINE_GUIDNAMED(PINNAME_VIDEO_EDS)
03045
03046 #define STATIC_PINNAME_VIDEO_TELETEXT \
03047 0xfb6c4288,0x353,0x11d1,0x90,0x5f,0x0,0x0,0xc0,0xcc,0x16,0xba
03048 DEFINE_GUIDSTRUCT("FB6C4288-0353-11d1-905F-0000C0CC16BA",PINNAME_VIDEO_TELETEXT);
03049 #define PINNAME_VIDEO_TELETEXT DEFINE_GUIDNAMED(PINNAME_VIDEO_TELETEXT)
03050
03051 #define STATIC_PINNAME_VIDEO_CC \
03052 0xfb6c4289,0x353,0x11d1,0x90,0x5f,0x0,0x0,0xc0,0xcc,0x16,0xba
03053 DEFINE_GUIDSTRUCT("FB6C4289-0353-11d1-905F-0000C0CC16BA",PINNAME_VIDEO_CC);
03054 #define PINNAME_VIDEO_CC DEFINE_GUIDNAMED(PINNAME_VIDEO_CC)
03055
03056 #define STATIC_PINNAME_VIDEO_STILL \
03057 0xfb6c428A,0x353,0x11d1,0x90,0x5f,0x0,0x0,0xc0,0xcc,0x16,0xba
03058 DEFINE_GUIDSTRUCT("FB6C428A-0353-11d1-905F-0000C0CC16BA",PINNAME_VIDEO_STILL);
03059 #define PINNAME_VIDEO_STILL DEFINE_GUIDNAMED(PINNAME_VIDEO_STILL)
03060
03061 #define STATIC_PINNAME_VIDEO_TIMECODE \
03062 0xfb6c428B,0x353,0x11d1,0x90,0x5f,0x0,0x0,0xc0,0xcc,0x16,0xba
03063 DEFINE_GUIDSTRUCT("FB6C428B-0353-11d1-905F-0000C0CC16BA",PINNAME_VIDEO_TIMECODE);
03064 #define PINNAME_VIDEO_TIMECODE DEFINE_GUIDNAMED(PINNAME_VIDEO_TIMECODE)
03065
03066 #define STATIC_PINNAME_VIDEO_VIDEOPORT_VBI \
03067 0xfb6c428C,0x353,0x11d1,0x90,0x5f,0x0,0x0,0xc0,0xcc,0x16,0xba
03068 DEFINE_GUIDSTRUCT("FB6C428C-0353-11d1-905F-0000C0CC16BA",PINNAME_VIDEO_VIDEOPORT_VBI);
03069 #define PINNAME_VIDEO_VIDEOPORT_VBI DEFINE_GUIDNAMED(PINNAME_VIDEO_VIDEOPORT_VBI)
03070
03071 #define KS_VIDEO_FLAG_FRAME 0x0000L
03072 #define KS_VIDEO_FLAG_FIELD1 0x0001L
03073 #define KS_VIDEO_FLAG_FIELD2 0x0002L
03074
03075 #define KS_VIDEO_FLAG_I_FRAME 0x0000L
03076 #define KS_VIDEO_FLAG_P_FRAME 0x0010L
03077 #define KS_VIDEO_FLAG_B_FRAME 0x0020L
03078
03079 typedef struct tagKS_FRAME_INFO {
03080 ULONG ExtendedHeaderSize;
03081 DWORD dwFrameFlags;
03082 LONGLONG PictureNumber;
03083 LONGLONG DropCount;
03084 HANDLE hDirectDraw;
03085 HANDLE hSurfaceHandle;
03086 RECT DirectDrawRect;
03087
03088 DWORD Reserved1;
03089 DWORD Reserved2;
03090 DWORD Reserved3;
03091 DWORD Reserved4;
03092 } KS_FRAME_INFO,*PKS_FRAME_INFO;
03093
03094 #define KS_VBI_FLAG_FIELD1 0x0001L
03095 #define KS_VBI_FLAG_FIELD2 0x0002L
03096
03097 #define KS_VBI_FLAG_MV_PRESENT 0x0100L
03098 #define KS_VBI_FLAG_MV_HARDWARE 0x0200L
03099 #define KS_VBI_FLAG_MV_DETECTED 0x0400L
03100
03101 #define KS_VBI_FLAG_TVTUNER_CHANGE 0x0010L
03102 #define KS_VBI_FLAG_VBIINFOHEADER_CHANGE 0x0020L
03103
03104 typedef struct tagKS_VBI_FRAME_INFO {
03105 ULONG ExtendedHeaderSize;
03106 DWORD dwFrameFlags;
03107 LONGLONG PictureNumber;
03108 LONGLONG DropCount;
03109 DWORD dwSamplingFrequency;
03110 KS_TVTUNER_CHANGE_INFO TvTunerChangeInfo;
03111 KS_VBIINFOHEADER VBIInfoHeader;
03112 } KS_VBI_FRAME_INFO,*PKS_VBI_FRAME_INFO;
03113
03114 typedef enum
03115 {
03116 KS_AnalogVideo_None = 0x00000000,
03117 KS_AnalogVideo_NTSC_M = 0x00000001,
03118 KS_AnalogVideo_NTSC_M_J = 0x00000002,
03119 KS_AnalogVideo_NTSC_433 = 0x00000004,
03120 KS_AnalogVideo_PAL_B = 0x00000010,
03121 KS_AnalogVideo_PAL_D = 0x00000020,
03122 KS_AnalogVideo_PAL_G = 0x00000040,
03123 KS_AnalogVideo_PAL_H = 0x00000080,
03124 KS_AnalogVideo_PAL_I = 0x00000100,
03125 KS_AnalogVideo_PAL_M = 0x00000200,
03126 KS_AnalogVideo_PAL_N = 0x00000400,
03127 KS_AnalogVideo_PAL_60 = 0x00000800,
03128 KS_AnalogVideo_SECAM_B = 0x00001000,
03129 KS_AnalogVideo_SECAM_D = 0x00002000,
03130 KS_AnalogVideo_SECAM_G = 0x00004000,
03131 KS_AnalogVideo_SECAM_H = 0x00008000,
03132 KS_AnalogVideo_SECAM_K = 0x00010000,
03133 KS_AnalogVideo_SECAM_K1 = 0x00020000,
03134 KS_AnalogVideo_SECAM_L = 0x00040000,
03135 KS_AnalogVideo_SECAM_L1 = 0x00080000,
03136 KS_AnalogVideo_PAL_N_COMBO = 0x00100000
03137 } KS_AnalogVideoStandard;
03138
03139 #define KS_AnalogVideo_NTSC_Mask 0x00000007
03140 #define KS_AnalogVideo_PAL_Mask 0x00100FF0
03141 #define KS_AnalogVideo_SECAM_Mask 0x000FF000
03142
03143 #define STATIC_PROPSETID_ALLOCATOR_CONTROL \
03144 0x53171960,0x148e,0x11d2,0x99,0x79,0x0,0x0,0xc0,0xcc,0x16,0xba
03145 DEFINE_GUIDSTRUCT("53171960-148E-11d2-9979-0000C0CC16BA",PROPSETID_ALLOCATOR_CONTROL);
03146 #define PROPSETID_ALLOCATOR_CONTROL DEFINE_GUIDNAMED(PROPSETID_ALLOCATOR_CONTROL)
03147
03148 typedef enum {
03149 KSPROPERTY_ALLOCATOR_CONTROL_HONOR_COUNT,
03150 KSPROPERTY_ALLOCATOR_CONTROL_SURFACE_SIZE,
03151 KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_CAPS,
03152 KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_INTERLEAVE
03153 } KSPROPERTY_ALLOCATOR_CONTROL;
03154
03155 typedef struct {
03156 ULONG CX;
03157 ULONG CY;
03158 } KSPROPERTY_ALLOCATOR_CONTROL_SURFACE_SIZE_S,*PKSPROPERTY_ALLOCATOR_CONTROL_SURFACE_SIZE_S;
03159
03160 typedef struct {
03161 ULONG InterleavedCapSupported;
03162 } KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_CAPS_S,*PKSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_CAPS_S;
03163
03164 typedef struct {
03165 ULONG InterleavedCapPossible;
03166 } KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_INTERLEAVE_S,*PKSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_INTERLEAVE_S;
03167
03168 #define STATIC_PROPSETID_VIDCAP_VIDEOPROCAMP \
03169 0xC6E13360L,0x30AC,0x11d0,0xa1,0x8c,0x00,0xA0,0xC9,0x11,0x89,0x56
03170 DEFINE_GUIDSTRUCT("C6E13360-30AC-11d0-A18C-00A0C9118956",PROPSETID_VIDCAP_VIDEOPROCAMP);
03171 #define PROPSETID_VIDCAP_VIDEOPROCAMP DEFINE_GUIDNAMED(PROPSETID_VIDCAP_VIDEOPROCAMP)
03172
03173 typedef enum {
03174 KSPROPERTY_VIDEOPROCAMP_BRIGHTNESS,
03175 KSPROPERTY_VIDEOPROCAMP_CONTRAST,
03176 KSPROPERTY_VIDEOPROCAMP_HUE,
03177 KSPROPERTY_VIDEOPROCAMP_SATURATION,
03178 KSPROPERTY_VIDEOPROCAMP_SHARPNESS,
03179 KSPROPERTY_VIDEOPROCAMP_GAMMA,
03180 KSPROPERTY_VIDEOPROCAMP_COLORENABLE,
03181 KSPROPERTY_VIDEOPROCAMP_WHITEBALANCE,
03182 KSPROPERTY_VIDEOPROCAMP_BACKLIGHT_COMPENSATION,
03183 KSPROPERTY_VIDEOPROCAMP_GAIN,
03184 KSPROPERTY_VIDEOPROCAMP_DIGITAL_MULTIPLIER,
03185 KSPROPERTY_VIDEOPROCAMP_DIGITAL_MULTIPLIER_LIMIT,
03186 KSPROPERTY_VIDEOPROCAMP_WHITEBALANCE_COMPONENT,
03187 KSPROPERTY_VIDEOPROCAMP_POWERLINE_FREQUENCY
03188 } KSPROPERTY_VIDCAP_VIDEOPROCAMP;
03189
03190 typedef struct {
03191 KSPROPERTY Property;
03192 LONG Value;
03193 ULONG Flags;
03194 ULONG Capabilities;
03195 } KSPROPERTY_VIDEOPROCAMP_S,*PKSPROPERTY_VIDEOPROCAMP_S;
03196
03197 typedef struct {
03198 KSP_NODE NodeProperty;
03199 LONG Value;
03200 ULONG Flags;
03201 ULONG Capabilities;
03202 } KSPROPERTY_VIDEOPROCAMP_NODE_S,*PKSPROPERTY_VIDEOPROCAMP_NODE_S;
03203
03204 typedef struct {
03205 KSPROPERTY Property;
03206 LONG Value1;
03207 ULONG Flags;
03208 ULONG Capabilities;
03209 LONG Value2;
03210 } KSPROPERTY_VIDEOPROCAMP_S2,*PKSPROPERTY_VIDEOPROCAMP_S2;
03211
03212 typedef struct {
03213 KSP_NODE NodeProperty;
03214 LONG Value1;
03215 ULONG Flags;
03216 ULONG Capabilities;
03217 LONG Value2;
03218 } KSPROPERTY_VIDEOPROCAMP_NODE_S2,*PKSPROPERTY_VIDEOPROCAMP_NODE_S2;
03219
03220 #define KSPROPERTY_VIDEOPROCAMP_FLAGS_AUTO 0X0001L
03221 #define KSPROPERTY_VIDEOPROCAMP_FLAGS_MANUAL 0X0002L
03222
03223 #define STATIC_PROPSETID_VIDCAP_SELECTOR \
03224 0x1ABDAECA,0x68B6,0x4F83,0x93,0x71,0xB4,0x13,0x90,0x7C,0x7B,0x9F
03225 DEFINE_GUIDSTRUCT("1ABDAECA-68B6-4F83-9371-B413907C7B9F",PROPSETID_VIDCAP_SELECTOR);
03226 #define PROPSETID_VIDCAP_SELECTOR DEFINE_GUIDNAMED(PROPSETID_VIDCAP_SELECTOR)
03227
03228 typedef enum {
03229 KSPROPERTY_SELECTOR_SOURCE_NODE_ID,
03230 KSPROPERTY_SELECTOR_NUM_SOURCES
03231 } KSPROPERTY_VIDCAP_SELECTOR,*PKSPROPERTY_VIDCAP_SELECTOR;
03232
03233 typedef struct {
03234 KSPROPERTY Property;
03235 LONG Value;
03236 ULONG Flags;
03237 ULONG Capabilities;
03238 } KSPROPERTY_SELECTOR_S,*PKSPROPERTY_SELECTOR_S;
03239
03240 typedef struct {
03241 KSP_NODE NodeProperty;
03242 LONG Value;
03243 ULONG Flags;
03244 ULONG Capabilities;
03245 } KSPROPERTY_SELECTOR_NODE_S,*PKSPROPERTY_SELECTOR_NODE_S;
03246
03247 #define STATIC_PROPSETID_TUNER \
03248 0x6a2e0605L,0x28e4,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56
03249 DEFINE_GUIDSTRUCT("6a2e0605-28e4-11d0-a18c-00a0c9118956",PROPSETID_TUNER);
03250 #define PROPSETID_TUNER DEFINE_GUIDNAMED(PROPSETID_TUNER)
03251
03252 typedef enum {
03253 KSPROPERTY_TUNER_CAPS,
03254 KSPROPERTY_TUNER_MODE_CAPS,
03255 KSPROPERTY_TUNER_MODE,
03256 KSPROPERTY_TUNER_STANDARD,
03257 KSPROPERTY_TUNER_FREQUENCY,
03258 KSPROPERTY_TUNER_INPUT,
03259 KSPROPERTY_TUNER_STATUS,
03260 KSPROPERTY_TUNER_IF_MEDIUM
03261 } KSPROPERTY_TUNER;
03262
03263 typedef enum {
03264 KSPROPERTY_TUNER_MODE_TV = 0X0001,
03265 KSPROPERTY_TUNER_MODE_FM_RADIO = 0X0002,
03266 KSPROPERTY_TUNER_MODE_AM_RADIO = 0X0004,
03267 KSPROPERTY_TUNER_MODE_DSS = 0X0008,
03268 KSPROPERTY_TUNER_MODE_ATSC = 0X0010
03269 } KSPROPERTY_TUNER_MODES;
03270
03271 typedef enum {
03272 KS_TUNER_TUNING_EXACT = 1,
03273 KS_TUNER_TUNING_FINE,
03274 KS_TUNER_TUNING_COARSE
03275 } KS_TUNER_TUNING_FLAGS;
03276
03277 typedef enum {
03278 KS_TUNER_STRATEGY_PLL = 0X01,
03279 KS_TUNER_STRATEGY_SIGNAL_STRENGTH = 0X02,
03280 KS_TUNER_STRATEGY_DRIVER_TUNES = 0X04
03281 } KS_TUNER_STRATEGY;
03282
03283 typedef struct {
03284 KSPROPERTY Property;
03285 ULONG ModesSupported;
03286 KSPIN_MEDIUM VideoMedium;
03287 KSPIN_MEDIUM TVAudioMedium;
03288 KSPIN_MEDIUM RadioAudioMedium;
03289 } KSPROPERTY_TUNER_CAPS_S,*PKSPROPERTY_TUNER_CAPS_S;
03290
03291 typedef struct {
03292 KSPROPERTY Property;
03293 KSPIN_MEDIUM IFMedium;
03294 } KSPROPERTY_TUNER_IF_MEDIUM_S,*PKSPROPERTY_TUNER_IF_MEDIUM_S;
03295
03296 typedef struct {
03297 KSPROPERTY Property;
03298 ULONG Mode;
03299 ULONG StandardsSupported;
03300 ULONG MinFrequency;
03301 ULONG MaxFrequency;
03302 ULONG TuningGranularity;
03303 ULONG NumberOfInputs;
03304 ULONG SettlingTime;
03305 ULONG Strategy;
03306 } KSPROPERTY_TUNER_MODE_CAPS_S,*PKSPROPERTY_TUNER_MODE_CAPS_S;
03307
03308 typedef struct {
03309 KSPROPERTY Property;
03310 ULONG Mode;
03311 } KSPROPERTY_TUNER_MODE_S,*PKSPROPERTY_TUNER_MODE_S;
03312
03313 typedef struct {
03314 KSPROPERTY Property;
03315 ULONG Frequency;
03316 ULONG LastFrequency;
03317 ULONG TuningFlags;
03318 ULONG VideoSubChannel;
03319 ULONG AudioSubChannel;
03320 ULONG Channel;
03321 ULONG Country;
03322 } KSPROPERTY_TUNER_FREQUENCY_S,*PKSPROPERTY_TUNER_FREQUENCY_S;
03323
03324 typedef struct {
03325 KSPROPERTY Property;
03326 ULONG Standard;
03327 } KSPROPERTY_TUNER_STANDARD_S,*PKSPROPERTY_TUNER_STANDARD_S;
03328
03329 typedef struct {
03330 KSPROPERTY Property;
03331 ULONG InputIndex;
03332 } KSPROPERTY_TUNER_INPUT_S,*PKSPROPERTY_TUNER_INPUT_S;
03333
03334 typedef struct {
03335 KSPROPERTY Property;
03336 ULONG CurrentFrequency;
03337 ULONG PLLOffset;
03338 ULONG SignalStrength;
03339 ULONG Busy;
03340 } KSPROPERTY_TUNER_STATUS_S,*PKSPROPERTY_TUNER_STATUS_S;
03341
03342 #define STATIC_EVENTSETID_TUNER \
03343 0x6a2e0606L,0x28e4,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56
03344 DEFINE_GUIDSTRUCT("6a2e0606-28e4-11d0-a18c-00a0c9118956",EVENTSETID_TUNER);
03345 #define EVENTSETID_TUNER DEFINE_GUIDNAMED(EVENTSETID_TUNER)
03346
03347 typedef enum {
03348 KSEVENT_TUNER_CHANGED
03349 } KSEVENT_TUNER;
03350
03351 #define STATIC_KSNODETYPE_VIDEO_STREAMING \
03352 0xDFF229E1L,0xF70F,0x11D0,0xB9,0x17,0x00,0xA0,0xC9,0x22,0x31,0x96
03353 DEFINE_GUIDSTRUCT("DFF229E1-F70F-11D0-B917-00A0C9223196",KSNODETYPE_VIDEO_STREAMING);
03354 #define KSNODETYPE_VIDEO_STREAMING DEFINE_GUIDNAMED(KSNODETYPE_VIDEO_STREAMING)
03355
03356 #define STATIC_KSNODETYPE_VIDEO_INPUT_TERMINAL \
03357 0xDFF229E2L,0xF70F,0x11D0,0xB9,0x17,0x00,0xA0,0xC9,0x22,0x31,0x96
03358 DEFINE_GUIDSTRUCT("DFF229E2-F70F-11D0-B917-00A0C9223196",KSNODETYPE_VIDEO_INPUT_TERMINAL);
03359 #define KSNODETYPE_VIDEO_INPUT_TERMINAL DEFINE_GUIDNAMED(KSNODETYPE_VIDEO_INPUT_TERMINAL)
03360
03361 #define STATIC_KSNODETYPE_VIDEO_OUTPUT_TERMINAL \
03362 0xDFF229E3L,0xF70F,0x11D0,0xB9,0x17,0x00,0xA0,0xC9,0x22,0x31,0x96
03363 DEFINE_GUIDSTRUCT("DFF229E3-F70F-11D0-B917-00A0C9223196",KSNODETYPE_VIDEO_OUTPUT_TERMINAL);
03364 #define KSNODETYPE_VIDEO_OUTPUT_TERMINAL DEFINE_GUIDNAMED(KSNODETYPE_VIDEO_OUTPUT_TERMINAL)
03365
03366 #define STATIC_KSNODETYPE_VIDEO_SELECTOR \
03367 0xDFF229E4L,0xF70F,0x11D0,0xB9,0x17,0x00,0xA0,0xC9,0x22,0x31,0x96
03368 DEFINE_GUIDSTRUCT("DFF229E4-F70F-11D0-B917-00A0C9223196",KSNODETYPE_VIDEO_SELECTOR);
03369 #define KSNODETYPE_VIDEO_SELECTOR DEFINE_GUIDNAMED(KSNODETYPE_VIDEO_SELECTOR)
03370
03371 #define STATIC_KSNODETYPE_VIDEO_PROCESSING \
03372 0xDFF229E5L,0xF70F,0x11D0,0xB9,0x17,0x00,0xA0,0xC9,0x22,0x31,0x96
03373 DEFINE_GUIDSTRUCT("DFF229E5-F70F-11D0-B917-00A0C9223196",KSNODETYPE_VIDEO_PROCESSING);
03374 #define KSNODETYPE_VIDEO_PROCESSING DEFINE_GUIDNAMED(KSNODETYPE_VIDEO_PROCESSING)
03375
03376 #define STATIC_KSNODETYPE_VIDEO_CAMERA_TERMINAL \
03377 0xDFF229E6L,0xF70F,0x11D0,0xB9,0x17,0x00,0xA0,0xC9,0x22,0x31,0x96
03378 DEFINE_GUIDSTRUCT("DFF229E6-F70F-11D0-B917-00A0C9223196",KSNODETYPE_VIDEO_CAMERA_TERMINAL);
03379 #define KSNODETYPE_VIDEO_CAMERA_TERMINAL DEFINE_GUIDNAMED(KSNODETYPE_VIDEO_CAMERA_TERMINAL)
03380
03381 #define STATIC_KSNODETYPE_VIDEO_INPUT_MTT \
03382 0xDFF229E7L,0xF70F,0x11D0,0xB9,0x17,0x00,0xA0,0xC9,0x22,0x31,0x96
03383 DEFINE_GUIDSTRUCT("DFF229E7-F70F-11D0-B917-00A0C9223196",KSNODETYPE_VIDEO_INPUT_MTT);
03384 #define KSNODETYPE_VIDEO_INPUT_MTT DEFINE_GUIDNAMED(KSNODETYPE_VIDEO_INPUT_MTT)
03385
03386 #define STATIC_KSNODETYPE_VIDEO_OUTPUT_MTT \
03387 0xDFF229E8L,0xF70F,0x11D0,0xB9,0x17,0x00,0xA0,0xC9,0x22,0x31,0x96
03388 DEFINE_GUIDSTRUCT("DFF229E8-F70F-11D0-B917-00A0C9223196",KSNODETYPE_VIDEO_OUTPUT_MTT);
03389 #define KSNODETYPE_VIDEO_OUTPUT_MTT DEFINE_GUIDNAMED(KSNODETYPE_VIDEO_OUTPUT_MTT)
03390
03391 #define STATIC_PROPSETID_VIDCAP_VIDEOENCODER \
03392 0x6a2e0610L,0x28e4,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56
03393 DEFINE_GUIDSTRUCT("6a2e0610-28e4-11d0-a18c-00a0c9118956",PROPSETID_VIDCAP_VIDEOENCODER);
03394 #define PROPSETID_VIDCAP_VIDEOENCODER DEFINE_GUIDNAMED(PROPSETID_VIDCAP_VIDEOENCODER)
03395
03396 typedef enum {
03397 KSPROPERTY_VIDEOENCODER_CAPS,
03398 KSPROPERTY_VIDEOENCODER_STANDARD,
03399 KSPROPERTY_VIDEOENCODER_COPYPROTECTION,
03400 KSPROPERTY_VIDEOENCODER_CC_ENABLE
03401 } KSPROPERTY_VIDCAP_VIDEOENCODER;
03402
03403 typedef struct {
03404 KSPROPERTY Property;
03405 LONG Value;
03406 ULONG Flags;
03407 ULONG Capabilities;
03408 } KSPROPERTY_VIDEOENCODER_S,*PKSPROPERTY_VIDEOENCODER_S;
03409
03410 #define STATIC_PROPSETID_VIDCAP_VIDEODECODER \
03411 0xC6E13350L,0x30AC,0x11d0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56
03412 DEFINE_GUIDSTRUCT("C6E13350-30AC-11d0-A18C-00A0C9118956",PROPSETID_VIDCAP_VIDEODECODER);
03413 #define PROPSETID_VIDCAP_VIDEODECODER DEFINE_GUIDNAMED(PROPSETID_VIDCAP_VIDEODECODER)
03414
03415 typedef enum {
03416 KSPROPERTY_VIDEODECODER_CAPS,
03417 KSPROPERTY_VIDEODECODER_STANDARD,
03418 KSPROPERTY_VIDEODECODER_STATUS,
03419 KSPROPERTY_VIDEODECODER_OUTPUT_ENABLE,
03420 KSPROPERTY_VIDEODECODER_VCR_TIMING
03421 } KSPROPERTY_VIDCAP_VIDEODECODER;
03422
03423 typedef enum {
03424 KS_VIDEODECODER_FLAGS_CAN_DISABLE_OUTPUT = 0X0001,
03425 KS_VIDEODECODER_FLAGS_CAN_USE_VCR_LOCKING = 0X0002,
03426 KS_VIDEODECODER_FLAGS_CAN_INDICATE_LOCKED = 0X0004
03427 } KS_VIDEODECODER_FLAGS;
03428
03429 typedef struct {
03430 KSPROPERTY Property;
03431 ULONG StandardsSupported;
03432 ULONG Capabilities;
03433 ULONG SettlingTime;
03434 ULONG HSyncPerVSync;
03435 } KSPROPERTY_VIDEODECODER_CAPS_S,*PKSPROPERTY_VIDEODECODER_CAPS_S;
03436
03437 typedef struct {
03438 KSPROPERTY Property;
03439 ULONG NumberOfLines;
03440 ULONG SignalLocked;
03441 } KSPROPERTY_VIDEODECODER_STATUS_S,*PKSPROPERTY_VIDEODECODER_STATUS_S;
03442
03443 typedef struct {
03444 KSPROPERTY Property;
03445 ULONG Value;
03446 } KSPROPERTY_VIDEODECODER_S,*PKSPROPERTY_VIDEODECODER_S;
03447
03448 #define STATIC_EVENTSETID_VIDEODECODER \
03449 0x6a2e0621L,0x28e4,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56
03450 DEFINE_GUIDSTRUCT("6a2e0621-28e4-11d0-a18c-00a0c9118956",EVENTSETID_VIDEODECODER);
03451 #define EVENTSETID_VIDEODECODER DEFINE_GUIDNAMED(EVENTSETID_VIDEODECODER)
03452
03453 typedef enum {
03454 KSEVENT_VIDEODECODER_CHANGED
03455 } KSEVENT_VIDEODECODER;
03456
03457 #define STATIC_PROPSETID_VIDCAP_CAMERACONTROL \
03458 0xC6E13370L,0x30AC,0x11d0,0xa1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56
03459 DEFINE_GUIDSTRUCT("C6E13370-30AC-11d0-A18C-00A0C9118956",PROPSETID_VIDCAP_CAMERACONTROL);
03460 #define PROPSETID_VIDCAP_CAMERACONTROL DEFINE_GUIDNAMED(PROPSETID_VIDCAP_CAMERACONTROL)
03461
03462 typedef enum {
03463 KSPROPERTY_CAMERACONTROL_PAN,
03464 KSPROPERTY_CAMERACONTROL_TILT,
03465 KSPROPERTY_CAMERACONTROL_ROLL,
03466 KSPROPERTY_CAMERACONTROL_ZOOM,
03467 KSPROPERTY_CAMERACONTROL_EXPOSURE,
03468 KSPROPERTY_CAMERACONTROL_IRIS,
03469 KSPROPERTY_CAMERACONTROL_FOCUS,
03470 KSPROPERTY_CAMERACONTROL_SCANMODE,
03471 KSPROPERTY_CAMERACONTROL_PRIVACY,
03472 KSPROPERTY_CAMERACONTROL_PANTILT,
03473 KSPROPERTY_CAMERACONTROL_PAN_RELATIVE,
03474 KSPROPERTY_CAMERACONTROL_TILT_RELATIVE,
03475 KSPROPERTY_CAMERACONTROL_ROLL_RELATIVE,
03476 KSPROPERTY_CAMERACONTROL_ZOOM_RELATIVE,
03477 KSPROPERTY_CAMERACONTROL_EXPOSURE_RELATIVE,
03478 KSPROPERTY_CAMERACONTROL_IRIS_RELATIVE,
03479 KSPROPERTY_CAMERACONTROL_FOCUS_RELATIVE,
03480 KSPROPERTY_CAMERACONTROL_PANTILT_RELATIVE,
03481 KSPROPERTY_CAMERACONTROL_FOCAL_LENGTH
03482 } KSPROPERTY_VIDCAP_CAMERACONTROL;
03483
03484 typedef struct {
03485 KSPROPERTY Property;
03486 LONG Value;
03487 ULONG Flags;
03488 ULONG Capabilities;
03489 } KSPROPERTY_CAMERACONTROL_S,*PKSPROPERTY_CAMERACONTROL_S;
03490
03491 typedef struct {
03492 KSP_NODE NodeProperty;
03493 LONG Value;
03494 ULONG Flags;
03495 ULONG Capabilities;
03496 } KSPROPERTY_CAMERACONTROL_NODE_S,PKSPROPERTY_CAMERACONTROL_NODE_S;
03497
03498 typedef struct {
03499 KSPROPERTY Property;
03500 LONG Value1;
03501 ULONG Flags;
03502 ULONG Capabilities;
03503 LONG Value2;
03504 } KSPROPERTY_CAMERACONTROL_S2,*PKSPROPERTY_CAMERACONTROL_S2;
03505
03506 typedef struct {
03507 KSP_NODE NodeProperty;
03508 LONG Value1;
03509 ULONG Flags;
03510 ULONG Capabilities;
03511 LONG Value2;
03512 } KSPROPERTY_CAMERACONTROL_NODE_S2,*PKSPROPERTY_CAMERACONTROL_NODE_S2;
03513
03514 typedef struct {
03515 KSPROPERTY Property;
03516 LONG lOcularFocalLength;
03517 LONG lObjectiveFocalLengthMin;
03518 LONG lObjectiveFocalLengthMax;
03519 } KSPROPERTY_CAMERACONTROL_FOCAL_LENGTH_S,*PKSPROPERTY_CAMERACONTROL_FOCAL_LENGTH_S;
03520
03521 typedef struct {
03522 KSNODEPROPERTY NodeProperty;
03523 LONG lOcularFocalLength;
03524 LONG lObjectiveFocalLengthMin;
03525 LONG lObjectiveFocalLengthMax;
03526 } KSPROPERTY_CAMERACONTROL_NODE_FOCAL_LENGTH_S,*PKSPROPERTY_CAMERACONTROL_NODE_FOCAL_LENGTH_S;
03527
03528 #define KSPROPERTY_CAMERACONTROL_FLAGS_AUTO 0X0001L
03529 #define KSPROPERTY_CAMERACONTROL_FLAGS_MANUAL 0X0002L
03530
03531 #define KSPROPERTY_CAMERACONTROL_FLAGS_ABSOLUTE 0X0000L
03532 #define KSPROPERTY_CAMERACONTROL_FLAGS_RELATIVE 0X0010L
03533
03534 #ifndef __EDevCtrl__
03535 #define __EDevCtrl__
03536
03537 #define STATIC_PROPSETID_EXT_DEVICE \
03538 0xB5730A90L,0x1A2C,0x11cf,0x8c,0x23,0x00,0xAA,0x00,0x6B,0x68,0x14
03539 DEFINE_GUIDSTRUCT("B5730A90-1A2C-11cf-8C23-00AA006B6814",PROPSETID_EXT_DEVICE);
03540 #define PROPSETID_EXT_DEVICE DEFINE_GUIDNAMED(PROPSETID_EXT_DEVICE)
03541
03542 typedef enum {
03543 KSPROPERTY_EXTDEVICE_ID,
03544 KSPROPERTY_EXTDEVICE_VERSION,
03545 KSPROPERTY_EXTDEVICE_POWER_STATE,
03546 KSPROPERTY_EXTDEVICE_PORT,
03547 KSPROPERTY_EXTDEVICE_CAPABILITIES
03548 } KSPROPERTY_EXTDEVICE;
03549
03550 typedef struct tagDEVCAPS{
03551 LONG CanRecord;
03552 LONG CanRecordStrobe;
03553 LONG HasAudio;
03554 LONG HasVideo;
03555 LONG UsesFiles;
03556 LONG CanSave;
03557 LONG DeviceType;
03558 LONG TCRead;
03559 LONG TCWrite;
03560 LONG CTLRead;
03561 LONG IndexRead;
03562 LONG Preroll;
03563 LONG Postroll;
03564 LONG SyncAcc;
03565 LONG NormRate;
03566 LONG CanPreview;
03567 LONG CanMonitorSrc;
03568 LONG CanTest;
03569 LONG VideoIn;
03570 LONG AudioIn;
03571 LONG Calibrate;
03572 LONG SeekType;
03573 LONG SimulatedHardware;
03574 } DEVCAPS,*PDEVCAPS;
03575
03576 typedef struct {
03577 KSPROPERTY Property;
03578 union {
03579 DEVCAPS Capabilities;
03580 ULONG DevPort;
03581 ULONG PowerState;
03582 WCHAR pawchString[MAX_PATH];
03583 DWORD NodeUniqueID[2];
03584 } u;
03585 } KSPROPERTY_EXTDEVICE_S,*PKSPROPERTY_EXTDEVICE_S;
03586
03587 #define STATIC_PROPSETID_EXT_TRANSPORT \
03588 0xA03CD5F0L,0x3045,0x11cf,0x8c,0x44,0x00,0xAA,0x00,0x6B,0x68,0x14
03589 DEFINE_GUIDSTRUCT("A03CD5F0-3045-11cf-8C44-00AA006B6814",PROPSETID_EXT_TRANSPORT);
03590 #define PROPSETID_EXT_TRANSPORT DEFINE_GUIDNAMED(PROPSETID_EXT_TRANSPORT)
03591
03592 typedef enum {
03593 KSPROPERTY_EXTXPORT_CAPABILITIES,
03594 KSPROPERTY_EXTXPORT_INPUT_SIGNAL_MODE,
03595 KSPROPERTY_EXTXPORT_OUTPUT_SIGNAL_MODE,
03596 KSPROPERTY_EXTXPORT_LOAD_MEDIUM,
03597 KSPROPERTY_EXTXPORT_MEDIUM_INFO,
03598 KSPROPERTY_EXTXPORT_STATE,
03599 KSPROPERTY_EXTXPORT_STATE_NOTIFY,
03600 KSPROPERTY_EXTXPORT_TIMECODE_SEARCH,
03601 KSPROPERTY_EXTXPORT_ATN_SEARCH,
03602 KSPROPERTY_EXTXPORT_RTC_SEARCH,
03603 KSPROPERTY_RAW_AVC_CMD
03604 } KSPROPERTY_EXTXPORT;
03605
03606 typedef struct tagTRANSPORTSTATUS {
03607 LONG Mode;
03608 LONG LastError;
03609 LONG RecordInhibit;
03610 LONG ServoLock;
03611 LONG MediaPresent;
03612 LONG MediaLength;
03613 LONG MediaSize;
03614 LONG MediaTrackCount;
03615 LONG MediaTrackLength;
03616 LONG MediaTrackSide;
03617 LONG MediaType;
03618 LONG LinkMode;
03619 LONG NotifyOn;
03620 } TRANSPORTSTATUS,*PTRANSPORTSTATUS;
03621
03622 typedef struct tagTRANSPORTBASICPARMS {
03623 LONG TimeFormat;
03624 LONG TimeReference;
03625 LONG Superimpose;
03626 LONG EndStopAction;
03627 LONG RecordFormat;
03628 LONG StepFrames;
03629 LONG SetpField;
03630 LONG Preroll;
03631 LONG RecPreroll;
03632 LONG Postroll;
03633 LONG EditDelay;
03634 LONG PlayTCDelay;
03635 LONG RecTCDelay;
03636 LONG EditField;
03637 LONG FrameServo;
03638 LONG ColorFrameServo;
03639 LONG ServoRef;
03640 LONG WarnGenlock;
03641 LONG SetTracking;
03642 TCHAR VolumeName[40];
03643 LONG Ballistic[20];
03644 LONG Speed;
03645 LONG CounterFormat;
03646 LONG TunerChannel;
03647 LONG TunerNumber;
03648 LONG TimerEvent;
03649 LONG TimerStartDay;
03650 LONG TimerStartTime;
03651 LONG TimerStopDay;
03652 LONG TimerStopTime;
03653 } TRANSPORTBASICPARMS,*PTRANSPORTBASICPARMS;
03654
03655 typedef struct tagTRANSPORTVIDEOPARMS {
03656 LONG OutputMode;
03657 LONG Input;
03658 } TRANSPORTVIDEOPARMS,*PTRANSPORTVIDEOPARMS;
03659
03660 typedef struct tagTRANSPORTAUDIOPARMS {
03661 LONG EnableOutput;
03662 LONG EnableRecord;
03663 LONG EnableSelsync;
03664 LONG Input;
03665 LONG MonitorSource;
03666 } TRANSPORTAUDIOPARMS,*PTRANSPORTAUDIOPARMS;
03667
03668 typedef struct {
03669 WINBOOL MediaPresent;
03670 ULONG MediaType;
03671 WINBOOL RecordInhibit;
03672 } MEDIUM_INFO,*PMEDIUM_INFO;
03673
03674 typedef struct {
03675 ULONG Mode;
03676 ULONG State;
03677 } TRANSPORT_STATE,*PTRANSPORT_STATE;
03678
03679 typedef struct {
03680 KSPROPERTY Property;
03681 union {
03682 ULONG Capabilities;
03683 ULONG SignalMode;
03684 ULONG LoadMedium;
03685 MEDIUM_INFO MediumInfo;
03686 TRANSPORT_STATE XPrtState;
03687 struct {
03688 BYTE frame;
03689 BYTE second;
03690 BYTE minute;
03691 BYTE hour;
03692 } Timecode;
03693 DWORD dwTimecode;
03694 DWORD dwAbsTrackNumber;
03695 struct {
03696 ULONG PayloadSize;
03697 BYTE Payload[512];
03698 } RawAVC;
03699 } u;
03700 } KSPROPERTY_EXTXPORT_S,*PKSPROPERTY_EXTXPORT_S;
03701
03702 typedef struct {
03703 KSP_NODE NodeProperty;
03704 union {
03705 ULONG Capabilities;
03706 ULONG SignalMode;
03707 ULONG LoadMedium;
03708 MEDIUM_INFO MediumInfo;
03709 TRANSPORT_STATE XPrtState;
03710 struct {
03711 BYTE frame;
03712 BYTE second;
03713 BYTE minute;
03714 BYTE hour;
03715 } Timecode;
03716 DWORD dwTimecode;
03717 DWORD dwAbsTrackNumber;
03718 struct {
03719 ULONG PayloadSize;
03720 BYTE Payload[512];
03721 } RawAVC;
03722 } u;
03723 } KSPROPERTY_EXTXPORT_NODE_S,*PKSPROPERTY_EXTXPORT_NODE_S;
03724
03725 #define STATIC_PROPSETID_TIMECODE_READER \
03726 0x9B496CE1L,0x811B,0x11cf,0x8C,0x77,0x00,0xAA,0x00,0x6B,0x68,0x14
03727 DEFINE_GUIDSTRUCT("9B496CE1-811B-11cf-8C77-00AA006B6814",PROPSETID_TIMECODE_READER);
03728 #define PROPSETID_TIMECODE_READER DEFINE_GUIDNAMED(PROPSETID_TIMECODE_READER)
03729
03730 typedef enum {
03731 KSPROPERTY_TIMECODE_READER,
03732 KSPROPERTY_ATN_READER,
03733 KSPROPERTY_RTC_READER
03734 } KSPROPERTY_TIMECODE;
03735
03736 #ifndef TIMECODE_DEFINED
03737 #define TIMECODE_DEFINED
03738 typedef union _timecode {
03739 struct {
03740 WORD wFrameRate;
03741 WORD wFrameFract;
03742 DWORD dwFrames;
03743 };
03744 DWORDLONG qw;
03745 } TIMECODE;
03746 typedef TIMECODE *PTIMECODE;
03747
03748 typedef struct tagTIMECODE_SAMPLE {
03749 LONGLONG qwTick;
03750 TIMECODE timecode;
03751 DWORD dwUser;
03752 DWORD dwFlags;
03753 } TIMECODE_SAMPLE;
03754
03755 typedef TIMECODE_SAMPLE *PTIMECODE_SAMPLE;
03756 #endif
03757
03758 typedef struct {
03759 KSPROPERTY Property;
03760 TIMECODE_SAMPLE TimecodeSamp;
03761 } KSPROPERTY_TIMECODE_S,*PKSPROPERTY_TIMECODE_S;
03762
03763 typedef struct {
03764 KSP_NODE NodeProperty;
03765 TIMECODE_SAMPLE TimecodeSamp;
03766 } KSPROPERTY_TIMECODE_NODE_S,*PKSPROPERTY_TIMECODE_NODE_S;
03767
03768 #define STATIC_KSEVENTSETID_EXTDEV_Command \
03769 0x109c7988L,0xb3cb,0x11d2,0xb4,0x8e,0x00,0x60,0x97,0xb3,0x39,0x1b
03770 DEFINE_GUIDSTRUCT("109c7988-b3cb-11d2-b48e-006097b3391b",KSEVENTSETID_EXTDEV_Command);
03771 #define KSEVENTSETID_EXTDEV_Command DEFINE_GUIDNAMED(KSEVENTSETID_EXTDEV_Command)
03772
03773 typedef enum {
03774 KSEVENT_EXTDEV_COMMAND_NOTIFY_INTERIM_READY,
03775 KSEVENT_EXTDEV_COMMAND_CONTROL_INTERIM_READY,
03776 KSEVENT_EXTDEV_COMMAND_BUSRESET,
03777 KSEVENT_EXTDEV_TIMECODE_UPDATE,
03778 KSEVENT_EXTDEV_OPERATION_MODE_UPDATE,
03779 KSEVENT_EXTDEV_TRANSPORT_STATE_UPDATE,
03780 KSEVENT_EXTDEV_NOTIFY_REMOVAL,
03781 KSEVENT_EXTDEV_NOTIFY_MEDIUM_CHANGE
03782 } KSEVENT_DEVCMD;
03783 #endif
03784
03785 #define STATIC_PROPSETID_VIDCAP_CROSSBAR \
03786 0x6a2e0640L,0x28e4,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56
03787 DEFINE_GUIDSTRUCT("6a2e0640-28e4-11d0-a18c-00a0c9118956",PROPSETID_VIDCAP_CROSSBAR);
03788 #define PROPSETID_VIDCAP_CROSSBAR DEFINE_GUIDNAMED(PROPSETID_VIDCAP_CROSSBAR)
03789
03790 typedef enum {
03791 KSPROPERTY_CROSSBAR_CAPS,
03792 KSPROPERTY_CROSSBAR_PININFO,
03793 KSPROPERTY_CROSSBAR_CAN_ROUTE,
03794 KSPROPERTY_CROSSBAR_ROUTE
03795 } KSPROPERTY_VIDCAP_CROSSBAR;
03796
03797 typedef struct {
03798 KSPROPERTY Property;
03799 ULONG NumberOfInputs;
03800 ULONG NumberOfOutputs;
03801 } KSPROPERTY_CROSSBAR_CAPS_S,*PKSPROPERTY_CROSSBAR_CAPS_S;
03802
03803 typedef struct {
03804 KSPROPERTY Property;
03805 KSPIN_DATAFLOW Direction;
03806 ULONG Index;
03807 ULONG PinType;
03808 ULONG RelatedPinIndex;
03809 KSPIN_MEDIUM Medium;
03810 } KSPROPERTY_CROSSBAR_PININFO_S,*PKSPROPERTY_CROSSBAR_PININFO_S;
03811
03812 typedef struct {
03813 KSPROPERTY Property;
03814 ULONG IndexInputPin;
03815 ULONG IndexOutputPin;
03816 ULONG CanRoute;
03817 } KSPROPERTY_CROSSBAR_ROUTE_S,*PKSPROPERTY_CROSSBAR_ROUTE_S;
03818
03819 #define STATIC_EVENTSETID_CROSSBAR \
03820 0x6a2e0641L,0x28e4,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56
03821 DEFINE_GUIDSTRUCT("6a2e0641-28e4-11d0-a18c-00a0c9118956",EVENTSETID_CROSSBAR);
03822 #define EVENTSETID_CROSSBAR DEFINE_GUIDNAMED(EVENTSETID_CROSSBAR)
03823
03824 typedef enum {
03825 KSEVENT_CROSSBAR_CHANGED
03826 } KSEVENT_CROSSBAR;
03827
03828 typedef enum {
03829 KS_PhysConn_Video_Tuner = 1,
03830 KS_PhysConn_Video_Composite,
03831 KS_PhysConn_Video_SVideo,
03832 KS_PhysConn_Video_RGB,
03833 KS_PhysConn_Video_YRYBY,
03834 KS_PhysConn_Video_SerialDigital,
03835 KS_PhysConn_Video_ParallelDigital,
03836 KS_PhysConn_Video_SCSI,
03837 KS_PhysConn_Video_AUX,
03838 KS_PhysConn_Video_1394,
03839 KS_PhysConn_Video_USB,
03840 KS_PhysConn_Video_VideoDecoder,
03841 KS_PhysConn_Video_VideoEncoder,
03842 KS_PhysConn_Video_SCART,
03843 KS_PhysConn_Audio_Tuner = 4096,
03844 KS_PhysConn_Audio_Line,
03845 KS_PhysConn_Audio_Mic,
03846 KS_PhysConn_Audio_AESDigital,
03847 KS_PhysConn_Audio_SPDIFDigital,
03848 KS_PhysConn_Audio_SCSI,
03849 KS_PhysConn_Audio_AUX,
03850 KS_PhysConn_Audio_1394,
03851 KS_PhysConn_Audio_USB,
03852 KS_PhysConn_Audio_AudioDecoder
03853 } KS_PhysicalConnectorType;
03854
03855 #define STATIC_PROPSETID_VIDCAP_TVAUDIO \
03856 0x6a2e0650L,0x28e4,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56
03857 DEFINE_GUIDSTRUCT("6a2e0650-28e4-11d0-a18c-00a0c9118956",PROPSETID_VIDCAP_TVAUDIO);
03858 #define PROPSETID_VIDCAP_TVAUDIO DEFINE_GUIDNAMED(PROPSETID_VIDCAP_TVAUDIO)
03859
03860 typedef enum {
03861 KSPROPERTY_TVAUDIO_CAPS,
03862 KSPROPERTY_TVAUDIO_MODE,
03863 KSPROPERTY_TVAUDIO_CURRENTLY_AVAILABLE_MODES
03864 } KSPROPERTY_VIDCAP_TVAUDIO;
03865
03866 #define KS_TVAUDIO_MODE_MONO 0x0001
03867 #define KS_TVAUDIO_MODE_STEREO 0x0002
03868 #define KS_TVAUDIO_MODE_LANG_A 0x0010
03869 #define KS_TVAUDIO_MODE_LANG_B 0x0020
03870 #define KS_TVAUDIO_MODE_LANG_C 0x0040
03871
03872 typedef struct {
03873 KSPROPERTY Property;
03874 ULONG Capabilities;
03875 KSPIN_MEDIUM InputMedium;
03876 KSPIN_MEDIUM OutputMedium;
03877 } KSPROPERTY_TVAUDIO_CAPS_S,*PKSPROPERTY_TVAUDIO_CAPS_S;
03878
03879 typedef struct {
03880 KSPROPERTY Property;
03881 ULONG Mode;
03882 } KSPROPERTY_TVAUDIO_S,*PKSPROPERTY_TVAUDIO_S;
03883
03884 #define STATIC_KSEVENTSETID_VIDCAP_TVAUDIO \
03885 0x6a2e0651L,0x28e4,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56
03886 DEFINE_GUIDSTRUCT("6a2e0651-28e4-11d0-a18c-00a0c9118956",KSEVENTSETID_VIDCAP_TVAUDIO);
03887 #define KSEVENTSETID_VIDCAP_TVAUDIO DEFINE_GUIDNAMED(KSEVENTSETID_VIDCAP_TVAUDIO)
03888
03889 typedef enum {
03890 KSEVENT_TVAUDIO_CHANGED
03891 } KSEVENT_TVAUDIO;
03892
03893 #define STATIC_PROPSETID_VIDCAP_VIDEOCOMPRESSION \
03894 0xC6E13343L,0x30AC,0x11d0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56
03895 DEFINE_GUIDSTRUCT("C6E13343-30AC-11d0-A18C-00A0C9118956",PROPSETID_VIDCAP_VIDEOCOMPRESSION);
03896 #define PROPSETID_VIDCAP_VIDEOCOMPRESSION DEFINE_GUIDNAMED(PROPSETID_VIDCAP_VIDEOCOMPRESSION)
03897
03898 typedef enum {
03899 KSPROPERTY_VIDEOCOMPRESSION_GETINFO,
03900 KSPROPERTY_VIDEOCOMPRESSION_KEYFRAME_RATE,
03901 KSPROPERTY_VIDEOCOMPRESSION_PFRAMES_PER_KEYFRAME,
03902 KSPROPERTY_VIDEOCOMPRESSION_QUALITY,
03903 KSPROPERTY_VIDEOCOMPRESSION_OVERRIDE_KEYFRAME,
03904 KSPROPERTY_VIDEOCOMPRESSION_OVERRIDE_FRAME_SIZE,
03905 KSPROPERTY_VIDEOCOMPRESSION_WINDOWSIZE
03906 } KSPROPERTY_VIDCAP_VIDEOCOMPRESSION;
03907
03908 typedef enum {
03909 KS_CompressionCaps_CanQuality = 1,
03910 KS_CompressionCaps_CanCrunch = 2,
03911 KS_CompressionCaps_CanKeyFrame = 4,
03912 KS_CompressionCaps_CanBFrame = 8,
03913 KS_CompressionCaps_CanWindow = 0x10
03914 } KS_CompressionCaps;
03915
03916 typedef enum {
03917 KS_StreamingHint_FrameInterval = 0x0100,
03918 KS_StreamingHint_KeyFrameRate = 0x0200,
03919 KS_StreamingHint_PFrameRate = 0x0400,
03920 KS_StreamingHint_CompQuality = 0x0800,
03921 KS_StreamingHint_CompWindowSize = 0x1000
03922 } KS_VideoStreamingHints;
03923
03924 typedef struct {
03925 KSPROPERTY Property;
03926 ULONG StreamIndex;
03927 LONG DefaultKeyFrameRate;
03928 LONG DefaultPFrameRate;
03929 LONG DefaultQuality;
03930 LONG NumberOfQualitySettings;
03931 LONG Capabilities;
03932 } KSPROPERTY_VIDEOCOMPRESSION_GETINFO_S,*PKSPROPERTY_VIDEOCOMPRESSION_GETINFO_S;
03933
03934 typedef struct {
03935 KSPROPERTY Property;
03936 ULONG StreamIndex;
03937 LONG Value;
03938 } KSPROPERTY_VIDEOCOMPRESSION_S,*PKSPROPERTY_VIDEOCOMPRESSION_S;
03939
03940 typedef struct {
03941 KSPROPERTY Property;
03942 ULONG StreamIndex;
03943 LONG Value;
03944 ULONG Flags;
03945 } KSPROPERTY_VIDEOCOMPRESSION_S1,*PKSPROPERTY_VIDEOCOMPRESSION_S1;
03946
03947 #define STATIC_KSDATAFORMAT_SUBTYPE_OVERLAY \
03948 0xe436eb7fL,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70
03949 DEFINE_GUIDSTRUCT("e436eb7f-524f-11ce-9f53-0020af0ba770",KSDATAFORMAT_SUBTYPE_OVERLAY);
03950 #define KSDATAFORMAT_SUBTYPE_OVERLAY DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_OVERLAY)
03951
03952 #define STATIC_KSPROPSETID_OverlayUpdate \
03953 0x490EA5CFL,0x7681,0x11D1,0xA2,0x1C,0x00,0xA0,0xC9,0x22,0x31,0x96
03954 DEFINE_GUIDSTRUCT("490EA5CF-7681-11D1-A21C-00A0C9223196",KSPROPSETID_OverlayUpdate);
03955 #define KSPROPSETID_OverlayUpdate DEFINE_GUIDNAMED(KSPROPSETID_OverlayUpdate)
03956
03957 typedef enum {
03958 KSPROPERTY_OVERLAYUPDATE_INTERESTS,
03959 KSPROPERTY_OVERLAYUPDATE_CLIPLIST = 0x1,
03960 KSPROPERTY_OVERLAYUPDATE_PALETTE = 0x2,
03961 KSPROPERTY_OVERLAYUPDATE_COLORKEY = 0x4,
03962 KSPROPERTY_OVERLAYUPDATE_VIDEOPOSITION = 0x8,
03963 KSPROPERTY_OVERLAYUPDATE_DISPLAYCHANGE = 0x10,
03964 KSPROPERTY_OVERLAYUPDATE_COLORREF = 0x10000000
03965 } KSPROPERTY_OVERLAYUPDATE;
03966
03967 typedef struct {
03968 ULONG PelsWidth;
03969 ULONG PelsHeight;
03970 ULONG BitsPerPel;
03971 WCHAR DeviceID[1];
03972 } KSDISPLAYCHANGE,*PKSDISPLAYCHANGE;
03973
03974 #define DEFINE_KSPROPERTY_ITEM_OVERLAYUPDATE_INTERESTS(Handler) \
03975 DEFINE_KSPROPERTY_ITEM( \
03976 KSPROPERTY_OVERLAYUPDATE_INTERESTS, \
03977 (Handler), \
03978 sizeof(KSPROPERTY), \
03979 sizeof(ULONG), \
03980 NULL, NULL, 0, NULL, NULL, 0)
03981
03982 #define DEFINE_KSPROPERTY_ITEM_OVERLAYUPDATE_PALETTE(Handler) \
03983 DEFINE_KSPROPERTY_ITEM( \
03984 KSPROPERTY_OVERLAYUPDATE_PALETTE, \
03985 NULL, \
03986 sizeof(KSPROPERTY), \
03987 0, \
03988 (Handler), \
03989 NULL, 0, NULL, NULL, 0)
03990
03991 #define DEFINE_KSPROPERTY_ITEM_OVERLAYUPDATE_COLORKEY(Handler) \
03992 DEFINE_KSPROPERTY_ITEM( \
03993 KSPROPERTY_OVERLAYUPDATE_COLORKEY, \
03994 NULL, \
03995 sizeof(KSPROPERTY), \
03996 sizeof(COLORKEY), \
03997 (Handler), \
03998 NULL, 0, NULL, NULL, 0)
03999
04000 #define DEFINE_KSPROPERTY_ITEM_OVERLAYUPDATE_CLIPLIST(Handler) \
04001 DEFINE_KSPROPERTY_ITEM( \
04002 KSPROPERTY_OVERLAYUPDATE_CLIPLIST, \
04003 NULL, \
04004 sizeof(KSPROPERTY), \
04005 2 *sizeof(RECT) + sizeof(RGNDATAHEADER),\
04006 (Handler), \
04007 NULL, 0, NULL, NULL, 0)
04008
04009 #define DEFINE_KSPROPERTY_ITEM_OVERLAYUPDATE_VIDEOPOSITION(Handler) \
04010 DEFINE_KSPROPERTY_ITEM( \
04011 KSPROPERTY_OVERLAYUPDATE_VIDEOPOSITION, \
04012 NULL, \
04013 sizeof(KSPROPERTY), \
04014 2 *sizeof(RECT), \
04015 (Handler), \
04016 NULL, 0, NULL, NULL, 0)
04017
04018 #define DEFINE_KSPROPERTY_ITEM_OVERLAYUPDATE_DISPLAYCHANGE(Handler) \
04019 DEFINE_KSPROPERTY_ITEM( \
04020 KSPROPERTY_OVERLAYUPDATE_DISPLAYCHANGE, \
04021 NULL, \
04022 sizeof(KSPROPERTY), \
04023 sizeof(KSDISPLAYCHANGE), \
04024 (Handler), \
04025 NULL, 0, NULL, NULL, 0)
04026
04027 #define DEFINE_KSPROPERTY_ITEM_OVERLAYUPDATE_COLORREF(Handler) \
04028 DEFINE_KSPROPERTY_ITEM( \
04029 KSPROPERTY_OVERLAYUPDATE_COLORREF, \
04030 (Handler), \
04031 sizeof(KSPROPERTY), \
04032 sizeof(COLORREF), \
04033 NULL, \
04034 NULL, 0, NULL, NULL, 0)
04035
04036 #define STATIC_PROPSETID_VIDCAP_VIDEOCONTROL \
04037 0x6a2e0670L,0x28e4,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56
04038 DEFINE_GUIDSTRUCT("6a2e0670-28e4-11d0-a18c-00a0c9118956",PROPSETID_VIDCAP_VIDEOCONTROL);
04039 #define PROPSETID_VIDCAP_VIDEOCONTROL DEFINE_GUIDNAMED(PROPSETID_VIDCAP_VIDEOCONTROL)
04040
04041 typedef enum {
04042 KSPROPERTY_VIDEOCONTROL_CAPS,
04043 KSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE,
04044 KSPROPERTY_VIDEOCONTROL_FRAME_RATES,
04045 KSPROPERTY_VIDEOCONTROL_MODE
04046 } KSPROPERTY_VIDCAP_VIDEOCONTROL;
04047
04048 typedef enum {
04049 KS_VideoControlFlag_FlipHorizontal = 0x0001,
04050 KS_VideoControlFlag_FlipVertical = 0x0002,
04051 KS_Obsolete_VideoControlFlag_ExternalTriggerEnable = 0x0010,
04052 KS_Obsolete_VideoControlFlag_Trigger = 0x0020,
04053 KS_VideoControlFlag_ExternalTriggerEnable = 0x0004,
04054 KS_VideoControlFlag_Trigger = 0x0008
04055 } KS_VideoControlFlags;
04056
04057 typedef struct {
04058 KSPROPERTY Property;
04059 ULONG StreamIndex;
04060 ULONG VideoControlCaps;
04061 } KSPROPERTY_VIDEOCONTROL_CAPS_S,*PKSPROPERTY_VIDEOCONTROL_CAPS_S;
04062
04063 typedef struct {
04064 KSPROPERTY Property;
04065 ULONG StreamIndex;
04066 LONG Mode;
04067 } KSPROPERTY_VIDEOCONTROL_MODE_S,*PKSPROPERTY_VIDEOCONTROL_MODE_S;
04068
04069 typedef struct {
04070 KSPROPERTY Property;
04071 ULONG StreamIndex;
04072 ULONG RangeIndex;
04073 SIZE Dimensions;
04074 LONGLONG CurrentActualFrameRate;
04075 LONGLONG CurrentMaxAvailableFrameRate;
04076 } KSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE_S,*PKSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE_S;
04077
04078 typedef struct {
04079 KSPROPERTY Property;
04080 ULONG StreamIndex;
04081 ULONG RangeIndex;
04082 SIZE Dimensions;
04083 } KSPROPERTY_VIDEOCONTROL_FRAME_RATES_S,*PKSPROPERTY_VIDEOCONTROL_FRAME_RATES_S;
04084
04085 #define STATIC_PROPSETID_VIDCAP_DROPPEDFRAMES \
04086 0xC6E13344L,0x30AC,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56
04087 DEFINE_GUIDSTRUCT("C6E13344-30AC-11d0-A18C-00A0C9118956",PROPSETID_VIDCAP_DROPPEDFRAMES);
04088 #define PROPSETID_VIDCAP_DROPPEDFRAMES DEFINE_GUIDNAMED(PROPSETID_VIDCAP_DROPPEDFRAMES)
04089
04090 typedef enum {
04091 KSPROPERTY_DROPPEDFRAMES_CURRENT
04092 } KSPROPERTY_VIDCAP_DROPPEDFRAMES;
04093
04094 typedef struct {
04095 KSPROPERTY Property;
04096 LONGLONG PictureNumber;
04097 LONGLONG DropCount;
04098 ULONG AverageFrameSize;
04099 } KSPROPERTY_DROPPEDFRAMES_CURRENT_S,*PKSPROPERTY_DROPPEDFRAMES_CURRENT_S;
04100
04101 #define STATIC_KSPROPSETID_VPConfig \
04102 0xbc29a660L,0x30e3,0x11d0,0x9e,0x69,0x00,0xc0,0x4f,0xd7,0xc1,0x5b
04103 DEFINE_GUIDSTRUCT("bc29a660-30e3-11d0-9e69-00c04fd7c15b",KSPROPSETID_VPConfig);
04104 #define KSPROPSETID_VPConfig DEFINE_GUIDNAMED(KSPROPSETID_VPConfig)
04105
04106 #define STATIC_KSPROPSETID_VPVBIConfig \
04107 0xec529b00L,0x1a1f,0x11d1,0xba,0xd9,0x0,0x60,0x97,0x44,0x11,0x1a
04108 DEFINE_GUIDSTRUCT("ec529b00-1a1f-11d1-bad9-00609744111a",KSPROPSETID_VPVBIConfig);
04109 #define KSPROPSETID_VPVBIConfig DEFINE_GUIDNAMED(KSPROPSETID_VPVBIConfig)
04110
04111 typedef enum {
04112 KSPROPERTY_VPCONFIG_NUMCONNECTINFO,
04113 KSPROPERTY_VPCONFIG_GETCONNECTINFO,
04114 KSPROPERTY_VPCONFIG_SETCONNECTINFO,
04115 KSPROPERTY_VPCONFIG_VPDATAINFO,
04116 KSPROPERTY_VPCONFIG_MAXPIXELRATE,
04117 KSPROPERTY_VPCONFIG_INFORMVPINPUT,
04118 KSPROPERTY_VPCONFIG_NUMVIDEOFORMAT,
04119 KSPROPERTY_VPCONFIG_GETVIDEOFORMAT,
04120 KSPROPERTY_VPCONFIG_SETVIDEOFORMAT,
04121 KSPROPERTY_VPCONFIG_INVERTPOLARITY,
04122 KSPROPERTY_VPCONFIG_DECIMATIONCAPABILITY,
04123 KSPROPERTY_VPCONFIG_SCALEFACTOR,
04124 KSPROPERTY_VPCONFIG_DDRAWHANDLE,
04125 KSPROPERTY_VPCONFIG_VIDEOPORTID,
04126 KSPROPERTY_VPCONFIG_DDRAWSURFACEHANDLE,
04127 KSPROPERTY_VPCONFIG_SURFACEPARAMS
04128 } KSPROPERTY_VPCONFIG;
04129
04130 #define STATIC_CLSID_KsIBasicAudioInterfaceHandler \
04131 0xb9f8ac3e,0x0f71,0x11d2,0xb7,0x2c,0x00,0xc0,0x4f,0xb6,0xbd,0x3d
04132 DEFINE_GUIDSTRUCT("b9f8ac3e-0f71-11d2-b72c-00c04fb6bd3d",CLSID_KsIBasicAudioInterfaceHandler);
04133 #define CLSID_KsIBasicAudioInterfaceHandler DEFINE_GUIDNAMED(CLSID_KsIBasicAudioInterfaceHandler)
04134
04135 #ifdef __IVPType__
04136 typedef struct {
04137 AMVPSIZE Size;
04138 DWORD MaxPixelsPerSecond;
04139 DWORD Reserved;
04140 } KSVPMAXPIXELRATE,*PKSVPMAXPIXELRATE;
04141
04142 typedef struct {
04143 KSPROPERTY Property;
04144 AMVPSIZE Size;
04145 } KSVPSIZE_PROP,*PKSVPSIZE_PROP;
04146
04147 typedef struct {
04148 DWORD dwPitch;
04149 DWORD dwXOrigin;
04150 DWORD dwYOrigin;
04151 } KSVPSURFACEPARAMS,*PKSVPSURFACEPARAMS;
04152 #else
04153
04154 #ifndef __DDRAW_INCLUDED__
04155 #define DDPF_FOURCC 0x00000004l
04156
04157 typedef struct _DDPIXELFORMAT
04158 {
04159 DWORD dwSize;
04160 DWORD dwFlags;
04161 DWORD dwFourCC;
04162 __MINGW_EXTENSION union
04163 {
04164 DWORD dwRGBBitCount;
04165 DWORD dwYUVBitCount;
04166 DWORD dwZBufferBitDepth;
04167 DWORD dwAlphaBitDepth;
04168 };
04169 __MINGW_EXTENSION union
04170 {
04171 DWORD dwRBitMask;
04172 DWORD dwYBitMask;
04173 };
04174 __MINGW_EXTENSION union
04175 {
04176 DWORD dwGBitMask;
04177 DWORD dwUBitMask;
04178 };
04179 __MINGW_EXTENSION union
04180 {
04181 DWORD dwBBitMask;
04182 DWORD dwVBitMask;
04183 };
04184 __MINGW_EXTENSION union
04185 {
04186 DWORD dwRGBAlphaBitMask;
04187 DWORD dwYUVAlphaBitMask;
04188 DWORD dwRGBZBitMask;
04189 DWORD dwYUVZBitMask;
04190 };
04191 } DDPIXELFORMAT,*LPDDPIXELFORMAT;
04192 #endif
04193
04194 #ifndef __DVP_INCLUDED__
04195 typedef struct _DDVIDEOPORTCONNECT {
04196 DWORD dwSize;
04197 DWORD dwPortWidth;
04198 GUID guidTypeID;
04199 DWORD dwFlags;
04200 ULONG_PTR dwReserved1;
04201 } DDVIDEOPORTCONNECT,*LPDDVIDEOPORTCONNECT;
04202
04203 #define DDVPTYPE_E_HREFH_VREFH \
04204 0x54F39980L,0xDA60,0x11CF,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8
04205
04206 #define DDVPTYPE_E_HREFL_VREFL \
04207 0xE09C77E0L,0xDA60,0x11CF,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8
04208 #endif
04209
04210 typedef enum
04211 {
04212 KS_PixAspectRatio_NTSC4x3,
04213 KS_PixAspectRatio_NTSC16x9,
04214 KS_PixAspectRatio_PAL4x3,
04215 KS_PixAspectRatio_PAL16x9
04216 } KS_AMPixAspectRatio;
04217
04218 typedef enum
04219 {
04220 KS_AMVP_DO_NOT_CARE,
04221 KS_AMVP_BEST_BANDWIDTH,
04222 KS_AMVP_INPUT_SAME_AS_OUTPUT
04223 } KS_AMVP_SELECTFORMATBY;
04224
04225 typedef enum
04226 {
04227 KS_AMVP_MODE_WEAVE,
04228 KS_AMVP_MODE_BOBINTERLEAVED,
04229 KS_AMVP_MODE_BOBNONINTERLEAVED,
04230 KS_AMVP_MODE_SKIPEVEN,
04231 KS_AMVP_MODE_SKIPODD
04232 } KS_AMVP_MODE;
04233
04234 typedef struct tagKS_AMVPDIMINFO
04235 {
04236 DWORD dwFieldWidth;
04237 DWORD dwFieldHeight;
04238 DWORD dwVBIWidth;
04239 DWORD dwVBIHeight;
04240 RECT rcValidRegion;
04241 } KS_AMVPDIMINFO,*PKS_AMVPDIMINFO;
04242
04243 typedef struct tagKS_AMVPDATAINFO
04244 {
04245 DWORD dwSize;
04246 DWORD dwMicrosecondsPerField;
04247 KS_AMVPDIMINFO amvpDimInfo;
04248 DWORD dwPictAspectRatioX;
04249 DWORD dwPictAspectRatioY;
04250 WINBOOL bEnableDoubleClock;
04251 WINBOOL bEnableVACT;
04252 WINBOOL bDataIsInterlaced;
04253 LONG lHalfLinesOdd;
04254 WINBOOL bFieldPolarityInverted;
04255 DWORD dwNumLinesInVREF;
04256 LONG lHalfLinesEven;
04257 DWORD dwReserved1;
04258 } KS_AMVPDATAINFO,*PKS_AMVPDATAINFO;
04259
04260 typedef struct tagKS_AMVPSIZE
04261 {
04262 DWORD dwWidth;
04263 DWORD dwHeight;
04264 } KS_AMVPSIZE,*PKS_AMVPSIZE;
04265
04266 typedef struct {
04267 KS_AMVPSIZE Size;
04268 DWORD MaxPixelsPerSecond;
04269 DWORD Reserved;
04270 } KSVPMAXPIXELRATE,*PKSVPMAXPIXELRATE;
04271
04272 typedef struct {
04273 KSPROPERTY Property;
04274 KS_AMVPSIZE Size;
04275 } KSVPSIZE_PROP,*PKSVPSIZE_PROP;
04276
04277 typedef struct {
04278 DWORD dwPitch;
04279 DWORD dwXOrigin;
04280 DWORD dwYOrigin;
04281 } KSVPSURFACEPARAMS,*PKSVPSURFACEPARAMS;
04282 #endif
04283
04284 #define STATIC_KSEVENTSETID_VPNotify \
04285 0x20c5598eL,0xd3c8,0x11d0,0x8d,0xfc,0x00,0xc0,0x4f,0xd7,0xc0,0x8b
04286 DEFINE_GUIDSTRUCT("20c5598e-d3c8-11d0-8dfc-00c04fd7c08b",KSEVENTSETID_VPNotify);
04287 #define KSEVENTSETID_VPNotify DEFINE_GUIDNAMED(KSEVENTSETID_VPNotify)
04288
04289 typedef enum {
04290 KSEVENT_VPNOTIFY_FORMATCHANGE
04291 } KSEVENT_VPNOTIFY;
04292
04293 #define STATIC_KSEVENTSETID_VIDCAPTOSTI \
04294 0xdb47de20,0xf628,0x11d1,0xba,0x41,0x0,0xa0,0xc9,0xd,0x2b,0x5
04295 DEFINE_GUIDSTRUCT("DB47DE20-F628-11d1-BA41-00A0C90D2B05",KSEVENTSETID_VIDCAPTOSTI);
04296 #define KSEVENTSETID_VIDCAPNotify DEFINE_GUIDNAMED(KSEVENTSETID_VIDCAPTOSTI)
04297
04298 typedef enum {
04299 KSEVENT_VIDCAPTOSTI_EXT_TRIGGER,
04300 KSEVENT_VIDCAP_AUTO_UPDATE,
04301 KSEVENT_VIDCAP_SEARCH
04302 } KSEVENT_VIDCAPTOSTI;
04303
04304 typedef enum {
04305 KSPROPERTY_EXTENSION_UNIT_INFO,
04306 KSPROPERTY_EXTENSION_UNIT_CONTROL,
04307 KSPROPERTY_EXTENSION_UNIT_PASS_THROUGH = 0xffff
04308 } KSPROPERTY_EXTENSION_UNIT,*PKSPROPERTY_EXTENSION_UNIT;
04309
04310 #define STATIC_KSEVENTSETID_VPVBINotify \
04311 0xec529b01L,0x1a1f,0x11d1,0xba,0xd9,0x0,0x60,0x97,0x44,0x11,0x1a
04312 DEFINE_GUIDSTRUCT("ec529b01-1a1f-11d1-bad9-00609744111a",KSEVENTSETID_VPVBINotify);
04313 #define KSEVENTSETID_VPVBINotify DEFINE_GUIDNAMED(KSEVENTSETID_VPVBINotify)
04314
04315 typedef enum {
04316 KSEVENT_VPVBINOTIFY_FORMATCHANGE
04317 } KSEVENT_VPVBINOTIFY;
04318
04319 #define STATIC_KSDATAFORMAT_TYPE_AUXLine21Data \
04320 0x670aea80L,0x3a82,0x11d0,0xb7,0x9b,0x00,0xaa,0x00,0x37,0x67,0xa7
04321 DEFINE_GUIDSTRUCT("670aea80-3a82-11d0-b79b-00aa003767a7",KSDATAFORMAT_TYPE_AUXLine21Data);
04322 #define KSDATAFORMAT_TYPE_AUXLine21Data DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_AUXLine21Data)
04323
04324 #define STATIC_KSDATAFORMAT_SUBTYPE_Line21_BytePair \
04325 0x6e8d4a22L,0x310c,0x11d0,0xb7,0x9a,0x00,0xaa,0x00,0x37,0x67,0xa7
04326 DEFINE_GUIDSTRUCT("6e8d4a22-310c-11d0-b79a-00aa003767a7",KSDATAFORMAT_SUBTYPE_Line21_BytePair);
04327 #define KSDATAFORMAT_SUBTYPE_Line21_BytePair DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_Line21_BytePair)
04328
04329 #define STATIC_KSDATAFORMAT_SUBTYPE_Line21_GOPPacket \
04330 0x6e8d4a23L,0x310c,0x11d0,0xb7,0x9a,0x00,0xaa,0x00,0x37,0x67,0xa7
04331 DEFINE_GUIDSTRUCT("6e8d4a23-310c-11d0-b79a-00aa003767a7",KSDATAFORMAT_SUBTYPE_Line21_GOPPacket);
04332 #define KSDATAFORMAT_SUBTYPE_Line21_GOPPacket DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_Line21_GOPPacket)
04333
04334 typedef struct _KSGOP_USERDATA {
04335 ULONG sc;
04336 ULONG reserved1;
04337 BYTE cFields;
04338 CHAR l21Data[3];
04339 } KSGOP_USERDATA,*PKSGOP_USERDATA;
04340
04341 #define STATIC_KSDATAFORMAT_TYPE_DVD_ENCRYPTED_PACK \
04342 0xed0b916a,0x044d,0x11d1,0xaa,0x78,0x00,0xc0,0x4f,0xc3,0x1d,0x60
04343 DEFINE_GUIDSTRUCT("ed0b916a-044d-11d1-aa78-00c04fc31d60",KSDATAFORMAT_TYPE_DVD_ENCRYPTED_PACK);
04344 #define KSDATAFORMAT_TYPE_DVD_ENCRYPTED_PACK DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_DVD_ENCRYPTED_PACK)
04345
04346 #define KS_AM_UseNewCSSKey 0x1
04347
04348 #define STATIC_KSPROPSETID_TSRateChange \
04349 0xa503c5c0,0x1d1d,0x11d1,0xad,0x80,0x44,0x45,0x53,0x54,0x0,0x0
04350 DEFINE_GUIDSTRUCT("A503C5C0-1D1D-11D1-AD80-444553540000",KSPROPSETID_TSRateChange);
04351 #define KSPROPSETID_TSRateChange DEFINE_GUIDNAMED(KSPROPSETID_TSRateChange)
04352
04353 typedef enum {
04354 KS_AM_RATE_SimpleRateChange = 1,
04355 KS_AM_RATE_ExactRateChange = 2,
04356 KS_AM_RATE_MaxFullDataRate = 3,
04357 KS_AM_RATE_Step = 4
04358 } KS_AM_PROPERTY_TS_RATE_CHANGE;
04359
04360 typedef struct {
04361 REFERENCE_TIME StartTime;
04362 LONG Rate;
04363 } KS_AM_SimpleRateChange,*PKS_AM_SimpleRateChange;
04364
04365 typedef struct {
04366 REFERENCE_TIME OutputZeroTime;
04367 LONG Rate;
04368 } KS_AM_ExactRateChange,*PKS_AM_ExactRateChange;
04369
04370 typedef LONG KS_AM_MaxFullDataRate;
04371 typedef DWORD KS_AM_Step;
04372
04373 #define STATIC_KSCATEGORY_ENCODER \
04374 0x19689bf6,0xc384,0x48fd,0xad,0x51,0x90,0xe5,0x8c,0x79,0xf7,0xb
04375 DEFINE_GUIDSTRUCT("19689BF6-C384-48fd-AD51-90E58C79F70B",KSCATEGORY_ENCODER);
04376 #define KSCATEGORY_ENCODER DEFINE_GUIDNAMED(KSCATEGORY_ENCODER)
04377
04378 #define STATIC_KSCATEGORY_MULTIPLEXER \
04379 0x7a5de1d3,0x1a1,0x452c,0xb4,0x81,0x4f,0xa2,0xb9,0x62,0x71,0xe8
04380 DEFINE_GUIDSTRUCT("7A5DE1D3-01A1-452c-B481-4FA2B96271E8",KSCATEGORY_MULTIPLEXER);
04381 #define KSCATEGORY_MULTIPLEXER DEFINE_GUIDNAMED(KSCATEGORY_MULTIPLEXER)
04382
04383 #ifndef __ENCODER_API_GUIDS__
04384 #define __ENCODER_API_GUIDS__
04385
04386 #define STATIC_ENCAPIPARAM_BITRATE \
04387 0x49cc4c43,0xca83,0x4ad4,0xa9,0xaf,0xf3,0x69,0x6a,0xf6,0x66,0xdf
04388 DEFINE_GUIDSTRUCT("49CC4C43-CA83-4ad4-A9AF-F3696AF666DF",ENCAPIPARAM_BITRATE);
04389 #define ENCAPIPARAM_BITRATE DEFINE_GUIDNAMED(ENCAPIPARAM_BITRATE)
04390
04391 #define STATIC_ENCAPIPARAM_PEAK_BITRATE \
04392 0x703f16a9,0x3d48,0x44a1,0xb0,0x77,0x1,0x8d,0xff,0x91,0x5d,0x19
04393 DEFINE_GUIDSTRUCT("703F16A9-3D48-44a1-B077-018DFF915D19",ENCAPIPARAM_PEAK_BITRATE);
04394 #define ENCAPIPARAM_PEAK_BITRATE DEFINE_GUIDNAMED(ENCAPIPARAM_PEAK_BITRATE)
04395
04396 #define STATIC_ENCAPIPARAM_BITRATE_MODE \
04397 0xee5fb25c,0xc713,0x40d1,0x9d,0x58,0xc0,0xd7,0x24,0x1e,0x25,0xf
04398 DEFINE_GUIDSTRUCT("EE5FB25C-C713-40d1-9D58-C0D7241E250F",ENCAPIPARAM_BITRATE_MODE);
04399 #define ENCAPIPARAM_BITRATE_MODE DEFINE_GUIDNAMED(ENCAPIPARAM_BITRATE_MODE)
04400
04401 #define STATIC_CODECAPI_CHANGELISTS \
04402 0x62b12acf,0xf6b0,0x47d9,0x94,0x56,0x96,0xf2,0x2c,0x4e,0x0b,0x9d
04403 DEFINE_GUIDSTRUCT("62B12ACF-F6B0-47D9-9456-96F22C4E0B9D",CODECAPI_CHANGELISTS);
04404 #define CODECAPI_CHANGELISTS DEFINE_GUIDNAMED(CODECAPI_CHANGELISTS)
04405
04406 #define STATIC_CODECAPI_VIDEO_ENCODER \
04407 0x7112e8e1,0x3d03,0x47ef,0x8e,0x60,0x03,0xf1,0xcf,0x53,0x73,0x01
04408 DEFINE_GUIDSTRUCT("7112E8E1-3D03-47EF-8E60-03F1CF537301",CODECAPI_VIDEO_ENCODER);
04409 #define CODECAPI_VIDEO_ENCODER DEFINE_GUIDNAMED(CODECAPI_VIDEO_ENCODER)
04410
04411 #define STATIC_CODECAPI_AUDIO_ENCODER \
04412 0xb9d19a3e,0xf897,0x429c,0xbc,0x46,0x81,0x38,0xb7,0x27,0x2b,0x2d
04413 DEFINE_GUIDSTRUCT("B9D19A3E-F897-429C-BC46-8138B7272B2D",CODECAPI_AUDIO_ENCODER);
04414 #define CODECAPI_AUDIO_ENCODER DEFINE_GUIDNAMED(CODECAPI_AUDIO_ENCODER)
04415
04416 #define STATIC_CODECAPI_SETALLDEFAULTS \
04417 0x6c5e6a7c,0xacf8,0x4f55,0xa9,0x99,0x1a,0x62,0x81,0x09,0x05,0x1b
04418 DEFINE_GUIDSTRUCT("6C5E6A7C-ACF8-4F55-A999-1A628109051B",CODECAPI_SETALLDEFAULTS);
04419 #define CODECAPI_SETALLDEFAULTS DEFINE_GUIDNAMED(CODECAPI_SETALLDEFAULTS)
04420
04421 #define STATIC_CODECAPI_ALLSETTINGS \
04422 0x6a577e92,0x83e1,0x4113,0xad,0xc2,0x4f,0xce,0xc3,0x2f,0x83,0xa1
04423 DEFINE_GUIDSTRUCT("6A577E92-83E1-4113-ADC2-4FCEC32F83A1",CODECAPI_ALLSETTINGS);
04424 #define CODECAPI_ALLSETTINGS DEFINE_GUIDNAMED(CODECAPI_ALLSETTINGS)
04425
04426 #define STATIC_CODECAPI_SUPPORTSEVENTS \
04427 0x0581af97,0x7693,0x4dbd,0x9d,0xca,0x3f,0x9e,0xbd,0x65,0x85,0xa1
04428 DEFINE_GUIDSTRUCT("0581AF97-7693-4DBD-9DCA-3F9EBD6585A1",CODECAPI_SUPPORTSEVENTS);
04429 #define CODECAPI_SUPPORTSEVENTS DEFINE_GUIDNAMED(CODECAPI_SUPPORTSEVENTS)
04430
04431 #define STATIC_CODECAPI_CURRENTCHANGELIST \
04432 0x1cb14e83,0x7d72,0x4657,0x83,0xfd,0x47,0xa2,0xc5,0xb9,0xd1,0x3d
04433 DEFINE_GUIDSTRUCT("1CB14E83-7D72-4657-83FD-47A2C5B9D13D",CODECAPI_CURRENTCHANGELIST);
04434 #define CODECAPI_CURRENTCHANGELIST DEFINE_GUIDNAMED(CODECAPI_CURRENTCHANGELIST)
04435 #endif
04436
04437 #ifndef __ENCODER_API_DEFINES__
04438 #define __ENCODER_API_DEFINES__
04439 typedef enum {
04440 ConstantBitRate = 0,
04441 VariableBitRateAverage,
04442 VariableBitRatePeak
04443 } VIDEOENCODER_BITRATE_MODE;
04444 #endif
04445
04446 #define STATIC_KSPROPSETID_Jack\
04447 0x4509f757, 0x2d46, 0x4637, 0x8e, 0x62, 0xce, 0x7d, 0xb9, 0x44, 0xf5, 0x7b
04448 DEFINE_GUIDSTRUCT("4509F757-2D46-4637-8E62-CE7DB944F57B", KSPROPSETID_Jack);
04449 #define KSPROPSETID_Jack DEFINE_GUIDNAMED(KSPROPSETID_Jack)
04450
04451 typedef enum {
04452 KSPROPERTY_JACK_DESCRIPTION = 1,
04453 KSPROPERTY_JACK_DESCRIPTION2,
04454 KSPROPERTY_JACK_SINK_INFO
04455 } KSPROPERTY_JACK;
04456
04457 typedef enum
04458 {
04459 eConnTypeUnknown,
04460 eConnType3Point5mm,
04461 eConnTypeQuarter,
04462 eConnTypeAtapiInternal,
04463 eConnTypeRCA,
04464 eConnTypeOptical,
04465 eConnTypeOtherDigital,
04466 eConnTypeOtherAnalog,
04467 eConnTypeMultichannelAnalogDIN,
04468 eConnTypeXlrProfessional,
04469 eConnTypeRJ11Modem,
04470 eConnTypeCombination
04471 } EPcxConnectionType;
04472
04473 typedef enum
04474 {
04475 eGeoLocRear = 0x1,
04476 eGeoLocFront,
04477 eGeoLocLeft,
04478 eGeoLocRight,
04479 eGeoLocTop,
04480 eGeoLocBottom,
04481 eGeoLocRearPanel,
04482 eGeoLocRiser,
04483 eGeoLocInsideMobileLid,
04484 eGeoLocDrivebay,
04485 eGeoLocHDMI,
04486 eGeoLocOutsideMobileLid,
04487 eGeoLocATAPI,
04488 eGeoLocReserved5,
04489 eGeoLocReserved6,
04490 EPcxGeoLocation_enum_count
04491 } EPcxGeoLocation;
04492
04493 typedef enum
04494 {
04495 eGenLocPrimaryBox = 0,
04496 eGenLocInternal,
04497 eGenLocSeparate,
04498 eGenLocOther,
04499 EPcxGenLocation_enum_count
04500 } EPcxGenLocation;
04501
04502 typedef enum
04503 {
04504 ePortConnJack = 0,
04505 ePortConnIntegratedDevice,
04506 ePortConnBothIntegratedAndJack,
04507 ePortConnUnknown
04508 } EPxcPortConnection;
04509
04510 typedef struct
04511 {
04512 DWORD ChannelMapping;
04513 COLORREF Color;
04514 EPcxConnectionType ConnectionType;
04515 EPcxGeoLocation GeoLocation;
04516 EPcxGenLocation GenLocation;
04517 EPxcPortConnection PortConnection;
04518 BOOL IsConnected;
04519 } KSJACK_DESCRIPTION, *PKSJACK_DESCRIPTION;
04520
04521 typedef enum
04522 {
04523 KSJACK_SINK_CONNECTIONTYPE_HDMI = 0,
04524 KSJACK_SINK_CONNECTIONTYPE_DISPLAYPORT,
04525 } KSJACK_SINK_CONNECTIONTYPE;
04526
04527 #define MAX_SINK_DESCRIPTION_NAME_LENGTH 32
04528 typedef struct _tagKSJACK_SINK_INFORMATION
04529 {
04530 KSJACK_SINK_CONNECTIONTYPE ConnType;
04531 WORD ManufacturerId;
04532 WORD ProductId;
04533 WORD AudioLatency;
04534 BOOL HDCPCapable;
04535 BOOL AICapable;
04536 UCHAR SinkDescriptionLength;
04537 WCHAR SinkDescription[MAX_SINK_DESCRIPTION_NAME_LENGTH];
04538 LUID PortId;
04539 } KSJACK_SINK_INFORMATION, *PKSJACK_SINK_INFORMATION;
04540
04541 #define JACKDESC2_PRESENCE_DETECT_CAPABILITY 0x00000001
04542 #define JACKDESC2_DYNAMIC_FORMAT_CHANGE_CAPABILITY 0x00000002
04543
04544 typedef struct _tagKSJACK_DESCRIPTION2
04545 {
04546 DWORD DeviceStateInfo;
04547 DWORD JackCapabilities;
04548 } KSJACK_DESCRIPTION2, *PKSJACK_DESCRIPTION2;
04549
04550 #endif
04551