ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

ksmedia.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.