| 1 | /* | 
 
 
 
 
 | 2 | * bdamedia.h | 
 
 
 
 
 | 3 | * | 
 
 
 
 
 | 4 | * This file is part of the ReactOS DXSDK package. | 
 
 
 
 
 | 5 | * | 
 
 
 
 
 | 6 | * THIS SOFTWARE IS NOT COPYRIGHTED | 
 
 
 
 
 | 7 | * | 
 
 
 
 
 | 8 | * This source code is offered for use in the public domain. You may | 
 
 
 
 
 | 9 | * use, modify or distribute it freely. | 
 
 
 
 
 | 10 | * | 
 
 
 
 
 | 11 | * This code is distributed in the hope that it will be useful but | 
 
 
 
 
 | 12 | * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY | 
 
 
 
 
 | 13 | * DISCLAIMED. This includes but is not limited to warranties of | 
 
 
 
 
 | 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 
 
 
 
 
 | 15 | * | 
 
 
 
 
 | 16 | */ | 
 
 
 
 
 | 17 |  | 
 
 
 
 
 | 18 | #ifndef _BDAMEDIA_ | 
 
 
 
 
 | 19 | #define _BDAMEDIA_ | 
 
 
 
 
 | 20 |  | 
 
 
 
 
 | 21 | #include <ksmedia.h> | 
 
 
 
 
 | 22 | #include <bdatypes.h> | 
 
 
 
 
 | 23 |  | 
 
 
 
 
 | 24 | typedef struct _KSP_BDA_NODE_PIN { | 
 
 
 
 
 | 25 | KSPROPERTY Property; | 
 
 
 
 
 | 26 | ULONG ulNodeType; | 
 
 
 
 
 | 27 | ULONG ulInputPinId; | 
 
 
 
 
 | 28 | ULONG ulOutputPinId; | 
 
 
 
 
 | 29 | } KSP_BDA_NODE_PIN, *PKSP_BDA_NODE_PIN; | 
 
 
 
 
 | 30 |  | 
 
 
 
 
 | 31 | typedef struct _KSM_BDA_PIN { | 
 
 
 
 
 | 32 | KSMETHOD Method; | 
 
 
 
 
 | 33 | __C89_NAMELESS union { | 
 
 
 
 
 | 34 | ULONG PinId; | 
 
 
 
 
 | 35 | ULONG PinType; | 
 
 
 
 
 | 36 | }; | 
 
 
 
 
 | 37 | ULONG Reserved; | 
 
 
 
 
 | 38 | } KSM_BDA_PIN, *PKSM_BDA_PIN; | 
 
 
 
 
 | 39 |  | 
 
 
 
 
 | 40 | typedef struct _KSM_BDA_PIN_PAIR { | 
 
 
 
 
 | 41 | KSMETHOD Method; | 
 
 
 
 
 | 42 | __C89_NAMELESS union { | 
 
 
 
 
 | 43 | ULONG InputPinId; | 
 
 
 
 
 | 44 | ULONG InputPinType; | 
 
 
 
 
 | 45 | }; | 
 
 
 
 
 | 46 | __C89_NAMELESS union { | 
 
 
 
 
 | 47 | ULONG OutputPinId; | 
 
 
 
 
 | 48 | ULONG OutputPinType; | 
 
 
 
 
 | 49 | }; | 
 
 
 
 
 | 50 | } KSM_BDA_PIN_PAIR, *PKSM_BDA_PIN_PAIR; | 
 
 
 
 
 | 51 |  | 
 
 
 
 
 | 52 |  | 
 
 
 
 
 | 53 | /* ------------------------------------------------------------ | 
 
 
 
 
 | 54 | BDA Topology Property Set {A14EE835-0A23-11d3-9CC7-00C04F7971E0} | 
 
 
 
 
 | 55 | */ | 
 
 
 
 
 | 56 |  | 
 
 
 
 
 | 57 | #define STATIC_KSPROPSETID_BdaTopology                                          \ | 
 
 
 
 
 | 58 | 0xa14ee835, 0x0a23, 0x11d3, 0x9c, 0xc7, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0 | 
 
 
 
 
 | 59 | DEFINE_GUIDSTRUCT("A14EE835-0A23-11d3-9CC7-00C04F7971E0", KSPROPSETID_BdaTopology); | 
 
 
 
 
 | 60 | #define KSPROPSETID_BdaTopology         DEFINE_GUIDNAMED(KSPROPSETID_BdaTopology) | 
 
 
 
 
 | 61 |  | 
 
 
 
 
 | 62 | typedef enum { | 
 
 
 
 
 | 63 | KSPROPERTY_BDA_NODE_TYPES, | 
 
 
 
 
 | 64 | KSPROPERTY_BDA_PIN_TYPES, | 
 
 
 
 
 | 65 | KSPROPERTY_BDA_TEMPLATE_CONNECTIONS, | 
 
 
 
 
 | 66 | KSPROPERTY_BDA_NODE_METHODS, | 
 
 
 
 
 | 67 | KSPROPERTY_BDA_NODE_PROPERTIES, | 
 
 
 
 
 | 68 | KSPROPERTY_BDA_NODE_EVENTS, | 
 
 
 
 
 | 69 | KSPROPERTY_BDA_CONTROLLING_PIN_ID, | 
 
 
 
 
 | 70 | KSPROPERTY_BDA_NODE_DESCRIPTORS | 
 
 
 
 
 | 71 | } KSPROPERTY_BDA_TOPOLOGY; | 
 
 
 
 
 | 72 |  | 
 
 
 
 
 | 73 | #define DEFINE_KSPROPERTY_ITEM_BDA_NODE_TYPES(GetHandler, SetHandler)           \ | 
 
 
 
 
 | 74 | DEFINE_KSPROPERTY_ITEM(                                                 \ | 
 
 
 
 
 | 75 | KSPROPERTY_BDA_NODE_TYPES,                      \ | 
 
 
 
 
 | 76 | (GetHandler),                                   \ | 
 
 
 
 
 | 77 | sizeof(KSPROPERTY),                             \ | 
 
 
 
 
 | 78 | 0,                                              \ | 
 
 
 
 
 | 79 | FALSE,                                          \ | 
 
 
 
 
 | 80 | NULL, 0, NULL, NULL, 0) | 
 
 
 
 
 | 81 |  | 
 
 
 
 
 | 82 | #define DEFINE_KSPROPERTY_ITEM_BDA_PIN_TYPES(GetHandler, SetHandler)            \ | 
 
 
 
 
 | 83 | DEFINE_KSPROPERTY_ITEM(                                                 \ | 
 
 
 
 
 | 84 | KSPROPERTY_BDA_PIN_TYPES,                       \ | 
 
 
 
 
 | 85 | (GetHandler),                                   \ | 
 
 
 
 
 | 86 | sizeof(KSPROPERTY),                             \ | 
 
 
 
 
 | 87 | 0,                                              \ | 
 
 
 
 
 | 88 | FALSE,                                          \ | 
 
 
 
 
 | 89 | NULL, 0, NULL, NULL, 0) | 
 
 
 
 
 | 90 |  | 
 
 
 
 
 | 91 | #define DEFINE_KSPROPERTY_ITEM_BDA_TEMPLATE_CONNECTIONS(GetHandler, SetHandler) \ | 
 
 
 
 
 | 92 | DEFINE_KSPROPERTY_ITEM(                                                 \ | 
 
 
 
 
 | 93 | KSPROPERTY_BDA_TEMPLATE_CONNECTIONS,            \ | 
 
 
 
 
 | 94 | (GetHandler),                                   \ | 
 
 
 
 
 | 95 | sizeof(KSPROPERTY),                             \ | 
 
 
 
 
 | 96 | sizeof(BDA_TEMPLATE_CONNECTION),                \ | 
 
 
 
 
 | 97 | FALSE,                                          \ | 
 
 
 
 
 | 98 | NULL, 0, NULL, NULL, 0) | 
 
 
 
 
 | 99 |  | 
 
 
 
 
 | 100 | #define DEFINE_KSPROPERTY_ITEM_BDA_NODE_METHODS(GetHandler, SetHandler)         \ | 
 
 
 
 
 | 101 | DEFINE_KSPROPERTY_ITEM(                                                 \ | 
 
 
 
 
 | 102 | KSPROPERTY_BDA_NODE_METHODS,                    \ | 
 
 
 
 
 | 103 | (GetHandler),                                   \ | 
 
 
 
 
 | 104 | sizeof(KSP_NODE),                               \ | 
 
 
 
 
 | 105 | 0,                                              \ | 
 
 
 
 
 | 106 | FALSE,                                          \ | 
 
 
 
 
 | 107 | NULL, 0, NULL, NULL, 0) | 
 
 
 
 
 | 108 |  | 
 
 
 
 
 | 109 | #define DEFINE_KSPROPERTY_ITEM_BDA_NODE_PROPERTIES(GetHandler, SetHandler)      \ | 
 
 
 
 
 | 110 | DEFINE_KSPROPERTY_ITEM(                                                 \ | 
 
 
 
 
 | 111 | KSPROPERTY_BDA_NODE_PROPERTIES,                 \ | 
 
 
 
 
 | 112 | (GetHandler),                                   \ | 
 
 
 
 
 | 113 | sizeof(KSP_NODE),                               \ | 
 
 
 
 
 | 114 | 0,                                              \ | 
 
 
 
 
 | 115 | FALSE,                                          \ | 
 
 
 
 
 | 116 | NULL, 0, NULL, NULL, 0) | 
 
 
 
 
 | 117 |  | 
 
 
 
 
 | 118 | #define DEFINE_KSPROPERTY_ITEM_BDA_NODE_EVENTS(GetHandler, SetHandler)          \ | 
 
 
 
 
 | 119 | DEFINE_KSPROPERTY_ITEM(                                                 \ | 
 
 
 
 
 | 120 | KSPROPERTY_BDA_NODE_EVENTS,                     \ | 
 
 
 
 
 | 121 | (GetHandler),                                   \ | 
 
 
 
 
 | 122 | sizeof(KSP_NODE),                               \ | 
 
 
 
 
 | 123 | 0,                                              \ | 
 
 
 
 
 | 124 | FALSE,                                          \ | 
 
 
 
 
 | 125 | NULL, 0, NULL, NULL, 0) | 
 
 
 
 
 | 126 |  | 
 
 
 
 
 | 127 | #define DEFINE_KSPROPERTY_ITEM_BDA_CONTROLLING_PIN_ID(GetHandler, SetHandler)   \ | 
 
 
 
 
 | 128 | DEFINE_KSPROPERTY_ITEM(                                                 \ | 
 
 
 
 
 | 129 | KSPROPERTY_BDA_CONTROLLING_PIN_ID,              \ | 
 
 
 
 
 | 130 | (GetHandler),                                   \ | 
 
 
 
 
 | 131 | sizeof(KSP_BDA_NODE_PIN),                       \ | 
 
 
 
 
 | 132 | sizeof(ULONG),                                  \ | 
 
 
 
 
 | 133 | FALSE,                                          \ | 
 
 
 
 
 | 134 | NULL, 0, NULL, NULL, 0) | 
 
 
 
 
 | 135 |  | 
 
 
 
 
 | 136 | #define DEFINE_KSPROPERTY_ITEM_BDA_NODE_DESCRIPTORS(GetHandler, SetHandler)     \ | 
 
 
 
 
 | 137 | DEFINE_KSPROPERTY_ITEM(                                                 \ | 
 
 
 
 
 | 138 | KSPROPERTY_BDA_NODE_DESCRIPTORS,                \ | 
 
 
 
 
 | 139 | (GetHandler),                                   \ | 
 
 
 
 
 | 140 | sizeof(KSPROPERTY),                             \ | 
 
 
 
 
 | 141 | 0,                                              \ | 
 
 
 
 
 | 142 | FALSE,                                          \ | 
 
 
 
 
 | 143 | NULL, 0, NULL, NULL, 0) | 
 
 
 
 
 | 144 |  | 
 
 
 
 
 | 145 |  | 
 
 
 
 
 | 146 | /* ------------------------------------------------------------ | 
 
 
 
 
 | 147 | BDA Device Configuration Method Set {71985F45-1CA1-11d3-9CC8-00C04F7971E0} | 
 
 
 
 
 | 148 | */ | 
 
 
 
 
 | 149 |  | 
 
 
 
 
 | 150 | #define STATIC_KSMETHODSETID_BdaDeviceConfiguration                             \ | 
 
 
 
 
 | 151 | 0x71985f45, 0x1ca1, 0x11d3, 0x9c, 0xc8, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0 | 
 
 
 
 
 | 152 | DEFINE_GUIDSTRUCT("71985F45-1CA1-11d3-9CC8-00C04F7971E0", KSMETHODSETID_BdaDeviceConfiguration); | 
 
 
 
 
 | 153 | #define KSMETHODSETID_BdaDeviceConfiguration DEFINE_GUIDNAMED(KSMETHODSETID_BdaDeviceConfiguration) | 
 
 
 
 
 | 154 |  | 
 
 
 
 
 | 155 | typedef enum { | 
 
 
 
 
 | 156 | KSMETHOD_BDA_CREATE_PIN_FACTORY = 0, | 
 
 
 
 
 | 157 | KSMETHOD_BDA_DELETE_PIN_FACTORY, | 
 
 
 
 
 | 158 | KSMETHOD_BDA_CREATE_TOPOLOGY | 
 
 
 
 
 | 159 | } KSMETHOD_BDA_DEVICE_CONFIGURATION; | 
 
 
 
 
 | 160 |  | 
 
 
 
 
 | 161 | #define DEFINE_KSMETHOD_ITEM_BDA_CREATE_PIN_FACTORY(MethodHandler, SupportHandler) \ | 
 
 
 
 
 | 162 | DEFINE_KSMETHOD_ITEM(                                                   \ | 
 
 
 
 
 | 163 | KSMETHOD_BDA_CREATE_PIN_FACTORY,                \ | 
 
 
 
 
 | 164 | KSMETHOD_TYPE_READ,                             \ | 
 
 
 
 
 | 165 | (MethodHandler),                                \ | 
 
 
 
 
 | 166 | sizeof(KSM_BDA_PIN),                            \ | 
 
 
 
 
 | 167 | sizeof(ULONG),                                  \ | 
 
 
 
 
 | 168 | SupportHandler) | 
 
 
 
 
 | 169 |  | 
 
 
 
 
 | 170 | #define DEFINE_KSMETHOD_ITEM_BDA_DELETE_PIN_FACTORY(MethodHandler, SupportHandler) \ | 
 
 
 
 
 | 171 | DEFINE_KSMETHOD_ITEM(                                                   \ | 
 
 
 
 
 | 172 | KSMETHOD_BDA_DELETE_PIN_FACTORY,                \ | 
 
 
 
 
 | 173 | KSMETHOD_TYPE_NONE,                             \ | 
 
 
 
 
 | 174 | (MethodHandler),                                \ | 
 
 
 
 
 | 175 | sizeof(KSM_BDA_PIN),                            \ | 
 
 
 
 
 | 176 | 0,                                              \ | 
 
 
 
 
 | 177 | SupportHandler) | 
 
 
 
 
 | 178 |  | 
 
 
 
 
 | 179 | #define DEFINE_KSMETHOD_ITEM_BDA_CREATE_TOPOLOGY(MethodHandler, SupportHandler) \ | 
 
 
 
 
 | 180 | DEFINE_KSMETHOD_ITEM(                                                   \ | 
 
 
 
 
 | 181 | KSMETHOD_BDA_CREATE_TOPOLOGY,                   \ | 
 
 
 
 
 | 182 | KSMETHOD_TYPE_WRITE,                            \ | 
 
 
 
 
 | 183 | (MethodHandler),                                \ | 
 
 
 
 
 | 184 | sizeof(KSM_BDA_PIN_PAIR),                       \ | 
 
 
 
 
 | 185 | 0,                                              \ | 
 
 
 
 
 | 186 | SupportHandler) | 
 
 
 
 
 | 187 |  | 
 
 
 
 
 | 188 |  | 
 
 
 
 
 | 189 | /* ------------------------------------------------------------ | 
 
 
 
 
 | 190 | BDA Pin Control Property {0DED49D5-A8B7-4d5d-97A1-12B0C195874D} | 
 
 
 
 
 | 191 | */ | 
 
 
 
 
 | 192 |  | 
 
 
 
 
 | 193 | #define STATIC_KSPROPSETID_BdaPinControl                                        \ | 
 
 
 
 
 | 194 | 0xded49d5, 0xa8b7, 0x4d5d, 0x97, 0xa1, 0x12, 0xb0, 0xc1, 0x95, 0x87, 0x4d | 
 
 
 
 
 | 195 | DEFINE_GUIDSTRUCT("0DED49D5-A8B7-4d5d-97A1-12B0C195874D", KSPROPSETID_BdaPinControl); | 
 
 
 
 
 | 196 | #define KSPROPSETID_BdaPinControl       DEFINE_GUIDNAMED(KSPROPSETID_BdaPinControl) | 
 
 
 
 
 | 197 |  | 
 
 
 
 
 | 198 | typedef enum { | 
 
 
 
 
 | 199 | KSPROPERTY_BDA_PIN_ID = 0, | 
 
 
 
 
 | 200 | KSPROPERTY_BDA_PIN_TYPE | 
 
 
 
 
 | 201 | } KSPROPERTY_BDA_PIN_CONTROL; | 
 
 
 
 
 | 202 |  | 
 
 
 
 
 | 203 | #define DEFINE_KSPROPERTY_ITEM_BDA_PIN_ID(GetHandler, SetHandler)               \ | 
 
 
 
 
 | 204 | DEFINE_KSPROPERTY_ITEM(                                                 \ | 
 
 
 
 
 | 205 | KSPROPERTY_BDA_PIN_ID,                          \ | 
 
 
 
 
 | 206 | (GetHandler),                                   \ | 
 
 
 
 
 | 207 | sizeof(KSPROPERTY),                             \ | 
 
 
 
 
 | 208 | sizeof(ULONG),                                  \ | 
 
 
 
 
 | 209 | FALSE,                                          \ | 
 
 
 
 
 | 210 | NULL, 0, NULL, NULL, 0) | 
 
 
 
 
 | 211 |  | 
 
 
 
 
 | 212 | #define DEFINE_KSPROPERTY_ITEM_BDA_PIN_TYPE(GetHandler, SetHandler)             \ | 
 
 
 
 
 | 213 | DEFINE_KSPROPERTY_ITEM(                                                 \ | 
 
 
 
 
 | 214 | KSPROPERTY_BDA_PIN_TYPE,                        \ | 
 
 
 
 
 | 215 | (GetHandler),                                   \ | 
 
 
 
 
 | 216 | sizeof(KSPROPERTY),                             \ | 
 
 
 
 
 | 217 | sizeof(ULONG),                                  \ | 
 
 
 
 
 | 218 | FALSE,                                          \ | 
 
 
 
 
 | 219 | NULL, 0, NULL, NULL, 0) | 
 
 
 
 
 | 220 |  | 
 
 
 
 
 | 221 |  | 
 
 
 
 
 | 222 | /* ------------------------------------------------------------ | 
 
 
 
 
 | 223 | BDA Change Sync Method Set {FD0A5AF3-B41D-11d2-9C95-00C04F7971E0} | 
 
 
 
 
 | 224 | */ | 
 
 
 
 
 | 225 |  | 
 
 
 
 
 | 226 | #define STATIC_KSMETHODSETID_BdaChangeSync                                      \ | 
 
 
 
 
 | 227 | 0xfd0a5af3, 0xb41d, 0x11d2, 0x9c, 0x95, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0 | 
 
 
 
 
 | 228 | DEFINE_GUIDSTRUCT("FD0A5AF3-B41D-11d2-9C95-00C04F7971E0", KSMETHODSETID_BdaChangeSync); | 
 
 
 
 
 | 229 | #define KSMETHODSETID_BdaChangeSync DEFINE_GUIDNAMED(KSMETHODSETID_BdaChangeSync) | 
 
 
 
 
 | 230 |  | 
 
 
 
 
 | 231 | typedef enum { | 
 
 
 
 
 | 232 | KSMETHOD_BDA_START_CHANGES = 0, | 
 
 
 
 
 | 233 | KSMETHOD_BDA_CHECK_CHANGES, | 
 
 
 
 
 | 234 | KSMETHOD_BDA_COMMIT_CHANGES, | 
 
 
 
 
 | 235 | KSMETHOD_BDA_GET_CHANGE_STATE | 
 
 
 
 
 | 236 | } KSMETHOD_BDA_CHANGE_SYNC; | 
 
 
 
 
 | 237 |  | 
 
 
 
 
 | 238 | #define DEFINE_KSMETHOD_ITEM_BDA_START_CHANGES(MethodHandler, SupportHandler)   \ | 
 
 
 
 
 | 239 | DEFINE_KSMETHOD_ITEM(                                                   \ | 
 
 
 
 
 | 240 | KSMETHOD_BDA_START_CHANGES,                     \ | 
 
 
 
 
 | 241 | KSMETHOD_TYPE_NONE,                             \ | 
 
 
 
 
 | 242 | (MethodHandler),                                \ | 
 
 
 
 
 | 243 | sizeof(KSMETHOD),                               \ | 
 
 
 
 
 | 244 | 0,                                              \ | 
 
 
 
 
 | 245 | SupportHandler) | 
 
 
 
 
 | 246 |  | 
 
 
 
 
 | 247 | #define DEFINE_KSMETHOD_ITEM_BDA_CHECK_CHANGES(MethodHandler, SupportHandler)   \ | 
 
 
 
 
 | 248 | DEFINE_KSMETHOD_ITEM(                                                   \ | 
 
 
 
 
 | 249 | KSMETHOD_BDA_CHECK_CHANGES,                     \ | 
 
 
 
 
 | 250 | KSMETHOD_TYPE_NONE,                             \ | 
 
 
 
 
 | 251 | (MethodHandler),                                \ | 
 
 
 
 
 | 252 | sizeof(KSMETHOD),                               \ | 
 
 
 
 
 | 253 | 0,                                              \ | 
 
 
 
 
 | 254 | SupportHandler) | 
 
 
 
 
 | 255 |  | 
 
 
 
 
 | 256 | #define DEFINE_KSMETHOD_ITEM_BDA_COMMIT_CHANGES(MethodHandler, SupportHandler)  \ | 
 
 
 
 
 | 257 | DEFINE_KSMETHOD_ITEM(                                                   \ | 
 
 
 
 
 | 258 | KSMETHOD_BDA_COMMIT_CHANGES,                    \ | 
 
 
 
 
 | 259 | KSMETHOD_TYPE_NONE,                             \ | 
 
 
 
 
 | 260 | (MethodHandler),                                \ | 
 
 
 
 
 | 261 | sizeof(KSMETHOD),                               \ | 
 
 
 
 
 | 262 | 0,                                              \ | 
 
 
 
 
 | 263 | SupportHandler) | 
 
 
 
 
 | 264 |  | 
 
 
 
 
 | 265 | #define DEFINE_KSMETHOD_ITEM_BDA_GET_CHANGE_STATE(MethodHandler, SupportHandler) \ | 
 
 
 
 
 | 266 | DEFINE_KSMETHOD_ITEM(                                                   \ | 
 
 
 
 
 | 267 | KSMETHOD_BDA_GET_CHANGE_STATE,                  \ | 
 
 
 
 
 | 268 | KSMETHOD_TYPE_READ,                             \ | 
 
 
 
 
 | 269 | (MethodHandler),                                \ | 
 
 
 
 
 | 270 | sizeof(KSMETHOD),                               \ | 
 
 
 
 
 | 271 | 0,                                              \ | 
 
 
 
 
 | 272 | SupportHandler) | 
 
 
 
 
 | 273 |  | 
 
 
 
 
 | 274 | #define STATIC_KSPROPSETID_BdaFrequencyFilter                                   \ | 
 
 
 
 
 | 275 | 0x71985f47, 0x1ca1, 0x11d3, 0x9c, 0xc8, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0 | 
 
 
 
 
 | 276 | DEFINE_GUIDSTRUCT("71985F47-1CA1-11d3-9CC8-00C04F7971E0", KSPROPSETID_BdaFrequencyFilter); | 
 
 
 
 
 | 277 | #define KSPROPSETID_BdaFrequencyFilter DEFINE_GUIDNAMED(KSPROPSETID_BdaFrequencyFilter) | 
 
 
 
 
 | 278 |  | 
 
 
 
 
 | 279 | typedef enum { | 
 
 
 
 
 | 280 | KSPROPERTY_BDA_RF_TUNER_FREQUENCY = 0, | 
 
 
 
 
 | 281 | KSPROPERTY_BDA_RF_TUNER_POLARITY, | 
 
 
 
 
 | 282 | KSPROPERTY_BDA_RF_TUNER_RANGE, | 
 
 
 
 
 | 283 | KSPROPERTY_BDA_RF_TUNER_TRANSPONDER, | 
 
 
 
 
 | 284 | KSPROPERTY_BDA_RF_TUNER_BANDWIDTH, | 
 
 
 
 
 | 285 | KSPROPERTY_BDA_RF_TUNER_FREQUENCY_MULTIPLIER, | 
 
 
 
 
 | 286 | KSPROPERTY_BDA_RF_TUNER_CAPS, | 
 
 
 
 
 | 287 | KSPROPERTY_BDA_RF_TUNER_SCAN_STATUS, | 
 
 
 
 
 | 288 | KSPROPERTY_BDA_RF_TUNER_STANDARD, | 
 
 
 
 
 | 289 | KSPROPERTY_BDA_RF_TUNER_STANDARD_MODE | 
 
 
 
 
 | 290 | } KSPROPERTY_BDA_FREQUENCY_FILTER; | 
 
 
 
 
 | 291 |  | 
 
 
 
 
 | 292 | #define STATIC_KSPROPSETID_BdaDigitalDemodulator                                \ | 
 
 
 
 
 | 293 | 0xef30f379, 0x985b, 0x4d10, 0xb6, 0x40, 0xa7, 0x9d, 0x5e, 0x4, 0xe1, 0xe0 | 
 
 
 
 
 | 294 | DEFINE_GUIDSTRUCT("EF30F379-985B-4d10-B640-A79D5E04E1E0", KSPROPSETID_BdaDigitalDemodulator); | 
 
 
 
 
 | 295 | #define KSPROPSETID_BdaDigitalDemodulator DEFINE_GUIDNAMED(KSPROPSETID_BdaDigitalDemodulator) | 
 
 
 
 
 | 296 |  | 
 
 
 
 
 | 297 | typedef enum { | 
 
 
 
 
 | 298 | KSPROPERTY_BDA_MODULATION_TYPE = 0, | 
 
 
 
 
 | 299 | KSPROPERTY_BDA_INNER_FEC_TYPE, | 
 
 
 
 
 | 300 | KSPROPERTY_BDA_INNER_FEC_RATE, | 
 
 
 
 
 | 301 | KSPROPERTY_BDA_OUTER_FEC_TYPE, | 
 
 
 
 
 | 302 | KSPROPERTY_BDA_OUTER_FEC_RATE, | 
 
 
 
 
 | 303 | KSPROPERTY_BDA_SYMBOL_RATE, | 
 
 
 
 
 | 304 | KSPROPERTY_BDA_SPECTRAL_INVERSION, | 
 
 
 
 
 | 305 | KSPROPERTY_BDA_GUARD_INTERVAL, | 
 
 
 
 
 | 306 | KSPROPERTY_BDA_TRANSMISSION_MODE, | 
 
 
 
 
 | 307 | KSPROPERTY_BDA_ROLL_OFF, | 
 
 
 
 
 | 308 | KSPROPERTY_BDA_PILOT, | 
 
 
 
 
 | 309 | KSPROPERTY_BDA_SIGNALTIMEOUTS | 
 
 
 
 
 | 310 | } KSPROPERTY_BDA_DIGITAL_DEMODULATOR; | 
 
 
 
 
 | 311 |  | 
 
 
 
 
 | 312 | #define STATIC_KSPROPSETID_BdaLNBInfo                                           \ | 
 
 
 
 
 | 313 | 0x992cf102, 0x49f9, 0x4719, 0xa6, 0x64, 0xc4, 0xf2, 0x3e, 0x24, 0x8, 0xf4 | 
 
 
 
 
 | 314 | DEFINE_GUIDSTRUCT("992CF102-49F9-4719-A664-C4F23E2408F4", KSPROPSETID_BdaLNBInfo); | 
 
 
 
 
 | 315 | #define KSPROPSETID_BdaLNBInfo          DEFINE_GUIDNAMED(KSPROPSETID_BdaLNBInfo) | 
 
 
 
 
 | 316 |  | 
 
 
 
 
 | 317 | typedef enum { | 
 
 
 
 
 | 318 | KSPROPERTY_BDA_LNB_LOF_LOW_BAND = 0, | 
 
 
 
 
 | 319 | KSPROPERTY_BDA_LNB_LOF_HIGH_BAND, | 
 
 
 
 
 | 320 | KSPROPERTY_BDA_LNB_SWITCH_FREQUENCY | 
 
 
 
 
 | 321 | } KSPROPERTY_BDA_LNB_INFO; | 
 
 
 
 
 | 322 |  | 
 
 
 
 
 | 323 | #define STATIC_KSPROPSETID_BdaSignalStats                                       \ | 
 
 
 
 
 | 324 | 0x1347d106, 0xcf3a, 0x428a, 0xa5, 0xcb, 0xac, 0xd, 0x9a, 0x2a, 0x43, 0x38 | 
 
 
 
 
 | 325 | DEFINE_GUIDSTRUCT("1347D106-CF3A-428a-A5CB-AC0D9A2A4338", KSPROPSETID_BdaSignalStats); | 
 
 
 
 
 | 326 | #define KSPROPSETID_BdaSignalStats      DEFINE_GUIDNAMED(KSPROPSETID_BdaSignalStats) | 
 
 
 
 
 | 327 |  | 
 
 
 
 
 | 328 | typedef enum { | 
 
 
 
 
 | 329 | KSPROPERTY_BDA_SIGNAL_STRENGTH = 0, | 
 
 
 
 
 | 330 | KSPROPERTY_BDA_SIGNAL_QUALITY, | 
 
 
 
 
 | 331 | KSPROPERTY_BDA_SIGNAL_PRESENT, | 
 
 
 
 
 | 332 | KSPROPERTY_BDA_SIGNAL_LOCKED, | 
 
 
 
 
 | 333 | KSPROPERTY_BDA_SAMPLE_TIME | 
 
 
 
 
 | 334 | } KSPROPERTY_BDA_SIGNAL_STATS; | 
 
 
 
 
 | 335 |  | 
 
 
 
 
 | 336 | typedef struct tagBDA_TRANSPORT_INFO { | 
 
 
 
 
 | 337 | ULONG ulcbPhyiscalPacket; | 
 
 
 
 
 | 338 | ULONG ulcbPhyiscalFrame; | 
 
 
 
 
 | 339 | ULONG ulcbPhyiscalFrameAlignment; | 
 
 
 
 
 | 340 | REFERENCE_TIME AvgTimePerFrame; | 
 
 
 
 
 | 341 | } BDA_TRANSPORT_INFO, *PBDA_TRANSPORT_INFO; | 
 
 
 
 
 | 342 |  | 
 
 
 
 
 | 343 | typedef struct tagKS_DATARANGE_BDA_TRANSPORT { | 
 
 
 
 
 | 344 | KSDATARANGE DataRange; | 
 
 
 
 
 | 345 | BDA_TRANSPORT_INFO BdaTransportInfo; | 
 
 
 
 
 | 346 | } KS_DATARANGE_BDA_TRANSPORT, *PKS_DATARANGE_BDA_TRANSPORT; | 
 
 
 
 
 | 347 |  | 
 
 
 
 
 | 348 | #if (_WIN32_WINNT >= 0x0601) | 
 
 
 
 
 | 349 | typedef enum tagChannelChangeSpanningEvent_State { | 
 
 
 
 
 | 350 | ChannelChangeSpanningEvent_Start   = 0, | 
 
 
 
 
 | 351 | ChannelChangeSpanningEvent_End     = 2 | 
 
 
 
 
 | 352 | } ChannelChangeSpanningEvent_State; | 
 
 
 
 
 | 353 |  | 
 
 
 
 
 | 354 | typedef struct _ChannelChangeInfo { | 
 
 
 
 
 | 355 | ChannelChangeSpanningEvent_State state; | 
 
 
 
 
 | 356 | ULONGLONG                        TimeStamp; | 
 
 
 
 
 | 357 | } ChannelChangeInfo; | 
 
 
 
 
 | 358 |  | 
 
 
 
 
 | 359 | typedef struct _ChannelInfo { | 
 
 
 
 
 | 360 | LONG lFrequency; | 
 
 
 
 
 | 361 | __C89_NAMELESS union { | 
 
 
 
 
 | 362 | struct { | 
 
 
 
 
 | 363 | LONG lONID; | 
 
 
 
 
 | 364 | LONG lTSID; | 
 
 
 
 
 | 365 | LONG lSID; | 
 
 
 
 
 | 366 | } DVB; | 
 
 
 
 
 | 367 | struct { | 
 
 
 
 
 | 368 | LONG lProgNumber; | 
 
 
 
 
 | 369 | } DC; | 
 
 
 
 
 | 370 | struct { | 
 
 
 
 
 | 371 | LONG lProgNumber; | 
 
 
 
 
 | 372 | } ATSC; | 
 
 
 
 
 | 373 | } ; | 
 
 
 
 
 | 374 | } ChannelInfo; | 
 
 
 
 
 | 375 |  | 
 
 
 
 
 | 376 | typedef enum _PBDAParentalControlPolicy { | 
 
 
 
 
 | 377 | PBDAParentalControlGeneralPolicy    = 0, | 
 
 
 
 
 | 378 | PBDAParentalControlLiveOnlyPolicy   = 1 | 
 
 
 
 
 | 379 | } PBDAParentalControlPolicy; | 
 
 
 
 
 | 380 |  | 
 
 
 
 
 | 381 | typedef enum _SignalAndServiceStatusSpanningEvent_State { | 
 
 
 
 
 | 382 | SignalAndServiceStatusSpanningEvent_Clear           = 0, | 
 
 
 
 
 | 383 | SignalAndServiceStatusSpanningEvent_NoTVSignal      = 1, | 
 
 
 
 
 | 384 | SignalAndServiceStatusSpanningEvent_ServiceOffAir   = 2 | 
 
 
 
 
 | 385 | } SignalAndServiceStatusSpanningEvent_State; | 
 
 
 
 
 | 386 |  | 
 
 
 
 
 | 387 | typedef struct _DualMonoInfo { | 
 
 
 
 
 | 388 | LANGID LangID1; | 
 
 
 
 
 | 389 | LANGID LangID2; | 
 
 
 
 
 | 390 | LONG   lISOLangCode1; | 
 
 
 
 
 | 391 | LONG   lISOLangCode2; | 
 
 
 
 
 | 392 | } DualMonoInfo; | 
 
 
 
 
 | 393 |  | 
 
 
 
 
 | 394 | typedef struct _DVBScramblingControlSpanningEvent { | 
 
 
 
 
 | 395 | ULONG ulPID; | 
 
 
 
 
 | 396 | WINBOOL fScrambled; | 
 
 
 
 
 | 397 | } DVBScramblingControlSpanningEvent; | 
 
 
 
 
 | 398 |  | 
 
 
 
 
 | 399 | typedef struct _LanguageInfo { | 
 
 
 
 
 | 400 | LANGID LangID; | 
 
 
 
 
 | 401 | LONG   lISOLangCode; | 
 
 
 
 
 | 402 | } LanguageInfo; | 
 
 
 
 
 | 403 |  | 
 
 
 
 
 | 404 | typedef struct _PBDAParentalControl { | 
 
 
 
 
 | 405 | ULONG ulStartTime; | 
 
 
 
 
 | 406 | ULONG ulEndTime; | 
 
 
 
 
 | 407 | ULONG ulPolicy; | 
 
 
 
 
 | 408 | } PBDAParentalControl; | 
 
 
 
 
 | 409 |  | 
 
 
 
 
 | 410 | typedef struct _PIDListSpanningEvent { | 
 
 
 
 
 | 411 | WORD  wPIDCount; | 
 
 
 
 
 | 412 | ULONG pulPIDs[1]; | 
 
 
 
 
 | 413 | } PIDListSpanningEvent; | 
 
 
 
 
 | 414 |  | 
 
 
 
 
 | 415 | typedef struct _SpanningEventDescriptor { | 
 
 
 
 
 | 416 | WORD wDataLen; | 
 
 
 
 
 | 417 | WORD wProgNumber; | 
 
 
 
 
 | 418 | WORD wSID; | 
 
 
 
 
 | 419 | BYTE bDescriptor[1]; | 
 
 
 
 
 | 420 | } SpanningEventDescriptor; | 
 
 
 
 
 | 421 |  | 
 
 
 
 
 | 422 | typedef struct _SpanningEventEmmMessage { | 
 
 
 
 
 | 423 | BYTE  bCAbroadcasterGroupId; | 
 
 
 
 
 | 424 | BYTE  bMessageControl; | 
 
 
 
 
 | 425 | WORD  wServiceId; | 
 
 
 
 
 | 426 | WORD  wTableIdExtension; | 
 
 
 
 
 | 427 | BYTE  bDeletionStatus; | 
 
 
 
 
 | 428 | BYTE  bDisplayingDuration1; | 
 
 
 
 
 | 429 | BYTE  bDisplayingDuration2; | 
 
 
 
 
 | 430 | BYTE  bDisplayingDuration3; | 
 
 
 
 
 | 431 | BYTE  bDisplayingCycle; | 
 
 
 
 
 | 432 | BYTE  bFormatVersion; | 
 
 
 
 
 | 433 | BYTE  bDisplayPosition; | 
 
 
 
 
 | 434 | WORD  wMessageLength; | 
 
 
 
 
 | 435 | WCHAR szMessageArea[MIN_DIMENSION]; | 
 
 
 
 
 | 436 | } SpanningEventEmmMessage; | 
 
 
 
 
 | 437 |  | 
 
 
 
 
 | 438 | #endif /*(_WIN32_WINNT >= 0x0601)*/ | 
 
 
 
 
 | 439 |  | 
 
 
 
 
 | 440 | /* ------------------------------------------------------------ | 
 
 
 
 
 | 441 | BDA Stream Format GUIDs | 
 
 
 
 
 | 442 | */ | 
 
 
 
 
 | 443 |  | 
 
 
 
 
 | 444 | #define STATIC_KSDATAFORMAT_TYPE_BDA_ANTENNA                                    \ | 
 
 
 
 
 | 445 | 0x71985f41, 0x1ca1, 0x11d3, 0x9c, 0xc8, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0 | 
 
 
 
 
 | 446 | DEFINE_GUIDSTRUCT("71985F41-1CA1-11d3-9CC8-00C04F7971E0", KSDATAFORMAT_TYPE_BDA_ANTENNA); | 
 
 
 
 
 | 447 | #define KSDATAFORMAT_TYPE_BDA_ANTENNA DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_BDA_ANTENNA) | 
 
 
 
 
 | 448 |  | 
 
 
 
 
 | 449 | #define STATIC_KSDATAFORMAT_SUBTYPE_BDA_MPEG2_TRANSPORT                         \ | 
 
 
 
 
 | 450 | 0xf4aeb342, 0x0329, 0x4fdd, 0xa8, 0xfd, 0x4a, 0xff, 0x49, 0x26, 0xc9, 0x78 | 
 
 
 
 
 | 451 | DEFINE_GUIDSTRUCT("F4AEB342-0329-4fdd-A8FD-4AFF4926C978", KSDATAFORMAT_SUBTYPE_BDA_MPEG2_TRANSPORT); | 
 
 
 
 
 | 452 | #define KSDATAFORMAT_SUBTYPE_BDA_MPEG2_TRANSPORT DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_BDA_MPEG2_TRANSPORT) | 
 
 
 
 
 | 453 |  | 
 
 
 
 
 | 454 | #define STATIC_KSDATAFORMAT_SPECIFIER_BDA_TRANSPORT                             \ | 
 
 
 
 
 | 455 | 0x8deda6fd, 0xac5f, 0x4334, 0x8e, 0xcf, 0xa4, 0xba, 0x8f, 0xa7, 0xd0, 0xf0 | 
 
 
 
 
 | 456 | DEFINE_GUIDSTRUCT("8DEDA6FD-AC5F-4334-8ECF-A4BA8FA7D0F0", KSDATAFORMAT_SPECIFIER_BDA_TRANSPORT); | 
 
 
 
 
 | 457 | #define KSDATAFORMAT_SPECIFIER_BDA_TRANSPORT DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_BDA_TRANSPORT) | 
 
 
 
 
 | 458 |  | 
 
 
 
 
 | 459 | #define STATIC_KSDATAFORMAT_TYPE_BDA_IF_SIGNAL                                  \ | 
 
 
 
 
 | 460 | 0x61be0b47, 0xa5eb, 0x499b, 0x9a, 0x85, 0x5b, 0x16, 0xc0, 0x7f, 0x12, 0x58 | 
 
 
 
 
 | 461 | DEFINE_GUIDSTRUCT("61BE0B47-A5EB-499b-9A85-5B16C07F1258", KSDATAFORMAT_TYPE_BDA_IF_SIGNAL); | 
 
 
 
 
 | 462 | #define KSDATAFORMAT_TYPE_BDA_IF_SIGNAL DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_BDA_IF_SIGNAL) | 
 
 
 
 
 | 463 |  | 
 
 
 
 
 | 464 | #define STATIC_KSDATAFORMAT_TYPE_MPEG2_SECTIONS                                 \ | 
 
 
 
 
 | 465 | 0x455f176c, 0x4b06, 0x47ce, 0x9a, 0xef, 0x8c, 0xae, 0xf7, 0x3d, 0xf7, 0xb5 | 
 
 
 
 
 | 466 | DEFINE_GUIDSTRUCT("455F176C-4B06-47CE-9AEF-8CAEF73DF7B5", KSDATAFORMAT_TYPE_MPEG2_SECTIONS); | 
 
 
 
 
 | 467 | #define KSDATAFORMAT_TYPE_MPEG2_SECTIONS DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_MPEG2_SECTIONS) | 
 
 
 
 
 | 468 |  | 
 
 
 
 
 | 469 | #define STATIC_KSDATAFORMAT_SUBTYPE_ATSC_SI                                     \ | 
 
 
 
 
 | 470 | 0xb3c7397c, 0xd303, 0x414d, 0xb3, 0x3c, 0x4e, 0xd2, 0xc9, 0xd2, 0x97, 0x33 | 
 
 
 
 
 | 471 | DEFINE_GUIDSTRUCT("B3C7397C-D303-414D-B33C-4ED2C9D29733", KSDATAFORMAT_SUBTYPE_ATSC_SI); | 
 
 
 
 
 | 472 | #define KSDATAFORMAT_SUBTYPE_ATSC_SI DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_ATSC_SI) | 
 
 
 
 
 | 473 |  | 
 
 
 
 
 | 474 | #define STATIC_KSDATAFORMAT_SUBTYPE_DVB_SI                                      \ | 
 
 
 
 
 | 475 | 0xe9dd31a3, 0x221d, 0x4adb, 0x85, 0x32, 0x9a, 0xf3, 0x9, 0xc1, 0xa4, 0x8 | 
 
 
 
 
 | 476 | DEFINE_GUIDSTRUCT("e9dd31a3-221d-4adb-8532-9af309c1a408", KSDATAFORMAT_SUBTYPE_DVB_SI); | 
 
 
 
 
 | 477 | #define KSDATAFORMAT_SUBTYPE_DVB_SI DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_DVB_SI) | 
 
 
 
 
 | 478 |  | 
 
 
 
 
 | 479 | #define STATIC_KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_PSIP                          \ | 
 
 
 
 
 | 480 | 0x762e3f66, 0x336f, 0x48d1, 0xbf, 0x83, 0x2b, 0x0, 0x35, 0x2c, 0x11, 0xf0 | 
 
 
 
 
 | 481 | DEFINE_GUIDSTRUCT("762E3F66-336F-48d1-BF83-2B00352C11F0", KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_PSIP); | 
 
 
 
 
 | 482 | #define KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_PSIP DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_PSIP) | 
 
 
 
 
 | 483 |  | 
 
 
 
 
 | 484 | #define STATIC_KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_OOB_PSIP                      \ | 
 
 
 
 
 | 485 | 0x951727db, 0xd2ce, 0x4528, 0x96, 0xf6, 0x33, 0x1, 0xfa, 0xbb, 0x2d, 0xe0 | 
 
 
 
 
 | 486 | DEFINE_GUIDSTRUCT("951727DB-D2CE-4528-96F6-3301FABB2DE0", KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_OOB_PSIP); | 
 
 
 
 
 | 487 | #define KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_OOB_PSIP DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_OOB_PSIP) | 
 
 
 
 
 | 488 |  | 
 
 
 
 
 | 489 | #define STATIC_KSDATAFORMAT_SUBTYPE_ISDB_SI                                     \ | 
 
 
 
 
 | 490 | 0x4a2eeb99, 0x6458, 0x4538, 0xb1, 0x87, 0x04, 0x01, 0x7c, 0x41, 0x41, 0x3f | 
 
 
 
 
 | 491 | DEFINE_GUIDSTRUCT("4a2eeb99-6458-4538-b187-04017c41413f", KSDATAFORMAT_SUBTYPE_ISDB_SI); | 
 
 
 
 
 | 492 | #define KSDATAFORMAT_SUBTYPE_ISDB_SI DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_ISDB_SI) | 
 
 
 
 
 | 493 |  | 
 
 
 
 
 | 494 | #define STATIC_KSDATAFORMAT_SUBTYPE_PBDA_TRANSPORT_RAW                          \ | 
 
 
 
 
 | 495 | 0x0d7aed42, 0xcb9a, 0x11db, 0x97, 0x05, 0x00, 0x50, 0x56, 0xc0, 0x00, 0x08 | 
 
 
 
 
 | 496 | DEFINE_GUIDSTRUCT("0d7AED42-CB9A-11DB-9705-005056C00008", KSDATAFORMAT_SUBTYPE_PBDA_TRANSPORT_RAW); | 
 
 
 
 
 | 497 | #define KSDATAFORMAT_SUBTYPE_PBDA_TRANSPORT_RAW DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_PBDA_TRANSPORT_RAW) | 
 
 
 
 
 | 498 |  | 
 
 
 
 
 | 499 | #endif /* _BDAMEDIA_ */ | 
 
 
 
 
 | 500 |  |