Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

134 lines
6.0 KiB

//==========================================================================;
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
// PURPOSE.
//
// Copyright (c) 1992 - 1996 Microsoft Corporation. All Rights Reserved.
//
//==========================================================================;
//
// This file defines interconnections between components via Mediums
//
#ifdef DEFINE_MEDIUMS
#define MEDIUM_DECL static
#else
#define MEDIUM_DECL extern
#endif
/* -----------------------------------------------------------
Topology of all devices:
PinDir FilterPin# M_GUID#
TVTuner
TVTunerVideo out 0 0
TVTunerAudio out 1 1
TVTunerRadioAudio out 2 2
IntermediateFreq out 3 6
TVAudio
TVTunerAudio in 0 1
TVAudio out 1 3
Crossbar
TVTunerVideo in 0 0
TVAudio in 5 3
TVTunerRadioAudio in 6 2
AnalogVideoIn out 9 4
AudioOut out 10 NULL
Capture
AnalogVideoIn in 0 4
All other pins are marked as promiscuous connections via GUID_NULL
------------------------------------------------------------------ */
// Define the GUIDs which will be used to create the Mediums
#define M_GUID0 0x8dad65e0, 0x122b, 0x11d1, 0x90, 0x5f, 0x0, 0x0, 0xc0, 0xcc, 0x16, 0xba
#define M_GUID1 0x8dad65e1, 0x122b, 0x11d1, 0x90, 0x5f, 0x0, 0x0, 0xc0, 0xcc, 0x16, 0xba
#define M_GUID2 0x8dad65e2, 0x122b, 0x11d1, 0x90, 0x5f, 0x0, 0x0, 0xc0, 0xcc, 0x16, 0xba
#define M_GUID3 0x8dad65e3, 0x122b, 0x11d1, 0x90, 0x5f, 0x0, 0x0, 0xc0, 0xcc, 0x16, 0xba
#define M_GUID4 0x8dad65e4, 0x122b, 0x11d1, 0x90, 0x5f, 0x0, 0x0, 0xc0, 0xcc, 0x16, 0xba
#define M_GUID5 0x8dad65e5, 0x122b, 0x11d1, 0x90, 0x5f, 0x0, 0x0, 0xc0, 0xcc, 0x16, 0xba
#define M_NOCONNECT 0x8dad65e6, 0x122b, 0x11d1, 0x90, 0x5f, 0x0, 0x0, 0xc0, 0xcc, 0x16, 0xba
#define M_NOCONNECT2 0x8dad65e7, 0x122b, 0x11d1, 0x90, 0x5f, 0x0, 0x0, 0xc0, 0xcc, 0x16, 0xba
#define M_GUID6 0x8dad65e8, 0x122b, 0x11d1, 0x90, 0x5f, 0x0, 0x0, 0xc0, 0xcc, 0x16, 0xba
// Note: To allow multiple instances of the same piece of hardware,
// set the first ULONG after the GUID in the Medium to a unique value.
// -----------------------------------------------
MEDIUM_DECL KSPIN_MEDIUM TVTunerMediums[] = {
{M_GUID0, 0, 0}, // Pin 0 AnalogVideoOut
{M_GUID1, 0, 0}, // Pin 1 AnalogAudioOut
{M_GUID2, 0, 0}, // Pin 2 FMAudioOut
{M_GUID6, 0, 0}, // Pin 3 IntermediateFreqOut
};
MEDIUM_DECL BOOL TVTunerPinDirection [] = {
TRUE, // Output Pin 0
TRUE, // Output Pin 1
TRUE, // Output Pin 2
TRUE, // Output Pin 3
};
// -----------------------------------------------
MEDIUM_DECL KSPIN_MEDIUM TVAudioMediums[] = {
{M_GUID1, 0, 0}, // Pin 0
{M_GUID3, 0, 0}, // Pin 1
};
MEDIUM_DECL BOOL TVAudioPinDirection [] = {
FALSE, // Input Pin 0
TRUE, // Output Pin 1
};
// -----------------------------------------------
MEDIUM_DECL KSPIN_MEDIUM CrossbarMediums[] = {
{M_GUID0, 0, 0}, // Input Pin 0, KS_PhysConn_Video_Tuner,
{M_NOCONNECT, 0, 0}, // Input Pin 1 KS_PhysConn_Video_Composite,
{M_NOCONNECT, 0, 0}, // Input Pin 2 KS_PhysConn_Video_SVideo,
{M_NOCONNECT, 0, 0}, // Input Pin 3 KS_PhysConn_Video_Tuner,
{M_NOCONNECT, 0, 0}, // Input Pin 4 KS_PhysConn_Video_Composite,
{M_GUID3, 0, 0}, // Input Pin 5 KS_PhysConn_Audio_Tuner,
{M_GUID2, 0, 0}, // Input Pin 6 KS_PhysConn_Audio_Line,
{M_NOCONNECT, 0, 0}, // Input Pin 7 KS_PhysConn_Audio_Tuner,
{M_NOCONNECT, 0, 0}, // Input Pin 8 KS_PhysConn_Audio_Line,
{M_GUID4, 0, 0}, // Output Pin 9 KS_PhysConn_Video_VideoDecoder,
{STATIC_GUID_NULL, 0, 0}, // Output Pin 10 KS_PhysConn_Audio_AudioDecoder,
};
MEDIUM_DECL BOOL CrossbarPinDirection [] = {
FALSE, // Input Pin 0, KS_PhysConn_Video_Tuner,
FALSE, // Input Pin 1 KS_PhysConn_Video_Composite,
FALSE, // Input Pin 2 KS_PhysConn_Video_SVideo,
FALSE, // Input Pin 3 KS_PhysConn_Video_Tuner,
FALSE, // Input Pin 4 KS_PhysConn_Video_Composite,
FALSE, // Input Pin 5 KS_PhysConn_Audio_Tuner,
FALSE, // Input Pin 6 KS_PhysConn_Audio_Line,
FALSE, // Input Pin 7 KS_PhysConn_Audio_Tuner,
FALSE, // Input Pin 8 KS_PhysConn_Audio_Line,
TRUE, // Output Pin 9 KS_PhysConn_Video_VideoDecoder,
TRUE, // Output Pin 10 KS_PhysConn_Audio_AudioDecoder,
};
// -----------------------------------------------
MEDIUM_DECL KSPIN_MEDIUM CaptureMediums[] = {
{STATIC_GUID_NULL, 0, 0}, // Pin 0 Capture
{STATIC_GUID_NULL, 0, 0}, // Pin 1 Preview
{M_GUID4, 0, 0}, // Pin 2 Analog Video In
};
MEDIUM_DECL BOOL CapturePinDirection [] = {
TRUE, // Output Pin 0
TRUE, // Output Pin 1
FALSE, // Input Pin 2
};