PortAudio 2.0
|
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 /* INIT_USBAUDIO_MID */ 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 /* INIT_USBAUDIO_PID */ 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 /* INIT_USBAUDIO_PRODUCT_NAME */ 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 /* INIT_MMREG_MID */ 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 /* INIT_MMREG_PID */ 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 /* _INC_MMREG */ 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 /* _WAVEFORMATEXTENSIBLE_ */ 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 /* defined(_INC_MMSYSTEM) || defined(_INC_MMREG) */ 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 /* TIMECODE_DEFINED */ 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 /* __EDevCtrl__ */ 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 /* __IVPType__ */ 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 /* __DDRAW_INCLUDED__ */ 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 /* __DVP_INCLUDED__ */ 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 /* __IVPType__ */ 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 /* __ENCODER_API_GUIDS__ */ 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 /* __ENCODER_API_DEFINES__ */ 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 /* _KSMEDIA_ */ 04551