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.

142 lines
5.8 KiB

  1. //==========================================================================;
  2. //
  3. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
  4. // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  5. // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
  6. // PURPOSE.
  7. //
  8. // Copyright (c) 1992 - 1996 Microsoft Corporation. All Rights Reserved.
  9. //
  10. //==========================================================================;
  11. //
  12. // This file defines interconnections between components via Mediums
  13. //
  14. #ifdef DEFINE_MEDIUMS
  15. #define MEDIUM_DECL static
  16. #else
  17. #define MEDIUM_DECL extern
  18. #endif
  19. /* -----------------------------------------------------------
  20. Topology of all devices:
  21. PinDir FilterPin# M_GUID#
  22. TVTuner
  23. TVTunerVideo out 0 0
  24. TVTunerAudio out 1 1
  25. TVTunerRadioAudio out 2 2
  26. TVAudio
  27. TVTunerAudio in 0 1
  28. TVAudio out 1 3
  29. Crossbar
  30. TVTunerVideo in 0 0
  31. TVAudio in 5 3
  32. TVTunerRadioAudio in 6 2
  33. AnalogVideoIn out 9 4
  34. AudioOut out 10 NULL
  35. Capture
  36. AnalogVideoIn in 0 4
  37. All other pins are marked as promiscuous connections via GUID_NULL
  38. ------------------------------------------------------------------ */
  39. // Define the GUIDs which will be used to create the Mediums
  40. #define M_GUID0 0x8dad65e0, 0x122b, 0x11d1, 0x90, 0x5f, 0x0, 0x0, 0xc0, 0xcc, 0x16, 0xba
  41. #define M_GUID1 0x8dad65e1, 0x122b, 0x11d1, 0x90, 0x5f, 0x0, 0x0, 0xc0, 0xcc, 0x16, 0xba
  42. #define M_GUID2 0x8dad65e2, 0x122b, 0x11d1, 0x90, 0x5f, 0x0, 0x0, 0xc0, 0xcc, 0x16, 0xba
  43. #define M_GUID3 0x8dad65e3, 0x122b, 0x11d1, 0x90, 0x5f, 0x0, 0x0, 0xc0, 0xcc, 0x16, 0xba
  44. #define M_GUID4 0x8dad65e4, 0x122b, 0x11d1, 0x90, 0x5f, 0x0, 0x0, 0xc0, 0xcc, 0x16, 0xba
  45. #define M_GUID5 0x8dad65e5, 0x122b, 0x11d1, 0x90, 0x5f, 0x0, 0x0, 0xc0, 0xcc, 0x16, 0xba
  46. #define M_NOCONNECT 0x8dad65e6, 0x122b, 0x11d1, 0x90, 0x5f, 0x0, 0x0, 0xc0, 0xcc, 0x16, 0xba
  47. #define M_NOCONNECT2 0x8dad65e7, 0x122b, 0x11d1, 0x90, 0x5f, 0x0, 0x0, 0xc0, 0xcc, 0x16, 0xba
  48. // Note: To allow multiple instances of the same piece of hardware,
  49. // set the first ULONG after the GUID in the Medium to a unique value.
  50. #ifdef TOSHIBA
  51. // -----------------------------------------------
  52. MEDIUM_DECL KSPIN_MEDIUM CaptureMediums[] = {
  53. {STATIC_GUID_NULL, 0, 0}, // Pin 0 Capture
  54. };
  55. MEDIUM_DECL BOOL CapturePinDirection [] = {
  56. TRUE, // Output Pin 0
  57. };
  58. #else //TOSHIBA
  59. // -----------------------------------------------
  60. MEDIUM_DECL KSPIN_MEDIUM TVTunerMediums[] = {
  61. {M_GUID0, 0, 0}, // Pin 0
  62. {M_GUID1, 0, 0}, // Pin 1
  63. {M_GUID2, 0, 0}, // Pin 2
  64. };
  65. MEDIUM_DECL BOOL TVTunerPinDirection [] = {
  66. TRUE, // Output Pin 0
  67. TRUE, // Output Pin 1
  68. TRUE, // Output Pin 2
  69. };
  70. // -----------------------------------------------
  71. MEDIUM_DECL KSPIN_MEDIUM TVAudioMediums[] = {
  72. {M_GUID1, 0, 0}, // Pin 0
  73. {M_GUID3, 0, 0}, // Pin 1
  74. };
  75. MEDIUM_DECL BOOL TVAudioPinDirection [] = {
  76. FALSE, // Input Pin 0
  77. TRUE, // Output Pin 1
  78. };
  79. // -----------------------------------------------
  80. MEDIUM_DECL KSPIN_MEDIUM CrossbarMediums[] = {
  81. {M_GUID0, 0, 0}, // Input Pin 0, KS_PhysConn_Video_Tuner,
  82. {M_NOCONNECT, 0, 0}, // Input Pin 1 KS_PhysConn_Video_Composite,
  83. {M_NOCONNECT, 0, 0}, // Input Pin 2 KS_PhysConn_Video_SVideo,
  84. {M_NOCONNECT, 0, 0}, // Input Pin 3 KS_PhysConn_Video_Tuner,
  85. {M_NOCONNECT, 0, 0}, // Input Pin 4 KS_PhysConn_Video_Composite,
  86. {M_GUID3, 0, 0}, // Input Pin 5 KS_PhysConn_Audio_Tuner,
  87. {M_GUID2, 0, 0}, // Input Pin 6 KS_PhysConn_Audio_Line,
  88. {M_NOCONNECT, 0, 0}, // Input Pin 7 KS_PhysConn_Audio_Tuner,
  89. {M_NOCONNECT, 0, 0}, // Input Pin 8 KS_PhysConn_Audio_Line,
  90. {M_GUID4, 0, 0}, // Output Pin 9 KS_PhysConn_Video_VideoDecoder,
  91. {STATIC_GUID_NULL, 0, 0}, // Output Pin 10 KS_PhysConn_Audio_AudioDecoder,
  92. };
  93. MEDIUM_DECL BOOL CrossbarPinDirection [] = {
  94. FALSE, // Input Pin 0, KS_PhysConn_Video_Tuner,
  95. FALSE, // Input Pin 1 KS_PhysConn_Video_Composite,
  96. FALSE, // Input Pin 2 KS_PhysConn_Video_SVideo,
  97. FALSE, // Input Pin 3 KS_PhysConn_Video_Tuner,
  98. FALSE, // Input Pin 4 KS_PhysConn_Video_Composite,
  99. FALSE, // Input Pin 5 KS_PhysConn_Audio_Tuner,
  100. FALSE, // Input Pin 6 KS_PhysConn_Audio_Line,
  101. FALSE, // Input Pin 7 KS_PhysConn_Audio_Tuner,
  102. FALSE, // Input Pin 8 KS_PhysConn_Audio_Line,
  103. TRUE, // Output Pin 9 KS_PhysConn_Video_VideoDecoder,
  104. TRUE, // Output Pin 10 KS_PhysConn_Audio_AudioDecoder,
  105. };
  106. // -----------------------------------------------
  107. MEDIUM_DECL KSPIN_MEDIUM CaptureMediums[] = {
  108. {STATIC_GUID_NULL, 0, 0}, // Pin 0 Capture
  109. {STATIC_GUID_NULL, 0, 0}, // Pin 1 Preview
  110. {M_GUID4, 0, 0}, // Pin 2 Analog Video In
  111. };
  112. MEDIUM_DECL BOOL CapturePinDirection [] = {
  113. TRUE, // Output Pin 0
  114. TRUE, // Output Pin 1
  115. FALSE, // Input Pin 2
  116. };
  117. #endif//TOSHIBA
  118.