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

mintopotables.hpp
Go to the documentation of this file.
00001 /*
00002 Copyright (c) 2006-2007 dogbert <dogber1@gmail.com>
00003 All rights reserved.
00004 
00005 Redistribution and use in source and binary forms, with or without
00006 modification, are permitted provided that the following conditions
00007 are met:
00008 1. Redistributions of source code must retain the above copyright
00009    notice, this list of conditions and the following disclaimer.
00010 2. Redistributions in binary form must reproduce the above copyright
00011    notice, this list of conditions and the following disclaimer in the
00012    documentation and/or other materials provided with the distribution.
00013 3. The name of the author may not be used to endorse or promote products
00014    derived from this software without specific prior written permission.
00015 
00016 THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
00017 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
00018 OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
00019 IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
00020 INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
00021 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
00022 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
00023 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00024 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
00025 THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00026 */
00027 
00028 #ifndef _TABLES_HPP_
00029 #define _TABLES_HPP_
00030 
00031 #include "mintopo.hpp"
00032 
00033 #if 0
00034 #ifndef STATIC_KSDATAFORMAT_SUBTYPE_DOLBY_AC3_SPDIF
00035 #define STATIC_KSDATAFORMAT_SUBTYPE_DOLBY_AC3_SPDIF\
00036     DEFINE_WAVEFORMATEX_GUID(WAVE_FORMAT_DOLBY_AC3_SPDIF)
00037 DEFINE_GUIDSTRUCT("00000092-0000-0010-8000-00aa00389b71", KSDATAFORMAT_SUBTYPE_DOLBY_AC3_SPDIF);
00038 #define KSDATAFORMAT_SUBTYPE_DOLBY_AC3_SPDIF  DEFINE_GUIDNAMED( KSDATAFORMAT_SUBTYPE_DOLBY_AC3_SPDIF )
00039 /* Warning - Recursive #define for KSDATAFORMAT_SUBTYPE_DOLBY_AC3_SPDIF */
00040 #endif
00041 #endif
00042 
00043 NTSTATUS NTAPI PropertyHandler_Level(PPCPROPERTY_REQUEST PropertyRequest);
00044 NTSTATUS NTAPI PropertyHandler_CpuResources(PPCPROPERTY_REQUEST PropertyRequest);
00045 NTSTATUS NTAPI PropertyHandler_OnOff(PPCPROPERTY_REQUEST PropertyRequest);
00046 NTSTATUS NTAPI PropertyHandler_ComponentId(PPCPROPERTY_REQUEST PropertyRequest);
00047 NTSTATUS NTAPI PropertyHandler_Private(PPCPROPERTY_REQUEST PropertyRequest);
00048 
00049 static KSDATARANGE PinDataRangesBridge[] =
00050 {
00051     {
00052         {
00053             sizeof(KSDATARANGE),
00054             0,
00055             0,
00056             0,
00057             { STATICGUIDOF(KSDATAFORMAT_TYPE_AUDIO) },
00058             { STATICGUIDOF(KSDATAFORMAT_SUBTYPE_ANALOG) },
00059             { STATICGUIDOF(KSDATAFORMAT_SPECIFIER_NONE) }
00060         }
00061     }
00062 };
00063 
00064 static PKSDATARANGE PinDataRangePointersBridge[] =
00065 {
00066     &PinDataRangesBridge[0]
00067 };
00068 
00069 static KSDATARANGE WavePinDataRangesAC3Bridge[] =
00070 {
00071     {
00072         {
00073             sizeof(KSDATARANGE),
00074             0,
00075             0,
00076             0,
00077             { STATICGUIDOF(KSDATAFORMAT_TYPE_AUDIO) },
00078             { STATICGUIDOF(KSDATAFORMAT_SUBTYPE_AC3_AUDIO) },
00079             { STATICGUIDOF(KSDATAFORMAT_SPECIFIER_NONE) }
00080         }
00081     }
00082 };
00083 
00084 static PKSDATARANGE WavePinDataRangePointersAC3Bridge[] =
00085 {
00086     &WavePinDataRangesAC3Bridge[0]
00087 };
00088 
00089 static PCPIN_DESCRIPTOR MiniportPins[] =
00090 {
00091     // WAVEOUT_SOURCE - 0
00092     {
00093         0,0,0,                                          // InstanceCount
00094         NULL,                                           // AutomationTable
00095         {                                               // KsPinDescriptor
00096             0,                                          // InterfacesCount
00097             NULL,                                       // Interfaces
00098             0,                                          // MediumsCount
00099             NULL,                                       // Mediums
00100             SIZEOF_ARRAY(PinDataRangePointersBridge),   // DataRangesCount
00101             PinDataRangePointersBridge,                 // DataRanges
00102             KSPIN_DATAFLOW_IN,                          // DataFlow
00103             KSPIN_COMMUNICATION_NONE,                   // Communication
00104             &KSCATEGORY_AUDIO,                          // Category
00105             NULL,                                       // Name
00106             { 0 }                                       // Reserved
00107         }
00108     },
00109 
00110     // SPDIF_IN_SOURCE - 1
00111     {
00112         0,0,0,                                          // InstanceCount
00113         NULL,                                           // AutomationTable
00114         {                                               // KsPinDescriptor
00115             0,                                          // InterfacesCount
00116             NULL,                                       // Interfaces
00117             0,                                          // MediumsCount
00118             NULL,                                       // Mediums
00119             SIZEOF_ARRAY(PinDataRangePointersBridge),   // DataRangesCount
00120             PinDataRangePointersBridge,                 // DataRanges
00121             KSPIN_DATAFLOW_IN,                          // DataFlow
00122             KSPIN_COMMUNICATION_NONE,                   // Communication
00123             &KSNODETYPE_SPDIF_INTERFACE,                // Category
00124             NULL,                                       // Name
00125             { 0 }                                       // Reserved
00126         }
00127     },
00128 
00129     // MIC_SOURCE - 2
00130     {
00131         0,0,0,                                          // InstanceCount
00132         NULL,                                           // AutomationTable
00133         {                                               // KsPinDescriptor
00134             0,                                          // InterfacesCount
00135             NULL,                                       // Interfaces
00136             0,                                          // MediumsCount
00137             NULL,                                       // Mediums
00138             SIZEOF_ARRAY(PinDataRangePointersBridge),   // DataRangesCount
00139             PinDataRangePointersBridge,                 // DataRanges
00140             KSPIN_DATAFLOW_IN,                          // DataFlow
00141             KSPIN_COMMUNICATION_NONE,                   // Communication
00142             &KSNODETYPE_MICROPHONE,                     // Category
00143             NULL,                                       // Name
00144             { 0 }                                       // Reserved
00145         }
00146     },
00147 
00148     // CD_SOURCE - 3
00149     {
00150         0,0,0,                                          // InstanceCount
00151         NULL,                                           // AutomationTable
00152         {                                               // KsPinDescriptor
00153             0,                                          // InterfacesCount
00154             NULL,                                       // Interfaces
00155             0,                                          // MediumsCount
00156             NULL,                                       // Mediums
00157             SIZEOF_ARRAY(PinDataRangePointersBridge),   // DataRangesCount
00158             PinDataRangePointersBridge,                 // DataRanges
00159             KSPIN_DATAFLOW_IN,                          // DataFlow
00160             KSPIN_COMMUNICATION_NONE,                   // Communication
00161             &KSNODETYPE_CD_PLAYER,                      // Category
00162             NULL,                                       // Name
00163             { 0 }                                       // Reserved
00164         }
00165     },
00166 
00167     // LINEIN_SOURCE - 4
00168     {
00169         0,0,0,                                          // InstanceCount
00170         NULL,                                           // AutomationTable
00171         {                                               // KsPinDescriptor
00172             0,                                          // InterfacesCount
00173             NULL,                                       // Interfaces
00174             0,                                          // MediumsCount
00175             NULL,                                       // Mediums
00176             SIZEOF_ARRAY(PinDataRangePointersBridge),   // DataRangesCount
00177             PinDataRangePointersBridge,                 // DataRanges
00178             KSPIN_DATAFLOW_IN,                          // DataFlow
00179             KSPIN_COMMUNICATION_NONE,                   // Communication
00180             &KSNODETYPE_LINE_CONNECTOR,                 // Category
00181             NULL,                                       // Name
00182             { 0 }                                       // Reserved
00183         }
00184     },
00185 
00186     // AUX_SOURCE - 5
00187     {
00188         0,0,0,                                          // InstanceCount
00189         NULL,                                           // AutomationTable
00190         {                                               // KsPinDescriptor
00191             0,                                          // InterfacesCount
00192             NULL,                                       // Interfaces
00193             0,                                          // MediumsCount
00194             NULL,                                       // Mediums
00195             SIZEOF_ARRAY(PinDataRangePointersBridge),   // DataRangesCount
00196             PinDataRangePointersBridge,                 // DataRanges
00197             KSPIN_DATAFLOW_IN,                          // DataFlow
00198             KSPIN_COMMUNICATION_NONE,                   // Communication
00199             &KSNODETYPE_ANALOG_CONNECTOR,               // Category
00200             NULL,                                       // Name
00201             { 0 }                                       // Reserved
00202         }
00203     },
00204 
00205     // DAC_SOURCE - 6
00206     {
00207         0,0,0,                                          // InstanceCount
00208         NULL,                                           // AutomationTable
00209         {                                               // KsPinDescriptor
00210             0,                                          // InterfacesCount
00211             NULL,                                       // Interfaces
00212             0,                                          // MediumsCount
00213             NULL,                                       // Mediums
00214             SIZEOF_ARRAY(PinDataRangePointersBridge),   // DataRangesCount
00215             PinDataRangePointersBridge,                 // DataRanges
00216             KSPIN_DATAFLOW_IN,                          // DataFlow
00217             KSPIN_COMMUNICATION_NONE,                   // Communication
00218             &KSNODETYPE_ANALOG_CONNECTOR,               // Category
00219             &CMINAME_DAC,                               // Name
00220             { 0 }                                       // Reserved
00221         }
00222     },
00223 
00224     // LINEOUT_DEST - 7
00225     {
00226         0,0,0,                                          // InstanceCount
00227         NULL,                                           // AutomationTable
00228         {                                               // KsPinDescriptor
00229             0,                                          // InterfacesCount
00230             NULL,                                       // Interfaces
00231             0,                                          // MediumsCount
00232             NULL,                                       // Mediums
00233             SIZEOF_ARRAY(PinDataRangePointersBridge),   // DataRangesCount
00234             PinDataRangePointersBridge,                 // DataRanges
00235             KSPIN_DATAFLOW_OUT,                         // DataFlow
00236             KSPIN_COMMUNICATION_NONE,                   // Communication
00237             &KSNODETYPE_SPEAKER,                        // Category
00238             NULL,                                       // Name
00239             { 0 }                                       // Reserved
00240         }
00241     },
00242 
00243     // WAVEIN_DEST - 8
00244     {
00245         0,0,0,                                          // InstanceCount
00246         NULL,                                           // AutomationTable
00247         {                                               // KsPinDescriptor
00248             0,                                          // InterfacesCount
00249             NULL,                                       // Interfaces
00250             0,                                          // MediumsCount
00251             NULL,                                       // Mediums
00252             SIZEOF_ARRAY(PinDataRangePointersBridge),   // DataRangesCount
00253             PinDataRangePointersBridge,                 // DataRanges
00254             KSPIN_DATAFLOW_OUT,                         // DataFlow
00255             KSPIN_COMMUNICATION_NONE,                   // Communication
00256             &KSCATEGORY_AUDIO,                          // Category
00257             NULL,                                       // Name
00258             { 0 }                                       // Reserved
00259         }
00260     },
00261 
00262     // SPDIF_AC3_SOURCE - 9
00263     {
00264         0,0,0,                                          // InstanceCount
00265         NULL,                                           // AutomationTable
00266         {                                               // KsPinDescriptor
00267             0,                                          // InterfacesCount
00268             NULL,                                       // Interfaces
00269             0,                                          // MediumsCount
00270             NULL,                                       // Mediums
00271             SIZEOF_ARRAY(WavePinDataRangePointersAC3Bridge),   // DataRangesCount
00272             WavePinDataRangePointersAC3Bridge,                 // DataRanges
00273             KSPIN_DATAFLOW_IN,                          // DataFlow
00274             KSPIN_COMMUNICATION_NONE,                   // Communication
00275             &KSCATEGORY_AUDIO,                          // Category
00276             NULL,                                       // Name
00277             { 0 }                                       // Reserved
00278         }
00279     },
00280 
00281     // SPDIF_AC3_DEST - 10
00282     {
00283         0,0,0,                                          // InstanceCount
00284         NULL,                                           // AutomationTable
00285         {                                               // KsPinDescriptor
00286             0,                                          // InterfacesCount
00287             NULL,                                       // Interfaces
00288             0,                                          // MediumsCount
00289             NULL,                                       // Mediums
00290             SIZEOF_ARRAY(WavePinDataRangePointersAC3Bridge),   // DataRangesCount
00291             WavePinDataRangePointersAC3Bridge,                 // DataRanges
00292             KSPIN_DATAFLOW_OUT,                          // DataFlow
00293             KSPIN_COMMUNICATION_NONE,                   // Communication
00294             NULL,                                       // Category
00295             NULL,                                       // Name
00296             { 0 }                                       // Reserved
00297         }
00298     }
00299 };
00300 
00301 static PCPROPERTY_ITEM PropertiesVolume[] =
00302 {
00303     {
00304         &KSPROPSETID_Audio,
00305         KSPROPERTY_AUDIO_VOLUMELEVEL,
00306         KSPROPERTY_TYPE_GET | KSPROPERTY_TYPE_SET | KSPROPERTY_TYPE_BASICSUPPORT,
00307         (PCPFNPROPERTY_HANDLER)PropertyHandler_Level
00308     },
00309     {
00310         &KSPROPSETID_Audio,
00311         KSPROPERTY_AUDIO_CPU_RESOURCES,
00312         KSPROPERTY_TYPE_GET | KSPROPERTY_TYPE_BASICSUPPORT,
00313         (PCPFNPROPERTY_HANDLER)PropertyHandler_CpuResources
00314     }
00315 };
00316 
00317 DEFINE_PCAUTOMATION_TABLE_PROP(AutomationVolume,PropertiesVolume);
00318 
00319 static PCPROPERTY_ITEM PropertiesLoudness[] =
00320 {
00321     {
00322         &KSPROPSETID_Audio,
00323         KSPROPERTY_AUDIO_LOUDNESS,
00324         KSPROPERTY_TYPE_GET | KSPROPERTY_TYPE_SET | KSPROPERTY_TYPE_BASICSUPPORT,
00325         (PCPFNPROPERTY_HANDLER)PropertyHandler_OnOff
00326     },
00327     {
00328         &KSPROPSETID_Audio,
00329         KSPROPERTY_AUDIO_CPU_RESOURCES,
00330         KSPROPERTY_TYPE_GET | KSPROPERTY_TYPE_BASICSUPPORT,
00331         (PCPFNPROPERTY_HANDLER)PropertyHandler_CpuResources
00332     }
00333 };
00334 DEFINE_PCAUTOMATION_TABLE_PROP(AutomationLoudness,PropertiesLoudness);
00335 
00336 static PCPROPERTY_ITEM PropertiesMute[] =
00337 {
00338     {
00339         &KSPROPSETID_Audio,
00340         KSPROPERTY_AUDIO_MUTE,
00341         KSPROPERTY_TYPE_GET | KSPROPERTY_TYPE_SET | KSPROPERTY_TYPE_BASICSUPPORT,
00342         (PCPFNPROPERTY_HANDLER)PropertyHandler_OnOff
00343     },
00344     {
00345         &KSPROPSETID_Audio,
00346         KSPROPERTY_AUDIO_CPU_RESOURCES,
00347         KSPROPERTY_TYPE_GET | KSPROPERTY_TYPE_BASICSUPPORT,
00348         (PCPFNPROPERTY_HANDLER)PropertyHandler_CpuResources
00349     }
00350 };
00351 DEFINE_PCAUTOMATION_TABLE_PROP(AutomationMute,PropertiesMute);
00352 
00353 static PCPROPERTY_ITEM PropertiesFilter[] =
00354 {
00355   {
00356     &KSPROPSETID_General,
00357     KSPROPERTY_GENERAL_COMPONENTID,
00358     KSPROPERTY_TYPE_GET | KSPROPERTY_TYPE_BASICSUPPORT,
00359     (PCPFNPROPERTY_HANDLER)PropertyHandler_ComponentId
00360   },
00361   {
00362     &KSPROPSETID_CMI,
00363     KSPROPERTY_CMI_GET,
00364     KSPROPERTY_TYPE_GET,
00365     (PCPFNPROPERTY_HANDLER)PropertyHandler_Private
00366   },
00367   {
00368     &KSPROPSETID_CMI,
00369     KSPROPERTY_CMI_SET,
00370     KSPROPERTY_TYPE_SET,
00371     (PCPFNPROPERTY_HANDLER)PropertyHandler_Private
00372   }
00373 };
00374 DEFINE_PCAUTOMATION_TABLE_PROP(AutomationFilter,PropertiesFilter);
00375 
00376 
00377 const VolumeTable VolTable[] =
00378 {//   Node                          Reg   Mask  Shift   max  min  step dbshift
00379     { KSNODE_TOPO_LINEOUT_VOLUME,   0x30, 0x1F, 3,      0,   -62, 2,   1 },
00380     { KSNODE_TOPO_WAVEOUT_VOLUME,   0x32, 0x1F, 3,      0,   -62, 2,   1 },
00381     { KSNODE_TOPO_CD_VOLUME,        0x36, 0x1F, 3,      0,   -62, 2,   1 },
00382     { KSNODE_TOPO_LINEIN_VOLUME,    0x38, 0x1F, 3,      0,   -62, 2,   1 },
00383     { KSNODE_TOPO_MICOUT_VOLUME,    0x3a, 0x1F, 3,      0,   -62, 2,   1 }
00384 };
00385 
00386 static PCNODE_DESCRIPTOR TopologyNodes[] =
00387 {//   Flags  AutomationTable      Type                  Name
00388 // 0  - WAVEOUT_VOLUME
00389     { 0,     &AutomationVolume,   &KSNODETYPE_VOLUME,   &KSAUDFNAME_WAVE_VOLUME      },
00390 // 1  - WAVEOUT_MUTE
00391     { 0,     &AutomationMute,     &KSNODETYPE_MUTE,     &KSAUDFNAME_WAVE_MUTE        },
00392 // 2  - MICOUT_VOLUME
00393     { 0,     &AutomationVolume,   &KSNODETYPE_VOLUME,   &KSAUDFNAME_MIC_VOLUME       },
00394 // 3  - LINEOUT_MIX
00395     { 0,    NULL,                 &KSNODETYPE_SUM,      NULL                         },
00396 // 4  - LINEOUT_VOLUME
00397     { 0,     &AutomationVolume,   &KSNODETYPE_VOLUME,   &KSAUDFNAME_MASTER_VOLUME    },
00398 // 5  - WAVEIN_SUM
00399     { 0,     &AutomationMute,     &KSNODETYPE_SUM,      &KSAUDFNAME_RECORDING_SOURCE },
00400 // 6  - CD_VOLUME
00401     { 0,     &AutomationVolume,   &KSNODETYPE_VOLUME,   &KSAUDFNAME_CD_VOLUME        },
00402 // 7  - LINEIN_VOLUME
00403     { 0,     &AutomationVolume,   &KSNODETYPE_VOLUME,   &KSAUDFNAME_LINE_IN_VOLUME   },
00404 // 8  - AUX_VOLUME
00405     { 0,     &AutomationVolume,   &KSNODETYPE_VOLUME,   &KSAUDFNAME_AUX_VOLUME       },
00406 // 9  - MICIN_VOLUME
00407     { 0,     &AutomationVolume,   &KSNODETYPE_VOLUME,   &KSAUDFNAME_MIC_IN_VOLUME    },
00408 // 10 - MICIN_LOUDNESS
00409     { 0,     &AutomationLoudness, &KSNODETYPE_LOUDNESS, &KSAUDFNAME_MICROPHONE_BOOST },
00410 // 11 - MICOUT_LOUDNESS
00411     { 0,     &AutomationLoudness, &KSNODETYPE_LOUDNESS, &KSAUDFNAME_MICROPHONE_BOOST },
00412 // 12 - CD_MUTE
00413     { 0,     &AutomationMute,     &KSNODETYPE_MUTE,     &KSAUDFNAME_CD_MUTE          },
00414 // 13 - LINEIN_MUTE
00415     { 0,     &AutomationMute,     &KSNODETYPE_MUTE,     &KSAUDFNAME_LINE_MUTE        },
00416 // 14 - MICOUT_MUTE
00417     { 0,     &AutomationMute,     &KSNODETYPE_MUTE,     &KSAUDFNAME_MIC_MUTE         },
00418 // 15 - AUX_MUTE
00419     { 0,     &AutomationMute,     &KSNODETYPE_MUTE,     &KSAUDFNAME_AUX_MUTE         },
00420 // 16 - LINEIN_MUTE_IN
00421     { 0,     &AutomationMute,     &KSNODETYPE_MUTE,     &KSAUDFNAME_LINE_MUTE        },
00422 // 17 - MIC_MUTE_IN
00423     { 0,     &AutomationMute,     &KSNODETYPE_MUTE,     &KSAUDFNAME_MIC_MUTE         },
00424 // 18 - AUX_MUTE_IN
00425     { 0,     &AutomationMute,     &KSNODETYPE_MUTE,     &KSAUDFNAME_CD_MUTE          },
00426 // 19 - CD_MUTE_IN
00427     { 0,     &AutomationMute,     &KSNODETYPE_MUTE,     &KSAUDFNAME_AUX_MUTE         },
00428 // 20 - WAVEOUT_MUTE_IN
00429     { 0,     &AutomationMute,     &KSNODETYPE_MUTE,     &KSAUDFNAME_WAVE_MUTE        },
00430 // 21 - IEC_5V
00431     { 0,     &AutomationLoudness, &KSNODETYPE_LOUDNESS, &CMINAME_IEC_5V              },
00432 // 22 - IEC_OUT
00433     { 0,     &AutomationLoudness, &KSNODETYPE_LOUDNESS, &CMINAME_IEC_OUT             },
00434 // 23 - IEC_INVERSE
00435     { 0,     &AutomationLoudness, &KSNODETYPE_LOUDNESS, &CMINAME_IEC_INVERSE         },
00436 // 24 - IEC_MONITOR
00437     { 0,     &AutomationLoudness, &KSNODETYPE_LOUDNESS, &CMINAME_IEC_MONITOR         },
00438 // 25 - IEC_SELECT
00439     { 0,     &AutomationLoudness, &KSNODETYPE_LOUDNESS, &CMINAME_IEC_SELECT          },
00440 // 26 - SPDIF_AC3_MUTE - the WDM is truly braindamaged
00441     { 0,     NULL,                &KSNODETYPE_MUTE,     NULL                         },
00442 // 27 - SPDIF_AC3_MUX
00443     { 0,     NULL,                &KSNODETYPE_MUX,      NULL                         },
00444 // 28 - XCHG_FB
00445     { 0,     &AutomationLoudness, &KSNODETYPE_LOUDNESS, &CMINAME_XCHG_FB             },
00446 // 29 - BASS2LINE
00447     { 0,     &AutomationLoudness, &KSNODETYPE_LOUDNESS, &CMINAME_BASS2LINE           },
00448 // 30 - CENTER2LINE
00449     { 0,     &AutomationLoudness, &KSNODETYPE_LOUDNESS, &CMINAME_CENTER2LINE         },
00450 // 31 - IEC_COPYRIGHT
00451     { 0,     &AutomationLoudness, &KSNODETYPE_LOUDNESS, &CMINAME_IEC_COPYRIGHT       },
00452 // 32 - IEC_POLVALID
00453     { 0,     &AutomationLoudness, &KSNODETYPE_LOUDNESS, &CMINAME_IEC_POLVALID        },
00454 // 33 - IEC_LOOP
00455     { 0,     &AutomationLoudness, &KSNODETYPE_LOUDNESS, &CMINAME_IEC_LOOP            },
00456 // 34 - REAR2LINE
00457     { 0,     &AutomationLoudness, &KSNODETYPE_LOUDNESS, &CMINAME_REAR2LINE           },
00458 // 35 - CENTER2MIC
00459     { 0,     &AutomationLoudness, &KSNODETYPE_LOUDNESS, &CMINAME_CENTER2MIC          },
00460 // 36 - MASTER_MUTE_DUMMY
00461     { 0,     &AutomationMute,     &KSNODETYPE_MUTE,     &KSAUDFNAME_MASTER_MUTE      }
00462 };
00463 
00464 static PCCONNECTION_DESCRIPTOR MiniportConnections[] =
00465 {// FromNode,                      FromPin,               ToNode,                        ToPin
00466   { PCFILTER_NODE,                 PIN_WAVEOUT_SOURCE,    KSNODE_TOPO_WAVEOUT_VOLUME,    1                  },
00467   { KSNODE_TOPO_WAVEOUT_VOLUME,    0,                     KSNODE_TOPO_WAVEOUT_MUTE,      1                  },
00468   { KSNODE_TOPO_WAVEOUT_MUTE,      0,                     KSNODE_TOPO_LINEOUT_MIX,       1                  },
00469 
00470   { PCFILTER_NODE,                 PIN_CD_SOURCE,         KSNODE_TOPO_CD_VOLUME,         1                  },
00471   { KSNODE_TOPO_CD_VOLUME,         0,                     KSNODE_TOPO_CD_MUTE,           1                  },
00472   { KSNODE_TOPO_CD_MUTE,           0,                     KSNODE_TOPO_LINEOUT_MIX,       2                  },
00473 
00474   { PCFILTER_NODE,                 PIN_LINEIN_SOURCE,     KSNODE_TOPO_LINEIN_VOLUME,     1                  },
00475   { KSNODE_TOPO_LINEIN_VOLUME,     0,                     KSNODE_TOPO_LINEIN_MUTE,       1                  },
00476   { KSNODE_TOPO_LINEIN_MUTE,       0,                     KSNODE_TOPO_LINEOUT_MIX,       3                  },
00477 
00478   { PCFILTER_NODE,                 PIN_AUX_SOURCE,        KSNODE_TOPO_AUX_VOLUME,        1                  },
00479   { KSNODE_TOPO_AUX_VOLUME,        0,                     KSNODE_TOPO_AUX_MUTE,          1                  },
00480   { KSNODE_TOPO_AUX_MUTE,          0,                     KSNODE_TOPO_LINEOUT_MIX,       3                  },
00481 
00482   { PCFILTER_NODE,                 PIN_MIC_SOURCE,        KSNODE_TOPO_MICOUT_LOUDNESS,   1                  },
00483   { KSNODE_TOPO_MICOUT_LOUDNESS,   0,                     KSNODE_TOPO_MICOUT_VOLUME,     1                  },
00484   { KSNODE_TOPO_MICOUT_VOLUME,     0,                     KSNODE_TOPO_MICOUT_MUTE,       1                  },
00485   { KSNODE_TOPO_MICOUT_MUTE,       0,                     KSNODE_TOPO_LINEOUT_MIX,       4                  },
00486 
00487   { PCFILTER_NODE,                 PIN_DAC_SOURCE,        KSNODE_TOPO_IEC_MONITOR,       1                  },
00488   { KSNODE_TOPO_IEC_MONITOR,       0,                     KSNODE_TOPO_BASS2LINE,         1                  },
00489   { KSNODE_TOPO_BASS2LINE,         0,                     KSNODE_TOPO_CENTER2LINE,       1                  },
00490   { KSNODE_TOPO_CENTER2LINE,       0,                     KSNODE_TOPO_REAR2LINE,         1                  },
00491   { KSNODE_TOPO_REAR2LINE,         0,                     KSNODE_TOPO_CENTER2MIC,        1                  },
00492   { KSNODE_TOPO_CENTER2MIC,        0,                     KSNODE_TOPO_XCHG_FB,           1                  },
00493   { KSNODE_TOPO_XCHG_FB,           0,                     KSNODE_TOPO_WAVEOUT_VOLUME,    1                  },
00494   { KSNODE_TOPO_WAVEOUT_VOLUME,    0,                     KSNODE_TOPO_WAVEOUT_MUTE,      1                  },
00495   { KSNODE_TOPO_WAVEOUT_MUTE,      0,                     KSNODE_TOPO_LINEOUT_MIX,       5                  },
00496 
00497   { KSNODE_TOPO_LINEOUT_MIX,       0,                     KSNODE_TOPO_IEC_OUT,           1                  },
00498   { KSNODE_TOPO_IEC_OUT,           0,                     KSNODE_TOPO_IEC_5V,            1                  },
00499   { KSNODE_TOPO_IEC_5V,            0,                     KSNODE_TOPO_MASTER_MUTE_DUMMY, 1                  },
00500   { KSNODE_TOPO_MASTER_MUTE_DUMMY, 0,                     KSNODE_TOPO_LINEOUT_VOLUME,    1                  },
00501   { KSNODE_TOPO_LINEOUT_VOLUME,    0,                     PCFILTER_NODE,                 PIN_LINEOUT_DEST   },
00502 
00503   { PCFILTER_NODE,                 PIN_MIC_SOURCE,        KSNODE_TOPO_MICIN_LOUDNESS,    1                  },
00504   { KSNODE_TOPO_MICIN_LOUDNESS,    0,                     KSNODE_TOPO_MICIN_VOLUME,      1                  },
00505   { KSNODE_TOPO_MICIN_VOLUME,      0,                     KSNODE_TOPO_MIC_MUTE_IN,       1                  },
00506   { KSNODE_TOPO_MIC_MUTE_IN,       0,                     KSNODE_TOPO_WAVEIN_SUM,        1                  },
00507 
00508   { KSNODE_TOPO_LINEIN_VOLUME,     0,                     KSNODE_TOPO_LINEIN_MUTE_IN,    1                  },
00509   { KSNODE_TOPO_LINEIN_MUTE_IN,    0,                     KSNODE_TOPO_WAVEIN_SUM,        2                  },
00510 
00511   { KSNODE_TOPO_CD_VOLUME,         0,                     KSNODE_TOPO_CD_MUTE_IN,        1                  },
00512   { KSNODE_TOPO_CD_MUTE_IN,        0,                     KSNODE_TOPO_WAVEIN_SUM,        3                  },
00513 
00514   { KSNODE_TOPO_AUX_VOLUME,        0,                     KSNODE_TOPO_AUX_MUTE_IN,       1                  },
00515   { KSNODE_TOPO_AUX_MUTE_IN,       0,                     KSNODE_TOPO_WAVEIN_SUM,        4                  },
00516 
00517   { PCFILTER_NODE,                 PIN_SPDIFIN_SOURCE,    KSNODE_TOPO_WAVEOUT_MUTE_IN,   1                  },
00518   { KSNODE_TOPO_WAVEOUT_MUTE_IN,   0,                     KSNODE_TOPO_IEC_INVERSE,       1                  },
00519   { KSNODE_TOPO_IEC_INVERSE,       0,                     KSNODE_TOPO_IEC_SELECT,        1                  },
00520   { KSNODE_TOPO_IEC_SELECT,        0,                     KSNODE_TOPO_IEC_COPYRIGHT,     1                  },
00521   { KSNODE_TOPO_IEC_COPYRIGHT,     0,                     KSNODE_TOPO_IEC_POLVALID,      1                  },
00522   { KSNODE_TOPO_IEC_POLVALID,      0,                     KSNODE_TOPO_IEC_LOOP,          1                  },
00523   { KSNODE_TOPO_IEC_LOOP,          0,                     KSNODE_TOPO_WAVEIN_SUM,        5                  },
00524 
00525   { KSNODE_TOPO_WAVEIN_SUM,        0,                     PCFILTER_NODE,                 PIN_WAVEIN_DEST    },
00526 
00527   { PCFILTER_NODE,                 PIN_SPDIF_AC3_SOURCE,  KSNODE_TOPO_SPDIF_AC3_MUTE,    1                  },
00528   { KSNODE_TOPO_SPDIF_AC3_MUTE,    0,                     KSNODE_TOPO_SPDIF_AC3_MUX,     1                  },
00529   { KSNODE_TOPO_SPDIF_AC3_MUX,     0,                     PCFILTER_NODE,                 PIN_SPDIF_AC3_DEST },
00530 };
00531 
00532 
00533 static PCFILTER_DESCRIPTOR MiniportFilterDescriptor =
00534 {
00535     0,                                  // Version
00536     &AutomationFilter,                  // AutomationTable
00537     sizeof(PCPIN_DESCRIPTOR),           // PinSize
00538     SIZEOF_ARRAY(MiniportPins),         // PinCount
00539     MiniportPins,                       // Pins
00540     sizeof(PCNODE_DESCRIPTOR),          // NodeSize
00541     SIZEOF_ARRAY(TopologyNodes),        // NodeCount
00542     TopologyNodes,                      // Nodes
00543     SIZEOF_ARRAY(MiniportConnections),  // ConnectionCount
00544     MiniportConnections,                // Connections
00545     0,                                  // CategoryCount
00546     NULL                                // Categories: NULL->use default (audio, render, capture)
00547 };
00548 
00549 
00550 #endif

Generated on Sat May 26 2012 04:27:13 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.