Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenksmedia.h
Go to the documentation of this file.
00001 /* 00002 KS Media 00003 (c) Andrew Greenwood, 2007. 00004 00005 Please see COPYING in the top level directory for license information. 00006 */ 00007 00008 #ifndef KSMEDIA_H 00009 #define KSMEDIA_H 00010 00011 #include <ks.h> 00012 00013 /* 00014 KS CATEGORIES 00015 */ 00016 00017 typedef LONGLONG REFERENCE_TIME; 00018 00019 #define EXTRACT_WAVEFORMATEX_ID(Guid)\ 00020 (USHORT)((Guid)->Data1) 00021 00022 /* Audio device (as presented by sysaudio) */ 00023 00024 #define STATIC_KSCATEGORY_AUDIO_DEVICE \ 00025 0xFBF6F530L, 0x07B9, 0x11D2, {0xA7, 0x1E, 0x00, 0x00, 0xF8, 0x00, 0x47, 0x88} 00026 DEFINE_GUIDSTRUCT("FBF6F530-07B9-11D2-A71E-0000F8004788", KSCATEGORY_AUDIO_DEVICE); 00027 #define KSCATEGORY_AUDIO_DEVICE DEFINE_GUIDNAMED(KSCATEGORY_AUDIO_DEVICE) 00028 00029 /* video */ 00030 #define STATIC_PINNAME_VIDEO_CAPTURE \ 00031 0xfb6c4281, 0x353, 0x11d1, {0x90, 0x5f, 0x0, 0x0, 0xc0, 0xcc, 0x16, 0xba} 00032 #define STATIC_PINNAME_CAPTURE STATIC_PINNAME_VIDEO_CAPTURE 00033 DEFINE_GUIDSTRUCT("FB6C4281-0353-11d1-905F-0000C0CC16BA", PINNAME_VIDEO_CAPTURE); 00034 #define PINNAME_VIDEO_CAPTURE DEFINE_GUIDNAMED(PINNAME_VIDEO_CAPTURE) 00035 #define PINNAME_CAPTURE PINNAME_VIDEO_CAPTURE 00036 00037 /* Preferred devices */ 00038 00039 #define STATIC_KSCATEGORY_PREFERRED_WAVEOUT_DEVICE \ 00040 0xD6C5066EL, 0x72C1, 0x11D2, {0x97, 0x55, 0x00, 0x00, 0xF8, 0x00, 0x47, 0x88} 00041 DEFINE_GUIDSTRUCT("D6C5066E-72C1-11D2-9755-0000F8004788", KSCATEGORY_PREFERRED_WAVEOUT_DEVICE); 00042 #define KSCATEGORY_PREFERRED_WAVEOUT_DEVICE DEFINE_GUIDNAMED(KSCATEGORY_PREFERRED_WAVEOUT_DEVICE) 00043 00044 #define STATIC_KSCATEGORY_PREFERRED_WAVEIN_DEVICE \ 00045 0xD6C50671L, 0x72C1, 0x11D2, {0x97, 0x55, 0x00, 0x00, 0xF8, 0x00, 0x47, 0x88} 00046 DEFINE_GUIDSTRUCT("D6C50671-72C1-11D2-9755-0000F8004788", KSCATEGORY_PREFERRED_WAVEIN_DEVICE); 00047 #define KSCATEGORY_PREFERRED_WAVEIN_DEVICE DEFINE_GUIDNAMED(KSCATEGORY_PREFERRED_WAVEIN_DEVICE) 00048 00049 #define STATIC_KSCATEGORY_PREFERRED_MIDIOUT_DEVICE \ 00050 0xD6C50674L, 0x72C1, 0x11D2, {0x97, 0x55, 0x00, 0x00, 0xF8, 0x00, 0x47, 0x88} 00051 DEFINE_GUIDSTRUCT("D6C50674-72C1-11D2-9755-0000F8004788", KSCATEGORY_PREFERRED_MIDIOUT_DEVICE); 00052 #define KSCATEGORY_PREFERRED_MIDIOUT_DEVICE DEFINE_GUIDNAMED(KSCATEGORY_PREFERRED_MIDIOUT_DEVICE) 00053 00054 00055 /* Media type categories */ 00056 00057 #define STATIC_KSCATEGORY_AUDIO \ 00058 0x6994AD04L, 0x93EF, 0x11D0, {0xA3, 0xCC, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96} 00059 DEFINE_GUIDSTRUCT("6994AD04-93EF-11D0-A3CC-00A0C9223196", KSCATEGORY_AUDIO); 00060 #define KSCATEGORY_AUDIO DEFINE_GUIDNAMED(KSCATEGORY_AUDIO) 00061 00062 #define STATIC_KSCATEGORY_VIDEO \ 00063 0x6994AD05L, 0x93EF, 0x11D0, {0xA3, 0xCC, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96} 00064 DEFINE_GUIDSTRUCT("6994AD05-93EF-11D0-A3CC-00A0C9223196", KSCATEGORY_VIDEO); 00065 #define KSCATEGORY_VIDEO DEFINE_GUIDNAMED(KSCATEGORY_VIDEO) 00066 00067 #define STATIC_KSCATEGORY_TEXT \ 00068 0x6994AD06L, 0x93EF, 0x11D0, {0xA3, 0xCC, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96} 00069 DEFINE_GUIDSTRUCT("6994AD06-93EF-11D0-A3CC-00A0C9223196", KSCATEGORY_TEXT); 00070 #define KSCATEGORY_TEXT DEFINE_GUIDNAMED(KSCATEGORY_TEXT) 00071 00072 #define STATIC_KSCATEGORY_NETWORK \ 00073 0x67C9CC3CL, 0x69C4, 0x11D2, {0x87, 0x59, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96} 00074 DEFINE_GUIDSTRUCT("67C9CC3C-69C4-11D2-8759-00A0C9223196", KSCATEGORY_NETWORK); 00075 #define KSCATEGORY_NETWORK DEFINE_GUIDNAMED(KSCATEGORY_NETWORK) 00076 00077 #define STATIC_KSINTERFACESETID_Media \ 00078 0x3A13EB40L, 0x30A7, 0x11D0, {0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00} 00079 DEFINE_GUIDSTRUCT("3A13EB40-30A7-11D0-A5D6-28DB04C10000", KSINTERFACESETID_Media); 00080 #define KSINTERFACESETID_Media DEFINE_GUIDNAMED(KSINTERFACESETID_Media) 00081 00082 /* ... */ 00083 00084 #define STATIC_KSCATEGORY_TOPOLOGY \ 00085 0xDDA54A40L, 0x1E4C, 0x11D1, {0xA0, 0x50, 0x40, 0x57, 0x05, 0xC1, 0x00, 0x00} 00086 DEFINE_GUIDSTRUCT("DDA54A40-1E4C-11D1-A050-405705C10000", KSCATEGORY_TOPOLOGY); 00087 #define KSCATEGORY_TOPOLOGY DEFINE_GUIDNAMED(KSCATEGORY_TOPOLOGY) 00088 00089 #define STATIC_KSCATEGORY_VIRTUAL \ 00090 0x3503EAC4L, 0x1F26, 0x11D1, {0x8A, 0xB0, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96} 00091 DEFINE_GUIDSTRUCT("3503EAC4-1F26-11D1-8AB0-00A0C9223196", KSCATEGORY_VIRTUAL); 00092 #define KSCATEGORY_VIRTUAL DEFINE_GUIDNAMED(KSCATEGORY_VIRTUAL) 00093 00094 #define STATIC_KSCATEGORY_ACOUSTIC_ECHO_CANCEL \ 00095 0xBF963D80L, 0xC559, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1} 00096 DEFINE_GUIDSTRUCT("BF963D80-C559-11D0-8A2B-00A0C9255AC1", KSCATEGORY_ACOUSTIC_ECHO_CANCEL); 00097 #define KSCATEGORY_ACOUSTIC_ECHO_CANCEL DEFINE_GUIDNAMED(KSCATEGORY_ACOUSTIC_ECHO_CANCEL) 00098 00099 00100 /* Component-specific */ 00101 00102 #define STATIC_KSCATEGORY_SYSAUDIO \ 00103 0xA7C7A5B1L, 0x5AF3, 0x11D1, {0x9C, 0xED, 0x00, 0xA0, 0x24, 0xBF, 0x04, 0x07} 00104 DEFINE_GUIDSTRUCT("A7C7A5B1-5AF3-11D1-9CED-00A024BF0407", KSCATEGORY_SYSAUDIO); 00105 #define KSCATEGORY_SYSAUDIO DEFINE_GUIDNAMED(KSCATEGORY_SYSAUDIO) 00106 00107 #define STATIC_KSCATEGORY_WDMAUD \ 00108 0x3E227E76L, 0x690D, 0x11D2, {0x81, 0x61, 0x00, 0x00, 0xF8, 0x77, 0x5B, 0xF1} 00109 DEFINE_GUIDSTRUCT("3E227E76-690D-11D2-8161-0000F8775BF1", KSCATEGORY_WDMAUD); 00110 #define KSCATEGORY_WDMAUD DEFINE_GUIDNAMED(KSCATEGORY_WDMAUD) 00111 00112 #define STATIC_KSCATEGORY_AUDIO_GFX \ 00113 0x9BAF9572L, 0x340C, 0x11D3, {0xAB, 0xDC, 0x00, 0xA0, 0xC9, 0x0A, 0xB1, 0x6F} 00114 DEFINE_GUIDSTRUCT("9BAF9572-340C-11D3-ABDC-00A0C90AB16F", KSCATEGORY_AUDIO_GFX); 00115 #define KSCATEGORY_AUDIO_GFX DEFINE_GUIDNAMED(KSCATEGORY_AUDIO_GFX) 00116 00117 #define STATIC_KSCATEGORY_AUDIO_SPLITTER \ 00118 0x9EA331FAL, 0xB91B, 0x45F8, {0x92, 0x85, 0xBD, 0x2B, 0xC7, 0x7A, 0xFC, 0xDE} 00119 DEFINE_GUIDSTRUCT("9EA331FA-B91B-45F8-9285-BD2BC77AFCDE", KSCATEGORY_AUDIO_SPLITTER); 00120 #define KSCATEGORY_AUDIO_SPLITTER DEFINE_GUIDNAMED(KSCATEGORY_AUDIO_SPLITTER) 00121 00122 #define STATIC_KSCATEGORY_SYNTHESIZER STATIC_KSNODETYPE_SYNTHESIZER 00123 #define KSCATEGORY_SYNTHESIZER KSNODETYPE_SYNTHESIZER 00124 00125 #define STATIC_KSCATEGORY_DRM_DESCRAMBLE STATIC_KSNODETYPE_DRM_DESCRAMBLE 00126 #define KSCATEGORY_DRM_DESCRAMBLE KSNODETYPE_DRM_DESCRAMBLE 00127 00128 /* 00129 Nodes 00130 */ 00131 00132 #define STATIC_KSNODETYPE_ADC\ 00133 0x4D837FE0L, 0xC555, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1} 00134 DEFINE_GUIDSTRUCT("4D837FE0-C555-11D0-8A2B-00A0C9255AC1", KSNODETYPE_ADC); 00135 #define KSNODETYPE_ADC DEFINE_GUIDNAMED(KSNODETYPE_ADC) 00136 00137 #define STATIC_KSNODETYPE_AGC\ 00138 0xE88C9BA0L, 0xC557, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1} 00139 DEFINE_GUIDSTRUCT("E88C9BA0-C557-11D0-8A2B-00A0C9255AC1", KSNODETYPE_AGC); 00140 #define KSNODETYPE_AGC DEFINE_GUIDNAMED(KSNODETYPE_AGC) 00141 00142 #define STATIC_KSNODETYPE_3D_EFFECTS\ 00143 0x55515860L, 0xC559, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1} 00144 DEFINE_GUIDSTRUCT("55515860-C559-11D0-8A2B-00A0C9255AC1", KSNODETYPE_3D_EFFECTS); 00145 #define KSNODETYPE_3D_EFFECTS DEFINE_GUIDNAMED(KSNODETYPE_3D_EFFECTS) 00146 00147 #define STATIC_KSNODETYPE_SUPERMIX\ 00148 0xE573ADC0L, 0xC555, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1} 00149 DEFINE_GUIDSTRUCT("E573ADC0-C555-11D0-8A2B-00A0C9255AC1", KSNODETYPE_SUPERMIX); 00150 #define KSNODETYPE_SUPERMIX DEFINE_GUIDNAMED(KSNODETYPE_SUPERMIX) 00151 00152 #define STATIC_KSNODETYPE_SRC\ 00153 0x9DB7B9E0L, 0xC555, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1} 00154 DEFINE_GUIDSTRUCT("9DB7B9E0-C555-11D0-8A2B-00A0C9255AC1", KSNODETYPE_SRC); 00155 #define KSNODETYPE_SRC DEFINE_GUIDNAMED(KSNODETYPE_SRC) 00156 00157 #define STATIC_KSNODETYPE_DAC\ 00158 0x507AE360L, 0xC554, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1} 00159 DEFINE_GUIDSTRUCT("507AE360-C554-11D0-8A2B-00A0C9255AC1", KSNODETYPE_DAC); 00160 #define KSNODETYPE_DAC DEFINE_GUIDNAMED(KSNODETYPE_DAC) 00161 00162 #define STATIC_KSNODETYPE_SPDIF_INTERFACE\ 00163 DEFINE_USB_TERMINAL_GUID(0x0605) 00164 DEFINE_GUIDSTRUCT("DFF21FE5-F70F-11D0-B917-00A0C9223196", KSNODETYPE_SPDIF_INTERFACE); 00165 #define KSNODETYPE_SPDIF_INTERFACE DEFINE_GUIDNAMED(KSNODETYPE_SPDIF_INTERFACE) 00166 00167 #define STATIC_KSNODETYPE_MICROPHONE\ 00168 DEFINE_USB_TERMINAL_GUID(0x0201) 00169 DEFINE_GUIDSTRUCT("DFF21BE1-F70F-11D0-B917-00A0C9223196", KSNODETYPE_MICROPHONE); 00170 #define KSNODETYPE_MICROPHONE DEFINE_GUIDNAMED(KSNODETYPE_MICROPHONE) 00171 00172 #define STATIC_KSNODETYPE_CD_PLAYER\ 00173 DEFINE_USB_TERMINAL_GUID(0x0703) 00174 DEFINE_GUIDSTRUCT("DFF220E3-F70F-11D0-B917-00A0C9223196", KSNODETYPE_CD_PLAYER); 00175 #define KSNODETYPE_CD_PLAYER DEFINE_GUIDNAMED(KSNODETYPE_CD_PLAYER) 00176 00177 #define STATIC_KSNODETYPE_CHORUS\ 00178 0x20173F20L, 0xC559, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1} 00179 DEFINE_GUIDSTRUCT("20173F20-C559-11D0-8A2B-00A0C9255AC1", KSNODETYPE_CHORUS); 00180 #define KSNODETYPE_CHORUS DEFINE_GUIDNAMED(KSNODETYPE_CHORUS) 00181 00182 #define STATIC_KSNODETYPE_REVERB\ 00183 0xEF0328E0L, 0xC558, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1} 00184 DEFINE_GUIDSTRUCT("EF0328E0-C558-11D0-8A2B-00A0C9255AC1", KSNODETYPE_REVERB); 00185 #define KSNODETYPE_REVERB DEFINE_GUIDNAMED(KSNODETYPE_REVERB) 00186 00187 00188 #define STATIC_KSNODETYPE_LINE_CONNECTOR\ 00189 DEFINE_USB_TERMINAL_GUID(0x0603) 00190 DEFINE_GUIDSTRUCT("DFF21FE3-F70F-11D0-B917-00A0C9223196", KSNODETYPE_LINE_CONNECTOR); 00191 #define KSNODETYPE_LINE_CONNECTOR DEFINE_GUIDNAMED(KSNODETYPE_LINE_CONNECTOR) 00192 00193 #define STATIC_KSNODETYPE_ANALOG_CONNECTOR\ 00194 DEFINE_USB_TERMINAL_GUID(0x601) 00195 DEFINE_GUIDSTRUCT("DFF21FE1-F70F-11D0-B917-00A0C9223196", KSNODETYPE_ANALOG_CONNECTOR); 00196 #define KSNODETYPE_ANALOG_CONNECTOR DEFINE_GUIDNAMED(KSNODETYPE_ANALOG_CONNECTOR) 00197 00198 #define STATIC_KSNODETYPE_SPEAKER\ 00199 DEFINE_USB_TERMINAL_GUID(0x0301) 00200 DEFINE_GUIDSTRUCT("DFF21CE1-F70F-11D0-B917-00A0C9223196", KSNODETYPE_SPEAKER); 00201 #define KSNODETYPE_SPEAKER DEFINE_GUIDNAMED(KSNODETYPE_SPEAKER) 00202 00203 #define STATIC_KSAUDFNAME_RECORDING_CONTROL\ 00204 0x185FEDFAL, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3} 00205 DEFINE_GUIDSTRUCT("185FEDFA-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_RECORDING_CONTROL); 00206 #define KSAUDFNAME_RECORDING_CONTROL DEFINE_GUIDNAMED(KSAUDFNAME_RECORDING_CONTROL) 00207 00208 #define STATIC_KSNODETYPE_VOLUME\ 00209 0x3A5ACC00L, 0xC557, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1} 00210 DEFINE_GUIDSTRUCT("3A5ACC00-C557-11D0-8A2B-00A0C9255AC1", KSNODETYPE_VOLUME); 00211 #define KSNODETYPE_VOLUME DEFINE_GUIDNAMED(KSNODETYPE_VOLUME) 00212 00213 #define STATIC_KSAUDFNAME_WAVE_VOLUME\ 00214 0x185FEDE5L, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3} 00215 DEFINE_GUIDSTRUCT("185FEDE5-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_WAVE_VOLUME); 00216 #define KSAUDFNAME_WAVE_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_WAVE_VOLUME) 00217 00218 #define STATIC_KSNODETYPE_MUTE\ 00219 0x02B223C0L, 0xC557, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1} 00220 DEFINE_GUIDSTRUCT("02B223C0-C557-11D0-8A2B-00A0C9255AC1", KSNODETYPE_MUTE); 00221 #define KSNODETYPE_MUTE DEFINE_GUIDNAMED(KSNODETYPE_MUTE) 00222 00223 #define STATIC_KSAUDFNAME_WAVE_MUTE\ 00224 0x185FEDE6L, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3} 00225 DEFINE_GUIDSTRUCT("185FEDE6-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_WAVE_MUTE); 00226 #define KSAUDFNAME_WAVE_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_WAVE_MUTE) 00227 00228 #define STATIC_KSAUDFNAME_MIC_VOLUME\ 00229 0x185FEDEDL, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3} 00230 DEFINE_GUIDSTRUCT("185FEDED-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_MIC_VOLUME); 00231 #define KSAUDFNAME_MIC_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_MIC_VOLUME) 00232 00233 #define STATIC_KSNODETYPE_SUM\ 00234 0xDA441A60L, 0xC556, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1} 00235 DEFINE_GUIDSTRUCT("DA441A60-C556-11D0-8A2B-00A0C9255AC1", KSNODETYPE_SUM); 00236 #define KSNODETYPE_SUM DEFINE_GUIDNAMED(KSNODETYPE_SUM) 00237 00238 #define STATIC_KSAUDFNAME_MASTER_VOLUME\ 00239 0x185FEDE3L, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3} 00240 DEFINE_GUIDSTRUCT("185FEDE3-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_MASTER_VOLUME); 00241 #define KSAUDFNAME_MASTER_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_MASTER_VOLUME) 00242 00243 #define STATIC_KSAUDFNAME_CD_VOLUME\ 00244 0x185FEDE9L, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3} 00245 DEFINE_GUIDSTRUCT("185FEDE9-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_CD_VOLUME); 00246 #define KSAUDFNAME_CD_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_CD_VOLUME) 00247 00248 #define STATIC_KSAUDFNAME_RECORDING_SOURCE\ 00249 0x185FEDEFL, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3} 00250 DEFINE_GUIDSTRUCT("185FEDEF-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_RECORDING_SOURCE); 00251 #define KSAUDFNAME_RECORDING_SOURCE DEFINE_GUIDNAMED(KSAUDFNAME_RECORDING_SOURCE) 00252 00253 #define STATIC_KSAUDFNAME_LINE_IN_VOLUME\ 00254 0x185FEDF4L, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3} 00255 DEFINE_GUIDSTRUCT("185FEDF4-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_LINE_IN_VOLUME); 00256 #define KSAUDFNAME_LINE_IN_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_LINE_IN_VOLUME) 00257 00258 #define STATIC_KSAUDFNAME_AUX_VOLUME\ 00259 0x185FEDFCL, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3} 00260 DEFINE_GUIDSTRUCT("185FEDFC-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_AUX_VOLUME); 00261 #define KSAUDFNAME_AUX_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_AUX_VOLUME) 00262 00263 #define STATIC_KSAUDFNAME_MIC_IN_VOLUME\ 00264 0x185FEDF5L, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3} 00265 DEFINE_GUIDSTRUCT("185FEDF5-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_MIC_IN_VOLUME); 00266 #define KSAUDFNAME_MIC_IN_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_MIC_IN_VOLUME) 00267 00268 #define STATIC_KSNODETYPE_LOUDNESS\ 00269 0x41887440L, 0xC558, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1} 00270 DEFINE_GUIDSTRUCT("41887440-C558-11D0-8A2B-00A0C9255AC1", KSNODETYPE_LOUDNESS); 00271 #define KSNODETYPE_LOUDNESS DEFINE_GUIDNAMED(KSNODETYPE_LOUDNESS) 00272 00273 #define STATIC_KSAUDFNAME_MICROPHONE_BOOST\ 00274 0x2bc31d6aL, 0x96e3, 0x11d2, {0xac, 0x4c, 0x0, 0xc0, 0x4f, 0x8e, 0xfb, 0x68} 00275 DEFINE_GUIDSTRUCT("2BC31D6A-96E3-11d2-AC4C-00C04F8EFB68", KSAUDFNAME_MICROPHONE_BOOST); 00276 #define KSAUDFNAME_MICROPHONE_BOOST DEFINE_GUIDNAMED(KSAUDFNAME_MICROPHONE_BOOST) 00277 00278 #define STATIC_KSAUDFNAME_CD_MUTE\ 00279 0x185FEDEAL, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3} 00280 DEFINE_GUIDSTRUCT("185FEDEA-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_CD_MUTE); 00281 #define KSAUDFNAME_CD_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_CD_MUTE) 00282 00283 #define STATIC_KSAUDFNAME_LINE_MUTE\ 00284 0x185FEDECL, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3} 00285 DEFINE_GUIDSTRUCT("185FEDEC-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_LINE_MUTE); 00286 #define KSAUDFNAME_LINE_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_LINE_MUTE) 00287 00288 #define STATIC_KSAUDFNAME_MIC_MUTE\ 00289 0x185FEDEEL, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3} 00290 DEFINE_GUIDSTRUCT("185FEDEE-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_MIC_MUTE); 00291 #define KSAUDFNAME_MIC_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_MIC_MUTE) 00292 00293 #define STATIC_KSAUDFNAME_AUX_MUTE\ 00294 0x185FEDFDL, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3} 00295 DEFINE_GUIDSTRUCT("185FEDFD-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_AUX_MUTE); 00296 #define KSAUDFNAME_AUX_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_AUX_MUTE) 00297 00298 #define STATIC_KSAUDFNAME_VOLUME_CONTROL\ 00299 0x185FEDF7L, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3} 00300 DEFINE_GUIDSTRUCT("185FEDF7-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_VOLUME_CONTROL); 00301 #define KSAUDFNAME_VOLUME_CONTROL DEFINE_GUIDNAMED(KSAUDFNAME_VOLUME_CONTROL) 00302 00303 #define STATIC_KSNODETYPE_MUX\ 00304 0x2CEAF780L, 0xC556, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1} 00305 DEFINE_GUIDSTRUCT("2CEAF780-C556-11D0-8A2B-00A0C9255AC1", KSNODETYPE_MUX); 00306 #define KSNODETYPE_MUX DEFINE_GUIDNAMED(KSNODETYPE_MUX) 00307 00308 #define STATIC_KSAUDFNAME_MASTER_MUTE\ 00309 0x185FEDE4L, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3} 00310 DEFINE_GUIDSTRUCT("185FEDE4-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_MASTER_MUTE); 00311 #define KSAUDFNAME_MASTER_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_MASTER_MUTE) 00312 00313 #define STATIC_KSNODETYPE_PEAKMETER\ 00314 0xa085651eL, 0x5f0d, 0x4b36, {0xa8, 0x69, 0xd1, 0x95, 0xd6, 0xab, 0x4b, 0x9e} 00315 DEFINE_GUIDSTRUCT("A085651E-5F0D-4b36-A869-D195D6AB4B9E", KSNODETYPE_PEAKMETER); 00316 #define KSNODETYPE_PEAKMETER DEFINE_GUIDNAMED(KSNODETYPE_PEAKMETER) 00317 00318 #define STATIC_KSNODETYPE_STEREO_WIDE\ 00319 0xA9E69800L, 0xC558, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1} 00320 DEFINE_GUIDSTRUCT("A9E69800-C558-11D0-8A2B-00A0C9255AC1", KSNODETYPE_STEREO_WIDE); 00321 #define KSNODETYPE_STEREO_WIDE DEFINE_GUIDNAMED(KSNODETYPE_STEREO_WIDE) 00322 00323 #define STATIC_KSNODETYPE_TONE\ 00324 0x7607E580L, 0xC557, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1} 00325 DEFINE_GUIDSTRUCT("7607E580-C557-11D0-8A2B-00A0C9255AC1", KSNODETYPE_TONE); 00326 #define KSNODETYPE_TONE DEFINE_GUIDNAMED(KSNODETYPE_TONE) 00327 00328 /* 00329 Pins 00330 */ 00331 00332 #define STATIC_KSCATEGORY_WDMAUD_USE_PIN_NAME \ 00333 0x47A4FA20L, 0xA251, 0x11D1, {0xA0, 0x50, 0x00, 0x00, 0xF8, 0x00, 0x47, 0x88} 00334 DEFINE_GUIDSTRUCT("47A4FA20-A251-11D1-A050-0000F8004788", KSCATEGORY_WDMAUD_USE_PIN_NAME); 00335 #define KSCATEGORY_WDMAUD_USE_PIN_NAME DEFINE_GUIDNAMED(KSCATEGORY_WDMAUD_USE_PIN_NAME) 00336 00337 00338 /* 00339 Formats 00340 */ 00341 00342 //#if defined(_INC_MMREG) 00343 #if !defined( PACK_PRAGMAS_NOT_SUPPORTED ) 00344 #include <pshpack1.h> 00345 #endif 00346 typedef struct { 00347 KSDATAFORMAT DataFormat; 00348 WAVEFORMATEX WaveFormatEx; 00349 } KSDATAFORMAT_WAVEFORMATEX, *PKSDATAFORMAT_WAVEFORMATEX; 00350 00351 #ifndef _WAVEFORMATEXTENSIBLE_ 00352 #define _WAVEFORMATEXTENSIBLE_ 00353 typedef struct { 00354 WAVEFORMATEX Format; 00355 union 00356 { 00357 WORD wValidBitsPerSample; 00358 WORD wSamplesPerBlock; 00359 WORD wReserved; 00360 }Samples; 00361 DWORD dwChannelMask; 00362 GUID SubFormat; 00363 } WAVEFORMATEXTENSIBLE, *PWAVEFORMATEXTENSIBLE; 00364 #endif 00365 00366 #if !defined(WAVE_FORMAT_EXTENSIBLE) 00367 #define WAVE_FORMAT_EXTENSIBLE 0xFFFE 00368 #endif 00369 00370 typedef struct { 00371 ULONG Flags; 00372 ULONG Control; 00373 WAVEFORMATEX WaveFormatEx; 00374 } KSDSOUND_BUFFERDESC, *PKSDSOUND_BUFFERDESC; 00375 00376 typedef struct { 00377 KSDATAFORMAT DataFormat; 00378 KSDSOUND_BUFFERDESC BufferDesc; 00379 } KSDATAFORMAT_DSOUND, *PKSDATAFORMAT_DSOUND; 00380 00381 #if !defined( PACK_PRAGMAS_NOT_SUPPORTED ) 00382 #include <poppack.h> 00383 #endif 00384 00385 //#endif 00386 00387 typedef struct { 00388 KSDATARANGE DataRange; 00389 ULONG MaximumChannels; 00390 ULONG MinimumBitsPerSample; 00391 ULONG MaximumBitsPerSample; 00392 ULONG MinimumSampleFrequency; 00393 ULONG MaximumSampleFrequency; 00394 } KSDATARANGE_AUDIO, *PKSDATARANGE_AUDIO; 00395 00396 #if !defined( DEFINE_WAVEFORMATEX_GUID ) 00397 #define DEFINE_WAVEFORMATEX_GUID(x) (USHORT)(x), 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71} 00398 #endif 00399 00400 #define STATIC_KSDATAFORMAT_SUBTYPE_WAVEFORMATEX\ 00401 0x00000000L, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71} 00402 DEFINE_GUIDSTRUCT("00000000-0000-0010-8000-00aa00389b71", KSDATAFORMAT_SUBTYPE_WAVEFORMATEX); 00403 #define KSDATAFORMAT_SUBTYPE_WAVEFORMATEX DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_WAVEFORMATEX) 00404 00405 00406 #define INIT_WAVEFORMATEX_GUID(Guid, x) \ 00407 { \ 00408 *(Guid) = KSDATAFORMAT_SUBTYPE_WAVEFORMATEX; \ 00409 (Guid)->Data1 = (USHORT)(x); \ 00410 } 00411 00412 // 'vids' 00413 #define STATIC_KSDATAFORMAT_TYPE_VIDEO \ 00414 0x73646976L, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71} 00415 DEFINE_GUIDSTRUCT("73646976-0000-0010-8000-00aa00389b71", KSDATAFORMAT_TYPE_VIDEO); 00416 #define KSDATAFORMAT_TYPE_VIDEO DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_VIDEO) 00417 00418 // 'auds' 00419 #define STATIC_KSDATAFORMAT_TYPE_AUDIO \ 00420 0x73647561L, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71} 00421 DEFINE_GUIDSTRUCT("73647561-0000-0010-8000-00aa00389b71", KSDATAFORMAT_TYPE_AUDIO); 00422 #define KSDATAFORMAT_TYPE_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_AUDIO) 00423 00424 #define STATIC_KSDATAFORMAT_SPECIFIER_DSOUND\ 00425 0x518590a2L, 0xa184, 0x11d0, {0x85, 0x22, 0x00, 0xc0, 0x4f, 0xd9, 0xba, 0xf3} 00426 DEFINE_GUIDSTRUCT("518590a2-a184-11d0-8522-00c04fd9baf3", KSDATAFORMAT_SPECIFIER_DSOUND); 00427 #define KSDATAFORMAT_SPECIFIER_DSOUND DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_DSOUND) 00428 00429 #define STATIC_KSDATAFORMAT_SUBTYPE_ANALOG\ 00430 0x6dba3190L, 0x67bd, 0x11cf, {0xa0, 0xf7, 0x00, 0x20, 0xaf, 0xd1, 0x56, 0xe4} 00431 DEFINE_GUIDSTRUCT("6dba3190-67bd-11cf-a0f7-0020afd156e4", KSDATAFORMAT_SUBTYPE_ANALOG); 00432 #define KSDATAFORMAT_SUBTYPE_ANALOG DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_ANALOG) 00433 00434 00435 // 'txts' 00436 #define STATIC_KSDATAFORMAT_TYPE_TEXT \ 00437 0x73747874L, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71} 00438 DEFINE_GUIDSTRUCT("73747874-0000-0010-8000-00aa00389b71", KSDATAFORMAT_TYPE_TEXT); 00439 #define KSDATAFORMAT_TYPE_TEXT DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_TEXT) 00440 00441 #define STATIC_KSDATAFORMAT_TYPE_MUSIC \ 00442 0xE725D360L, 0x62CC, 0x11CF, {0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00} 00443 DEFINE_GUIDSTRUCT("E725D360-62CC-11CF-A5D6-28DB04C10000", KSDATAFORMAT_TYPE_MUSIC); 00444 #define KSDATAFORMAT_TYPE_MUSIC DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_MUSIC) 00445 00446 // 'mids' 00447 #define STATIC_KSDATAFORMAT_TYPE_MIDI \ 00448 0x7364696DL, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71} 00449 DEFINE_GUIDSTRUCT("7364696D-0000-0010-8000-00aa00389b71", KSDATAFORMAT_TYPE_MIDI); 00450 #define KSDATAFORMAT_TYPE_MIDI DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_MIDI) 00451 00452 #define STATIC_KSDATAFORMAT_SUBTYPE_MIDI \ 00453 0x1D262760L, 0xE957, 0x11CF, {0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00} 00454 DEFINE_GUIDSTRUCT("1D262760-E957-11CF-A5D6-28DB04C10000", KSDATAFORMAT_SUBTYPE_MIDI); 00455 #define KSDATAFORMAT_SUBTYPE_MIDI DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_MIDI) 00456 00457 #define STATIC_KSDATAFORMAT_SUBTYPE_PCM\ 00458 0x00000001L, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71} 00459 DEFINE_GUIDSTRUCT("00000001-0000-0010-8000-00aa00389b71", KSDATAFORMAT_SUBTYPE_PCM); 00460 #define KSDATAFORMAT_SUBTYPE_PCM DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_PCM) 00461 00462 #define STATIC_KSDATAFORMAT_SUBTYPE_IEEE_FLOAT\ 00463 0x00000003L, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71} 00464 DEFINE_GUIDSTRUCT("00000003-0000-0010-8000-00aa00389b71", KSDATAFORMAT_SUBTYPE_IEEE_FLOAT); 00465 #define KSDATAFORMAT_SUBTYPE_IEEE_FLOAT DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_IEEE_FLOAT) 00466 00467 #define STATIC_KSDATAFORMAT_SPECIFIER_WAVEFORMATEX\ 00468 0x05589f81L, 0xc356, 0x11ce, {0xbf, 0x01, 0x00, 0xaa, 0x00, 0x55, 0x59, 0x5a} 00469 DEFINE_GUIDSTRUCT("05589f81-c356-11ce-bf01-00aa0055595a", KSDATAFORMAT_SPECIFIER_WAVEFORMATEX); 00470 #define KSDATAFORMAT_SPECIFIER_WAVEFORMATEX DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_WAVEFORMATEX) 00471 00472 #define STATIC_KSDATAFORMAT_SUBTYPE_AC3_AUDIO\ 00473 0xe06d802cL, 0xdb46, 0x11cf, {0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea} 00474 DEFINE_GUIDSTRUCT("e06d802c-db46-11cf-b4d1-00805f6cbbea", KSDATAFORMAT_SUBTYPE_AC3_AUDIO); 00475 #define KSDATAFORMAT_SUBTYPE_AC3_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_AC3_AUDIO) 00476 00477 #define STATIC_KSDATAFORMAT_SPECIFIER_AC3_AUDIO\ 00478 0xe06d80e4L, 0xdb46, 0x11cf, {0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea} 00479 DEFINE_GUIDSTRUCT("e06d80e4-db46-11cf-b4d1-00805f6cbbea", KSDATAFORMAT_SPECIFIER_AC3_AUDIO); 00480 #define KSDATAFORMAT_SPECIFIER_AC3_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_AC3_AUDIO) 00481 00482 #define STATIC_KSPROPSETID_AC3\ 00483 0xBFABE720L, 0x6E1F, 0x11D0, {0xBC, 0xF2, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} 00484 DEFINE_GUIDSTRUCT("BFABE720-6E1F-11D0-BCF2-444553540000", KSPROPSETID_AC3); 00485 #define KSPROPSETID_AC3 DEFINE_GUIDNAMED(KSPROPSETID_AC3) 00486 00487 #define STATIC_KSPROPSETID_Audio\ 00488 0x45FFAAA0L, 0x6E1B, 0x11D0, {0xBC, 0xF2, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} 00489 DEFINE_GUIDSTRUCT("45FFAAA0-6E1B-11D0-BCF2-444553540000", KSPROPSETID_Audio); 00490 #define KSPROPSETID_Audio DEFINE_GUIDNAMED(KSPROPSETID_Audio) 00491 00492 typedef enum { 00493 KSPROPERTY_AUDIO_LATENCY = 1, 00494 KSPROPERTY_AUDIO_COPY_PROTECTION, 00495 KSPROPERTY_AUDIO_CHANNEL_CONFIG, 00496 KSPROPERTY_AUDIO_VOLUMELEVEL, 00497 KSPROPERTY_AUDIO_POSITION, 00498 KSPROPERTY_AUDIO_DYNAMIC_RANGE, 00499 KSPROPERTY_AUDIO_QUALITY, 00500 KSPROPERTY_AUDIO_SAMPLING_RATE, 00501 KSPROPERTY_AUDIO_DYNAMIC_SAMPLING_RATE, 00502 KSPROPERTY_AUDIO_MIX_LEVEL_TABLE, 00503 KSPROPERTY_AUDIO_MIX_LEVEL_CAPS, 00504 KSPROPERTY_AUDIO_MUX_SOURCE, 00505 KSPROPERTY_AUDIO_MUTE, 00506 KSPROPERTY_AUDIO_BASS, 00507 KSPROPERTY_AUDIO_MID, 00508 KSPROPERTY_AUDIO_TREBLE, 00509 KSPROPERTY_AUDIO_BASS_BOOST, 00510 KSPROPERTY_AUDIO_EQ_LEVEL, 00511 KSPROPERTY_AUDIO_NUM_EQ_BANDS, 00512 KSPROPERTY_AUDIO_EQ_BANDS, 00513 KSPROPERTY_AUDIO_AGC, 00514 KSPROPERTY_AUDIO_DELAY, 00515 KSPROPERTY_AUDIO_LOUDNESS, 00516 KSPROPERTY_AUDIO_WIDE_MODE, 00517 KSPROPERTY_AUDIO_WIDENESS, 00518 KSPROPERTY_AUDIO_REVERB_LEVEL, 00519 KSPROPERTY_AUDIO_CHORUS_LEVEL, 00520 KSPROPERTY_AUDIO_DEV_SPECIFIC, 00521 KSPROPERTY_AUDIO_DEMUX_DEST, 00522 KSPROPERTY_AUDIO_STEREO_ENHANCE, 00523 KSPROPERTY_AUDIO_MANUFACTURE_GUID, 00524 KSPROPERTY_AUDIO_PRODUCT_GUID, 00525 KSPROPERTY_AUDIO_CPU_RESOURCES, 00526 KSPROPERTY_AUDIO_STEREO_SPEAKER_GEOMETRY, 00527 KSPROPERTY_AUDIO_SURROUND_ENCODE, 00528 KSPROPERTY_AUDIO_3D_INTERFACE 00529 00530 #if (NTDDI_VERSION >= NTDDI_WINXP) 00531 , KSPROPERTY_AUDIO_PEAKMETER 00532 , KSPROPERTY_AUDIO_ALGORITHM_INSTANCE 00533 , KSPROPERTY_AUDIO_FILTER_STATE 00534 , KSPROPERTY_AUDIO_PREFERRED_STATUS 00535 00536 #endif 00537 #if (NTDDI_VERSION >= NTDDI_LONGHORN) 00538 , KSPROPERTY_AUDIO_PEQ_MAX_BANDS 00539 , KSPROPERTY_AUDIO_PEQ_NUM_BANDS 00540 , KSPROPERTY_AUDIO_PEQ_BAND_CENTER_FREQ 00541 , KSPROPERTY_AUDIO_PEQ_BAND_Q_FACTOR 00542 , KSPROPERTY_AUDIO_PEQ_BAND_LEVEL 00543 , KSPROPERTY_AUDIO_CHORUS_MODULATION_RATE 00544 , KSPROPERTY_AUDIO_CHORUS_MODULATION_DEPTH 00545 , KSPROPERTY_AUDIO_REVERB_TIME 00546 , KSPROPERTY_AUDIO_REVERB_DELAY_FEEDBACK 00547 , KSPROPERTY_AUDIO_POSITIONEX 00548 , KSPROPERTY_AUDIO_MIC_ARRAY_GEOMETRY 00549 #endif 00550 00551 } KSPROPERTY_AUDIO; 00552 00553 #define STATIC_KSEVENTSETID_AudioControlChange\ 00554 0xE85E9698L, 0xFA2F, 0x11D1, {0x95, 0xBD, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3} 00555 DEFINE_GUIDSTRUCT("E85E9698-FA2F-11D1-95BD-00C04FB925D3", KSEVENTSETID_AudioControlChange); 00556 #define KSEVENTSETID_AudioControlChange DEFINE_GUIDNAMED(KSEVENTSETID_AudioControlChange) 00557 00558 typedef enum { 00559 KSEVENT_CONTROL_CHANGE, 00560 } KSEVENT_AUDIO_CONTROL_CHANGE; 00561 00562 00563 #define STATIC_KSEVENTSETID_LoopedStreaming\ 00564 0x4682B940L, 0xC6EF, 0x11D0, {0x96, 0xD8, 0x00, 0xAA, 0x00, 0x51, 0xE5, 0x1D} 00565 DEFINE_GUIDSTRUCT("4682B940-C6EF-11D0-96D8-00AA0051E51D", KSEVENTSETID_LoopedStreaming); 00566 #define KSEVENTSETID_LoopedStreaming DEFINE_GUIDNAMED(KSEVENTSETID_LoopedStreaming) 00567 00568 typedef enum { 00569 KSEVENT_LOOPEDSTREAMING_POSITION, 00570 } KSEVENT_LOOPEDSTREAMING; 00571 00572 #define STATIC_KSEVENTSETID_Connection\ 00573 0x7f4bcbe0L, 0x9ea5, 0x11cf, {0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00} 00574 DEFINE_GUIDSTRUCT("7f4bcbe0-9ea5-11cf-a5d6-28db04c10000", KSEVENTSETID_Connection); 00575 #define KSEVENTSETID_Connection DEFINE_GUIDNAMED(KSEVENTSETID_Connection) 00576 00577 00578 typedef struct { 00579 KSEVENTDATA KsEventData; 00580 #if defined(_NTDDK_) 00581 ULONGLONG Position; 00582 #else // !_NTDDK_ 00583 DWORDLONG Position; 00584 #endif // !_NTDDK_ 00585 } LOOPEDSTREAMING_POSITION_EVENT_DATA, *PLOOPEDSTREAMING_POSITION_EVENT_DATA ; 00586 00587 #define STATIC_KSPROPSETID_DrmAudioStream\ 00588 0x2f2c8ddd, 0x4198, 0x4fac, 0xba, 0x29, 0x61, 0xbb, 0x5, 0xb7, 0xde, 0x6 00589 DEFINE_GUIDSTRUCT("2F2C8DDD-4198-4fac-BA29-61BB05B7DE06", KSPROPSETID_DrmAudioStream); 00590 #define KSPROPSETID_DrmAudioStream DEFINE_GUIDNAMED(KSPROPSETID_DrmAudioStream) 00591 00592 typedef enum { 00593 KSPROPERTY_DRMAUDIOSTREAM_CONTENTID 00594 } KSPROPERTY_DRMAUDIOSTREAM; 00595 00596 00597 /* 00598 SysAudio Properties 00599 */ 00600 00601 #define STATIC_KSPROPSETID_Sysaudio \ 00602 0xCBE3FAA0L, 0xCC75, 0x11D0, {0xB4, 0x65, 0x00, 0x00, 0x1A, 0x18, 0x18, 0xE6} 00603 DEFINE_GUIDSTRUCT("CBE3FAA0-CC75-11D0-B465-00001A1818E6", KSPROPSETID_Sysaudio); 00604 #define KSPROPSETID_Sysaudio DEFINE_GUIDNAMED(KSPROPSETID_Sysaudio) 00605 00606 typedef enum { 00607 KSPROPERTY_SYSAUDIO_DEVICE_COUNT = 1, 00608 KSPROPERTY_SYSAUDIO_DEVICE_FRIENDLY_NAME = 2, 00609 KSPROPERTY_SYSAUDIO_DEVICE_INSTANCE = 3, 00610 KSPROPERTY_SYSAUDIO_DEVICE_INTERFACE_NAME = 4, 00611 KSPROPERTY_SYSAUDIO_SELECT_GRAPH = 5, 00612 KSPROPERTY_SYSAUDIO_CREATE_VIRTUAL_SOURCE = 6, 00613 KSPROPERTY_SYSAUDIO_DEVICE_DEFAULT = 7, 00614 KSPROPERTY_SYSAUDIO_INSTANCE_INFO = 14, 00615 KSPROPERTY_SYSAUDIO_COMPONENT_ID = 16 00616 } KSPROPERTY_SYSAUDIO; 00617 00618 typedef struct { 00619 KSPROPERTY Property; 00620 ULONG Flags; 00621 ULONG DeviceNumber; 00622 } SYSAUDIO_INSTANCE_INFO, *PSYSAUDIO_INSTANCE_INFO; 00623 00624 #define SYSAUDIO_FLAGS_DONT_COMBINE_PINS 0x00000001 00625 00626 00627 #define STATIC_KSPROPSETID_Sysaudio_Pin \ 00628 0xA3A53220L, 0xC6E4, 0x11D0, {0xB4, 0x65, 0x00, 0x00, 0x1A, 0x18, 0x18, 0xE6} 00629 DEFINE_GUIDSTRUCT("A3A53220-C6E4-11D0-B465-00001A1818E6", KSPROPSETID_Sysaudio_Pin); 00630 #define KSPROPSETID_Sysaudio_Pin DEFINE_GUIDNAMED(KSPROPSETID_Sysaudio_Pin) 00631 00632 typedef enum { 00633 KSPROPERTY_SYSAUDIO_ATTACH_VIRTUAL_SOURCE = 1, 00634 } KSPROPERTY_SYSAUDIO_PIN; 00635 00636 00637 #define KSAUDIO_CPU_RESOURCES_NOT_HOST_CPU 0x00000000 00638 #define KSAUDIO_CPU_RESOURCES_HOST_CPU 0x7FFFFFFF 00639 00640 #if (NTDDI_VERSION >= NTDDI_WINXP) 00641 #define KSAUDIO_SPEAKER_DIRECTOUT 0 00642 #endif 00643 #define KSAUDIO_SPEAKER_MONO (SPEAKER_FRONT_CENTER) 00644 #define KSAUDIO_SPEAKER_STEREO (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT) 00645 #define KSAUDIO_SPEAKER_QUAD (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | \ 00646 SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT) 00647 #define KSAUDIO_SPEAKER_SURROUND (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | \ 00648 SPEAKER_FRONT_CENTER | SPEAKER_BACK_CENTER) 00649 #define KSAUDIO_SPEAKER_5POINT1 (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | \ 00650 SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | \ 00651 SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT) 00652 #define KSAUDIO_SPEAKER_7POINT1 (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | \ 00653 SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | \ 00654 SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT | \ 00655 SPEAKER_FRONT_LEFT_OF_CENTER | SPEAKER_FRONT_RIGHT_OF_CENTER) 00656 00657 #if ( (NTDDI_VERSION >= NTDDI_WINXPSP2) && (NTDDI_VERSION < NTDDI_WS03) ) || (NTDDI_VERSION >= NTDDI_WS03SP1) 00658 00659 #define KSAUDIO_SPEAKER_5POINT1_SURROUND (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | \ 00660 SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | \ 00661 SPEAKER_SIDE_LEFT | SPEAKER_SIDE_RIGHT) 00662 #define KSAUDIO_SPEAKER_7POINT1_SURROUND (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | \ 00663 SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | \ 00664 SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT | \ 00665 SPEAKER_SIDE_LEFT | SPEAKER_SIDE_RIGHT) 00666 #define KSAUDIO_SPEAKER_5POINT1_BACK KSAUDIO_SPEAKER_5POINT1 00667 #define KSAUDIO_SPEAKER_7POINT1_WIDE KSAUDIO_SPEAKER_7POINT1 00668 #endif 00669 00670 typedef struct 00671 { 00672 KSPROPERTY Property; 00673 ULONG NodeId; 00674 ULONG Reserved; 00675 } KSNODEPROPERTY, *PKSNODEPROPERTY; 00676 00677 typedef struct 00678 { 00679 KSNODEPROPERTY NodeProperty; 00680 LONG Channel; 00681 ULONG Reserved; 00682 } KSNODEPROPERTY_AUDIO_CHANNEL, *PKSNODEPROPERTY_AUDIO_CHANNEL; 00683 00684 typedef struct { 00685 #if defined(_NTDDK_) 00686 ULONGLONG PlayOffset; 00687 ULONGLONG WriteOffset; 00688 #else 00689 DWORDLONG PlayOffset; 00690 DWORDLONG WriteOffset; 00691 #endif 00692 } KSAUDIO_POSITION, *PKSAUDIO_POSITION; 00693 00694 typedef struct { 00695 ULONG FifoSize; 00696 ULONG ChipsetDelay; 00697 ULONG CodecDelay; 00698 } KSRTAUDIO_HWLATENCY, *PKSRTAUDIO_HWLATENCY; 00699 00700 typedef struct { 00701 PVOID Register; 00702 ULONG Width; 00703 ULONGLONG Numerator; 00704 ULONGLONG Denominator; 00705 ULONG Accuracy; 00706 } KSRTAUDIO_HWREGISTER, *PKSRTAUDIO_HWREGISTER; 00707 00708 #define KSNODEPIN_STANDARD_IN 1 00709 #define KSNODEPIN_STANDARD_OUT 0 00710 00711 #define KSNODEPIN_SUM_MUX_IN 1 00712 #define KSNODEPIN_SUM_MUX_OUT 0 00713 00714 #define KSNODEPIN_DEMUX_IN 0 00715 #define KSNODEPIN_DEMUX_OUT 1 00716 00717 #if (NTDDI_VERSION < NTDDI_VISTA) 00718 00719 #define KSNODEPIN_AEC_RENDER_IN 1 00720 #define KSNODEPIN_AEC_RENDER_OUT 0 00721 #define KSNODEPIN_AEC_CAPTURE_IN 2 00722 #define KSNODEPIN_AEC_CAPTURE_OUT 3 00723 00724 #endif 00725 00726 00727 #define STATIC_KSMUSIC_TECHNOLOGY_PORT\ 00728 0x86C92E60L, 0x62E8, 0x11CF, {0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00} 00729 DEFINE_GUIDSTRUCT("86C92E60-62E8-11CF-A5D6-28DB04C10000", KSMUSIC_TECHNOLOGY_PORT); 00730 #define KSMUSIC_TECHNOLOGY_PORT DEFINE_GUIDNAMED(KSMUSIC_TECHNOLOGY_PORT) 00731 00732 #define STATIC_KSDATAFORMAT_SUBTYPE_MIDI_BUS\ 00733 0x2CA15FA0L, 0x6CFE, 0x11CF, {0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00} 00734 DEFINE_GUIDSTRUCT("2CA15FA0-6CFE-11CF-A5D6-28DB04C10000", KSDATAFORMAT_SUBTYPE_MIDI_BUS); 00735 #define KSDATAFORMAT_SUBTYPE_MIDI_BUS DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_MIDI_BUS) 00736 00737 #define STATIC_KSAUDFNAME_MIDI\ 00738 0x185FEDF8L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3 00739 DEFINE_GUIDSTRUCT("185FEDF8-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_MIDI); 00740 #define KSAUDFNAME_MIDI DEFINE_GUIDNAMED(KSAUDFNAME_MIDI) 00741 00742 #define STATIC_KSNODETYPE_SYNTHESIZER\ 00743 DEFINE_USB_TERMINAL_GUID(0x0713) 00744 DEFINE_GUIDSTRUCT("DFF220F3-F70F-11D0-B917-00A0C9223196", KSNODETYPE_SYNTHESIZER); 00745 #define KSNODETYPE_SYNTHESIZER DEFINE_GUIDNAMED(KSNODETYPE_SYNTHESIZER) 00746 00747 typedef struct 00748 { 00749 KSDATARANGE DataRange; 00750 GUID Technology; 00751 ULONG Channels; 00752 ULONG Notes; 00753 ULONG ChannelMask; 00754 } KSDATARANGE_MUSIC, *PKSDATARANGE_MUSIC; 00755 00756 #ifndef _SPEAKER_POSITIONS_ 00757 #define _SPEAKER_POSITIONS_ 00758 00759 00760 #define SPEAKER_FRONT_LEFT 0x1 00761 #define SPEAKER_FRONT_RIGHT 0x2 00762 #define SPEAKER_FRONT_CENTER 0x4 00763 #define SPEAKER_LOW_FREQUENCY 0x8 00764 #define SPEAKER_BACK_LEFT 0x10 00765 #define SPEAKER_BACK_RIGHT 0x20 00766 #define SPEAKER_FRONT_LEFT_OF_CENTER 0x40 00767 #define SPEAKER_FRONT_RIGHT_OF_CENTER 0x80 00768 #define SPEAKER_BACK_CENTER 0x100 00769 #define SPEAKER_SIDE_LEFT 0x200 00770 #define SPEAKER_SIDE_RIGHT 0x400 00771 #define SPEAKER_TOP_CENTER 0x800 00772 #define SPEAKER_TOP_FRONT_LEFT 0x1000 00773 #define SPEAKER_TOP_FRONT_CENTER 0x2000 00774 #define SPEAKER_TOP_FRONT_RIGHT 0x4000 00775 #define SPEAKER_TOP_BACK_LEFT 0x8000 00776 #define SPEAKER_TOP_BACK_CENTER 0x10000 00777 #define SPEAKER_TOP_BACK_RIGHT 0x20000 00778 00779 #define SPEAKER_RESERVED 0x7FFC0000 00780 #define SPEAKER_ALL 0x80000000 00781 00782 #endif 00783 00784 #if (NTDDI_VERSION >= NTDDI_WINXP) 00785 #define KSAUDIO_SPEAKER_DIRECTOUT 0 00786 #endif 00787 00788 #define KSAUDIO_SPEAKER_MONO (SPEAKER_FRONT_CENTER) 00789 #define KSAUDIO_SPEAKER_STEREO (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT) 00790 #define KSAUDIO_SPEAKER_QUAD (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | \ 00791 SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT) 00792 #define KSAUDIO_SPEAKER_SURROUND (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | \ 00793 SPEAKER_FRONT_CENTER | SPEAKER_BACK_CENTER) 00794 #define KSAUDIO_SPEAKER_5POINT1 (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | \ 00795 SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | \ 00796 SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT) 00797 #define KSAUDIO_SPEAKER_7POINT1 (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | \ 00798 SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | \ 00799 SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT | \ 00800 SPEAKER_FRONT_LEFT_OF_CENTER | SPEAKER_FRONT_RIGHT_OF_CENTER) 00801 00802 #endif Generated on Sat May 26 2012 04:30:20 for ReactOS by
1.7.6.1
|