1 2 3 /* this ALWAYS GENERATED file contains the definitions for the interfaces */ 4 5 6 /* File created by MIDL compiler version 8.01.0622 */ 7 /* at Tue Jan 19 12:14:07 2038 8 */ 9 /* Compiler settings for ..\..\Blackmagic\DeckLink_SDK_10.11.4\Win\include\DeckLinkAPI.idl: 10 Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.01.0622 11 protocol : dce , ms_ext, c_ext, robust 12 error checks: allocation ref bounds_check enum stub_data 13 VC __declspec() decoration level: 14 __declspec(uuid()), __declspec(selectany), __declspec(novtable) 15 DECLSPEC_UUID(), MIDL_INTERFACE() 16 */ 17 /* @@MIDL_FILE_HEADING( ) */ 18 19 #ifdef _MSC_VER 20 #pragma warning( disable: 4049 ) /* more than 64k source lines */ 21 #endif 22 23 24 /* verify that the <rpcndr.h> version is high enough to compile this file*/ 25 #ifndef __REQUIRED_RPCNDR_H_VERSION__ 26 #define __REQUIRED_RPCNDR_H_VERSION__ 475 27 #endif 28 29 #include "rpc.h" 30 #include "rpcndr.h" 31 32 #ifndef __RPCNDR_H_VERSION__ 33 #error this stub requires an updated version of <rpcndr.h> 34 #endif /* __RPCNDR_H_VERSION__ */ 35 36 37 #ifndef __DeckLinkAPI_h__ 38 #define __DeckLinkAPI_h__ 39 40 #if defined(_MSC_VER) && (_MSC_VER >= 1020) 41 #pragma once 42 #endif 43 44 /* Forward Declarations */ 45 46 #ifndef __IDeckLinkTimecode_FWD_DEFINED__ 47 #define __IDeckLinkTimecode_FWD_DEFINED__ 48 typedef interface IDeckLinkTimecode IDeckLinkTimecode; 49 50 #endif /* __IDeckLinkTimecode_FWD_DEFINED__ */ 51 52 53 #ifndef __IDeckLinkDisplayModeIterator_FWD_DEFINED__ 54 #define __IDeckLinkDisplayModeIterator_FWD_DEFINED__ 55 typedef interface IDeckLinkDisplayModeIterator IDeckLinkDisplayModeIterator; 56 57 #endif /* __IDeckLinkDisplayModeIterator_FWD_DEFINED__ */ 58 59 60 #ifndef __IDeckLinkDisplayMode_FWD_DEFINED__ 61 #define __IDeckLinkDisplayMode_FWD_DEFINED__ 62 typedef interface IDeckLinkDisplayMode IDeckLinkDisplayMode; 63 64 #endif /* __IDeckLinkDisplayMode_FWD_DEFINED__ */ 65 66 67 #ifndef __IDeckLink_FWD_DEFINED__ 68 #define __IDeckLink_FWD_DEFINED__ 69 typedef interface IDeckLink IDeckLink; 70 71 #endif /* __IDeckLink_FWD_DEFINED__ */ 72 73 74 #ifndef __IDeckLinkConfiguration_FWD_DEFINED__ 75 #define __IDeckLinkConfiguration_FWD_DEFINED__ 76 typedef interface IDeckLinkConfiguration IDeckLinkConfiguration; 77 78 #endif /* __IDeckLinkConfiguration_FWD_DEFINED__ */ 79 80 81 #ifndef __IDeckLinkEncoderConfiguration_FWD_DEFINED__ 82 #define __IDeckLinkEncoderConfiguration_FWD_DEFINED__ 83 typedef interface IDeckLinkEncoderConfiguration IDeckLinkEncoderConfiguration; 84 85 #endif /* __IDeckLinkEncoderConfiguration_FWD_DEFINED__ */ 86 87 88 #ifndef __IDeckLinkDeckControlStatusCallback_FWD_DEFINED__ 89 #define __IDeckLinkDeckControlStatusCallback_FWD_DEFINED__ 90 typedef interface IDeckLinkDeckControlStatusCallback IDeckLinkDeckControlStatusCallback; 91 92 #endif /* __IDeckLinkDeckControlStatusCallback_FWD_DEFINED__ */ 93 94 95 #ifndef __IDeckLinkDeckControl_FWD_DEFINED__ 96 #define __IDeckLinkDeckControl_FWD_DEFINED__ 97 typedef interface IDeckLinkDeckControl IDeckLinkDeckControl; 98 99 #endif /* __IDeckLinkDeckControl_FWD_DEFINED__ */ 100 101 102 #ifndef __IBMDStreamingDeviceNotificationCallback_FWD_DEFINED__ 103 #define __IBMDStreamingDeviceNotificationCallback_FWD_DEFINED__ 104 typedef interface IBMDStreamingDeviceNotificationCallback IBMDStreamingDeviceNotificationCallback; 105 106 #endif /* __IBMDStreamingDeviceNotificationCallback_FWD_DEFINED__ */ 107 108 109 #ifndef __IBMDStreamingH264InputCallback_FWD_DEFINED__ 110 #define __IBMDStreamingH264InputCallback_FWD_DEFINED__ 111 typedef interface IBMDStreamingH264InputCallback IBMDStreamingH264InputCallback; 112 113 #endif /* __IBMDStreamingH264InputCallback_FWD_DEFINED__ */ 114 115 116 #ifndef __IBMDStreamingDiscovery_FWD_DEFINED__ 117 #define __IBMDStreamingDiscovery_FWD_DEFINED__ 118 typedef interface IBMDStreamingDiscovery IBMDStreamingDiscovery; 119 120 #endif /* __IBMDStreamingDiscovery_FWD_DEFINED__ */ 121 122 123 #ifndef __IBMDStreamingVideoEncodingMode_FWD_DEFINED__ 124 #define __IBMDStreamingVideoEncodingMode_FWD_DEFINED__ 125 typedef interface IBMDStreamingVideoEncodingMode IBMDStreamingVideoEncodingMode; 126 127 #endif /* __IBMDStreamingVideoEncodingMode_FWD_DEFINED__ */ 128 129 130 #ifndef __IBMDStreamingMutableVideoEncodingMode_FWD_DEFINED__ 131 #define __IBMDStreamingMutableVideoEncodingMode_FWD_DEFINED__ 132 typedef interface IBMDStreamingMutableVideoEncodingMode IBMDStreamingMutableVideoEncodingMode; 133 134 #endif /* __IBMDStreamingMutableVideoEncodingMode_FWD_DEFINED__ */ 135 136 137 #ifndef __IBMDStreamingVideoEncodingModePresetIterator_FWD_DEFINED__ 138 #define __IBMDStreamingVideoEncodingModePresetIterator_FWD_DEFINED__ 139 typedef interface IBMDStreamingVideoEncodingModePresetIterator IBMDStreamingVideoEncodingModePresetIterator; 140 141 #endif /* __IBMDStreamingVideoEncodingModePresetIterator_FWD_DEFINED__ */ 142 143 144 #ifndef __IBMDStreamingDeviceInput_FWD_DEFINED__ 145 #define __IBMDStreamingDeviceInput_FWD_DEFINED__ 146 typedef interface IBMDStreamingDeviceInput IBMDStreamingDeviceInput; 147 148 #endif /* __IBMDStreamingDeviceInput_FWD_DEFINED__ */ 149 150 151 #ifndef __IBMDStreamingH264NALPacket_FWD_DEFINED__ 152 #define __IBMDStreamingH264NALPacket_FWD_DEFINED__ 153 typedef interface IBMDStreamingH264NALPacket IBMDStreamingH264NALPacket; 154 155 #endif /* __IBMDStreamingH264NALPacket_FWD_DEFINED__ */ 156 157 158 #ifndef __IBMDStreamingAudioPacket_FWD_DEFINED__ 159 #define __IBMDStreamingAudioPacket_FWD_DEFINED__ 160 typedef interface IBMDStreamingAudioPacket IBMDStreamingAudioPacket; 161 162 #endif /* __IBMDStreamingAudioPacket_FWD_DEFINED__ */ 163 164 165 #ifndef __IBMDStreamingMPEG2TSPacket_FWD_DEFINED__ 166 #define __IBMDStreamingMPEG2TSPacket_FWD_DEFINED__ 167 typedef interface IBMDStreamingMPEG2TSPacket IBMDStreamingMPEG2TSPacket; 168 169 #endif /* __IBMDStreamingMPEG2TSPacket_FWD_DEFINED__ */ 170 171 172 #ifndef __IBMDStreamingH264NALParser_FWD_DEFINED__ 173 #define __IBMDStreamingH264NALParser_FWD_DEFINED__ 174 typedef interface IBMDStreamingH264NALParser IBMDStreamingH264NALParser; 175 176 #endif /* __IBMDStreamingH264NALParser_FWD_DEFINED__ */ 177 178 179 #ifndef __CBMDStreamingDiscovery_FWD_DEFINED__ 180 #define __CBMDStreamingDiscovery_FWD_DEFINED__ 181 182 #ifdef __cplusplus 183 typedef class CBMDStreamingDiscovery CBMDStreamingDiscovery; 184 #else 185 typedef struct CBMDStreamingDiscovery CBMDStreamingDiscovery; 186 #endif /* __cplusplus */ 187 188 #endif /* __CBMDStreamingDiscovery_FWD_DEFINED__ */ 189 190 191 #ifndef __CBMDStreamingH264NALParser_FWD_DEFINED__ 192 #define __CBMDStreamingH264NALParser_FWD_DEFINED__ 193 194 #ifdef __cplusplus 195 typedef class CBMDStreamingH264NALParser CBMDStreamingH264NALParser; 196 #else 197 typedef struct CBMDStreamingH264NALParser CBMDStreamingH264NALParser; 198 #endif /* __cplusplus */ 199 200 #endif /* __CBMDStreamingH264NALParser_FWD_DEFINED__ */ 201 202 203 #ifndef __IDeckLinkVideoOutputCallback_FWD_DEFINED__ 204 #define __IDeckLinkVideoOutputCallback_FWD_DEFINED__ 205 typedef interface IDeckLinkVideoOutputCallback IDeckLinkVideoOutputCallback; 206 207 #endif /* __IDeckLinkVideoOutputCallback_FWD_DEFINED__ */ 208 209 210 #ifndef __IDeckLinkInputCallback_FWD_DEFINED__ 211 #define __IDeckLinkInputCallback_FWD_DEFINED__ 212 typedef interface IDeckLinkInputCallback IDeckLinkInputCallback; 213 214 #endif /* __IDeckLinkInputCallback_FWD_DEFINED__ */ 215 216 217 #ifndef __IDeckLinkEncoderInputCallback_FWD_DEFINED__ 218 #define __IDeckLinkEncoderInputCallback_FWD_DEFINED__ 219 typedef interface IDeckLinkEncoderInputCallback IDeckLinkEncoderInputCallback; 220 221 #endif /* __IDeckLinkEncoderInputCallback_FWD_DEFINED__ */ 222 223 224 #ifndef __IDeckLinkMemoryAllocator_FWD_DEFINED__ 225 #define __IDeckLinkMemoryAllocator_FWD_DEFINED__ 226 typedef interface IDeckLinkMemoryAllocator IDeckLinkMemoryAllocator; 227 228 #endif /* __IDeckLinkMemoryAllocator_FWD_DEFINED__ */ 229 230 231 #ifndef __IDeckLinkAudioOutputCallback_FWD_DEFINED__ 232 #define __IDeckLinkAudioOutputCallback_FWD_DEFINED__ 233 typedef interface IDeckLinkAudioOutputCallback IDeckLinkAudioOutputCallback; 234 235 #endif /* __IDeckLinkAudioOutputCallback_FWD_DEFINED__ */ 236 237 238 #ifndef __IDeckLinkIterator_FWD_DEFINED__ 239 #define __IDeckLinkIterator_FWD_DEFINED__ 240 typedef interface IDeckLinkIterator IDeckLinkIterator; 241 242 #endif /* __IDeckLinkIterator_FWD_DEFINED__ */ 243 244 245 #ifndef __IDeckLinkAPIInformation_FWD_DEFINED__ 246 #define __IDeckLinkAPIInformation_FWD_DEFINED__ 247 typedef interface IDeckLinkAPIInformation IDeckLinkAPIInformation; 248 249 #endif /* __IDeckLinkAPIInformation_FWD_DEFINED__ */ 250 251 252 #ifndef __IDeckLinkOutput_FWD_DEFINED__ 253 #define __IDeckLinkOutput_FWD_DEFINED__ 254 typedef interface IDeckLinkOutput IDeckLinkOutput; 255 256 #endif /* __IDeckLinkOutput_FWD_DEFINED__ */ 257 258 259 #ifndef __IDeckLinkInput_FWD_DEFINED__ 260 #define __IDeckLinkInput_FWD_DEFINED__ 261 typedef interface IDeckLinkInput IDeckLinkInput; 262 263 #endif /* __IDeckLinkInput_FWD_DEFINED__ */ 264 265 266 #ifndef __IDeckLinkHDMIInputEDID_FWD_DEFINED__ 267 #define __IDeckLinkHDMIInputEDID_FWD_DEFINED__ 268 typedef interface IDeckLinkHDMIInputEDID IDeckLinkHDMIInputEDID; 269 270 #endif /* __IDeckLinkHDMIInputEDID_FWD_DEFINED__ */ 271 272 273 #ifndef __IDeckLinkEncoderInput_FWD_DEFINED__ 274 #define __IDeckLinkEncoderInput_FWD_DEFINED__ 275 typedef interface IDeckLinkEncoderInput IDeckLinkEncoderInput; 276 277 #endif /* __IDeckLinkEncoderInput_FWD_DEFINED__ */ 278 279 280 #ifndef __IDeckLinkVideoFrame_FWD_DEFINED__ 281 #define __IDeckLinkVideoFrame_FWD_DEFINED__ 282 typedef interface IDeckLinkVideoFrame IDeckLinkVideoFrame; 283 284 #endif /* __IDeckLinkVideoFrame_FWD_DEFINED__ */ 285 286 287 #ifndef __IDeckLinkMutableVideoFrame_FWD_DEFINED__ 288 #define __IDeckLinkMutableVideoFrame_FWD_DEFINED__ 289 typedef interface IDeckLinkMutableVideoFrame IDeckLinkMutableVideoFrame; 290 291 #endif /* __IDeckLinkMutableVideoFrame_FWD_DEFINED__ */ 292 293 294 #ifndef __IDeckLinkVideoFrame3DExtensions_FWD_DEFINED__ 295 #define __IDeckLinkVideoFrame3DExtensions_FWD_DEFINED__ 296 typedef interface IDeckLinkVideoFrame3DExtensions IDeckLinkVideoFrame3DExtensions; 297 298 #endif /* __IDeckLinkVideoFrame3DExtensions_FWD_DEFINED__ */ 299 300 301 #ifndef __IDeckLinkVideoFrameMetadataExtensions_FWD_DEFINED__ 302 #define __IDeckLinkVideoFrameMetadataExtensions_FWD_DEFINED__ 303 typedef interface IDeckLinkVideoFrameMetadataExtensions IDeckLinkVideoFrameMetadataExtensions; 304 305 #endif /* __IDeckLinkVideoFrameMetadataExtensions_FWD_DEFINED__ */ 306 307 308 #ifndef __IDeckLinkVideoInputFrame_FWD_DEFINED__ 309 #define __IDeckLinkVideoInputFrame_FWD_DEFINED__ 310 typedef interface IDeckLinkVideoInputFrame IDeckLinkVideoInputFrame; 311 312 #endif /* __IDeckLinkVideoInputFrame_FWD_DEFINED__ */ 313 314 315 #ifndef __IDeckLinkAncillaryPacket_FWD_DEFINED__ 316 #define __IDeckLinkAncillaryPacket_FWD_DEFINED__ 317 typedef interface IDeckLinkAncillaryPacket IDeckLinkAncillaryPacket; 318 319 #endif /* __IDeckLinkAncillaryPacket_FWD_DEFINED__ */ 320 321 322 #ifndef __IDeckLinkAncillaryPacketIterator_FWD_DEFINED__ 323 #define __IDeckLinkAncillaryPacketIterator_FWD_DEFINED__ 324 typedef interface IDeckLinkAncillaryPacketIterator IDeckLinkAncillaryPacketIterator; 325 326 #endif /* __IDeckLinkAncillaryPacketIterator_FWD_DEFINED__ */ 327 328 329 #ifndef __IDeckLinkVideoFrameAncillaryPackets_FWD_DEFINED__ 330 #define __IDeckLinkVideoFrameAncillaryPackets_FWD_DEFINED__ 331 typedef interface IDeckLinkVideoFrameAncillaryPackets IDeckLinkVideoFrameAncillaryPackets; 332 333 #endif /* __IDeckLinkVideoFrameAncillaryPackets_FWD_DEFINED__ */ 334 335 336 #ifndef __IDeckLinkVideoFrameAncillary_FWD_DEFINED__ 337 #define __IDeckLinkVideoFrameAncillary_FWD_DEFINED__ 338 typedef interface IDeckLinkVideoFrameAncillary IDeckLinkVideoFrameAncillary; 339 340 #endif /* __IDeckLinkVideoFrameAncillary_FWD_DEFINED__ */ 341 342 343 #ifndef __IDeckLinkEncoderPacket_FWD_DEFINED__ 344 #define __IDeckLinkEncoderPacket_FWD_DEFINED__ 345 typedef interface IDeckLinkEncoderPacket IDeckLinkEncoderPacket; 346 347 #endif /* __IDeckLinkEncoderPacket_FWD_DEFINED__ */ 348 349 350 #ifndef __IDeckLinkEncoderVideoPacket_FWD_DEFINED__ 351 #define __IDeckLinkEncoderVideoPacket_FWD_DEFINED__ 352 typedef interface IDeckLinkEncoderVideoPacket IDeckLinkEncoderVideoPacket; 353 354 #endif /* __IDeckLinkEncoderVideoPacket_FWD_DEFINED__ */ 355 356 357 #ifndef __IDeckLinkEncoderAudioPacket_FWD_DEFINED__ 358 #define __IDeckLinkEncoderAudioPacket_FWD_DEFINED__ 359 typedef interface IDeckLinkEncoderAudioPacket IDeckLinkEncoderAudioPacket; 360 361 #endif /* __IDeckLinkEncoderAudioPacket_FWD_DEFINED__ */ 362 363 364 #ifndef __IDeckLinkH265NALPacket_FWD_DEFINED__ 365 #define __IDeckLinkH265NALPacket_FWD_DEFINED__ 366 typedef interface IDeckLinkH265NALPacket IDeckLinkH265NALPacket; 367 368 #endif /* __IDeckLinkH265NALPacket_FWD_DEFINED__ */ 369 370 371 #ifndef __IDeckLinkAudioInputPacket_FWD_DEFINED__ 372 #define __IDeckLinkAudioInputPacket_FWD_DEFINED__ 373 typedef interface IDeckLinkAudioInputPacket IDeckLinkAudioInputPacket; 374 375 #endif /* __IDeckLinkAudioInputPacket_FWD_DEFINED__ */ 376 377 378 #ifndef __IDeckLinkScreenPreviewCallback_FWD_DEFINED__ 379 #define __IDeckLinkScreenPreviewCallback_FWD_DEFINED__ 380 typedef interface IDeckLinkScreenPreviewCallback IDeckLinkScreenPreviewCallback; 381 382 #endif /* __IDeckLinkScreenPreviewCallback_FWD_DEFINED__ */ 383 384 385 #ifndef __IDeckLinkGLScreenPreviewHelper_FWD_DEFINED__ 386 #define __IDeckLinkGLScreenPreviewHelper_FWD_DEFINED__ 387 typedef interface IDeckLinkGLScreenPreviewHelper IDeckLinkGLScreenPreviewHelper; 388 389 #endif /* __IDeckLinkGLScreenPreviewHelper_FWD_DEFINED__ */ 390 391 392 #ifndef __IDeckLinkDX9ScreenPreviewHelper_FWD_DEFINED__ 393 #define __IDeckLinkDX9ScreenPreviewHelper_FWD_DEFINED__ 394 typedef interface IDeckLinkDX9ScreenPreviewHelper IDeckLinkDX9ScreenPreviewHelper; 395 396 #endif /* __IDeckLinkDX9ScreenPreviewHelper_FWD_DEFINED__ */ 397 398 399 #ifndef __IDeckLinkNotificationCallback_FWD_DEFINED__ 400 #define __IDeckLinkNotificationCallback_FWD_DEFINED__ 401 typedef interface IDeckLinkNotificationCallback IDeckLinkNotificationCallback; 402 403 #endif /* __IDeckLinkNotificationCallback_FWD_DEFINED__ */ 404 405 406 #ifndef __IDeckLinkNotification_FWD_DEFINED__ 407 #define __IDeckLinkNotification_FWD_DEFINED__ 408 typedef interface IDeckLinkNotification IDeckLinkNotification; 409 410 #endif /* __IDeckLinkNotification_FWD_DEFINED__ */ 411 412 413 #ifndef __IDeckLinkProfileAttributes_FWD_DEFINED__ 414 #define __IDeckLinkProfileAttributes_FWD_DEFINED__ 415 typedef interface IDeckLinkProfileAttributes IDeckLinkProfileAttributes; 416 417 #endif /* __IDeckLinkProfileAttributes_FWD_DEFINED__ */ 418 419 420 #ifndef __IDeckLinkProfileIterator_FWD_DEFINED__ 421 #define __IDeckLinkProfileIterator_FWD_DEFINED__ 422 typedef interface IDeckLinkProfileIterator IDeckLinkProfileIterator; 423 424 #endif /* __IDeckLinkProfileIterator_FWD_DEFINED__ */ 425 426 427 #ifndef __IDeckLinkProfile_FWD_DEFINED__ 428 #define __IDeckLinkProfile_FWD_DEFINED__ 429 typedef interface IDeckLinkProfile IDeckLinkProfile; 430 431 #endif /* __IDeckLinkProfile_FWD_DEFINED__ */ 432 433 434 #ifndef __IDeckLinkProfileCallback_FWD_DEFINED__ 435 #define __IDeckLinkProfileCallback_FWD_DEFINED__ 436 typedef interface IDeckLinkProfileCallback IDeckLinkProfileCallback; 437 438 #endif /* __IDeckLinkProfileCallback_FWD_DEFINED__ */ 439 440 441 #ifndef __IDeckLinkProfileManager_FWD_DEFINED__ 442 #define __IDeckLinkProfileManager_FWD_DEFINED__ 443 typedef interface IDeckLinkProfileManager IDeckLinkProfileManager; 444 445 #endif /* __IDeckLinkProfileManager_FWD_DEFINED__ */ 446 447 448 #ifndef __IDeckLinkStatus_FWD_DEFINED__ 449 #define __IDeckLinkStatus_FWD_DEFINED__ 450 typedef interface IDeckLinkStatus IDeckLinkStatus; 451 452 #endif /* __IDeckLinkStatus_FWD_DEFINED__ */ 453 454 455 #ifndef __IDeckLinkKeyer_FWD_DEFINED__ 456 #define __IDeckLinkKeyer_FWD_DEFINED__ 457 typedef interface IDeckLinkKeyer IDeckLinkKeyer; 458 459 #endif /* __IDeckLinkKeyer_FWD_DEFINED__ */ 460 461 462 #ifndef __IDeckLinkVideoConversion_FWD_DEFINED__ 463 #define __IDeckLinkVideoConversion_FWD_DEFINED__ 464 typedef interface IDeckLinkVideoConversion IDeckLinkVideoConversion; 465 466 #endif /* __IDeckLinkVideoConversion_FWD_DEFINED__ */ 467 468 469 #ifndef __IDeckLinkDeviceNotificationCallback_FWD_DEFINED__ 470 #define __IDeckLinkDeviceNotificationCallback_FWD_DEFINED__ 471 typedef interface IDeckLinkDeviceNotificationCallback IDeckLinkDeviceNotificationCallback; 472 473 #endif /* __IDeckLinkDeviceNotificationCallback_FWD_DEFINED__ */ 474 475 476 #ifndef __IDeckLinkDiscovery_FWD_DEFINED__ 477 #define __IDeckLinkDiscovery_FWD_DEFINED__ 478 typedef interface IDeckLinkDiscovery IDeckLinkDiscovery; 479 480 #endif /* __IDeckLinkDiscovery_FWD_DEFINED__ */ 481 482 483 #ifndef __CDeckLinkIterator_FWD_DEFINED__ 484 #define __CDeckLinkIterator_FWD_DEFINED__ 485 486 #ifdef __cplusplus 487 typedef class CDeckLinkIterator CDeckLinkIterator; 488 #else 489 typedef struct CDeckLinkIterator CDeckLinkIterator; 490 #endif /* __cplusplus */ 491 492 #endif /* __CDeckLinkIterator_FWD_DEFINED__ */ 493 494 495 #ifndef __CDeckLinkAPIInformation_FWD_DEFINED__ 496 #define __CDeckLinkAPIInformation_FWD_DEFINED__ 497 498 #ifdef __cplusplus 499 typedef class CDeckLinkAPIInformation CDeckLinkAPIInformation; 500 #else 501 typedef struct CDeckLinkAPIInformation CDeckLinkAPIInformation; 502 #endif /* __cplusplus */ 503 504 #endif /* __CDeckLinkAPIInformation_FWD_DEFINED__ */ 505 506 507 #ifndef __CDeckLinkGLScreenPreviewHelper_FWD_DEFINED__ 508 #define __CDeckLinkGLScreenPreviewHelper_FWD_DEFINED__ 509 510 #ifdef __cplusplus 511 typedef class CDeckLinkGLScreenPreviewHelper CDeckLinkGLScreenPreviewHelper; 512 #else 513 typedef struct CDeckLinkGLScreenPreviewHelper CDeckLinkGLScreenPreviewHelper; 514 #endif /* __cplusplus */ 515 516 #endif /* __CDeckLinkGLScreenPreviewHelper_FWD_DEFINED__ */ 517 518 519 #ifndef __CDeckLinkDX9ScreenPreviewHelper_FWD_DEFINED__ 520 #define __CDeckLinkDX9ScreenPreviewHelper_FWD_DEFINED__ 521 522 #ifdef __cplusplus 523 typedef class CDeckLinkDX9ScreenPreviewHelper CDeckLinkDX9ScreenPreviewHelper; 524 #else 525 typedef struct CDeckLinkDX9ScreenPreviewHelper CDeckLinkDX9ScreenPreviewHelper; 526 #endif /* __cplusplus */ 527 528 #endif /* __CDeckLinkDX9ScreenPreviewHelper_FWD_DEFINED__ */ 529 530 531 #ifndef __CDeckLinkVideoConversion_FWD_DEFINED__ 532 #define __CDeckLinkVideoConversion_FWD_DEFINED__ 533 534 #ifdef __cplusplus 535 typedef class CDeckLinkVideoConversion CDeckLinkVideoConversion; 536 #else 537 typedef struct CDeckLinkVideoConversion CDeckLinkVideoConversion; 538 #endif /* __cplusplus */ 539 540 #endif /* __CDeckLinkVideoConversion_FWD_DEFINED__ */ 541 542 543 #ifndef __CDeckLinkDiscovery_FWD_DEFINED__ 544 #define __CDeckLinkDiscovery_FWD_DEFINED__ 545 546 #ifdef __cplusplus 547 typedef class CDeckLinkDiscovery CDeckLinkDiscovery; 548 #else 549 typedef struct CDeckLinkDiscovery CDeckLinkDiscovery; 550 #endif /* __cplusplus */ 551 552 #endif /* __CDeckLinkDiscovery_FWD_DEFINED__ */ 553 554 555 #ifndef __CDeckLinkVideoFrameAncillaryPackets_FWD_DEFINED__ 556 #define __CDeckLinkVideoFrameAncillaryPackets_FWD_DEFINED__ 557 558 #ifdef __cplusplus 559 typedef class CDeckLinkVideoFrameAncillaryPackets CDeckLinkVideoFrameAncillaryPackets; 560 #else 561 typedef struct CDeckLinkVideoFrameAncillaryPackets CDeckLinkVideoFrameAncillaryPackets; 562 #endif /* __cplusplus */ 563 564 #endif /* __CDeckLinkVideoFrameAncillaryPackets_FWD_DEFINED__ */ 565 566 567 #ifndef __IDeckLinkConfiguration_v10_11_FWD_DEFINED__ 568 #define __IDeckLinkConfiguration_v10_11_FWD_DEFINED__ 569 typedef interface IDeckLinkConfiguration_v10_11 IDeckLinkConfiguration_v10_11; 570 571 #endif /* __IDeckLinkConfiguration_v10_11_FWD_DEFINED__ */ 572 573 574 #ifndef __IDeckLinkAttributes_v10_11_FWD_DEFINED__ 575 #define __IDeckLinkAttributes_v10_11_FWD_DEFINED__ 576 typedef interface IDeckLinkAttributes_v10_11 IDeckLinkAttributes_v10_11; 577 578 #endif /* __IDeckLinkAttributes_v10_11_FWD_DEFINED__ */ 579 580 581 #ifndef __IDeckLinkNotification_v10_11_FWD_DEFINED__ 582 #define __IDeckLinkNotification_v10_11_FWD_DEFINED__ 583 typedef interface IDeckLinkNotification_v10_11 IDeckLinkNotification_v10_11; 584 585 #endif /* __IDeckLinkNotification_v10_11_FWD_DEFINED__ */ 586 587 588 #ifndef __IDeckLinkOutput_v10_11_FWD_DEFINED__ 589 #define __IDeckLinkOutput_v10_11_FWD_DEFINED__ 590 typedef interface IDeckLinkOutput_v10_11 IDeckLinkOutput_v10_11; 591 592 #endif /* __IDeckLinkOutput_v10_11_FWD_DEFINED__ */ 593 594 595 #ifndef __IDeckLinkInput_v10_11_FWD_DEFINED__ 596 #define __IDeckLinkInput_v10_11_FWD_DEFINED__ 597 typedef interface IDeckLinkInput_v10_11 IDeckLinkInput_v10_11; 598 599 #endif /* __IDeckLinkInput_v10_11_FWD_DEFINED__ */ 600 601 602 #ifndef __IDeckLinkEncoderInput_v10_11_FWD_DEFINED__ 603 #define __IDeckLinkEncoderInput_v10_11_FWD_DEFINED__ 604 typedef interface IDeckLinkEncoderInput_v10_11 IDeckLinkEncoderInput_v10_11; 605 606 #endif /* __IDeckLinkEncoderInput_v10_11_FWD_DEFINED__ */ 607 608 609 #ifndef __CDeckLinkIterator_v10_11_FWD_DEFINED__ 610 #define __CDeckLinkIterator_v10_11_FWD_DEFINED__ 611 612 #ifdef __cplusplus 613 typedef class CDeckLinkIterator_v10_11 CDeckLinkIterator_v10_11; 614 #else 615 typedef struct CDeckLinkIterator_v10_11 CDeckLinkIterator_v10_11; 616 #endif /* __cplusplus */ 617 618 #endif /* __CDeckLinkIterator_v10_11_FWD_DEFINED__ */ 619 620 621 #ifndef __CDeckLinkDiscovery_v10_11_FWD_DEFINED__ 622 #define __CDeckLinkDiscovery_v10_11_FWD_DEFINED__ 623 624 #ifdef __cplusplus 625 typedef class CDeckLinkDiscovery_v10_11 CDeckLinkDiscovery_v10_11; 626 #else 627 typedef struct CDeckLinkDiscovery_v10_11 CDeckLinkDiscovery_v10_11; 628 #endif /* __cplusplus */ 629 630 #endif /* __CDeckLinkDiscovery_v10_11_FWD_DEFINED__ */ 631 632 633 #ifndef __IDeckLinkConfiguration_v10_9_FWD_DEFINED__ 634 #define __IDeckLinkConfiguration_v10_9_FWD_DEFINED__ 635 typedef interface IDeckLinkConfiguration_v10_9 IDeckLinkConfiguration_v10_9; 636 637 #endif /* __IDeckLinkConfiguration_v10_9_FWD_DEFINED__ */ 638 639 640 #ifndef __CBMDStreamingDiscovery_v10_8_FWD_DEFINED__ 641 #define __CBMDStreamingDiscovery_v10_8_FWD_DEFINED__ 642 643 #ifdef __cplusplus 644 typedef class CBMDStreamingDiscovery_v10_8 CBMDStreamingDiscovery_v10_8; 645 #else 646 typedef struct CBMDStreamingDiscovery_v10_8 CBMDStreamingDiscovery_v10_8; 647 #endif /* __cplusplus */ 648 649 #endif /* __CBMDStreamingDiscovery_v10_8_FWD_DEFINED__ */ 650 651 652 #ifndef __CDeckLinkIterator_v10_8_FWD_DEFINED__ 653 #define __CDeckLinkIterator_v10_8_FWD_DEFINED__ 654 655 #ifdef __cplusplus 656 typedef class CDeckLinkIterator_v10_8 CDeckLinkIterator_v10_8; 657 #else 658 typedef struct CDeckLinkIterator_v10_8 CDeckLinkIterator_v10_8; 659 #endif /* __cplusplus */ 660 661 #endif /* __CDeckLinkIterator_v10_8_FWD_DEFINED__ */ 662 663 664 #ifndef __CDeckLinkDiscovery_v10_8_FWD_DEFINED__ 665 #define __CDeckLinkDiscovery_v10_8_FWD_DEFINED__ 666 667 #ifdef __cplusplus 668 typedef class CDeckLinkDiscovery_v10_8 CDeckLinkDiscovery_v10_8; 669 #else 670 typedef struct CDeckLinkDiscovery_v10_8 CDeckLinkDiscovery_v10_8; 671 #endif /* __cplusplus */ 672 673 #endif /* __CDeckLinkDiscovery_v10_8_FWD_DEFINED__ */ 674 675 676 #ifndef __IDeckLinkEncoderConfiguration_v10_5_FWD_DEFINED__ 677 #define __IDeckLinkEncoderConfiguration_v10_5_FWD_DEFINED__ 678 typedef interface IDeckLinkEncoderConfiguration_v10_5 IDeckLinkEncoderConfiguration_v10_5; 679 680 #endif /* __IDeckLinkEncoderConfiguration_v10_5_FWD_DEFINED__ */ 681 682 683 #ifndef __IDeckLinkConfiguration_v10_4_FWD_DEFINED__ 684 #define __IDeckLinkConfiguration_v10_4_FWD_DEFINED__ 685 typedef interface IDeckLinkConfiguration_v10_4 IDeckLinkConfiguration_v10_4; 686 687 #endif /* __IDeckLinkConfiguration_v10_4_FWD_DEFINED__ */ 688 689 690 #ifndef __IDeckLinkConfiguration_v10_2_FWD_DEFINED__ 691 #define __IDeckLinkConfiguration_v10_2_FWD_DEFINED__ 692 typedef interface IDeckLinkConfiguration_v10_2 IDeckLinkConfiguration_v10_2; 693 694 #endif /* __IDeckLinkConfiguration_v10_2_FWD_DEFINED__ */ 695 696 697 #ifndef __IDeckLinkOutput_v9_9_FWD_DEFINED__ 698 #define __IDeckLinkOutput_v9_9_FWD_DEFINED__ 699 typedef interface IDeckLinkOutput_v9_9 IDeckLinkOutput_v9_9; 700 701 #endif /* __IDeckLinkOutput_v9_9_FWD_DEFINED__ */ 702 703 704 #ifndef __IDeckLinkInput_v9_2_FWD_DEFINED__ 705 #define __IDeckLinkInput_v9_2_FWD_DEFINED__ 706 typedef interface IDeckLinkInput_v9_2 IDeckLinkInput_v9_2; 707 708 #endif /* __IDeckLinkInput_v9_2_FWD_DEFINED__ */ 709 710 711 #ifndef __IDeckLinkDeckControlStatusCallback_v8_1_FWD_DEFINED__ 712 #define __IDeckLinkDeckControlStatusCallback_v8_1_FWD_DEFINED__ 713 typedef interface IDeckLinkDeckControlStatusCallback_v8_1 IDeckLinkDeckControlStatusCallback_v8_1; 714 715 #endif /* __IDeckLinkDeckControlStatusCallback_v8_1_FWD_DEFINED__ */ 716 717 718 #ifndef __IDeckLinkDeckControl_v8_1_FWD_DEFINED__ 719 #define __IDeckLinkDeckControl_v8_1_FWD_DEFINED__ 720 typedef interface IDeckLinkDeckControl_v8_1 IDeckLinkDeckControl_v8_1; 721 722 #endif /* __IDeckLinkDeckControl_v8_1_FWD_DEFINED__ */ 723 724 725 #ifndef __IDeckLink_v8_0_FWD_DEFINED__ 726 #define __IDeckLink_v8_0_FWD_DEFINED__ 727 typedef interface IDeckLink_v8_0 IDeckLink_v8_0; 728 729 #endif /* __IDeckLink_v8_0_FWD_DEFINED__ */ 730 731 732 #ifndef __IDeckLinkIterator_v8_0_FWD_DEFINED__ 733 #define __IDeckLinkIterator_v8_0_FWD_DEFINED__ 734 typedef interface IDeckLinkIterator_v8_0 IDeckLinkIterator_v8_0; 735 736 #endif /* __IDeckLinkIterator_v8_0_FWD_DEFINED__ */ 737 738 739 #ifndef __CDeckLinkIterator_v8_0_FWD_DEFINED__ 740 #define __CDeckLinkIterator_v8_0_FWD_DEFINED__ 741 742 #ifdef __cplusplus 743 typedef class CDeckLinkIterator_v8_0 CDeckLinkIterator_v8_0; 744 #else 745 typedef struct CDeckLinkIterator_v8_0 CDeckLinkIterator_v8_0; 746 #endif /* __cplusplus */ 747 748 #endif /* __CDeckLinkIterator_v8_0_FWD_DEFINED__ */ 749 750 751 #ifndef __IDeckLinkDeckControl_v7_9_FWD_DEFINED__ 752 #define __IDeckLinkDeckControl_v7_9_FWD_DEFINED__ 753 typedef interface IDeckLinkDeckControl_v7_9 IDeckLinkDeckControl_v7_9; 754 755 #endif /* __IDeckLinkDeckControl_v7_9_FWD_DEFINED__ */ 756 757 758 #ifndef __IDeckLinkDisplayModeIterator_v7_6_FWD_DEFINED__ 759 #define __IDeckLinkDisplayModeIterator_v7_6_FWD_DEFINED__ 760 typedef interface IDeckLinkDisplayModeIterator_v7_6 IDeckLinkDisplayModeIterator_v7_6; 761 762 #endif /* __IDeckLinkDisplayModeIterator_v7_6_FWD_DEFINED__ */ 763 764 765 #ifndef __IDeckLinkDisplayMode_v7_6_FWD_DEFINED__ 766 #define __IDeckLinkDisplayMode_v7_6_FWD_DEFINED__ 767 typedef interface IDeckLinkDisplayMode_v7_6 IDeckLinkDisplayMode_v7_6; 768 769 #endif /* __IDeckLinkDisplayMode_v7_6_FWD_DEFINED__ */ 770 771 772 #ifndef __IDeckLinkOutput_v7_6_FWD_DEFINED__ 773 #define __IDeckLinkOutput_v7_6_FWD_DEFINED__ 774 typedef interface IDeckLinkOutput_v7_6 IDeckLinkOutput_v7_6; 775 776 #endif /* __IDeckLinkOutput_v7_6_FWD_DEFINED__ */ 777 778 779 #ifndef __IDeckLinkInput_v7_6_FWD_DEFINED__ 780 #define __IDeckLinkInput_v7_6_FWD_DEFINED__ 781 typedef interface IDeckLinkInput_v7_6 IDeckLinkInput_v7_6; 782 783 #endif /* __IDeckLinkInput_v7_6_FWD_DEFINED__ */ 784 785 786 #ifndef __IDeckLinkTimecode_v7_6_FWD_DEFINED__ 787 #define __IDeckLinkTimecode_v7_6_FWD_DEFINED__ 788 typedef interface IDeckLinkTimecode_v7_6 IDeckLinkTimecode_v7_6; 789 790 #endif /* __IDeckLinkTimecode_v7_6_FWD_DEFINED__ */ 791 792 793 #ifndef __IDeckLinkVideoFrame_v7_6_FWD_DEFINED__ 794 #define __IDeckLinkVideoFrame_v7_6_FWD_DEFINED__ 795 typedef interface IDeckLinkVideoFrame_v7_6 IDeckLinkVideoFrame_v7_6; 796 797 #endif /* __IDeckLinkVideoFrame_v7_6_FWD_DEFINED__ */ 798 799 800 #ifndef __IDeckLinkMutableVideoFrame_v7_6_FWD_DEFINED__ 801 #define __IDeckLinkMutableVideoFrame_v7_6_FWD_DEFINED__ 802 typedef interface IDeckLinkMutableVideoFrame_v7_6 IDeckLinkMutableVideoFrame_v7_6; 803 804 #endif /* __IDeckLinkMutableVideoFrame_v7_6_FWD_DEFINED__ */ 805 806 807 #ifndef __IDeckLinkVideoInputFrame_v7_6_FWD_DEFINED__ 808 #define __IDeckLinkVideoInputFrame_v7_6_FWD_DEFINED__ 809 typedef interface IDeckLinkVideoInputFrame_v7_6 IDeckLinkVideoInputFrame_v7_6; 810 811 #endif /* __IDeckLinkVideoInputFrame_v7_6_FWD_DEFINED__ */ 812 813 814 #ifndef __IDeckLinkScreenPreviewCallback_v7_6_FWD_DEFINED__ 815 #define __IDeckLinkScreenPreviewCallback_v7_6_FWD_DEFINED__ 816 typedef interface IDeckLinkScreenPreviewCallback_v7_6 IDeckLinkScreenPreviewCallback_v7_6; 817 818 #endif /* __IDeckLinkScreenPreviewCallback_v7_6_FWD_DEFINED__ */ 819 820 821 #ifndef __IDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__ 822 #define __IDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__ 823 typedef interface IDeckLinkGLScreenPreviewHelper_v7_6 IDeckLinkGLScreenPreviewHelper_v7_6; 824 825 #endif /* __IDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__ */ 826 827 828 #ifndef __IDeckLinkVideoConversion_v7_6_FWD_DEFINED__ 829 #define __IDeckLinkVideoConversion_v7_6_FWD_DEFINED__ 830 typedef interface IDeckLinkVideoConversion_v7_6 IDeckLinkVideoConversion_v7_6; 831 832 #endif /* __IDeckLinkVideoConversion_v7_6_FWD_DEFINED__ */ 833 834 835 #ifndef __IDeckLinkConfiguration_v7_6_FWD_DEFINED__ 836 #define __IDeckLinkConfiguration_v7_6_FWD_DEFINED__ 837 typedef interface IDeckLinkConfiguration_v7_6 IDeckLinkConfiguration_v7_6; 838 839 #endif /* __IDeckLinkConfiguration_v7_6_FWD_DEFINED__ */ 840 841 842 #ifndef __IDeckLinkVideoOutputCallback_v7_6_FWD_DEFINED__ 843 #define __IDeckLinkVideoOutputCallback_v7_6_FWD_DEFINED__ 844 typedef interface IDeckLinkVideoOutputCallback_v7_6 IDeckLinkVideoOutputCallback_v7_6; 845 846 #endif /* __IDeckLinkVideoOutputCallback_v7_6_FWD_DEFINED__ */ 847 848 849 #ifndef __IDeckLinkInputCallback_v7_6_FWD_DEFINED__ 850 #define __IDeckLinkInputCallback_v7_6_FWD_DEFINED__ 851 typedef interface IDeckLinkInputCallback_v7_6 IDeckLinkInputCallback_v7_6; 852 853 #endif /* __IDeckLinkInputCallback_v7_6_FWD_DEFINED__ */ 854 855 856 #ifndef __CDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__ 857 #define __CDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__ 858 859 #ifdef __cplusplus 860 typedef class CDeckLinkGLScreenPreviewHelper_v7_6 CDeckLinkGLScreenPreviewHelper_v7_6; 861 #else 862 typedef struct CDeckLinkGLScreenPreviewHelper_v7_6 CDeckLinkGLScreenPreviewHelper_v7_6; 863 #endif /* __cplusplus */ 864 865 #endif /* __CDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__ */ 866 867 868 #ifndef __CDeckLinkVideoConversion_v7_6_FWD_DEFINED__ 869 #define __CDeckLinkVideoConversion_v7_6_FWD_DEFINED__ 870 871 #ifdef __cplusplus 872 typedef class CDeckLinkVideoConversion_v7_6 CDeckLinkVideoConversion_v7_6; 873 #else 874 typedef struct CDeckLinkVideoConversion_v7_6 CDeckLinkVideoConversion_v7_6; 875 #endif /* __cplusplus */ 876 877 #endif /* __CDeckLinkVideoConversion_v7_6_FWD_DEFINED__ */ 878 879 880 #ifndef __IDeckLinkInputCallback_v7_3_FWD_DEFINED__ 881 #define __IDeckLinkInputCallback_v7_3_FWD_DEFINED__ 882 typedef interface IDeckLinkInputCallback_v7_3 IDeckLinkInputCallback_v7_3; 883 884 #endif /* __IDeckLinkInputCallback_v7_3_FWD_DEFINED__ */ 885 886 887 #ifndef __IDeckLinkOutput_v7_3_FWD_DEFINED__ 888 #define __IDeckLinkOutput_v7_3_FWD_DEFINED__ 889 typedef interface IDeckLinkOutput_v7_3 IDeckLinkOutput_v7_3; 890 891 #endif /* __IDeckLinkOutput_v7_3_FWD_DEFINED__ */ 892 893 894 #ifndef __IDeckLinkInput_v7_3_FWD_DEFINED__ 895 #define __IDeckLinkInput_v7_3_FWD_DEFINED__ 896 typedef interface IDeckLinkInput_v7_3 IDeckLinkInput_v7_3; 897 898 #endif /* __IDeckLinkInput_v7_3_FWD_DEFINED__ */ 899 900 901 #ifndef __IDeckLinkVideoInputFrame_v7_3_FWD_DEFINED__ 902 #define __IDeckLinkVideoInputFrame_v7_3_FWD_DEFINED__ 903 typedef interface IDeckLinkVideoInputFrame_v7_3 IDeckLinkVideoInputFrame_v7_3; 904 905 #endif /* __IDeckLinkVideoInputFrame_v7_3_FWD_DEFINED__ */ 906 907 908 #ifndef __IDeckLinkDisplayModeIterator_v7_1_FWD_DEFINED__ 909 #define __IDeckLinkDisplayModeIterator_v7_1_FWD_DEFINED__ 910 typedef interface IDeckLinkDisplayModeIterator_v7_1 IDeckLinkDisplayModeIterator_v7_1; 911 912 #endif /* __IDeckLinkDisplayModeIterator_v7_1_FWD_DEFINED__ */ 913 914 915 #ifndef __IDeckLinkDisplayMode_v7_1_FWD_DEFINED__ 916 #define __IDeckLinkDisplayMode_v7_1_FWD_DEFINED__ 917 typedef interface IDeckLinkDisplayMode_v7_1 IDeckLinkDisplayMode_v7_1; 918 919 #endif /* __IDeckLinkDisplayMode_v7_1_FWD_DEFINED__ */ 920 921 922 #ifndef __IDeckLinkVideoFrame_v7_1_FWD_DEFINED__ 923 #define __IDeckLinkVideoFrame_v7_1_FWD_DEFINED__ 924 typedef interface IDeckLinkVideoFrame_v7_1 IDeckLinkVideoFrame_v7_1; 925 926 #endif /* __IDeckLinkVideoFrame_v7_1_FWD_DEFINED__ */ 927 928 929 #ifndef __IDeckLinkVideoInputFrame_v7_1_FWD_DEFINED__ 930 #define __IDeckLinkVideoInputFrame_v7_1_FWD_DEFINED__ 931 typedef interface IDeckLinkVideoInputFrame_v7_1 IDeckLinkVideoInputFrame_v7_1; 932 933 #endif /* __IDeckLinkVideoInputFrame_v7_1_FWD_DEFINED__ */ 934 935 936 #ifndef __IDeckLinkAudioInputPacket_v7_1_FWD_DEFINED__ 937 #define __IDeckLinkAudioInputPacket_v7_1_FWD_DEFINED__ 938 typedef interface IDeckLinkAudioInputPacket_v7_1 IDeckLinkAudioInputPacket_v7_1; 939 940 #endif /* __IDeckLinkAudioInputPacket_v7_1_FWD_DEFINED__ */ 941 942 943 #ifndef __IDeckLinkVideoOutputCallback_v7_1_FWD_DEFINED__ 944 #define __IDeckLinkVideoOutputCallback_v7_1_FWD_DEFINED__ 945 typedef interface IDeckLinkVideoOutputCallback_v7_1 IDeckLinkVideoOutputCallback_v7_1; 946 947 #endif /* __IDeckLinkVideoOutputCallback_v7_1_FWD_DEFINED__ */ 948 949 950 #ifndef __IDeckLinkInputCallback_v7_1_FWD_DEFINED__ 951 #define __IDeckLinkInputCallback_v7_1_FWD_DEFINED__ 952 typedef interface IDeckLinkInputCallback_v7_1 IDeckLinkInputCallback_v7_1; 953 954 #endif /* __IDeckLinkInputCallback_v7_1_FWD_DEFINED__ */ 955 956 957 #ifndef __IDeckLinkOutput_v7_1_FWD_DEFINED__ 958 #define __IDeckLinkOutput_v7_1_FWD_DEFINED__ 959 typedef interface IDeckLinkOutput_v7_1 IDeckLinkOutput_v7_1; 960 961 #endif /* __IDeckLinkOutput_v7_1_FWD_DEFINED__ */ 962 963 964 #ifndef __IDeckLinkInput_v7_1_FWD_DEFINED__ 965 #define __IDeckLinkInput_v7_1_FWD_DEFINED__ 966 typedef interface IDeckLinkInput_v7_1 IDeckLinkInput_v7_1; 967 968 #endif /* __IDeckLinkInput_v7_1_FWD_DEFINED__ */ 969 970 971 /* header files for imported files */ 972 #include "unknwn.h" 973 974 #ifdef __cplusplus 975 extern "C"{ 976 #endif 977 978 979 980 #ifndef __DeckLinkAPI_LIBRARY_DEFINED__ 981 #define __DeckLinkAPI_LIBRARY_DEFINED__ 982 983 /* library DeckLinkAPI */ 984 /* [helpstring][version][uuid] */ 985 986 typedef LONGLONG BMDTimeValue; 987 988 typedef LONGLONG BMDTimeScale; 989 990 typedef unsigned int BMDTimecodeBCD; 991 992 typedef unsigned int BMDTimecodeUserBits; 993 994 typedef unsigned int BMDTimecodeFlags; 995 #if 0 996 typedef enum _BMDTimecodeFlags BMDTimecodeFlags; 997 998 #endif 999 /* [v1_enum] */ 1000 enum _BMDTimecodeFlags 1001 { 1002 bmdTimecodeFlagDefault = 0, 1003 bmdTimecodeIsDropFrame = ( 1 << 0 ) , 1004 bmdTimecodeFieldMark = ( 1 << 1 ) , 1005 bmdTimecodeColorFrame = ( 1 << 2 ) , 1006 bmdTimecodeEmbedRecordingTrigger = ( 1 << 3 ) , 1007 bmdTimecodeRecordingTriggered = ( 1 << 4 ) 1008 } ; 1009 typedef /* [v1_enum] */ 1010 enum _BMDVideoConnection 1011 { 1012 bmdVideoConnectionUnspecified = 0, 1013 bmdVideoConnectionSDI = ( 1 << 0 ) , 1014 bmdVideoConnectionHDMI = ( 1 << 1 ) , 1015 bmdVideoConnectionOpticalSDI = ( 1 << 2 ) , 1016 bmdVideoConnectionComponent = ( 1 << 3 ) , 1017 bmdVideoConnectionComposite = ( 1 << 4 ) , 1018 bmdVideoConnectionSVideo = ( 1 << 5 ) 1019 } BMDVideoConnection; 1020 1021 typedef /* [v1_enum] */ 1022 enum _BMDAudioConnection 1023 { 1024 bmdAudioConnectionEmbedded = ( 1 << 0 ) , 1025 bmdAudioConnectionAESEBU = ( 1 << 1 ) , 1026 bmdAudioConnectionAnalog = ( 1 << 2 ) , 1027 bmdAudioConnectionAnalogXLR = ( 1 << 3 ) , 1028 bmdAudioConnectionAnalogRCA = ( 1 << 4 ) , 1029 bmdAudioConnectionMicrophone = ( 1 << 5 ) , 1030 bmdAudioConnectionHeadphones = ( 1 << 6 ) 1031 } BMDAudioConnection; 1032 1033 typedef /* [v1_enum] */ 1034 enum _BMDDeckControlConnection 1035 { 1036 bmdDeckControlConnectionRS422Remote1 = ( 1 << 0 ) , 1037 bmdDeckControlConnectionRS422Remote2 = ( 1 << 1 ) 1038 } BMDDeckControlConnection; 1039 1040 1041 typedef unsigned int BMDDisplayModeFlags; 1042 #if 0 1043 typedef enum _BMDDisplayModeFlags BMDDisplayModeFlags; 1044 1045 #endif 1046 typedef /* [v1_enum] */ 1047 enum _BMDDisplayMode 1048 { 1049 bmdModeNTSC = 0x6e747363, 1050 bmdModeNTSC2398 = 0x6e743233, 1051 bmdModePAL = 0x70616c20, 1052 bmdModeNTSCp = 0x6e747370, 1053 bmdModePALp = 0x70616c70, 1054 bmdModeHD1080p2398 = 0x32337073, 1055 bmdModeHD1080p24 = 0x32347073, 1056 bmdModeHD1080p25 = 0x48703235, 1057 bmdModeHD1080p2997 = 0x48703239, 1058 bmdModeHD1080p30 = 0x48703330, 1059 bmdModeHD1080p4795 = 0x48703437, 1060 bmdModeHD1080p48 = 0x48703438, 1061 bmdModeHD1080p50 = 0x48703530, 1062 bmdModeHD1080p5994 = 0x48703539, 1063 bmdModeHD1080p6000 = 0x48703630, 1064 bmdModeHD1080p9590 = 0x48703935, 1065 bmdModeHD1080p96 = 0x48703936, 1066 bmdModeHD1080p100 = 0x48703130, 1067 bmdModeHD1080p11988 = 0x48703131, 1068 bmdModeHD1080p120 = 0x48703132, 1069 bmdModeHD1080i50 = 0x48693530, 1070 bmdModeHD1080i5994 = 0x48693539, 1071 bmdModeHD1080i6000 = 0x48693630, 1072 bmdModeHD720p50 = 0x68703530, 1073 bmdModeHD720p5994 = 0x68703539, 1074 bmdModeHD720p60 = 0x68703630, 1075 bmdMode2k2398 = 0x326b3233, 1076 bmdMode2k24 = 0x326b3234, 1077 bmdMode2k25 = 0x326b3235, 1078 bmdMode2kDCI2398 = 0x32643233, 1079 bmdMode2kDCI24 = 0x32643234, 1080 bmdMode2kDCI25 = 0x32643235, 1081 bmdMode2kDCI2997 = 0x32643239, 1082 bmdMode2kDCI30 = 0x32643330, 1083 bmdMode2kDCI4795 = 0x32643437, 1084 bmdMode2kDCI48 = 0x32643438, 1085 bmdMode2kDCI50 = 0x32643530, 1086 bmdMode2kDCI5994 = 0x32643539, 1087 bmdMode2kDCI60 = 0x32643630, 1088 bmdMode2kDCI9590 = 0x32643935, 1089 bmdMode2kDCI96 = 0x32643936, 1090 bmdMode2kDCI100 = 0x32643130, 1091 bmdMode2kDCI11988 = 0x32643131, 1092 bmdMode2kDCI120 = 0x32643132, 1093 bmdMode4K2160p2398 = 0x346b3233, 1094 bmdMode4K2160p24 = 0x346b3234, 1095 bmdMode4K2160p25 = 0x346b3235, 1096 bmdMode4K2160p2997 = 0x346b3239, 1097 bmdMode4K2160p30 = 0x346b3330, 1098 bmdMode4K2160p4795 = 0x346b3437, 1099 bmdMode4K2160p48 = 0x346b3438, 1100 bmdMode4K2160p50 = 0x346b3530, 1101 bmdMode4K2160p5994 = 0x346b3539, 1102 bmdMode4K2160p60 = 0x346b3630, 1103 bmdMode4K2160p9590 = 0x346b3935, 1104 bmdMode4K2160p96 = 0x346b3936, 1105 bmdMode4K2160p100 = 0x346b3130, 1106 bmdMode4K2160p11988 = 0x346b3131, 1107 bmdMode4K2160p120 = 0x346b3132, 1108 bmdMode4kDCI2398 = 0x34643233, 1109 bmdMode4kDCI24 = 0x34643234, 1110 bmdMode4kDCI25 = 0x34643235, 1111 bmdMode4kDCI2997 = 0x34643239, 1112 bmdMode4kDCI30 = 0x34643330, 1113 bmdMode4kDCI4795 = 0x34643437, 1114 bmdMode4kDCI48 = 0x34643438, 1115 bmdMode4kDCI50 = 0x34643530, 1116 bmdMode4kDCI5994 = 0x34643539, 1117 bmdMode4kDCI60 = 0x34643630, 1118 bmdMode4kDCI9590 = 0x34643935, 1119 bmdMode4kDCI96 = 0x34643936, 1120 bmdMode4kDCI100 = 0x34643130, 1121 bmdMode4kDCI11988 = 0x34643131, 1122 bmdMode4kDCI120 = 0x34643132, 1123 bmdMode8K4320p2398 = 0x386b3233, 1124 bmdMode8K4320p24 = 0x386b3234, 1125 bmdMode8K4320p25 = 0x386b3235, 1126 bmdMode8K4320p2997 = 0x386b3239, 1127 bmdMode8K4320p30 = 0x386b3330, 1128 bmdMode8K4320p4795 = 0x386b3437, 1129 bmdMode8K4320p48 = 0x386b3438, 1130 bmdMode8K4320p50 = 0x386b3530, 1131 bmdMode8K4320p5994 = 0x386b3539, 1132 bmdMode8K4320p60 = 0x386b3630, 1133 bmdMode8kDCI2398 = 0x38643233, 1134 bmdMode8kDCI24 = 0x38643234, 1135 bmdMode8kDCI25 = 0x38643235, 1136 bmdMode8kDCI2997 = 0x38643239, 1137 bmdMode8kDCI30 = 0x38643330, 1138 bmdMode8kDCI4795 = 0x38643437, 1139 bmdMode8kDCI48 = 0x38643438, 1140 bmdMode8kDCI50 = 0x38643530, 1141 bmdMode8kDCI5994 = 0x38643539, 1142 bmdMode8kDCI60 = 0x38643630, 1143 bmdMode640x480p60 = 0x76676136, 1144 bmdMode800x600p60 = 0x73766736, 1145 bmdMode1440x900p50 = 0x77786735, 1146 bmdMode1440x900p60 = 0x77786736, 1147 bmdMode1440x1080p50 = 0x73786735, 1148 bmdMode1440x1080p60 = 0x73786736, 1149 bmdMode1600x1200p50 = 0x75786735, 1150 bmdMode1600x1200p60 = 0x75786736, 1151 bmdMode1920x1200p50 = 0x77757835, 1152 bmdMode1920x1200p60 = 0x77757836, 1153 bmdMode1920x1440p50 = 0x31393435, 1154 bmdMode1920x1440p60 = 0x31393436, 1155 bmdMode2560x1440p50 = 0x77716835, 1156 bmdMode2560x1440p60 = 0x77716836, 1157 bmdMode2560x1600p50 = 0x77717835, 1158 bmdMode2560x1600p60 = 0x77717836, 1159 bmdModeCintelRAW = 0x72776369, 1160 bmdModeCintelCompressedRAW = 0x72776363, 1161 bmdModeUnknown = 0x69756e6b 1162 } BMDDisplayMode; 1163 1164 typedef /* [v1_enum] */ 1165 enum _BMDFieldDominance 1166 { 1167 bmdUnknownFieldDominance = 0, 1168 bmdLowerFieldFirst = 0x6c6f7772, 1169 bmdUpperFieldFirst = 0x75707072, 1170 bmdProgressiveFrame = 0x70726f67, 1171 bmdProgressiveSegmentedFrame = 0x70736620 1172 } BMDFieldDominance; 1173 1174 typedef /* [v1_enum] */ 1175 enum _BMDPixelFormat 1176 { 1177 bmdFormatUnspecified = 0, 1178 bmdFormat8BitYUV = 0x32767579, 1179 bmdFormat10BitYUV = 0x76323130, 1180 bmdFormat8BitARGB = 32, 1181 bmdFormat8BitBGRA = 0x42475241, 1182 bmdFormat10BitRGB = 0x72323130, 1183 bmdFormat12BitRGB = 0x52313242, 1184 bmdFormat12BitRGBLE = 0x5231324c, 1185 bmdFormat10BitRGBXLE = 0x5231306c, 1186 bmdFormat10BitRGBX = 0x52313062, 1187 bmdFormatH265 = 0x68657631, 1188 bmdFormatDNxHR = 0x41566468, 1189 bmdFormat12BitRAWGRBG = 0x72313270, 1190 bmdFormat12BitRAWJPEG = 0x72313670 1191 } BMDPixelFormat; 1192 1193 /* [v1_enum] */ 1194 enum _BMDDisplayModeFlags 1195 { 1196 bmdDisplayModeSupports3D = ( 1 << 0 ) , 1197 bmdDisplayModeColorspaceRec601 = ( 1 << 1 ) , 1198 bmdDisplayModeColorspaceRec709 = ( 1 << 2 ) , 1199 bmdDisplayModeColorspaceRec2020 = ( 1 << 3 ) 1200 } ; 1201 1202 1203 #if 0 1204 #endif 1205 1206 #if 0 1207 #endif 1208 typedef /* [v1_enum] */ 1209 enum _BMDDeckLinkConfigurationID 1210 { 1211 bmdDeckLinkConfigSwapSerialRxTx = 0x73737274, 1212 bmdDeckLinkConfigHDMI3DPackingFormat = 0x33647066, 1213 bmdDeckLinkConfigBypass = 0x62797073, 1214 bmdDeckLinkConfigClockTimingAdjustment = 0x63746164, 1215 bmdDeckLinkConfigAnalogAudioConsumerLevels = 0x6161636c, 1216 bmdDeckLinkConfigFieldFlickerRemoval = 0x66646672, 1217 bmdDeckLinkConfigHD1080p24ToHD1080i5994Conversion = 0x746f3539, 1218 bmdDeckLinkConfig444SDIVideoOutput = 0x3434346f, 1219 bmdDeckLinkConfigBlackVideoOutputDuringCapture = 0x62766f63, 1220 bmdDeckLinkConfigLowLatencyVideoOutput = 0x6c6c766f, 1221 bmdDeckLinkConfigDownConversionOnAllAnalogOutput = 0x6361616f, 1222 bmdDeckLinkConfigSMPTELevelAOutput = 0x736d7461, 1223 bmdDeckLinkConfigRec2020Output = 0x72656332, 1224 bmdDeckLinkConfigQuadLinkSDIVideoOutputSquareDivisionSplit = 0x53445153, 1225 bmdDeckLinkConfigOutput1080pAsPsF = 0x70667072, 1226 bmdDeckLinkConfigVideoOutputConnection = 0x766f636e, 1227 bmdDeckLinkConfigVideoOutputConversionMode = 0x766f636d, 1228 bmdDeckLinkConfigAnalogVideoOutputFlags = 0x61766f66, 1229 bmdDeckLinkConfigReferenceInputTimingOffset = 0x676c6f74, 1230 bmdDeckLinkConfigVideoOutputIdleOperation = 0x766f696f, 1231 bmdDeckLinkConfigDefaultVideoOutputMode = 0x64766f6d, 1232 bmdDeckLinkConfigDefaultVideoOutputModeFlags = 0x64766f66, 1233 bmdDeckLinkConfigSDIOutputLinkConfiguration = 0x736f6c63, 1234 bmdDeckLinkConfigHDMITimecodePacking = 0x6874706b, 1235 bmdDeckLinkConfigPlaybackGroup = 0x706c6772, 1236 bmdDeckLinkConfigVideoOutputComponentLumaGain = 0x6f636c67, 1237 bmdDeckLinkConfigVideoOutputComponentChromaBlueGain = 0x6f636362, 1238 bmdDeckLinkConfigVideoOutputComponentChromaRedGain = 0x6f636372, 1239 bmdDeckLinkConfigVideoOutputCompositeLumaGain = 0x6f696c67, 1240 bmdDeckLinkConfigVideoOutputCompositeChromaGain = 0x6f696367, 1241 bmdDeckLinkConfigVideoOutputSVideoLumaGain = 0x6f736c67, 1242 bmdDeckLinkConfigVideoOutputSVideoChromaGain = 0x6f736367, 1243 bmdDeckLinkConfigVideoInputScanning = 0x76697363, 1244 bmdDeckLinkConfigUseDedicatedLTCInput = 0x646c7463, 1245 bmdDeckLinkConfigSDIInput3DPayloadOverride = 0x33646473, 1246 bmdDeckLinkConfigCapture1080pAsPsF = 0x63667072, 1247 bmdDeckLinkConfigVideoInputConnection = 0x7669636e, 1248 bmdDeckLinkConfigAnalogVideoInputFlags = 0x61766966, 1249 bmdDeckLinkConfigVideoInputConversionMode = 0x7669636d, 1250 bmdDeckLinkConfig32PulldownSequenceInitialTimecodeFrame = 0x70646966, 1251 bmdDeckLinkConfigVANCSourceLine1Mapping = 0x76736c31, 1252 bmdDeckLinkConfigVANCSourceLine2Mapping = 0x76736c32, 1253 bmdDeckLinkConfigVANCSourceLine3Mapping = 0x76736c33, 1254 bmdDeckLinkConfigCapturePassThroughMode = 0x6370746d, 1255 bmdDeckLinkConfigCaptureGroup = 0x63706772, 1256 bmdDeckLinkConfigVideoInputComponentLumaGain = 0x69636c67, 1257 bmdDeckLinkConfigVideoInputComponentChromaBlueGain = 0x69636362, 1258 bmdDeckLinkConfigVideoInputComponentChromaRedGain = 0x69636372, 1259 bmdDeckLinkConfigVideoInputCompositeLumaGain = 0x69696c67, 1260 bmdDeckLinkConfigVideoInputCompositeChromaGain = 0x69696367, 1261 bmdDeckLinkConfigVideoInputSVideoLumaGain = 0x69736c67, 1262 bmdDeckLinkConfigVideoInputSVideoChromaGain = 0x69736367, 1263 bmdDeckLinkConfigMicrophonePhantomPower = 0x6d706870, 1264 bmdDeckLinkConfigAudioInputConnection = 0x6169636e, 1265 bmdDeckLinkConfigAnalogAudioInputScaleChannel1 = 0x61697331, 1266 bmdDeckLinkConfigAnalogAudioInputScaleChannel2 = 0x61697332, 1267 bmdDeckLinkConfigAnalogAudioInputScaleChannel3 = 0x61697333, 1268 bmdDeckLinkConfigAnalogAudioInputScaleChannel4 = 0x61697334, 1269 bmdDeckLinkConfigDigitalAudioInputScale = 0x64616973, 1270 bmdDeckLinkConfigMicrophoneInputGain = 0x6d696367, 1271 bmdDeckLinkConfigAudioOutputAESAnalogSwitch = 0x616f6161, 1272 bmdDeckLinkConfigAnalogAudioOutputScaleChannel1 = 0x616f7331, 1273 bmdDeckLinkConfigAnalogAudioOutputScaleChannel2 = 0x616f7332, 1274 bmdDeckLinkConfigAnalogAudioOutputScaleChannel3 = 0x616f7333, 1275 bmdDeckLinkConfigAnalogAudioOutputScaleChannel4 = 0x616f7334, 1276 bmdDeckLinkConfigDigitalAudioOutputScale = 0x64616f73, 1277 bmdDeckLinkConfigHeadphoneVolume = 0x68766f6c, 1278 bmdDeckLinkConfigDeviceInformationLabel = 0x64696c61, 1279 bmdDeckLinkConfigDeviceInformationSerialNumber = 0x6469736e, 1280 bmdDeckLinkConfigDeviceInformationCompany = 0x6469636f, 1281 bmdDeckLinkConfigDeviceInformationPhone = 0x64697068, 1282 bmdDeckLinkConfigDeviceInformationEmail = 0x6469656d, 1283 bmdDeckLinkConfigDeviceInformationDate = 0x64696461, 1284 bmdDeckLinkConfigDeckControlConnection = 0x6463636f 1285 } BMDDeckLinkConfigurationID; 1286 1287 typedef /* [v1_enum] */ 1288 enum _BMDDeckLinkEncoderConfigurationID 1289 { 1290 bmdDeckLinkEncoderConfigPreferredBitDepth = 0x65706272, 1291 bmdDeckLinkEncoderConfigFrameCodingMode = 0x6566636d, 1292 bmdDeckLinkEncoderConfigH265TargetBitrate = 0x68746272, 1293 bmdDeckLinkEncoderConfigDNxHRCompressionID = 0x64636964, 1294 bmdDeckLinkEncoderConfigDNxHRLevel = 0x646c6576, 1295 bmdDeckLinkEncoderConfigMPEG4SampleDescription = 0x73747345, 1296 bmdDeckLinkEncoderConfigMPEG4CodecSpecificDesc = 0x65736473 1297 } BMDDeckLinkEncoderConfigurationID; 1298 1299 1300 1301 typedef unsigned int BMDDeckControlStatusFlags; 1302 typedef unsigned int BMDDeckControlExportModeOpsFlags; 1303 #if 0 1304 typedef enum _BMDDeckControlStatusFlags BMDDeckControlStatusFlags; 1305 1306 typedef enum _BMDDeckControlExportModeOpsFlags BMDDeckControlExportModeOpsFlags; 1307 1308 #endif 1309 typedef /* [v1_enum] */ 1310 enum _BMDDeckControlMode 1311 { 1312 bmdDeckControlNotOpened = 0x6e746f70, 1313 bmdDeckControlVTRControlMode = 0x76747263, 1314 bmdDeckControlExportMode = 0x6578706d, 1315 bmdDeckControlCaptureMode = 0x6361706d 1316 } BMDDeckControlMode; 1317 1318 typedef /* [v1_enum] */ 1319 enum _BMDDeckControlEvent 1320 { 1321 bmdDeckControlAbortedEvent = 0x61627465, 1322 bmdDeckControlPrepareForExportEvent = 0x70666565, 1323 bmdDeckControlExportCompleteEvent = 0x65786365, 1324 bmdDeckControlPrepareForCaptureEvent = 0x70666365, 1325 bmdDeckControlCaptureCompleteEvent = 0x63636576 1326 } BMDDeckControlEvent; 1327 1328 typedef /* [v1_enum] */ 1329 enum _BMDDeckControlVTRControlState 1330 { 1331 bmdDeckControlNotInVTRControlMode = 0x6e76636d, 1332 bmdDeckControlVTRControlPlaying = 0x76747270, 1333 bmdDeckControlVTRControlRecording = 0x76747272, 1334 bmdDeckControlVTRControlStill = 0x76747261, 1335 bmdDeckControlVTRControlShuttleForward = 0x76747366, 1336 bmdDeckControlVTRControlShuttleReverse = 0x76747372, 1337 bmdDeckControlVTRControlJogForward = 0x76746a66, 1338 bmdDeckControlVTRControlJogReverse = 0x76746a72, 1339 bmdDeckControlVTRControlStopped = 0x7674726f 1340 } BMDDeckControlVTRControlState; 1341 1342 /* [v1_enum] */ 1343 enum _BMDDeckControlStatusFlags 1344 { 1345 bmdDeckControlStatusDeckConnected = ( 1 << 0 ) , 1346 bmdDeckControlStatusRemoteMode = ( 1 << 1 ) , 1347 bmdDeckControlStatusRecordInhibited = ( 1 << 2 ) , 1348 bmdDeckControlStatusCassetteOut = ( 1 << 3 ) 1349 } ; 1350 /* [v1_enum] */ 1351 enum _BMDDeckControlExportModeOpsFlags 1352 { 1353 bmdDeckControlExportModeInsertVideo = ( 1 << 0 ) , 1354 bmdDeckControlExportModeInsertAudio1 = ( 1 << 1 ) , 1355 bmdDeckControlExportModeInsertAudio2 = ( 1 << 2 ) , 1356 bmdDeckControlExportModeInsertAudio3 = ( 1 << 3 ) , 1357 bmdDeckControlExportModeInsertAudio4 = ( 1 << 4 ) , 1358 bmdDeckControlExportModeInsertAudio5 = ( 1 << 5 ) , 1359 bmdDeckControlExportModeInsertAudio6 = ( 1 << 6 ) , 1360 bmdDeckControlExportModeInsertAudio7 = ( 1 << 7 ) , 1361 bmdDeckControlExportModeInsertAudio8 = ( 1 << 8 ) , 1362 bmdDeckControlExportModeInsertAudio9 = ( 1 << 9 ) , 1363 bmdDeckControlExportModeInsertAudio10 = ( 1 << 10 ) , 1364 bmdDeckControlExportModeInsertAudio11 = ( 1 << 11 ) , 1365 bmdDeckControlExportModeInsertAudio12 = ( 1 << 12 ) , 1366 bmdDeckControlExportModeInsertTimeCode = ( 1 << 13 ) , 1367 bmdDeckControlExportModeInsertAssemble = ( 1 << 14 ) , 1368 bmdDeckControlExportModeInsertPreview = ( 1 << 15 ) , 1369 bmdDeckControlUseManualExport = ( 1 << 16 ) 1370 } ; 1371 typedef /* [v1_enum] */ 1372 enum _BMDDeckControlError 1373 { 1374 bmdDeckControlNoError = 0x6e6f6572, 1375 bmdDeckControlModeError = 0x6d6f6572, 1376 bmdDeckControlMissedInPointError = 0x6d696572, 1377 bmdDeckControlDeckTimeoutError = 0x64746572, 1378 bmdDeckControlCommandFailedError = 0x63666572, 1379 bmdDeckControlDeviceAlreadyOpenedError = 0x64616c6f, 1380 bmdDeckControlFailedToOpenDeviceError = 0x66646572, 1381 bmdDeckControlInLocalModeError = 0x6c6d6572, 1382 bmdDeckControlEndOfTapeError = 0x65746572, 1383 bmdDeckControlUserAbortError = 0x75616572, 1384 bmdDeckControlNoTapeInDeckError = 0x6e746572, 1385 bmdDeckControlNoVideoFromCardError = 0x6e766663, 1386 bmdDeckControlNoCommunicationError = 0x6e636f6d, 1387 bmdDeckControlBufferTooSmallError = 0x6274736d, 1388 bmdDeckControlBadChecksumError = 0x63686b73, 1389 bmdDeckControlUnknownError = 0x756e6572 1390 } BMDDeckControlError; 1391 1392 1393 1394 #if 0 1395 #endif 1396 typedef /* [v1_enum] */ 1397 enum _BMDStreamingDeviceMode 1398 { 1399 bmdStreamingDeviceIdle = 0x69646c65, 1400 bmdStreamingDeviceEncoding = 0x656e636f, 1401 bmdStreamingDeviceStopping = 0x73746f70, 1402 bmdStreamingDeviceUnknown = 0x6d756e6b 1403 } BMDStreamingDeviceMode; 1404 1405 typedef /* [v1_enum] */ 1406 enum _BMDStreamingEncodingFrameRate 1407 { 1408 bmdStreamingEncodedFrameRate50i = 0x65353069, 1409 bmdStreamingEncodedFrameRate5994i = 0x65353969, 1410 bmdStreamingEncodedFrameRate60i = 0x65363069, 1411 bmdStreamingEncodedFrameRate2398p = 0x65323370, 1412 bmdStreamingEncodedFrameRate24p = 0x65323470, 1413 bmdStreamingEncodedFrameRate25p = 0x65323570, 1414 bmdStreamingEncodedFrameRate2997p = 0x65323970, 1415 bmdStreamingEncodedFrameRate30p = 0x65333070, 1416 bmdStreamingEncodedFrameRate50p = 0x65353070, 1417 bmdStreamingEncodedFrameRate5994p = 0x65353970, 1418 bmdStreamingEncodedFrameRate60p = 0x65363070 1419 } BMDStreamingEncodingFrameRate; 1420 1421 typedef /* [v1_enum] */ 1422 enum _BMDStreamingEncodingSupport 1423 { 1424 bmdStreamingEncodingModeNotSupported = 0, 1425 bmdStreamingEncodingModeSupported = ( bmdStreamingEncodingModeNotSupported + 1 ) , 1426 bmdStreamingEncodingModeSupportedWithChanges = ( bmdStreamingEncodingModeSupported + 1 ) 1427 } BMDStreamingEncodingSupport; 1428 1429 typedef /* [v1_enum] */ 1430 enum _BMDStreamingVideoCodec 1431 { 1432 bmdStreamingVideoCodecH264 = 0x48323634 1433 } BMDStreamingVideoCodec; 1434 1435 typedef /* [v1_enum] */ 1436 enum _BMDStreamingH264Profile 1437 { 1438 bmdStreamingH264ProfileHigh = 0x68696768, 1439 bmdStreamingH264ProfileMain = 0x6d61696e, 1440 bmdStreamingH264ProfileBaseline = 0x62617365 1441 } BMDStreamingH264Profile; 1442 1443 typedef /* [v1_enum] */ 1444 enum _BMDStreamingH264Level 1445 { 1446 bmdStreamingH264Level12 = 0x6c763132, 1447 bmdStreamingH264Level13 = 0x6c763133, 1448 bmdStreamingH264Level2 = 0x6c763220, 1449 bmdStreamingH264Level21 = 0x6c763231, 1450 bmdStreamingH264Level22 = 0x6c763232, 1451 bmdStreamingH264Level3 = 0x6c763320, 1452 bmdStreamingH264Level31 = 0x6c763331, 1453 bmdStreamingH264Level32 = 0x6c763332, 1454 bmdStreamingH264Level4 = 0x6c763420, 1455 bmdStreamingH264Level41 = 0x6c763431, 1456 bmdStreamingH264Level42 = 0x6c763432 1457 } BMDStreamingH264Level; 1458 1459 typedef /* [v1_enum] */ 1460 enum _BMDStreamingH264EntropyCoding 1461 { 1462 bmdStreamingH264EntropyCodingCAVLC = 0x45564c43, 1463 bmdStreamingH264EntropyCodingCABAC = 0x45424143 1464 } BMDStreamingH264EntropyCoding; 1465 1466 typedef /* [v1_enum] */ 1467 enum _BMDStreamingAudioCodec 1468 { 1469 bmdStreamingAudioCodecAAC = 0x41414320 1470 } BMDStreamingAudioCodec; 1471 1472 typedef /* [v1_enum] */ 1473 enum _BMDStreamingEncodingModePropertyID 1474 { 1475 bmdStreamingEncodingPropertyVideoFrameRate = 0x76667274, 1476 bmdStreamingEncodingPropertyVideoBitRateKbps = 0x76627274, 1477 bmdStreamingEncodingPropertyH264Profile = 0x68707266, 1478 bmdStreamingEncodingPropertyH264Level = 0x686c766c, 1479 bmdStreamingEncodingPropertyH264EntropyCoding = 0x68656e74, 1480 bmdStreamingEncodingPropertyH264HasBFrames = 0x68426672, 1481 bmdStreamingEncodingPropertyAudioCodec = 0x61636463, 1482 bmdStreamingEncodingPropertyAudioSampleRate = 0x61737274, 1483 bmdStreamingEncodingPropertyAudioChannelCount = 0x61636863, 1484 bmdStreamingEncodingPropertyAudioBitRateKbps = 0x61627274 1485 } BMDStreamingEncodingModePropertyID; 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 typedef unsigned int BMDFrameFlags; 1499 typedef unsigned int BMDVideoInputFlags; 1500 typedef unsigned int BMDVideoInputFormatChangedEvents; 1501 typedef unsigned int BMDDetectedVideoInputFormatFlags; 1502 typedef unsigned int BMDDeckLinkCapturePassthroughMode; 1503 typedef unsigned int BMDAnalogVideoFlags; 1504 typedef unsigned int BMDDeviceBusyState; 1505 #if 0 1506 typedef enum _BMDFrameFlags BMDFrameFlags; 1507 1508 typedef enum _BMDVideoInputFlags BMDVideoInputFlags; 1509 1510 typedef enum _BMDVideoInputFormatChangedEvents BMDVideoInputFormatChangedEvents; 1511 1512 typedef enum _BMDDetectedVideoInputFormatFlags BMDDetectedVideoInputFormatFlags; 1513 1514 typedef enum _BMDDeckLinkCapturePassthroughMode BMDDeckLinkCapturePassthroughMode; 1515 1516 typedef enum _BMDAnalogVideoFlags BMDAnalogVideoFlags; 1517 1518 typedef enum _BMDDeviceBusyState BMDDeviceBusyState; 1519 1520 #endif 1521 typedef /* [v1_enum] */ 1522 enum _BMDVideoOutputFlags 1523 { 1524 bmdVideoOutputFlagDefault = 0, 1525 bmdVideoOutputVANC = ( 1 << 0 ) , 1526 bmdVideoOutputVITC = ( 1 << 1 ) , 1527 bmdVideoOutputRP188 = ( 1 << 2 ) , 1528 bmdVideoOutputDualStream3D = ( 1 << 4 ) , 1529 bmdVideoOutputSynchronizeToPlaybackGroup = ( 1 << 6 ) 1530 } BMDVideoOutputFlags; 1531 1532 typedef /* [v1_enum] */ 1533 enum _BMDSupportedVideoModeFlags 1534 { 1535 bmdSupportedVideoModeDefault = 0, 1536 bmdSupportedVideoModeKeying = ( 1 << 0 ) , 1537 bmdSupportedVideoModeDualStream3D = ( 1 << 1 ) , 1538 bmdSupportedVideoModeSDISingleLink = ( 1 << 2 ) , 1539 bmdSupportedVideoModeSDIDualLink = ( 1 << 3 ) , 1540 bmdSupportedVideoModeSDIQuadLink = ( 1 << 4 ) , 1541 bmdSupportedVideoModeInAnyProfile = ( 1 << 5 ) 1542 } BMDSupportedVideoModeFlags; 1543 1544 typedef /* [v1_enum] */ 1545 enum _BMDPacketType 1546 { 1547 bmdPacketTypeStreamInterruptedMarker = 0x73696e74, 1548 bmdPacketTypeStreamData = 0x73646174 1549 } BMDPacketType; 1550 1551 /* [v1_enum] */ 1552 enum _BMDFrameFlags 1553 { 1554 bmdFrameFlagDefault = 0, 1555 bmdFrameFlagFlipVertical = ( 1 << 0 ) , 1556 bmdFrameContainsHDRMetadata = ( 1 << 1 ) , 1557 bmdFrameContainsCintelMetadata = ( 1 << 2 ) , 1558 bmdFrameCapturedAsPsF = ( 1 << 30 ) , 1559 bmdFrameHasNoInputSource = ( 1 << 31 ) 1560 } ; 1561 /* [v1_enum] */ 1562 enum _BMDVideoInputFlags 1563 { 1564 bmdVideoInputFlagDefault = 0, 1565 bmdVideoInputEnableFormatDetection = ( 1 << 0 ) , 1566 bmdVideoInputDualStream3D = ( 1 << 1 ) , 1567 bmdVideoInputSynchronizeToCaptureGroup = ( 1 << 2 ) 1568 } ; 1569 /* [v1_enum] */ 1570 enum _BMDVideoInputFormatChangedEvents 1571 { 1572 bmdVideoInputDisplayModeChanged = ( 1 << 0 ) , 1573 bmdVideoInputFieldDominanceChanged = ( 1 << 1 ) , 1574 bmdVideoInputColorspaceChanged = ( 1 << 2 ) 1575 } ; 1576 /* [v1_enum] */ 1577 enum _BMDDetectedVideoInputFormatFlags 1578 { 1579 bmdDetectedVideoInputYCbCr422 = ( 1 << 0 ) , 1580 bmdDetectedVideoInputRGB444 = ( 1 << 1 ) , 1581 bmdDetectedVideoInputDualStream3D = ( 1 << 2 ) 1582 } ; 1583 /* [v1_enum] */ 1584 enum _BMDDeckLinkCapturePassthroughMode 1585 { 1586 bmdDeckLinkCapturePassthroughModeDisabled = 0x70646973, 1587 bmdDeckLinkCapturePassthroughModeDirect = 0x70646972, 1588 bmdDeckLinkCapturePassthroughModeCleanSwitch = 0x70636c6e 1589 } ; 1590 typedef /* [v1_enum] */ 1591 enum _BMDOutputFrameCompletionResult 1592 { 1593 bmdOutputFrameCompleted = 0, 1594 bmdOutputFrameDisplayedLate = ( bmdOutputFrameCompleted + 1 ) , 1595 bmdOutputFrameDropped = ( bmdOutputFrameDisplayedLate + 1 ) , 1596 bmdOutputFrameFlushed = ( bmdOutputFrameDropped + 1 ) 1597 } BMDOutputFrameCompletionResult; 1598 1599 typedef /* [v1_enum] */ 1600 enum _BMDReferenceStatus 1601 { 1602 bmdReferenceNotSupportedByHardware = ( 1 << 0 ) , 1603 bmdReferenceLocked = ( 1 << 1 ) 1604 } BMDReferenceStatus; 1605 1606 typedef /* [v1_enum] */ 1607 enum _BMDAudioFormat 1608 { 1609 bmdAudioFormatPCM = 0x6c70636d 1610 } BMDAudioFormat; 1611 1612 typedef /* [v1_enum] */ 1613 enum _BMDAudioSampleRate 1614 { 1615 bmdAudioSampleRate48kHz = 48000 1616 } BMDAudioSampleRate; 1617 1618 typedef /* [v1_enum] */ 1619 enum _BMDAudioSampleType 1620 { 1621 bmdAudioSampleType16bitInteger = 16, 1622 bmdAudioSampleType32bitInteger = 32 1623 } BMDAudioSampleType; 1624 1625 typedef /* [v1_enum] */ 1626 enum _BMDAudioOutputStreamType 1627 { 1628 bmdAudioOutputStreamContinuous = 0, 1629 bmdAudioOutputStreamContinuousDontResample = ( bmdAudioOutputStreamContinuous + 1 ) , 1630 bmdAudioOutputStreamTimestamped = ( bmdAudioOutputStreamContinuousDontResample + 1 ) 1631 } BMDAudioOutputStreamType; 1632 1633 typedef /* [v1_enum] */ 1634 enum _BMDAncillaryPacketFormat 1635 { 1636 bmdAncillaryPacketFormatUInt8 = 0x75693038, 1637 bmdAncillaryPacketFormatUInt16 = 0x75693136, 1638 bmdAncillaryPacketFormatYCbCr10 = 0x76323130 1639 } BMDAncillaryPacketFormat; 1640 1641 typedef /* [v1_enum] */ 1642 enum _BMDTimecodeFormat 1643 { 1644 bmdTimecodeRP188VITC1 = 0x72707631, 1645 bmdTimecodeRP188VITC2 = 0x72703132, 1646 bmdTimecodeRP188LTC = 0x72706c74, 1647 bmdTimecodeRP188HighFrameRate = 0x72706872, 1648 bmdTimecodeRP188Any = 0x72703138, 1649 bmdTimecodeVITC = 0x76697463, 1650 bmdTimecodeVITCField2 = 0x76697432, 1651 bmdTimecodeSerial = 0x73657269 1652 } BMDTimecodeFormat; 1653 1654 /* [v1_enum] */ 1655 enum _BMDAnalogVideoFlags 1656 { 1657 bmdAnalogVideoFlagCompositeSetup75 = ( 1 << 0 ) , 1658 bmdAnalogVideoFlagComponentBetacamLevels = ( 1 << 1 ) 1659 } ; 1660 typedef /* [v1_enum] */ 1661 enum _BMDAudioOutputAnalogAESSwitch 1662 { 1663 bmdAudioOutputSwitchAESEBU = 0x61657320, 1664 bmdAudioOutputSwitchAnalog = 0x616e6c67 1665 } BMDAudioOutputAnalogAESSwitch; 1666 1667 typedef /* [v1_enum] */ 1668 enum _BMDVideoOutputConversionMode 1669 { 1670 bmdNoVideoOutputConversion = 0x6e6f6e65, 1671 bmdVideoOutputLetterboxDownconversion = 0x6c746278, 1672 bmdVideoOutputAnamorphicDownconversion = 0x616d7068, 1673 bmdVideoOutputHD720toHD1080Conversion = 0x37323063, 1674 bmdVideoOutputHardwareLetterboxDownconversion = 0x48576c62, 1675 bmdVideoOutputHardwareAnamorphicDownconversion = 0x4857616d, 1676 bmdVideoOutputHardwareCenterCutDownconversion = 0x48576363, 1677 bmdVideoOutputHardware720p1080pCrossconversion = 0x78636170, 1678 bmdVideoOutputHardwareAnamorphic720pUpconversion = 0x75613770, 1679 bmdVideoOutputHardwareAnamorphic1080iUpconversion = 0x75613169, 1680 bmdVideoOutputHardwareAnamorphic149To720pUpconversion = 0x75343770, 1681 bmdVideoOutputHardwareAnamorphic149To1080iUpconversion = 0x75343169, 1682 bmdVideoOutputHardwarePillarbox720pUpconversion = 0x75703770, 1683 bmdVideoOutputHardwarePillarbox1080iUpconversion = 0x75703169 1684 } BMDVideoOutputConversionMode; 1685 1686 typedef /* [v1_enum] */ 1687 enum _BMDVideoInputConversionMode 1688 { 1689 bmdNoVideoInputConversion = 0x6e6f6e65, 1690 bmdVideoInputLetterboxDownconversionFromHD1080 = 0x31306c62, 1691 bmdVideoInputAnamorphicDownconversionFromHD1080 = 0x3130616d, 1692 bmdVideoInputLetterboxDownconversionFromHD720 = 0x37326c62, 1693 bmdVideoInputAnamorphicDownconversionFromHD720 = 0x3732616d, 1694 bmdVideoInputLetterboxUpconversion = 0x6c627570, 1695 bmdVideoInputAnamorphicUpconversion = 0x616d7570 1696 } BMDVideoInputConversionMode; 1697 1698 typedef /* [v1_enum] */ 1699 enum _BMDVideo3DPackingFormat 1700 { 1701 bmdVideo3DPackingSidebySideHalf = 0x73627368, 1702 bmdVideo3DPackingLinebyLine = 0x6c62796c, 1703 bmdVideo3DPackingTopAndBottom = 0x7461626f, 1704 bmdVideo3DPackingFramePacking = 0x6672706b, 1705 bmdVideo3DPackingLeftOnly = 0x6c656674, 1706 bmdVideo3DPackingRightOnly = 0x72696768 1707 } BMDVideo3DPackingFormat; 1708 1709 typedef /* [v1_enum] */ 1710 enum _BMDIdleVideoOutputOperation 1711 { 1712 bmdIdleVideoOutputBlack = 0x626c6163, 1713 bmdIdleVideoOutputLastFrame = 0x6c616661 1714 } BMDIdleVideoOutputOperation; 1715 1716 typedef /* [v1_enum] */ 1717 enum _BMDVideoEncoderFrameCodingMode 1718 { 1719 bmdVideoEncoderFrameCodingModeInter = 0x696e7465, 1720 bmdVideoEncoderFrameCodingModeIntra = 0x696e7472 1721 } BMDVideoEncoderFrameCodingMode; 1722 1723 typedef /* [v1_enum] */ 1724 enum _BMDDNxHRLevel 1725 { 1726 bmdDNxHRLevelSQ = 0x646e7371, 1727 bmdDNxHRLevelLB = 0x646e6c62, 1728 bmdDNxHRLevelHQ = 0x646e6871, 1729 bmdDNxHRLevelHQX = 0x64687178, 1730 bmdDNxHRLevel444 = 0x64343434 1731 } BMDDNxHRLevel; 1732 1733 typedef /* [v1_enum] */ 1734 enum _BMDLinkConfiguration 1735 { 1736 bmdLinkConfigurationSingleLink = 0x6c63736c, 1737 bmdLinkConfigurationDualLink = 0x6c63646c, 1738 bmdLinkConfigurationQuadLink = 0x6c63716c 1739 } BMDLinkConfiguration; 1740 1741 typedef /* [v1_enum] */ 1742 enum _BMDDeviceInterface 1743 { 1744 bmdDeviceInterfacePCI = 0x70636920, 1745 bmdDeviceInterfaceUSB = 0x75736220, 1746 bmdDeviceInterfaceThunderbolt = 0x7468756e 1747 } BMDDeviceInterface; 1748 1749 typedef /* [v1_enum] */ 1750 enum _BMDColorspace 1751 { 1752 bmdColorspaceRec601 = 0x72363031, 1753 bmdColorspaceRec709 = 0x72373039, 1754 bmdColorspaceRec2020 = 0x32303230 1755 } BMDColorspace; 1756 1757 typedef /* [v1_enum] */ 1758 enum _BMDDynamicRange 1759 { 1760 bmdDynamicRangeSDR = 0, 1761 bmdDynamicRangeHDRStaticPQ = ( 1 << 29 ) , 1762 bmdDynamicRangeHDRStaticHLG = ( 1 << 30 ) 1763 } BMDDynamicRange; 1764 1765 typedef /* [v1_enum] */ 1766 enum _BMDDeckLinkHDMIInputEDIDID 1767 { 1768 bmdDeckLinkHDMIInputEDIDDynamicRange = 0x48494479 1769 } BMDDeckLinkHDMIInputEDIDID; 1770 1771 typedef /* [v1_enum] */ 1772 enum _BMDDeckLinkFrameMetadataID 1773 { 1774 bmdDeckLinkFrameMetadataColorspace = 0x63737063, 1775 bmdDeckLinkFrameMetadataHDRElectroOpticalTransferFunc = 0x656f7466, 1776 bmdDeckLinkFrameMetadataCintelFilmType = 0x63667479, 1777 bmdDeckLinkFrameMetadataCintelFilmGauge = 0x63666761, 1778 bmdDeckLinkFrameMetadataCintelKeykodeLow = 0x636b6b6c, 1779 bmdDeckLinkFrameMetadataCintelKeykodeHigh = 0x636b6b68, 1780 bmdDeckLinkFrameMetadataCintelTile1Size = 0x63743173, 1781 bmdDeckLinkFrameMetadataCintelTile2Size = 0x63743273, 1782 bmdDeckLinkFrameMetadataCintelTile3Size = 0x63743373, 1783 bmdDeckLinkFrameMetadataCintelTile4Size = 0x63743473, 1784 bmdDeckLinkFrameMetadataCintelImageWidth = 0x49575078, 1785 bmdDeckLinkFrameMetadataCintelImageHeight = 0x49485078, 1786 bmdDeckLinkFrameMetadataCintelLinearMaskingRedInRed = 0x6d726972, 1787 bmdDeckLinkFrameMetadataCintelLinearMaskingGreenInRed = 0x6d676972, 1788 bmdDeckLinkFrameMetadataCintelLinearMaskingBlueInRed = 0x6d626972, 1789 bmdDeckLinkFrameMetadataCintelLinearMaskingRedInGreen = 0x6d726967, 1790 bmdDeckLinkFrameMetadataCintelLinearMaskingGreenInGreen = 0x6d676967, 1791 bmdDeckLinkFrameMetadataCintelLinearMaskingBlueInGreen = 0x6d626967, 1792 bmdDeckLinkFrameMetadataCintelLinearMaskingRedInBlue = 0x6d726962, 1793 bmdDeckLinkFrameMetadataCintelLinearMaskingGreenInBlue = 0x6d676962, 1794 bmdDeckLinkFrameMetadataCintelLinearMaskingBlueInBlue = 0x6d626962, 1795 bmdDeckLinkFrameMetadataCintelLogMaskingRedInRed = 0x6d6c7272, 1796 bmdDeckLinkFrameMetadataCintelLogMaskingGreenInRed = 0x6d6c6772, 1797 bmdDeckLinkFrameMetadataCintelLogMaskingBlueInRed = 0x6d6c6272, 1798 bmdDeckLinkFrameMetadataCintelLogMaskingRedInGreen = 0x6d6c7267, 1799 bmdDeckLinkFrameMetadataCintelLogMaskingGreenInGreen = 0x6d6c6767, 1800 bmdDeckLinkFrameMetadataCintelLogMaskingBlueInGreen = 0x6d6c6267, 1801 bmdDeckLinkFrameMetadataCintelLogMaskingRedInBlue = 0x6d6c7262, 1802 bmdDeckLinkFrameMetadataCintelLogMaskingGreenInBlue = 0x6d6c6762, 1803 bmdDeckLinkFrameMetadataCintelLogMaskingBlueInBlue = 0x6d6c6262, 1804 bmdDeckLinkFrameMetadataCintelFilmFrameRate = 0x63666672, 1805 bmdDeckLinkFrameMetadataHDRDisplayPrimariesRedX = 0x68647278, 1806 bmdDeckLinkFrameMetadataHDRDisplayPrimariesRedY = 0x68647279, 1807 bmdDeckLinkFrameMetadataHDRDisplayPrimariesGreenX = 0x68646778, 1808 bmdDeckLinkFrameMetadataHDRDisplayPrimariesGreenY = 0x68646779, 1809 bmdDeckLinkFrameMetadataHDRDisplayPrimariesBlueX = 0x68646278, 1810 bmdDeckLinkFrameMetadataHDRDisplayPrimariesBlueY = 0x68646279, 1811 bmdDeckLinkFrameMetadataHDRWhitePointX = 0x68647778, 1812 bmdDeckLinkFrameMetadataHDRWhitePointY = 0x68647779, 1813 bmdDeckLinkFrameMetadataHDRMaxDisplayMasteringLuminance = 0x68646d6c, 1814 bmdDeckLinkFrameMetadataHDRMinDisplayMasteringLuminance = 0x686d696c, 1815 bmdDeckLinkFrameMetadataHDRMaximumContentLightLevel = 0x6d636c6c, 1816 bmdDeckLinkFrameMetadataHDRMaximumFrameAverageLightLevel = 0x66616c6c, 1817 bmdDeckLinkFrameMetadataCintelOffsetToApplyHorizontal = 0x6f746168, 1818 bmdDeckLinkFrameMetadataCintelOffsetToApplyVertical = 0x6f746176, 1819 bmdDeckLinkFrameMetadataCintelGainRed = 0x4c665264, 1820 bmdDeckLinkFrameMetadataCintelGainGreen = 0x4c664772, 1821 bmdDeckLinkFrameMetadataCintelGainBlue = 0x4c66426c, 1822 bmdDeckLinkFrameMetadataCintelLiftRed = 0x476e5264, 1823 bmdDeckLinkFrameMetadataCintelLiftGreen = 0x476e4772, 1824 bmdDeckLinkFrameMetadataCintelLiftBlue = 0x476e426c, 1825 bmdDeckLinkFrameMetadataCintelHDRGainRed = 0x48475264, 1826 bmdDeckLinkFrameMetadataCintelHDRGainGreen = 0x48474772, 1827 bmdDeckLinkFrameMetadataCintelHDRGainBlue = 0x4847426c 1828 } BMDDeckLinkFrameMetadataID; 1829 1830 typedef /* [v1_enum] */ 1831 enum _BMDProfileID 1832 { 1833 bmdProfileOneSubDeviceFullDuplex = 0x31646664, 1834 bmdProfileOneSubDeviceHalfDuplex = 0x31646864, 1835 bmdProfileTwoSubDevicesFullDuplex = 0x32646664, 1836 bmdProfileTwoSubDevicesHalfDuplex = 0x32646864, 1837 bmdProfileFourSubDevicesHalfDuplex = 0x34646864 1838 } BMDProfileID; 1839 1840 typedef /* [v1_enum] */ 1841 enum _BMDHDMITimecodePacking 1842 { 1843 bmdHDMITimecodePackingIEEEOUI000085 = 0x8500, 1844 bmdHDMITimecodePackingIEEEOUI080046 = 0x8004601, 1845 bmdHDMITimecodePackingIEEEOUI5CF9F0 = 0x5cf9f003 1846 } BMDHDMITimecodePacking; 1847 1848 typedef /* [v1_enum] */ 1849 enum _BMDDeckLinkAttributeID 1850 { 1851 BMDDeckLinkSupportsInternalKeying = 0x6b657969, 1852 BMDDeckLinkSupportsExternalKeying = 0x6b657965, 1853 BMDDeckLinkSupportsInputFormatDetection = 0x696e6664, 1854 BMDDeckLinkHasReferenceInput = 0x6872696e, 1855 BMDDeckLinkHasSerialPort = 0x68737074, 1856 BMDDeckLinkHasAnalogVideoOutputGain = 0x61766f67, 1857 BMDDeckLinkCanOnlyAdjustOverallVideoOutputGain = 0x6f766f67, 1858 BMDDeckLinkHasVideoInputAntiAliasingFilter = 0x6161666c, 1859 BMDDeckLinkHasBypass = 0x62797073, 1860 BMDDeckLinkSupportsClockTimingAdjustment = 0x63746164, 1861 BMDDeckLinkSupportsFullFrameReferenceInputTimingOffset = 0x6672696e, 1862 BMDDeckLinkSupportsSMPTELevelAOutput = 0x6c766c61, 1863 BMDDeckLinkSupportsDualLinkSDI = 0x73646c73, 1864 BMDDeckLinkSupportsQuadLinkSDI = 0x73716c73, 1865 BMDDeckLinkSupportsIdleOutput = 0x69646f75, 1866 BMDDeckLinkVANCRequires10BitYUVVideoFrames = 0x76696f59, 1867 BMDDeckLinkHasLTCTimecodeInput = 0x686c7463, 1868 BMDDeckLinkSupportsHDRMetadata = 0x6864726d, 1869 BMDDeckLinkSupportsColorspaceMetadata = 0x636d6574, 1870 BMDDeckLinkSupportsHDMITimecode = 0x6874696d, 1871 BMDDeckLinkSupportsHighFrameRateTimecode = 0x48465254, 1872 BMDDeckLinkSupportsSynchronizeToCaptureGroup = 0x73746367, 1873 BMDDeckLinkSupportsSynchronizeToPlaybackGroup = 0x73747067, 1874 BMDDeckLinkMaximumAudioChannels = 0x6d616368, 1875 BMDDeckLinkMaximumAnalogAudioInputChannels = 0x69616368, 1876 BMDDeckLinkMaximumAnalogAudioOutputChannels = 0x61616368, 1877 BMDDeckLinkNumberOfSubDevices = 0x6e736264, 1878 BMDDeckLinkSubDeviceIndex = 0x73756269, 1879 BMDDeckLinkPersistentID = 0x70656964, 1880 BMDDeckLinkDeviceGroupID = 0x64676964, 1881 BMDDeckLinkTopologicalID = 0x746f6964, 1882 BMDDeckLinkVideoOutputConnections = 0x766f636e, 1883 BMDDeckLinkVideoInputConnections = 0x7669636e, 1884 BMDDeckLinkAudioOutputConnections = 0x616f636e, 1885 BMDDeckLinkAudioInputConnections = 0x6169636e, 1886 BMDDeckLinkVideoIOSupport = 0x76696f73, 1887 BMDDeckLinkDeckControlConnections = 0x6463636e, 1888 BMDDeckLinkDeviceInterface = 0x64627573, 1889 BMDDeckLinkAudioInputRCAChannelCount = 0x61697263, 1890 BMDDeckLinkAudioInputXLRChannelCount = 0x61697863, 1891 BMDDeckLinkAudioOutputRCAChannelCount = 0x616f7263, 1892 BMDDeckLinkAudioOutputXLRChannelCount = 0x616f7863, 1893 BMDDeckLinkProfileID = 0x70726964, 1894 BMDDeckLinkDuplex = 0x64757078, 1895 BMDDeckLinkVideoInputGainMinimum = 0x7669676d, 1896 BMDDeckLinkVideoInputGainMaximum = 0x76696778, 1897 BMDDeckLinkVideoOutputGainMinimum = 0x766f676d, 1898 BMDDeckLinkVideoOutputGainMaximum = 0x766f6778, 1899 BMDDeckLinkMicrophoneInputGainMinimum = 0x6d69676d, 1900 BMDDeckLinkMicrophoneInputGainMaximum = 0x6d696778, 1901 BMDDeckLinkSerialPortDeviceName = 0x736c706e, 1902 BMDDeckLinkVendorName = 0x766e6472, 1903 BMDDeckLinkDisplayName = 0x6473706e, 1904 BMDDeckLinkModelName = 0x6d646c6e, 1905 BMDDeckLinkDeviceHandle = 0x64657668 1906 } BMDDeckLinkAttributeID; 1907 1908 typedef /* [v1_enum] */ 1909 enum _BMDDeckLinkAPIInformationID 1910 { 1911 BMDDeckLinkAPIVersion = 0x76657273 1912 } BMDDeckLinkAPIInformationID; 1913 1914 typedef /* [v1_enum] */ 1915 enum _BMDDeckLinkStatusID 1916 { 1917 bmdDeckLinkStatusDetectedVideoInputMode = 0x6476696d, 1918 bmdDeckLinkStatusDetectedVideoInputFlags = 0x64766966, 1919 bmdDeckLinkStatusCurrentVideoInputMode = 0x6376696d, 1920 bmdDeckLinkStatusCurrentVideoInputPixelFormat = 0x63766970, 1921 bmdDeckLinkStatusCurrentVideoInputFlags = 0x63766966, 1922 bmdDeckLinkStatusCurrentVideoOutputMode = 0x63766f6d, 1923 bmdDeckLinkStatusCurrentVideoOutputFlags = 0x63766f66, 1924 bmdDeckLinkStatusPCIExpressLinkWidth = 0x70776964, 1925 bmdDeckLinkStatusPCIExpressLinkSpeed = 0x706c6e6b, 1926 bmdDeckLinkStatusLastVideoOutputPixelFormat = 0x6f706978, 1927 bmdDeckLinkStatusReferenceSignalMode = 0x7265666d, 1928 bmdDeckLinkStatusReferenceSignalFlags = 0x72656666, 1929 bmdDeckLinkStatusBusy = 0x62757379, 1930 bmdDeckLinkStatusInterchangeablePanelType = 0x69637074, 1931 bmdDeckLinkStatusDeviceTemperature = 0x64746d70, 1932 bmdDeckLinkStatusVideoInputSignalLocked = 0x7669736c, 1933 bmdDeckLinkStatusReferenceSignalLocked = 0x7265666c, 1934 bmdDeckLinkStatusReceivedEDID = 0x65646964 1935 } BMDDeckLinkStatusID; 1936 1937 typedef /* [v1_enum] */ 1938 enum _BMDDeckLinkVideoStatusFlags 1939 { 1940 bmdDeckLinkVideoStatusPsF = ( 1 << 0 ) , 1941 bmdDeckLinkVideoStatusDualStream3D = ( 1 << 1 ) 1942 } BMDDeckLinkVideoStatusFlags; 1943 1944 typedef /* [v1_enum] */ 1945 enum _BMDDuplexMode 1946 { 1947 bmdDuplexFull = 0x64786675, 1948 bmdDuplexHalf = 0x64786861, 1949 bmdDuplexSimplex = 0x64787370, 1950 bmdDuplexInactive = 0x6478696e 1951 } BMDDuplexMode; 1952 1953 typedef /* [v1_enum] */ 1954 enum _BMDPanelType 1955 { 1956 bmdPanelNotDetected = 0x6e706e6c, 1957 bmdPanelTeranexMiniSmartPanel = 0x746d736d 1958 } BMDPanelType; 1959 1960 /* [v1_enum] */ 1961 enum _BMDDeviceBusyState 1962 { 1963 bmdDeviceCaptureBusy = ( 1 << 0 ) , 1964 bmdDevicePlaybackBusy = ( 1 << 1 ) , 1965 bmdDeviceSerialPortBusy = ( 1 << 2 ) 1966 } ; 1967 typedef /* [v1_enum] */ 1968 enum _BMDVideoIOSupport 1969 { 1970 bmdDeviceSupportsCapture = ( 1 << 0 ) , 1971 bmdDeviceSupportsPlayback = ( 1 << 1 ) 1972 } BMDVideoIOSupport; 1973 1974 typedef /* [v1_enum] */ 1975 enum _BMD3DPreviewFormat 1976 { 1977 bmd3DPreviewFormatDefault = 0x64656661, 1978 bmd3DPreviewFormatLeftOnly = 0x6c656674, 1979 bmd3DPreviewFormatRightOnly = 0x72696768, 1980 bmd3DPreviewFormatSideBySide = 0x73696465, 1981 bmd3DPreviewFormatTopBottom = 0x746f7062 1982 } BMD3DPreviewFormat; 1983 1984 typedef /* [v1_enum] */ 1985 enum _BMDNotifications 1986 { 1987 bmdPreferencesChanged = 0x70726566, 1988 bmdStatusChanged = 0x73746174 1989 } BMDNotifications; 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 typedef /* [v1_enum] */ 2032 enum _BMDDisplayModeSupport_v10_11 2033 { 2034 bmdDisplayModeNotSupported_v10_11 = 0, 2035 bmdDisplayModeSupported_v10_11 = ( bmdDisplayModeNotSupported_v10_11 + 1 ) , 2036 bmdDisplayModeSupportedWithConversion_v10_11 = ( bmdDisplayModeSupported_v10_11 + 1 ) 2037 } BMDDisplayModeSupport_v10_11; 2038 2039 typedef /* [v1_enum] */ 2040 enum _BMDDuplexMode_v10_11 2041 { 2042 bmdDuplexModeFull_v10_11 = 0x66647570, 2043 bmdDuplexModeHalf_v10_11 = 0x68647570 2044 } BMDDuplexMode_v10_11; 2045 2046 typedef /* [v1_enum] */ 2047 enum _BMDDeckLinkConfigurationID_v10_11 2048 { 2049 bmdDeckLinkConfigDuplexMode_v10_11 = 0x64757078 2050 } BMDDeckLinkConfigurationID_v10_11; 2051 2052 typedef /* [v1_enum] */ 2053 enum _BMDDeckLinkAttributeID_v10_11 2054 { 2055 BMDDeckLinkSupportsDuplexModeConfiguration_v10_11 = 0x64757078, 2056 BMDDeckLinkSupportsHDKeying_v10_11 = 0x6b657968, 2057 BMDDeckLinkPairedDevicePersistentID_v10_11 = 0x70706964, 2058 BMDDeckLinkSupportsFullDuplex_v10_11 = 0x66647570 2059 } BMDDeckLinkAttributeID_v10_11; 2060 2061 typedef /* [v1_enum] */ 2062 enum _BMDDeckLinkStatusID_v10_11 2063 { 2064 bmdDeckLinkStatusDuplexMode_v10_11 = 0x64757078 2065 } BMDDeckLinkStatusID_v10_11; 2066 2067 typedef /* [v1_enum] */ 2068 enum _BMDDuplexStatus_v10_11 2069 { 2070 bmdDuplexFullDuplex_v10_11 = 0x66647570, 2071 bmdDuplexHalfDuplex_v10_11 = 0x68647570, 2072 bmdDuplexSimplex_v10_11 = 0x73706c78, 2073 bmdDuplexInactive_v10_11 = 0x696e6163 2074 } BMDDuplexStatus_v10_11; 2075 2076 2077 2078 2079 typedef /* [v1_enum] */ 2080 enum _BMDDeckLinkConfigurationID_v10_9 2081 { 2082 bmdDeckLinkConfig1080pNotPsF_v10_9 = 0x6670726f 2083 } BMDDeckLinkConfigurationID_v10_9; 2084 2085 2086 typedef /* [v1_enum] */ 2087 enum _BMDDeckLinkAttributeID_v10_6 2088 { 2089 BMDDeckLinkSupportsDesktopDisplay_v10_6 = 0x65787464 2090 } BMDDeckLinkAttributeID_v10_6; 2091 2092 typedef /* [v1_enum] */ 2093 enum _BMDIdleVideoOutputOperation_v10_6 2094 { 2095 bmdIdleVideoOutputDesktop_v10_6 = 0x6465736b 2096 } BMDIdleVideoOutputOperation_v10_6; 2097 2098 typedef /* [v1_enum] */ 2099 enum _BMDDeckLinkAttributeID_v10_5 2100 { 2101 BMDDeckLinkDeviceBusyState_v10_5 = 0x64627374 2102 } BMDDeckLinkAttributeID_v10_5; 2103 2104 2105 typedef /* [v1_enum] */ 2106 enum _BMDDeckLinkConfigurationID_v10_4 2107 { 2108 bmdDeckLinkConfigSingleLinkVideoOutput_v10_4 = 0x73676c6f 2109 } BMDDeckLinkConfigurationID_v10_4; 2110 2111 2112 typedef /* [v1_enum] */ 2113 enum _BMDDeckLinkConfigurationID_v10_2 2114 { 2115 bmdDeckLinkConfig3GBpsVideoOutput_v10_2 = 0x33676273 2116 } BMDDeckLinkConfigurationID_v10_2; 2117 2118 typedef /* [v1_enum] */ 2119 enum _BMDAudioConnection_v10_2 2120 { 2121 bmdAudioConnectionEmbedded_v10_2 = 0x656d6264, 2122 bmdAudioConnectionAESEBU_v10_2 = 0x61657320, 2123 bmdAudioConnectionAnalog_v10_2 = 0x616e6c67, 2124 bmdAudioConnectionAnalogXLR_v10_2 = 0x61786c72, 2125 bmdAudioConnectionAnalogRCA_v10_2 = 0x61726361 2126 } BMDAudioConnection_v10_2; 2127 2128 2129 typedef /* [v1_enum] */ 2130 enum _BMDDeckControlVTRControlState_v8_1 2131 { 2132 bmdDeckControlNotInVTRControlMode_v8_1 = 0x6e76636d, 2133 bmdDeckControlVTRControlPlaying_v8_1 = 0x76747270, 2134 bmdDeckControlVTRControlRecording_v8_1 = 0x76747272, 2135 bmdDeckControlVTRControlStill_v8_1 = 0x76747261, 2136 bmdDeckControlVTRControlSeeking_v8_1 = 0x76747273, 2137 bmdDeckControlVTRControlStopped_v8_1 = 0x7674726f 2138 } BMDDeckControlVTRControlState_v8_1; 2139 2140 2141 2142 typedef /* [v1_enum] */ 2143 enum _BMDVideoConnection_v7_6 2144 { 2145 bmdVideoConnectionSDI_v7_6 = 0x73646920, 2146 bmdVideoConnectionHDMI_v7_6 = 0x68646d69, 2147 bmdVideoConnectionOpticalSDI_v7_6 = 0x6f707469, 2148 bmdVideoConnectionComponent_v7_6 = 0x63706e74, 2149 bmdVideoConnectionComposite_v7_6 = 0x636d7374, 2150 bmdVideoConnectionSVideo_v7_6 = 0x73766964 2151 } BMDVideoConnection_v7_6; 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 EXTERN_C const IID LIBID_DeckLinkAPI; 2176 2177 #ifndef __IDeckLinkTimecode_INTERFACE_DEFINED__ 2178 #define __IDeckLinkTimecode_INTERFACE_DEFINED__ 2179 2180 /* interface IDeckLinkTimecode */ 2181 /* [helpstring][uuid][object] */ 2182 2183 2184 EXTERN_C const IID IID_IDeckLinkTimecode; 2185 2186 #if defined(__cplusplus) && !defined(CINTERFACE) 2187 2188 MIDL_INTERFACE("BC6CFBD3-8317-4325-AC1C-1216391E9340") 2189 IDeckLinkTimecode : public IUnknown 2190 { 2191 public: 2192 virtual BMDTimecodeBCD STDMETHODCALLTYPE GetBCD( void) = 0; 2193 2194 virtual HRESULT STDMETHODCALLTYPE GetComponents( 2195 /* [out] */ unsigned char *hours, 2196 /* [out] */ unsigned char *minutes, 2197 /* [out] */ unsigned char *seconds, 2198 /* [out] */ unsigned char *frames) = 0; 2199 2200 virtual HRESULT STDMETHODCALLTYPE GetString( 2201 /* [out] */ BSTR *timecode) = 0; 2202 2203 virtual BMDTimecodeFlags STDMETHODCALLTYPE GetFlags( void) = 0; 2204 2205 virtual HRESULT STDMETHODCALLTYPE GetTimecodeUserBits( 2206 /* [out] */ BMDTimecodeUserBits *userBits) = 0; 2207 2208 }; 2209 2210 2211 #else /* C style interface */ 2212 2213 typedef struct IDeckLinkTimecodeVtbl 2214 { 2215 BEGIN_INTERFACE 2216 2217 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 2218 IDeckLinkTimecode * This, 2219 /* [in] */ REFIID riid, 2220 /* [annotation][iid_is][out] */ 2221 _COM_Outptr_ void **ppvObject); 2222 2223 ULONG ( STDMETHODCALLTYPE *AddRef )( 2224 IDeckLinkTimecode * This); 2225 2226 ULONG ( STDMETHODCALLTYPE *Release )( 2227 IDeckLinkTimecode * This); 2228 2229 BMDTimecodeBCD ( STDMETHODCALLTYPE *GetBCD )( 2230 IDeckLinkTimecode * This); 2231 2232 HRESULT ( STDMETHODCALLTYPE *GetComponents )( 2233 IDeckLinkTimecode * This, 2234 /* [out] */ unsigned char *hours, 2235 /* [out] */ unsigned char *minutes, 2236 /* [out] */ unsigned char *seconds, 2237 /* [out] */ unsigned char *frames); 2238 2239 HRESULT ( STDMETHODCALLTYPE *GetString )( 2240 IDeckLinkTimecode * This, 2241 /* [out] */ BSTR *timecode); 2242 2243 BMDTimecodeFlags ( STDMETHODCALLTYPE *GetFlags )( 2244 IDeckLinkTimecode * This); 2245 2246 HRESULT ( STDMETHODCALLTYPE *GetTimecodeUserBits )( 2247 IDeckLinkTimecode * This, 2248 /* [out] */ BMDTimecodeUserBits *userBits); 2249 2250 END_INTERFACE 2251 } IDeckLinkTimecodeVtbl; 2252 2253 interface IDeckLinkTimecode 2254 { 2255 CONST_VTBL struct IDeckLinkTimecodeVtbl *lpVtbl; 2256 }; 2257 2258 2259 2260 #ifdef COBJMACROS 2261 2262 2263 #define IDeckLinkTimecode_QueryInterface(This,riid,ppvObject) \ 2264 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 2265 2266 #define IDeckLinkTimecode_AddRef(This) \ 2267 ( (This)->lpVtbl -> AddRef(This) ) 2268 2269 #define IDeckLinkTimecode_Release(This) \ 2270 ( (This)->lpVtbl -> Release(This) ) 2271 2272 2273 #define IDeckLinkTimecode_GetBCD(This) \ 2274 ( (This)->lpVtbl -> GetBCD(This) ) 2275 2276 #define IDeckLinkTimecode_GetComponents(This,hours,minutes,seconds,frames) \ 2277 ( (This)->lpVtbl -> GetComponents(This,hours,minutes,seconds,frames) ) 2278 2279 #define IDeckLinkTimecode_GetString(This,timecode) \ 2280 ( (This)->lpVtbl -> GetString(This,timecode) ) 2281 2282 #define IDeckLinkTimecode_GetFlags(This) \ 2283 ( (This)->lpVtbl -> GetFlags(This) ) 2284 2285 #define IDeckLinkTimecode_GetTimecodeUserBits(This,userBits) \ 2286 ( (This)->lpVtbl -> GetTimecodeUserBits(This,userBits) ) 2287 2288 #endif /* COBJMACROS */ 2289 2290 2291 #endif /* C style interface */ 2292 2293 2294 2295 2296 #endif /* __IDeckLinkTimecode_INTERFACE_DEFINED__ */ 2297 2298 2299 #ifndef __IDeckLinkDisplayModeIterator_INTERFACE_DEFINED__ 2300 #define __IDeckLinkDisplayModeIterator_INTERFACE_DEFINED__ 2301 2302 /* interface IDeckLinkDisplayModeIterator */ 2303 /* [helpstring][uuid][object] */ 2304 2305 2306 EXTERN_C const IID IID_IDeckLinkDisplayModeIterator; 2307 2308 #if defined(__cplusplus) && !defined(CINTERFACE) 2309 2310 MIDL_INTERFACE("9C88499F-F601-4021-B80B-032E4EB41C35") 2311 IDeckLinkDisplayModeIterator : public IUnknown 2312 { 2313 public: 2314 virtual HRESULT STDMETHODCALLTYPE Next( 2315 /* [out] */ IDeckLinkDisplayMode **deckLinkDisplayMode) = 0; 2316 2317 }; 2318 2319 2320 #else /* C style interface */ 2321 2322 typedef struct IDeckLinkDisplayModeIteratorVtbl 2323 { 2324 BEGIN_INTERFACE 2325 2326 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 2327 IDeckLinkDisplayModeIterator * This, 2328 /* [in] */ REFIID riid, 2329 /* [annotation][iid_is][out] */ 2330 _COM_Outptr_ void **ppvObject); 2331 2332 ULONG ( STDMETHODCALLTYPE *AddRef )( 2333 IDeckLinkDisplayModeIterator * This); 2334 2335 ULONG ( STDMETHODCALLTYPE *Release )( 2336 IDeckLinkDisplayModeIterator * This); 2337 2338 HRESULT ( STDMETHODCALLTYPE *Next )( 2339 IDeckLinkDisplayModeIterator * This, 2340 /* [out] */ IDeckLinkDisplayMode **deckLinkDisplayMode); 2341 2342 END_INTERFACE 2343 } IDeckLinkDisplayModeIteratorVtbl; 2344 2345 interface IDeckLinkDisplayModeIterator 2346 { 2347 CONST_VTBL struct IDeckLinkDisplayModeIteratorVtbl *lpVtbl; 2348 }; 2349 2350 2351 2352 #ifdef COBJMACROS 2353 2354 2355 #define IDeckLinkDisplayModeIterator_QueryInterface(This,riid,ppvObject) \ 2356 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 2357 2358 #define IDeckLinkDisplayModeIterator_AddRef(This) \ 2359 ( (This)->lpVtbl -> AddRef(This) ) 2360 2361 #define IDeckLinkDisplayModeIterator_Release(This) \ 2362 ( (This)->lpVtbl -> Release(This) ) 2363 2364 2365 #define IDeckLinkDisplayModeIterator_Next(This,deckLinkDisplayMode) \ 2366 ( (This)->lpVtbl -> Next(This,deckLinkDisplayMode) ) 2367 2368 #endif /* COBJMACROS */ 2369 2370 2371 #endif /* C style interface */ 2372 2373 2374 2375 2376 #endif /* __IDeckLinkDisplayModeIterator_INTERFACE_DEFINED__ */ 2377 2378 2379 #ifndef __IDeckLinkDisplayMode_INTERFACE_DEFINED__ 2380 #define __IDeckLinkDisplayMode_INTERFACE_DEFINED__ 2381 2382 /* interface IDeckLinkDisplayMode */ 2383 /* [helpstring][uuid][object] */ 2384 2385 2386 EXTERN_C const IID IID_IDeckLinkDisplayMode; 2387 2388 #if defined(__cplusplus) && !defined(CINTERFACE) 2389 2390 MIDL_INTERFACE("3EB2C1AB-0A3D-4523-A3AD-F40D7FB14E78") 2391 IDeckLinkDisplayMode : public IUnknown 2392 { 2393 public: 2394 virtual HRESULT STDMETHODCALLTYPE GetName( 2395 /* [out] */ BSTR *name) = 0; 2396 2397 virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode( void) = 0; 2398 2399 virtual long STDMETHODCALLTYPE GetWidth( void) = 0; 2400 2401 virtual long STDMETHODCALLTYPE GetHeight( void) = 0; 2402 2403 virtual HRESULT STDMETHODCALLTYPE GetFrameRate( 2404 /* [out] */ BMDTimeValue *frameDuration, 2405 /* [out] */ BMDTimeScale *timeScale) = 0; 2406 2407 virtual BMDFieldDominance STDMETHODCALLTYPE GetFieldDominance( void) = 0; 2408 2409 virtual BMDDisplayModeFlags STDMETHODCALLTYPE GetFlags( void) = 0; 2410 2411 }; 2412 2413 2414 #else /* C style interface */ 2415 2416 typedef struct IDeckLinkDisplayModeVtbl 2417 { 2418 BEGIN_INTERFACE 2419 2420 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 2421 IDeckLinkDisplayMode * This, 2422 /* [in] */ REFIID riid, 2423 /* [annotation][iid_is][out] */ 2424 _COM_Outptr_ void **ppvObject); 2425 2426 ULONG ( STDMETHODCALLTYPE *AddRef )( 2427 IDeckLinkDisplayMode * This); 2428 2429 ULONG ( STDMETHODCALLTYPE *Release )( 2430 IDeckLinkDisplayMode * This); 2431 2432 HRESULT ( STDMETHODCALLTYPE *GetName )( 2433 IDeckLinkDisplayMode * This, 2434 /* [out] */ BSTR *name); 2435 2436 BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )( 2437 IDeckLinkDisplayMode * This); 2438 2439 long ( STDMETHODCALLTYPE *GetWidth )( 2440 IDeckLinkDisplayMode * This); 2441 2442 long ( STDMETHODCALLTYPE *GetHeight )( 2443 IDeckLinkDisplayMode * This); 2444 2445 HRESULT ( STDMETHODCALLTYPE *GetFrameRate )( 2446 IDeckLinkDisplayMode * This, 2447 /* [out] */ BMDTimeValue *frameDuration, 2448 /* [out] */ BMDTimeScale *timeScale); 2449 2450 BMDFieldDominance ( STDMETHODCALLTYPE *GetFieldDominance )( 2451 IDeckLinkDisplayMode * This); 2452 2453 BMDDisplayModeFlags ( STDMETHODCALLTYPE *GetFlags )( 2454 IDeckLinkDisplayMode * This); 2455 2456 END_INTERFACE 2457 } IDeckLinkDisplayModeVtbl; 2458 2459 interface IDeckLinkDisplayMode 2460 { 2461 CONST_VTBL struct IDeckLinkDisplayModeVtbl *lpVtbl; 2462 }; 2463 2464 2465 2466 #ifdef COBJMACROS 2467 2468 2469 #define IDeckLinkDisplayMode_QueryInterface(This,riid,ppvObject) \ 2470 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 2471 2472 #define IDeckLinkDisplayMode_AddRef(This) \ 2473 ( (This)->lpVtbl -> AddRef(This) ) 2474 2475 #define IDeckLinkDisplayMode_Release(This) \ 2476 ( (This)->lpVtbl -> Release(This) ) 2477 2478 2479 #define IDeckLinkDisplayMode_GetName(This,name) \ 2480 ( (This)->lpVtbl -> GetName(This,name) ) 2481 2482 #define IDeckLinkDisplayMode_GetDisplayMode(This) \ 2483 ( (This)->lpVtbl -> GetDisplayMode(This) ) 2484 2485 #define IDeckLinkDisplayMode_GetWidth(This) \ 2486 ( (This)->lpVtbl -> GetWidth(This) ) 2487 2488 #define IDeckLinkDisplayMode_GetHeight(This) \ 2489 ( (This)->lpVtbl -> GetHeight(This) ) 2490 2491 #define IDeckLinkDisplayMode_GetFrameRate(This,frameDuration,timeScale) \ 2492 ( (This)->lpVtbl -> GetFrameRate(This,frameDuration,timeScale) ) 2493 2494 #define IDeckLinkDisplayMode_GetFieldDominance(This) \ 2495 ( (This)->lpVtbl -> GetFieldDominance(This) ) 2496 2497 #define IDeckLinkDisplayMode_GetFlags(This) \ 2498 ( (This)->lpVtbl -> GetFlags(This) ) 2499 2500 #endif /* COBJMACROS */ 2501 2502 2503 #endif /* C style interface */ 2504 2505 2506 2507 2508 #endif /* __IDeckLinkDisplayMode_INTERFACE_DEFINED__ */ 2509 2510 2511 #ifndef __IDeckLink_INTERFACE_DEFINED__ 2512 #define __IDeckLink_INTERFACE_DEFINED__ 2513 2514 /* interface IDeckLink */ 2515 /* [helpstring][uuid][object] */ 2516 2517 2518 EXTERN_C const IID IID_IDeckLink; 2519 2520 #if defined(__cplusplus) && !defined(CINTERFACE) 2521 2522 MIDL_INTERFACE("C418FBDD-0587-48ED-8FE5-640F0A14AF91") 2523 IDeckLink : public IUnknown 2524 { 2525 public: 2526 virtual HRESULT STDMETHODCALLTYPE GetModelName( 2527 /* [out] */ BSTR *modelName) = 0; 2528 2529 virtual HRESULT STDMETHODCALLTYPE GetDisplayName( 2530 /* [out] */ BSTR *displayName) = 0; 2531 2532 }; 2533 2534 2535 #else /* C style interface */ 2536 2537 typedef struct IDeckLinkVtbl 2538 { 2539 BEGIN_INTERFACE 2540 2541 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 2542 IDeckLink * This, 2543 /* [in] */ REFIID riid, 2544 /* [annotation][iid_is][out] */ 2545 _COM_Outptr_ void **ppvObject); 2546 2547 ULONG ( STDMETHODCALLTYPE *AddRef )( 2548 IDeckLink * This); 2549 2550 ULONG ( STDMETHODCALLTYPE *Release )( 2551 IDeckLink * This); 2552 2553 HRESULT ( STDMETHODCALLTYPE *GetModelName )( 2554 IDeckLink * This, 2555 /* [out] */ BSTR *modelName); 2556 2557 HRESULT ( STDMETHODCALLTYPE *GetDisplayName )( 2558 IDeckLink * This, 2559 /* [out] */ BSTR *displayName); 2560 2561 END_INTERFACE 2562 } IDeckLinkVtbl; 2563 2564 interface IDeckLink 2565 { 2566 CONST_VTBL struct IDeckLinkVtbl *lpVtbl; 2567 }; 2568 2569 2570 2571 #ifdef COBJMACROS 2572 2573 2574 #define IDeckLink_QueryInterface(This,riid,ppvObject) \ 2575 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 2576 2577 #define IDeckLink_AddRef(This) \ 2578 ( (This)->lpVtbl -> AddRef(This) ) 2579 2580 #define IDeckLink_Release(This) \ 2581 ( (This)->lpVtbl -> Release(This) ) 2582 2583 2584 #define IDeckLink_GetModelName(This,modelName) \ 2585 ( (This)->lpVtbl -> GetModelName(This,modelName) ) 2586 2587 #define IDeckLink_GetDisplayName(This,displayName) \ 2588 ( (This)->lpVtbl -> GetDisplayName(This,displayName) ) 2589 2590 #endif /* COBJMACROS */ 2591 2592 2593 #endif /* C style interface */ 2594 2595 2596 2597 2598 #endif /* __IDeckLink_INTERFACE_DEFINED__ */ 2599 2600 2601 #ifndef __IDeckLinkConfiguration_INTERFACE_DEFINED__ 2602 #define __IDeckLinkConfiguration_INTERFACE_DEFINED__ 2603 2604 /* interface IDeckLinkConfiguration */ 2605 /* [helpstring][local][uuid][object] */ 2606 2607 2608 EXTERN_C const IID IID_IDeckLinkConfiguration; 2609 2610 #if defined(__cplusplus) && !defined(CINTERFACE) 2611 2612 MIDL_INTERFACE("912F634B-2D4E-40A4-8AAB-8D80B73F1289") 2613 IDeckLinkConfiguration : public IUnknown 2614 { 2615 public: 2616 virtual HRESULT STDMETHODCALLTYPE SetFlag( 2617 /* [in] */ BMDDeckLinkConfigurationID cfgID, 2618 /* [in] */ BOOL value) = 0; 2619 2620 virtual HRESULT STDMETHODCALLTYPE GetFlag( 2621 /* [in] */ BMDDeckLinkConfigurationID cfgID, 2622 /* [out] */ BOOL *value) = 0; 2623 2624 virtual HRESULT STDMETHODCALLTYPE SetInt( 2625 /* [in] */ BMDDeckLinkConfigurationID cfgID, 2626 /* [in] */ LONGLONG value) = 0; 2627 2628 virtual HRESULT STDMETHODCALLTYPE GetInt( 2629 /* [in] */ BMDDeckLinkConfigurationID cfgID, 2630 /* [out] */ LONGLONG *value) = 0; 2631 2632 virtual HRESULT STDMETHODCALLTYPE SetFloat( 2633 /* [in] */ BMDDeckLinkConfigurationID cfgID, 2634 /* [in] */ double value) = 0; 2635 2636 virtual HRESULT STDMETHODCALLTYPE GetFloat( 2637 /* [in] */ BMDDeckLinkConfigurationID cfgID, 2638 /* [out] */ double *value) = 0; 2639 2640 virtual HRESULT STDMETHODCALLTYPE SetString( 2641 /* [in] */ BMDDeckLinkConfigurationID cfgID, 2642 /* [in] */ BSTR value) = 0; 2643 2644 virtual HRESULT STDMETHODCALLTYPE GetString( 2645 /* [in] */ BMDDeckLinkConfigurationID cfgID, 2646 /* [out] */ BSTR *value) = 0; 2647 2648 virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences( void) = 0; 2649 2650 }; 2651 2652 2653 #else /* C style interface */ 2654 2655 typedef struct IDeckLinkConfigurationVtbl 2656 { 2657 BEGIN_INTERFACE 2658 2659 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 2660 IDeckLinkConfiguration * This, 2661 /* [in] */ REFIID riid, 2662 /* [annotation][iid_is][out] */ 2663 _COM_Outptr_ void **ppvObject); 2664 2665 ULONG ( STDMETHODCALLTYPE *AddRef )( 2666 IDeckLinkConfiguration * This); 2667 2668 ULONG ( STDMETHODCALLTYPE *Release )( 2669 IDeckLinkConfiguration * This); 2670 2671 HRESULT ( STDMETHODCALLTYPE *SetFlag )( 2672 IDeckLinkConfiguration * This, 2673 /* [in] */ BMDDeckLinkConfigurationID cfgID, 2674 /* [in] */ BOOL value); 2675 2676 HRESULT ( STDMETHODCALLTYPE *GetFlag )( 2677 IDeckLinkConfiguration * This, 2678 /* [in] */ BMDDeckLinkConfigurationID cfgID, 2679 /* [out] */ BOOL *value); 2680 2681 HRESULT ( STDMETHODCALLTYPE *SetInt )( 2682 IDeckLinkConfiguration * This, 2683 /* [in] */ BMDDeckLinkConfigurationID cfgID, 2684 /* [in] */ LONGLONG value); 2685 2686 HRESULT ( STDMETHODCALLTYPE *GetInt )( 2687 IDeckLinkConfiguration * This, 2688 /* [in] */ BMDDeckLinkConfigurationID cfgID, 2689 /* [out] */ LONGLONG *value); 2690 2691 HRESULT ( STDMETHODCALLTYPE *SetFloat )( 2692 IDeckLinkConfiguration * This, 2693 /* [in] */ BMDDeckLinkConfigurationID cfgID, 2694 /* [in] */ double value); 2695 2696 HRESULT ( STDMETHODCALLTYPE *GetFloat )( 2697 IDeckLinkConfiguration * This, 2698 /* [in] */ BMDDeckLinkConfigurationID cfgID, 2699 /* [out] */ double *value); 2700 2701 HRESULT ( STDMETHODCALLTYPE *SetString )( 2702 IDeckLinkConfiguration * This, 2703 /* [in] */ BMDDeckLinkConfigurationID cfgID, 2704 /* [in] */ BSTR value); 2705 2706 HRESULT ( STDMETHODCALLTYPE *GetString )( 2707 IDeckLinkConfiguration * This, 2708 /* [in] */ BMDDeckLinkConfigurationID cfgID, 2709 /* [out] */ BSTR *value); 2710 2711 HRESULT ( STDMETHODCALLTYPE *WriteConfigurationToPreferences )( 2712 IDeckLinkConfiguration * This); 2713 2714 END_INTERFACE 2715 } IDeckLinkConfigurationVtbl; 2716 2717 interface IDeckLinkConfiguration 2718 { 2719 CONST_VTBL struct IDeckLinkConfigurationVtbl *lpVtbl; 2720 }; 2721 2722 2723 2724 #ifdef COBJMACROS 2725 2726 2727 #define IDeckLinkConfiguration_QueryInterface(This,riid,ppvObject) \ 2728 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 2729 2730 #define IDeckLinkConfiguration_AddRef(This) \ 2731 ( (This)->lpVtbl -> AddRef(This) ) 2732 2733 #define IDeckLinkConfiguration_Release(This) \ 2734 ( (This)->lpVtbl -> Release(This) ) 2735 2736 2737 #define IDeckLinkConfiguration_SetFlag(This,cfgID,value) \ 2738 ( (This)->lpVtbl -> SetFlag(This,cfgID,value) ) 2739 2740 #define IDeckLinkConfiguration_GetFlag(This,cfgID,value) \ 2741 ( (This)->lpVtbl -> GetFlag(This,cfgID,value) ) 2742 2743 #define IDeckLinkConfiguration_SetInt(This,cfgID,value) \ 2744 ( (This)->lpVtbl -> SetInt(This,cfgID,value) ) 2745 2746 #define IDeckLinkConfiguration_GetInt(This,cfgID,value) \ 2747 ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) 2748 2749 #define IDeckLinkConfiguration_SetFloat(This,cfgID,value) \ 2750 ( (This)->lpVtbl -> SetFloat(This,cfgID,value) ) 2751 2752 #define IDeckLinkConfiguration_GetFloat(This,cfgID,value) \ 2753 ( (This)->lpVtbl -> GetFloat(This,cfgID,value) ) 2754 2755 #define IDeckLinkConfiguration_SetString(This,cfgID,value) \ 2756 ( (This)->lpVtbl -> SetString(This,cfgID,value) ) 2757 2758 #define IDeckLinkConfiguration_GetString(This,cfgID,value) \ 2759 ( (This)->lpVtbl -> GetString(This,cfgID,value) ) 2760 2761 #define IDeckLinkConfiguration_WriteConfigurationToPreferences(This) \ 2762 ( (This)->lpVtbl -> WriteConfigurationToPreferences(This) ) 2763 2764 #endif /* COBJMACROS */ 2765 2766 2767 #endif /* C style interface */ 2768 2769 2770 2771 2772 #endif /* __IDeckLinkConfiguration_INTERFACE_DEFINED__ */ 2773 2774 2775 #ifndef __IDeckLinkEncoderConfiguration_INTERFACE_DEFINED__ 2776 #define __IDeckLinkEncoderConfiguration_INTERFACE_DEFINED__ 2777 2778 /* interface IDeckLinkEncoderConfiguration */ 2779 /* [helpstring][local][uuid][object] */ 2780 2781 2782 EXTERN_C const IID IID_IDeckLinkEncoderConfiguration; 2783 2784 #if defined(__cplusplus) && !defined(CINTERFACE) 2785 2786 MIDL_INTERFACE("138050E5-C60A-4552-BF3F-0F358049327E") 2787 IDeckLinkEncoderConfiguration : public IUnknown 2788 { 2789 public: 2790 virtual HRESULT STDMETHODCALLTYPE SetFlag( 2791 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2792 /* [in] */ BOOL value) = 0; 2793 2794 virtual HRESULT STDMETHODCALLTYPE GetFlag( 2795 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2796 /* [out] */ BOOL *value) = 0; 2797 2798 virtual HRESULT STDMETHODCALLTYPE SetInt( 2799 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2800 /* [in] */ LONGLONG value) = 0; 2801 2802 virtual HRESULT STDMETHODCALLTYPE GetInt( 2803 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2804 /* [out] */ LONGLONG *value) = 0; 2805 2806 virtual HRESULT STDMETHODCALLTYPE SetFloat( 2807 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2808 /* [in] */ double value) = 0; 2809 2810 virtual HRESULT STDMETHODCALLTYPE GetFloat( 2811 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2812 /* [out] */ double *value) = 0; 2813 2814 virtual HRESULT STDMETHODCALLTYPE SetString( 2815 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2816 /* [in] */ BSTR value) = 0; 2817 2818 virtual HRESULT STDMETHODCALLTYPE GetString( 2819 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2820 /* [out] */ BSTR *value) = 0; 2821 2822 virtual HRESULT STDMETHODCALLTYPE GetBytes( 2823 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2824 /* [out] */ void *buffer, 2825 /* [out][in] */ unsigned int *bufferSize) = 0; 2826 2827 }; 2828 2829 2830 #else /* C style interface */ 2831 2832 typedef struct IDeckLinkEncoderConfigurationVtbl 2833 { 2834 BEGIN_INTERFACE 2835 2836 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 2837 IDeckLinkEncoderConfiguration * This, 2838 /* [in] */ REFIID riid, 2839 /* [annotation][iid_is][out] */ 2840 _COM_Outptr_ void **ppvObject); 2841 2842 ULONG ( STDMETHODCALLTYPE *AddRef )( 2843 IDeckLinkEncoderConfiguration * This); 2844 2845 ULONG ( STDMETHODCALLTYPE *Release )( 2846 IDeckLinkEncoderConfiguration * This); 2847 2848 HRESULT ( STDMETHODCALLTYPE *SetFlag )( 2849 IDeckLinkEncoderConfiguration * This, 2850 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2851 /* [in] */ BOOL value); 2852 2853 HRESULT ( STDMETHODCALLTYPE *GetFlag )( 2854 IDeckLinkEncoderConfiguration * This, 2855 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2856 /* [out] */ BOOL *value); 2857 2858 HRESULT ( STDMETHODCALLTYPE *SetInt )( 2859 IDeckLinkEncoderConfiguration * This, 2860 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2861 /* [in] */ LONGLONG value); 2862 2863 HRESULT ( STDMETHODCALLTYPE *GetInt )( 2864 IDeckLinkEncoderConfiguration * This, 2865 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2866 /* [out] */ LONGLONG *value); 2867 2868 HRESULT ( STDMETHODCALLTYPE *SetFloat )( 2869 IDeckLinkEncoderConfiguration * This, 2870 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2871 /* [in] */ double value); 2872 2873 HRESULT ( STDMETHODCALLTYPE *GetFloat )( 2874 IDeckLinkEncoderConfiguration * This, 2875 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2876 /* [out] */ double *value); 2877 2878 HRESULT ( STDMETHODCALLTYPE *SetString )( 2879 IDeckLinkEncoderConfiguration * This, 2880 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2881 /* [in] */ BSTR value); 2882 2883 HRESULT ( STDMETHODCALLTYPE *GetString )( 2884 IDeckLinkEncoderConfiguration * This, 2885 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2886 /* [out] */ BSTR *value); 2887 2888 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 2889 IDeckLinkEncoderConfiguration * This, 2890 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2891 /* [out] */ void *buffer, 2892 /* [out][in] */ unsigned int *bufferSize); 2893 2894 END_INTERFACE 2895 } IDeckLinkEncoderConfigurationVtbl; 2896 2897 interface IDeckLinkEncoderConfiguration 2898 { 2899 CONST_VTBL struct IDeckLinkEncoderConfigurationVtbl *lpVtbl; 2900 }; 2901 2902 2903 2904 #ifdef COBJMACROS 2905 2906 2907 #define IDeckLinkEncoderConfiguration_QueryInterface(This,riid,ppvObject) \ 2908 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 2909 2910 #define IDeckLinkEncoderConfiguration_AddRef(This) \ 2911 ( (This)->lpVtbl -> AddRef(This) ) 2912 2913 #define IDeckLinkEncoderConfiguration_Release(This) \ 2914 ( (This)->lpVtbl -> Release(This) ) 2915 2916 2917 #define IDeckLinkEncoderConfiguration_SetFlag(This,cfgID,value) \ 2918 ( (This)->lpVtbl -> SetFlag(This,cfgID,value) ) 2919 2920 #define IDeckLinkEncoderConfiguration_GetFlag(This,cfgID,value) \ 2921 ( (This)->lpVtbl -> GetFlag(This,cfgID,value) ) 2922 2923 #define IDeckLinkEncoderConfiguration_SetInt(This,cfgID,value) \ 2924 ( (This)->lpVtbl -> SetInt(This,cfgID,value) ) 2925 2926 #define IDeckLinkEncoderConfiguration_GetInt(This,cfgID,value) \ 2927 ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) 2928 2929 #define IDeckLinkEncoderConfiguration_SetFloat(This,cfgID,value) \ 2930 ( (This)->lpVtbl -> SetFloat(This,cfgID,value) ) 2931 2932 #define IDeckLinkEncoderConfiguration_GetFloat(This,cfgID,value) \ 2933 ( (This)->lpVtbl -> GetFloat(This,cfgID,value) ) 2934 2935 #define IDeckLinkEncoderConfiguration_SetString(This,cfgID,value) \ 2936 ( (This)->lpVtbl -> SetString(This,cfgID,value) ) 2937 2938 #define IDeckLinkEncoderConfiguration_GetString(This,cfgID,value) \ 2939 ( (This)->lpVtbl -> GetString(This,cfgID,value) ) 2940 2941 #define IDeckLinkEncoderConfiguration_GetBytes(This,cfgID,buffer,bufferSize) \ 2942 ( (This)->lpVtbl -> GetBytes(This,cfgID,buffer,bufferSize) ) 2943 2944 #endif /* COBJMACROS */ 2945 2946 2947 #endif /* C style interface */ 2948 2949 2950 2951 2952 #endif /* __IDeckLinkEncoderConfiguration_INTERFACE_DEFINED__ */ 2953 2954 2955 #ifndef __IDeckLinkDeckControlStatusCallback_INTERFACE_DEFINED__ 2956 #define __IDeckLinkDeckControlStatusCallback_INTERFACE_DEFINED__ 2957 2958 /* interface IDeckLinkDeckControlStatusCallback */ 2959 /* [helpstring][uuid][object] */ 2960 2961 2962 EXTERN_C const IID IID_IDeckLinkDeckControlStatusCallback; 2963 2964 #if defined(__cplusplus) && !defined(CINTERFACE) 2965 2966 MIDL_INTERFACE("53436FFB-B434-4906-BADC-AE3060FFE8EF") 2967 IDeckLinkDeckControlStatusCallback : public IUnknown 2968 { 2969 public: 2970 virtual HRESULT STDMETHODCALLTYPE TimecodeUpdate( 2971 /* [in] */ BMDTimecodeBCD currentTimecode) = 0; 2972 2973 virtual HRESULT STDMETHODCALLTYPE VTRControlStateChanged( 2974 /* [in] */ BMDDeckControlVTRControlState newState, 2975 /* [in] */ BMDDeckControlError error) = 0; 2976 2977 virtual HRESULT STDMETHODCALLTYPE DeckControlEventReceived( 2978 /* [in] */ BMDDeckControlEvent event, 2979 /* [in] */ BMDDeckControlError error) = 0; 2980 2981 virtual HRESULT STDMETHODCALLTYPE DeckControlStatusChanged( 2982 /* [in] */ BMDDeckControlStatusFlags flags, 2983 /* [in] */ unsigned int mask) = 0; 2984 2985 }; 2986 2987 2988 #else /* C style interface */ 2989 2990 typedef struct IDeckLinkDeckControlStatusCallbackVtbl 2991 { 2992 BEGIN_INTERFACE 2993 2994 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 2995 IDeckLinkDeckControlStatusCallback * This, 2996 /* [in] */ REFIID riid, 2997 /* [annotation][iid_is][out] */ 2998 _COM_Outptr_ void **ppvObject); 2999 3000 ULONG ( STDMETHODCALLTYPE *AddRef )( 3001 IDeckLinkDeckControlStatusCallback * This); 3002 3003 ULONG ( STDMETHODCALLTYPE *Release )( 3004 IDeckLinkDeckControlStatusCallback * This); 3005 3006 HRESULT ( STDMETHODCALLTYPE *TimecodeUpdate )( 3007 IDeckLinkDeckControlStatusCallback * This, 3008 /* [in] */ BMDTimecodeBCD currentTimecode); 3009 3010 HRESULT ( STDMETHODCALLTYPE *VTRControlStateChanged )( 3011 IDeckLinkDeckControlStatusCallback * This, 3012 /* [in] */ BMDDeckControlVTRControlState newState, 3013 /* [in] */ BMDDeckControlError error); 3014 3015 HRESULT ( STDMETHODCALLTYPE *DeckControlEventReceived )( 3016 IDeckLinkDeckControlStatusCallback * This, 3017 /* [in] */ BMDDeckControlEvent event, 3018 /* [in] */ BMDDeckControlError error); 3019 3020 HRESULT ( STDMETHODCALLTYPE *DeckControlStatusChanged )( 3021 IDeckLinkDeckControlStatusCallback * This, 3022 /* [in] */ BMDDeckControlStatusFlags flags, 3023 /* [in] */ unsigned int mask); 3024 3025 END_INTERFACE 3026 } IDeckLinkDeckControlStatusCallbackVtbl; 3027 3028 interface IDeckLinkDeckControlStatusCallback 3029 { 3030 CONST_VTBL struct IDeckLinkDeckControlStatusCallbackVtbl *lpVtbl; 3031 }; 3032 3033 3034 3035 #ifdef COBJMACROS 3036 3037 3038 #define IDeckLinkDeckControlStatusCallback_QueryInterface(This,riid,ppvObject) \ 3039 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 3040 3041 #define IDeckLinkDeckControlStatusCallback_AddRef(This) \ 3042 ( (This)->lpVtbl -> AddRef(This) ) 3043 3044 #define IDeckLinkDeckControlStatusCallback_Release(This) \ 3045 ( (This)->lpVtbl -> Release(This) ) 3046 3047 3048 #define IDeckLinkDeckControlStatusCallback_TimecodeUpdate(This,currentTimecode) \ 3049 ( (This)->lpVtbl -> TimecodeUpdate(This,currentTimecode) ) 3050 3051 #define IDeckLinkDeckControlStatusCallback_VTRControlStateChanged(This,newState,error) \ 3052 ( (This)->lpVtbl -> VTRControlStateChanged(This,newState,error) ) 3053 3054 #define IDeckLinkDeckControlStatusCallback_DeckControlEventReceived(This,event,error) \ 3055 ( (This)->lpVtbl -> DeckControlEventReceived(This,event,error) ) 3056 3057 #define IDeckLinkDeckControlStatusCallback_DeckControlStatusChanged(This,flags,mask) \ 3058 ( (This)->lpVtbl -> DeckControlStatusChanged(This,flags,mask) ) 3059 3060 #endif /* COBJMACROS */ 3061 3062 3063 #endif /* C style interface */ 3064 3065 3066 3067 3068 #endif /* __IDeckLinkDeckControlStatusCallback_INTERFACE_DEFINED__ */ 3069 3070 3071 #ifndef __IDeckLinkDeckControl_INTERFACE_DEFINED__ 3072 #define __IDeckLinkDeckControl_INTERFACE_DEFINED__ 3073 3074 /* interface IDeckLinkDeckControl */ 3075 /* [helpstring][uuid][object] */ 3076 3077 3078 EXTERN_C const IID IID_IDeckLinkDeckControl; 3079 3080 #if defined(__cplusplus) && !defined(CINTERFACE) 3081 3082 MIDL_INTERFACE("8E1C3ACE-19C7-4E00-8B92-D80431D958BE") 3083 IDeckLinkDeckControl : public IUnknown 3084 { 3085 public: 3086 virtual HRESULT STDMETHODCALLTYPE Open( 3087 /* [in] */ BMDTimeScale timeScale, 3088 /* [in] */ BMDTimeValue timeValue, 3089 /* [in] */ BOOL timecodeIsDropFrame, 3090 /* [out] */ BMDDeckControlError *error) = 0; 3091 3092 virtual HRESULT STDMETHODCALLTYPE Close( 3093 /* [in] */ BOOL standbyOn) = 0; 3094 3095 virtual HRESULT STDMETHODCALLTYPE GetCurrentState( 3096 /* [out] */ BMDDeckControlMode *mode, 3097 /* [out] */ BMDDeckControlVTRControlState *vtrControlState, 3098 /* [out] */ BMDDeckControlStatusFlags *flags) = 0; 3099 3100 virtual HRESULT STDMETHODCALLTYPE SetStandby( 3101 /* [in] */ BOOL standbyOn) = 0; 3102 3103 virtual HRESULT STDMETHODCALLTYPE SendCommand( 3104 /* [in] */ unsigned char *inBuffer, 3105 /* [in] */ unsigned int inBufferSize, 3106 /* [out] */ unsigned char *outBuffer, 3107 /* [out] */ unsigned int *outDataSize, 3108 /* [in] */ unsigned int outBufferSize, 3109 /* [out] */ BMDDeckControlError *error) = 0; 3110 3111 virtual HRESULT STDMETHODCALLTYPE Play( 3112 /* [out] */ BMDDeckControlError *error) = 0; 3113 3114 virtual HRESULT STDMETHODCALLTYPE Stop( 3115 /* [out] */ BMDDeckControlError *error) = 0; 3116 3117 virtual HRESULT STDMETHODCALLTYPE TogglePlayStop( 3118 /* [out] */ BMDDeckControlError *error) = 0; 3119 3120 virtual HRESULT STDMETHODCALLTYPE Eject( 3121 /* [out] */ BMDDeckControlError *error) = 0; 3122 3123 virtual HRESULT STDMETHODCALLTYPE GoToTimecode( 3124 /* [in] */ BMDTimecodeBCD timecode, 3125 /* [out] */ BMDDeckControlError *error) = 0; 3126 3127 virtual HRESULT STDMETHODCALLTYPE FastForward( 3128 /* [in] */ BOOL viewTape, 3129 /* [out] */ BMDDeckControlError *error) = 0; 3130 3131 virtual HRESULT STDMETHODCALLTYPE Rewind( 3132 /* [in] */ BOOL viewTape, 3133 /* [out] */ BMDDeckControlError *error) = 0; 3134 3135 virtual HRESULT STDMETHODCALLTYPE StepForward( 3136 /* [out] */ BMDDeckControlError *error) = 0; 3137 3138 virtual HRESULT STDMETHODCALLTYPE StepBack( 3139 /* [out] */ BMDDeckControlError *error) = 0; 3140 3141 virtual HRESULT STDMETHODCALLTYPE Jog( 3142 /* [in] */ double rate, 3143 /* [out] */ BMDDeckControlError *error) = 0; 3144 3145 virtual HRESULT STDMETHODCALLTYPE Shuttle( 3146 /* [in] */ double rate, 3147 /* [out] */ BMDDeckControlError *error) = 0; 3148 3149 virtual HRESULT STDMETHODCALLTYPE GetTimecodeString( 3150 /* [out] */ BSTR *currentTimeCode, 3151 /* [out] */ BMDDeckControlError *error) = 0; 3152 3153 virtual HRESULT STDMETHODCALLTYPE GetTimecode( 3154 /* [out] */ IDeckLinkTimecode **currentTimecode, 3155 /* [out] */ BMDDeckControlError *error) = 0; 3156 3157 virtual HRESULT STDMETHODCALLTYPE GetTimecodeBCD( 3158 /* [out] */ BMDTimecodeBCD *currentTimecode, 3159 /* [out] */ BMDDeckControlError *error) = 0; 3160 3161 virtual HRESULT STDMETHODCALLTYPE SetPreroll( 3162 /* [in] */ unsigned int prerollSeconds) = 0; 3163 3164 virtual HRESULT STDMETHODCALLTYPE GetPreroll( 3165 /* [out] */ unsigned int *prerollSeconds) = 0; 3166 3167 virtual HRESULT STDMETHODCALLTYPE SetExportOffset( 3168 /* [in] */ int exportOffsetFields) = 0; 3169 3170 virtual HRESULT STDMETHODCALLTYPE GetExportOffset( 3171 /* [out] */ int *exportOffsetFields) = 0; 3172 3173 virtual HRESULT STDMETHODCALLTYPE GetManualExportOffset( 3174 /* [out] */ int *deckManualExportOffsetFields) = 0; 3175 3176 virtual HRESULT STDMETHODCALLTYPE SetCaptureOffset( 3177 /* [in] */ int captureOffsetFields) = 0; 3178 3179 virtual HRESULT STDMETHODCALLTYPE GetCaptureOffset( 3180 /* [out] */ int *captureOffsetFields) = 0; 3181 3182 virtual HRESULT STDMETHODCALLTYPE StartExport( 3183 /* [in] */ BMDTimecodeBCD inTimecode, 3184 /* [in] */ BMDTimecodeBCD outTimecode, 3185 /* [in] */ BMDDeckControlExportModeOpsFlags exportModeOps, 3186 /* [out] */ BMDDeckControlError *error) = 0; 3187 3188 virtual HRESULT STDMETHODCALLTYPE StartCapture( 3189 /* [in] */ BOOL useVITC, 3190 /* [in] */ BMDTimecodeBCD inTimecode, 3191 /* [in] */ BMDTimecodeBCD outTimecode, 3192 /* [out] */ BMDDeckControlError *error) = 0; 3193 3194 virtual HRESULT STDMETHODCALLTYPE GetDeviceID( 3195 /* [out] */ unsigned short *deviceId, 3196 /* [out] */ BMDDeckControlError *error) = 0; 3197 3198 virtual HRESULT STDMETHODCALLTYPE Abort( void) = 0; 3199 3200 virtual HRESULT STDMETHODCALLTYPE CrashRecordStart( 3201 /* [out] */ BMDDeckControlError *error) = 0; 3202 3203 virtual HRESULT STDMETHODCALLTYPE CrashRecordStop( 3204 /* [out] */ BMDDeckControlError *error) = 0; 3205 3206 virtual HRESULT STDMETHODCALLTYPE SetCallback( 3207 /* [in] */ IDeckLinkDeckControlStatusCallback *callback) = 0; 3208 3209 }; 3210 3211 3212 #else /* C style interface */ 3213 3214 typedef struct IDeckLinkDeckControlVtbl 3215 { 3216 BEGIN_INTERFACE 3217 3218 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 3219 IDeckLinkDeckControl * This, 3220 /* [in] */ REFIID riid, 3221 /* [annotation][iid_is][out] */ 3222 _COM_Outptr_ void **ppvObject); 3223 3224 ULONG ( STDMETHODCALLTYPE *AddRef )( 3225 IDeckLinkDeckControl * This); 3226 3227 ULONG ( STDMETHODCALLTYPE *Release )( 3228 IDeckLinkDeckControl * This); 3229 3230 HRESULT ( STDMETHODCALLTYPE *Open )( 3231 IDeckLinkDeckControl * This, 3232 /* [in] */ BMDTimeScale timeScale, 3233 /* [in] */ BMDTimeValue timeValue, 3234 /* [in] */ BOOL timecodeIsDropFrame, 3235 /* [out] */ BMDDeckControlError *error); 3236 3237 HRESULT ( STDMETHODCALLTYPE *Close )( 3238 IDeckLinkDeckControl * This, 3239 /* [in] */ BOOL standbyOn); 3240 3241 HRESULT ( STDMETHODCALLTYPE *GetCurrentState )( 3242 IDeckLinkDeckControl * This, 3243 /* [out] */ BMDDeckControlMode *mode, 3244 /* [out] */ BMDDeckControlVTRControlState *vtrControlState, 3245 /* [out] */ BMDDeckControlStatusFlags *flags); 3246 3247 HRESULT ( STDMETHODCALLTYPE *SetStandby )( 3248 IDeckLinkDeckControl * This, 3249 /* [in] */ BOOL standbyOn); 3250 3251 HRESULT ( STDMETHODCALLTYPE *SendCommand )( 3252 IDeckLinkDeckControl * This, 3253 /* [in] */ unsigned char *inBuffer, 3254 /* [in] */ unsigned int inBufferSize, 3255 /* [out] */ unsigned char *outBuffer, 3256 /* [out] */ unsigned int *outDataSize, 3257 /* [in] */ unsigned int outBufferSize, 3258 /* [out] */ BMDDeckControlError *error); 3259 3260 HRESULT ( STDMETHODCALLTYPE *Play )( 3261 IDeckLinkDeckControl * This, 3262 /* [out] */ BMDDeckControlError *error); 3263 3264 HRESULT ( STDMETHODCALLTYPE *Stop )( 3265 IDeckLinkDeckControl * This, 3266 /* [out] */ BMDDeckControlError *error); 3267 3268 HRESULT ( STDMETHODCALLTYPE *TogglePlayStop )( 3269 IDeckLinkDeckControl * This, 3270 /* [out] */ BMDDeckControlError *error); 3271 3272 HRESULT ( STDMETHODCALLTYPE *Eject )( 3273 IDeckLinkDeckControl * This, 3274 /* [out] */ BMDDeckControlError *error); 3275 3276 HRESULT ( STDMETHODCALLTYPE *GoToTimecode )( 3277 IDeckLinkDeckControl * This, 3278 /* [in] */ BMDTimecodeBCD timecode, 3279 /* [out] */ BMDDeckControlError *error); 3280 3281 HRESULT ( STDMETHODCALLTYPE *FastForward )( 3282 IDeckLinkDeckControl * This, 3283 /* [in] */ BOOL viewTape, 3284 /* [out] */ BMDDeckControlError *error); 3285 3286 HRESULT ( STDMETHODCALLTYPE *Rewind )( 3287 IDeckLinkDeckControl * This, 3288 /* [in] */ BOOL viewTape, 3289 /* [out] */ BMDDeckControlError *error); 3290 3291 HRESULT ( STDMETHODCALLTYPE *StepForward )( 3292 IDeckLinkDeckControl * This, 3293 /* [out] */ BMDDeckControlError *error); 3294 3295 HRESULT ( STDMETHODCALLTYPE *StepBack )( 3296 IDeckLinkDeckControl * This, 3297 /* [out] */ BMDDeckControlError *error); 3298 3299 HRESULT ( STDMETHODCALLTYPE *Jog )( 3300 IDeckLinkDeckControl * This, 3301 /* [in] */ double rate, 3302 /* [out] */ BMDDeckControlError *error); 3303 3304 HRESULT ( STDMETHODCALLTYPE *Shuttle )( 3305 IDeckLinkDeckControl * This, 3306 /* [in] */ double rate, 3307 /* [out] */ BMDDeckControlError *error); 3308 3309 HRESULT ( STDMETHODCALLTYPE *GetTimecodeString )( 3310 IDeckLinkDeckControl * This, 3311 /* [out] */ BSTR *currentTimeCode, 3312 /* [out] */ BMDDeckControlError *error); 3313 3314 HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 3315 IDeckLinkDeckControl * This, 3316 /* [out] */ IDeckLinkTimecode **currentTimecode, 3317 /* [out] */ BMDDeckControlError *error); 3318 3319 HRESULT ( STDMETHODCALLTYPE *GetTimecodeBCD )( 3320 IDeckLinkDeckControl * This, 3321 /* [out] */ BMDTimecodeBCD *currentTimecode, 3322 /* [out] */ BMDDeckControlError *error); 3323 3324 HRESULT ( STDMETHODCALLTYPE *SetPreroll )( 3325 IDeckLinkDeckControl * This, 3326 /* [in] */ unsigned int prerollSeconds); 3327 3328 HRESULT ( STDMETHODCALLTYPE *GetPreroll )( 3329 IDeckLinkDeckControl * This, 3330 /* [out] */ unsigned int *prerollSeconds); 3331 3332 HRESULT ( STDMETHODCALLTYPE *SetExportOffset )( 3333 IDeckLinkDeckControl * This, 3334 /* [in] */ int exportOffsetFields); 3335 3336 HRESULT ( STDMETHODCALLTYPE *GetExportOffset )( 3337 IDeckLinkDeckControl * This, 3338 /* [out] */ int *exportOffsetFields); 3339 3340 HRESULT ( STDMETHODCALLTYPE *GetManualExportOffset )( 3341 IDeckLinkDeckControl * This, 3342 /* [out] */ int *deckManualExportOffsetFields); 3343 3344 HRESULT ( STDMETHODCALLTYPE *SetCaptureOffset )( 3345 IDeckLinkDeckControl * This, 3346 /* [in] */ int captureOffsetFields); 3347 3348 HRESULT ( STDMETHODCALLTYPE *GetCaptureOffset )( 3349 IDeckLinkDeckControl * This, 3350 /* [out] */ int *captureOffsetFields); 3351 3352 HRESULT ( STDMETHODCALLTYPE *StartExport )( 3353 IDeckLinkDeckControl * This, 3354 /* [in] */ BMDTimecodeBCD inTimecode, 3355 /* [in] */ BMDTimecodeBCD outTimecode, 3356 /* [in] */ BMDDeckControlExportModeOpsFlags exportModeOps, 3357 /* [out] */ BMDDeckControlError *error); 3358 3359 HRESULT ( STDMETHODCALLTYPE *StartCapture )( 3360 IDeckLinkDeckControl * This, 3361 /* [in] */ BOOL useVITC, 3362 /* [in] */ BMDTimecodeBCD inTimecode, 3363 /* [in] */ BMDTimecodeBCD outTimecode, 3364 /* [out] */ BMDDeckControlError *error); 3365 3366 HRESULT ( STDMETHODCALLTYPE *GetDeviceID )( 3367 IDeckLinkDeckControl * This, 3368 /* [out] */ unsigned short *deviceId, 3369 /* [out] */ BMDDeckControlError *error); 3370 3371 HRESULT ( STDMETHODCALLTYPE *Abort )( 3372 IDeckLinkDeckControl * This); 3373 3374 HRESULT ( STDMETHODCALLTYPE *CrashRecordStart )( 3375 IDeckLinkDeckControl * This, 3376 /* [out] */ BMDDeckControlError *error); 3377 3378 HRESULT ( STDMETHODCALLTYPE *CrashRecordStop )( 3379 IDeckLinkDeckControl * This, 3380 /* [out] */ BMDDeckControlError *error); 3381 3382 HRESULT ( STDMETHODCALLTYPE *SetCallback )( 3383 IDeckLinkDeckControl * This, 3384 /* [in] */ IDeckLinkDeckControlStatusCallback *callback); 3385 3386 END_INTERFACE 3387 } IDeckLinkDeckControlVtbl; 3388 3389 interface IDeckLinkDeckControl 3390 { 3391 CONST_VTBL struct IDeckLinkDeckControlVtbl *lpVtbl; 3392 }; 3393 3394 3395 3396 #ifdef COBJMACROS 3397 3398 3399 #define IDeckLinkDeckControl_QueryInterface(This,riid,ppvObject) \ 3400 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 3401 3402 #define IDeckLinkDeckControl_AddRef(This) \ 3403 ( (This)->lpVtbl -> AddRef(This) ) 3404 3405 #define IDeckLinkDeckControl_Release(This) \ 3406 ( (This)->lpVtbl -> Release(This) ) 3407 3408 3409 #define IDeckLinkDeckControl_Open(This,timeScale,timeValue,timecodeIsDropFrame,error) \ 3410 ( (This)->lpVtbl -> Open(This,timeScale,timeValue,timecodeIsDropFrame,error) ) 3411 3412 #define IDeckLinkDeckControl_Close(This,standbyOn) \ 3413 ( (This)->lpVtbl -> Close(This,standbyOn) ) 3414 3415 #define IDeckLinkDeckControl_GetCurrentState(This,mode,vtrControlState,flags) \ 3416 ( (This)->lpVtbl -> GetCurrentState(This,mode,vtrControlState,flags) ) 3417 3418 #define IDeckLinkDeckControl_SetStandby(This,standbyOn) \ 3419 ( (This)->lpVtbl -> SetStandby(This,standbyOn) ) 3420 3421 #define IDeckLinkDeckControl_SendCommand(This,inBuffer,inBufferSize,outBuffer,outDataSize,outBufferSize,error) \ 3422 ( (This)->lpVtbl -> SendCommand(This,inBuffer,inBufferSize,outBuffer,outDataSize,outBufferSize,error) ) 3423 3424 #define IDeckLinkDeckControl_Play(This,error) \ 3425 ( (This)->lpVtbl -> Play(This,error) ) 3426 3427 #define IDeckLinkDeckControl_Stop(This,error) \ 3428 ( (This)->lpVtbl -> Stop(This,error) ) 3429 3430 #define IDeckLinkDeckControl_TogglePlayStop(This,error) \ 3431 ( (This)->lpVtbl -> TogglePlayStop(This,error) ) 3432 3433 #define IDeckLinkDeckControl_Eject(This,error) \ 3434 ( (This)->lpVtbl -> Eject(This,error) ) 3435 3436 #define IDeckLinkDeckControl_GoToTimecode(This,timecode,error) \ 3437 ( (This)->lpVtbl -> GoToTimecode(This,timecode,error) ) 3438 3439 #define IDeckLinkDeckControl_FastForward(This,viewTape,error) \ 3440 ( (This)->lpVtbl -> FastForward(This,viewTape,error) ) 3441 3442 #define IDeckLinkDeckControl_Rewind(This,viewTape,error) \ 3443 ( (This)->lpVtbl -> Rewind(This,viewTape,error) ) 3444 3445 #define IDeckLinkDeckControl_StepForward(This,error) \ 3446 ( (This)->lpVtbl -> StepForward(This,error) ) 3447 3448 #define IDeckLinkDeckControl_StepBack(This,error) \ 3449 ( (This)->lpVtbl -> StepBack(This,error) ) 3450 3451 #define IDeckLinkDeckControl_Jog(This,rate,error) \ 3452 ( (This)->lpVtbl -> Jog(This,rate,error) ) 3453 3454 #define IDeckLinkDeckControl_Shuttle(This,rate,error) \ 3455 ( (This)->lpVtbl -> Shuttle(This,rate,error) ) 3456 3457 #define IDeckLinkDeckControl_GetTimecodeString(This,currentTimeCode,error) \ 3458 ( (This)->lpVtbl -> GetTimecodeString(This,currentTimeCode,error) ) 3459 3460 #define IDeckLinkDeckControl_GetTimecode(This,currentTimecode,error) \ 3461 ( (This)->lpVtbl -> GetTimecode(This,currentTimecode,error) ) 3462 3463 #define IDeckLinkDeckControl_GetTimecodeBCD(This,currentTimecode,error) \ 3464 ( (This)->lpVtbl -> GetTimecodeBCD(This,currentTimecode,error) ) 3465 3466 #define IDeckLinkDeckControl_SetPreroll(This,prerollSeconds) \ 3467 ( (This)->lpVtbl -> SetPreroll(This,prerollSeconds) ) 3468 3469 #define IDeckLinkDeckControl_GetPreroll(This,prerollSeconds) \ 3470 ( (This)->lpVtbl -> GetPreroll(This,prerollSeconds) ) 3471 3472 #define IDeckLinkDeckControl_SetExportOffset(This,exportOffsetFields) \ 3473 ( (This)->lpVtbl -> SetExportOffset(This,exportOffsetFields) ) 3474 3475 #define IDeckLinkDeckControl_GetExportOffset(This,exportOffsetFields) \ 3476 ( (This)->lpVtbl -> GetExportOffset(This,exportOffsetFields) ) 3477 3478 #define IDeckLinkDeckControl_GetManualExportOffset(This,deckManualExportOffsetFields) \ 3479 ( (This)->lpVtbl -> GetManualExportOffset(This,deckManualExportOffsetFields) ) 3480 3481 #define IDeckLinkDeckControl_SetCaptureOffset(This,captureOffsetFields) \ 3482 ( (This)->lpVtbl -> SetCaptureOffset(This,captureOffsetFields) ) 3483 3484 #define IDeckLinkDeckControl_GetCaptureOffset(This,captureOffsetFields) \ 3485 ( (This)->lpVtbl -> GetCaptureOffset(This,captureOffsetFields) ) 3486 3487 #define IDeckLinkDeckControl_StartExport(This,inTimecode,outTimecode,exportModeOps,error) \ 3488 ( (This)->lpVtbl -> StartExport(This,inTimecode,outTimecode,exportModeOps,error) ) 3489 3490 #define IDeckLinkDeckControl_StartCapture(This,useVITC,inTimecode,outTimecode,error) \ 3491 ( (This)->lpVtbl -> StartCapture(This,useVITC,inTimecode,outTimecode,error) ) 3492 3493 #define IDeckLinkDeckControl_GetDeviceID(This,deviceId,error) \ 3494 ( (This)->lpVtbl -> GetDeviceID(This,deviceId,error) ) 3495 3496 #define IDeckLinkDeckControl_Abort(This) \ 3497 ( (This)->lpVtbl -> Abort(This) ) 3498 3499 #define IDeckLinkDeckControl_CrashRecordStart(This,error) \ 3500 ( (This)->lpVtbl -> CrashRecordStart(This,error) ) 3501 3502 #define IDeckLinkDeckControl_CrashRecordStop(This,error) \ 3503 ( (This)->lpVtbl -> CrashRecordStop(This,error) ) 3504 3505 #define IDeckLinkDeckControl_SetCallback(This,callback) \ 3506 ( (This)->lpVtbl -> SetCallback(This,callback) ) 3507 3508 #endif /* COBJMACROS */ 3509 3510 3511 #endif /* C style interface */ 3512 3513 3514 3515 3516 #endif /* __IDeckLinkDeckControl_INTERFACE_DEFINED__ */ 3517 3518 3519 #ifndef __IBMDStreamingDeviceNotificationCallback_INTERFACE_DEFINED__ 3520 #define __IBMDStreamingDeviceNotificationCallback_INTERFACE_DEFINED__ 3521 3522 /* interface IBMDStreamingDeviceNotificationCallback */ 3523 /* [helpstring][uuid][object] */ 3524 3525 3526 EXTERN_C const IID IID_IBMDStreamingDeviceNotificationCallback; 3527 3528 #if defined(__cplusplus) && !defined(CINTERFACE) 3529 3530 MIDL_INTERFACE("F9531D64-3305-4B29-A387-7F74BB0D0E84") 3531 IBMDStreamingDeviceNotificationCallback : public IUnknown 3532 { 3533 public: 3534 virtual HRESULT STDMETHODCALLTYPE StreamingDeviceArrived( 3535 /* [in] */ IDeckLink *device) = 0; 3536 3537 virtual HRESULT STDMETHODCALLTYPE StreamingDeviceRemoved( 3538 /* [in] */ IDeckLink *device) = 0; 3539 3540 virtual HRESULT STDMETHODCALLTYPE StreamingDeviceModeChanged( 3541 /* [in] */ IDeckLink *device, 3542 /* [in] */ BMDStreamingDeviceMode mode) = 0; 3543 3544 }; 3545 3546 3547 #else /* C style interface */ 3548 3549 typedef struct IBMDStreamingDeviceNotificationCallbackVtbl 3550 { 3551 BEGIN_INTERFACE 3552 3553 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 3554 IBMDStreamingDeviceNotificationCallback * This, 3555 /* [in] */ REFIID riid, 3556 /* [annotation][iid_is][out] */ 3557 _COM_Outptr_ void **ppvObject); 3558 3559 ULONG ( STDMETHODCALLTYPE *AddRef )( 3560 IBMDStreamingDeviceNotificationCallback * This); 3561 3562 ULONG ( STDMETHODCALLTYPE *Release )( 3563 IBMDStreamingDeviceNotificationCallback * This); 3564 3565 HRESULT ( STDMETHODCALLTYPE *StreamingDeviceArrived )( 3566 IBMDStreamingDeviceNotificationCallback * This, 3567 /* [in] */ IDeckLink *device); 3568 3569 HRESULT ( STDMETHODCALLTYPE *StreamingDeviceRemoved )( 3570 IBMDStreamingDeviceNotificationCallback * This, 3571 /* [in] */ IDeckLink *device); 3572 3573 HRESULT ( STDMETHODCALLTYPE *StreamingDeviceModeChanged )( 3574 IBMDStreamingDeviceNotificationCallback * This, 3575 /* [in] */ IDeckLink *device, 3576 /* [in] */ BMDStreamingDeviceMode mode); 3577 3578 END_INTERFACE 3579 } IBMDStreamingDeviceNotificationCallbackVtbl; 3580 3581 interface IBMDStreamingDeviceNotificationCallback 3582 { 3583 CONST_VTBL struct IBMDStreamingDeviceNotificationCallbackVtbl *lpVtbl; 3584 }; 3585 3586 3587 3588 #ifdef COBJMACROS 3589 3590 3591 #define IBMDStreamingDeviceNotificationCallback_QueryInterface(This,riid,ppvObject) \ 3592 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 3593 3594 #define IBMDStreamingDeviceNotificationCallback_AddRef(This) \ 3595 ( (This)->lpVtbl -> AddRef(This) ) 3596 3597 #define IBMDStreamingDeviceNotificationCallback_Release(This) \ 3598 ( (This)->lpVtbl -> Release(This) ) 3599 3600 3601 #define IBMDStreamingDeviceNotificationCallback_StreamingDeviceArrived(This,device) \ 3602 ( (This)->lpVtbl -> StreamingDeviceArrived(This,device) ) 3603 3604 #define IBMDStreamingDeviceNotificationCallback_StreamingDeviceRemoved(This,device) \ 3605 ( (This)->lpVtbl -> StreamingDeviceRemoved(This,device) ) 3606 3607 #define IBMDStreamingDeviceNotificationCallback_StreamingDeviceModeChanged(This,device,mode) \ 3608 ( (This)->lpVtbl -> StreamingDeviceModeChanged(This,device,mode) ) 3609 3610 #endif /* COBJMACROS */ 3611 3612 3613 #endif /* C style interface */ 3614 3615 3616 3617 3618 #endif /* __IBMDStreamingDeviceNotificationCallback_INTERFACE_DEFINED__ */ 3619 3620 3621 #ifndef __IBMDStreamingH264InputCallback_INTERFACE_DEFINED__ 3622 #define __IBMDStreamingH264InputCallback_INTERFACE_DEFINED__ 3623 3624 /* interface IBMDStreamingH264InputCallback */ 3625 /* [helpstring][uuid][object] */ 3626 3627 3628 EXTERN_C const IID IID_IBMDStreamingH264InputCallback; 3629 3630 #if defined(__cplusplus) && !defined(CINTERFACE) 3631 3632 MIDL_INTERFACE("823C475F-55AE-46F9-890C-537CC5CEDCCA") 3633 IBMDStreamingH264InputCallback : public IUnknown 3634 { 3635 public: 3636 virtual HRESULT STDMETHODCALLTYPE H264NALPacketArrived( 3637 /* [in] */ IBMDStreamingH264NALPacket *nalPacket) = 0; 3638 3639 virtual HRESULT STDMETHODCALLTYPE H264AudioPacketArrived( 3640 /* [in] */ IBMDStreamingAudioPacket *audioPacket) = 0; 3641 3642 virtual HRESULT STDMETHODCALLTYPE MPEG2TSPacketArrived( 3643 /* [in] */ IBMDStreamingMPEG2TSPacket *tsPacket) = 0; 3644 3645 virtual HRESULT STDMETHODCALLTYPE H264VideoInputConnectorScanningChanged( void) = 0; 3646 3647 virtual HRESULT STDMETHODCALLTYPE H264VideoInputConnectorChanged( void) = 0; 3648 3649 virtual HRESULT STDMETHODCALLTYPE H264VideoInputModeChanged( void) = 0; 3650 3651 }; 3652 3653 3654 #else /* C style interface */ 3655 3656 typedef struct IBMDStreamingH264InputCallbackVtbl 3657 { 3658 BEGIN_INTERFACE 3659 3660 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 3661 IBMDStreamingH264InputCallback * This, 3662 /* [in] */ REFIID riid, 3663 /* [annotation][iid_is][out] */ 3664 _COM_Outptr_ void **ppvObject); 3665 3666 ULONG ( STDMETHODCALLTYPE *AddRef )( 3667 IBMDStreamingH264InputCallback * This); 3668 3669 ULONG ( STDMETHODCALLTYPE *Release )( 3670 IBMDStreamingH264InputCallback * This); 3671 3672 HRESULT ( STDMETHODCALLTYPE *H264NALPacketArrived )( 3673 IBMDStreamingH264InputCallback * This, 3674 /* [in] */ IBMDStreamingH264NALPacket *nalPacket); 3675 3676 HRESULT ( STDMETHODCALLTYPE *H264AudioPacketArrived )( 3677 IBMDStreamingH264InputCallback * This, 3678 /* [in] */ IBMDStreamingAudioPacket *audioPacket); 3679 3680 HRESULT ( STDMETHODCALLTYPE *MPEG2TSPacketArrived )( 3681 IBMDStreamingH264InputCallback * This, 3682 /* [in] */ IBMDStreamingMPEG2TSPacket *tsPacket); 3683 3684 HRESULT ( STDMETHODCALLTYPE *H264VideoInputConnectorScanningChanged )( 3685 IBMDStreamingH264InputCallback * This); 3686 3687 HRESULT ( STDMETHODCALLTYPE *H264VideoInputConnectorChanged )( 3688 IBMDStreamingH264InputCallback * This); 3689 3690 HRESULT ( STDMETHODCALLTYPE *H264VideoInputModeChanged )( 3691 IBMDStreamingH264InputCallback * This); 3692 3693 END_INTERFACE 3694 } IBMDStreamingH264InputCallbackVtbl; 3695 3696 interface IBMDStreamingH264InputCallback 3697 { 3698 CONST_VTBL struct IBMDStreamingH264InputCallbackVtbl *lpVtbl; 3699 }; 3700 3701 3702 3703 #ifdef COBJMACROS 3704 3705 3706 #define IBMDStreamingH264InputCallback_QueryInterface(This,riid,ppvObject) \ 3707 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 3708 3709 #define IBMDStreamingH264InputCallback_AddRef(This) \ 3710 ( (This)->lpVtbl -> AddRef(This) ) 3711 3712 #define IBMDStreamingH264InputCallback_Release(This) \ 3713 ( (This)->lpVtbl -> Release(This) ) 3714 3715 3716 #define IBMDStreamingH264InputCallback_H264NALPacketArrived(This,nalPacket) \ 3717 ( (This)->lpVtbl -> H264NALPacketArrived(This,nalPacket) ) 3718 3719 #define IBMDStreamingH264InputCallback_H264AudioPacketArrived(This,audioPacket) \ 3720 ( (This)->lpVtbl -> H264AudioPacketArrived(This,audioPacket) ) 3721 3722 #define IBMDStreamingH264InputCallback_MPEG2TSPacketArrived(This,tsPacket) \ 3723 ( (This)->lpVtbl -> MPEG2TSPacketArrived(This,tsPacket) ) 3724 3725 #define IBMDStreamingH264InputCallback_H264VideoInputConnectorScanningChanged(This) \ 3726 ( (This)->lpVtbl -> H264VideoInputConnectorScanningChanged(This) ) 3727 3728 #define IBMDStreamingH264InputCallback_H264VideoInputConnectorChanged(This) \ 3729 ( (This)->lpVtbl -> H264VideoInputConnectorChanged(This) ) 3730 3731 #define IBMDStreamingH264InputCallback_H264VideoInputModeChanged(This) \ 3732 ( (This)->lpVtbl -> H264VideoInputModeChanged(This) ) 3733 3734 #endif /* COBJMACROS */ 3735 3736 3737 #endif /* C style interface */ 3738 3739 3740 3741 3742 #endif /* __IBMDStreamingH264InputCallback_INTERFACE_DEFINED__ */ 3743 3744 3745 #ifndef __IBMDStreamingDiscovery_INTERFACE_DEFINED__ 3746 #define __IBMDStreamingDiscovery_INTERFACE_DEFINED__ 3747 3748 /* interface IBMDStreamingDiscovery */ 3749 /* [helpstring][uuid][object] */ 3750 3751 3752 EXTERN_C const IID IID_IBMDStreamingDiscovery; 3753 3754 #if defined(__cplusplus) && !defined(CINTERFACE) 3755 3756 MIDL_INTERFACE("2C837444-F989-4D87-901A-47C8A36D096D") 3757 IBMDStreamingDiscovery : public IUnknown 3758 { 3759 public: 3760 virtual HRESULT STDMETHODCALLTYPE InstallDeviceNotifications( 3761 /* [in] */ IBMDStreamingDeviceNotificationCallback *theCallback) = 0; 3762 3763 virtual HRESULT STDMETHODCALLTYPE UninstallDeviceNotifications( void) = 0; 3764 3765 }; 3766 3767 3768 #else /* C style interface */ 3769 3770 typedef struct IBMDStreamingDiscoveryVtbl 3771 { 3772 BEGIN_INTERFACE 3773 3774 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 3775 IBMDStreamingDiscovery * This, 3776 /* [in] */ REFIID riid, 3777 /* [annotation][iid_is][out] */ 3778 _COM_Outptr_ void **ppvObject); 3779 3780 ULONG ( STDMETHODCALLTYPE *AddRef )( 3781 IBMDStreamingDiscovery * This); 3782 3783 ULONG ( STDMETHODCALLTYPE *Release )( 3784 IBMDStreamingDiscovery * This); 3785 3786 HRESULT ( STDMETHODCALLTYPE *InstallDeviceNotifications )( 3787 IBMDStreamingDiscovery * This, 3788 /* [in] */ IBMDStreamingDeviceNotificationCallback *theCallback); 3789 3790 HRESULT ( STDMETHODCALLTYPE *UninstallDeviceNotifications )( 3791 IBMDStreamingDiscovery * This); 3792 3793 END_INTERFACE 3794 } IBMDStreamingDiscoveryVtbl; 3795 3796 interface IBMDStreamingDiscovery 3797 { 3798 CONST_VTBL struct IBMDStreamingDiscoveryVtbl *lpVtbl; 3799 }; 3800 3801 3802 3803 #ifdef COBJMACROS 3804 3805 3806 #define IBMDStreamingDiscovery_QueryInterface(This,riid,ppvObject) \ 3807 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 3808 3809 #define IBMDStreamingDiscovery_AddRef(This) \ 3810 ( (This)->lpVtbl -> AddRef(This) ) 3811 3812 #define IBMDStreamingDiscovery_Release(This) \ 3813 ( (This)->lpVtbl -> Release(This) ) 3814 3815 3816 #define IBMDStreamingDiscovery_InstallDeviceNotifications(This,theCallback) \ 3817 ( (This)->lpVtbl -> InstallDeviceNotifications(This,theCallback) ) 3818 3819 #define IBMDStreamingDiscovery_UninstallDeviceNotifications(This) \ 3820 ( (This)->lpVtbl -> UninstallDeviceNotifications(This) ) 3821 3822 #endif /* COBJMACROS */ 3823 3824 3825 #endif /* C style interface */ 3826 3827 3828 3829 3830 #endif /* __IBMDStreamingDiscovery_INTERFACE_DEFINED__ */ 3831 3832 3833 #ifndef __IBMDStreamingVideoEncodingMode_INTERFACE_DEFINED__ 3834 #define __IBMDStreamingVideoEncodingMode_INTERFACE_DEFINED__ 3835 3836 /* interface IBMDStreamingVideoEncodingMode */ 3837 /* [helpstring][uuid][object] */ 3838 3839 3840 EXTERN_C const IID IID_IBMDStreamingVideoEncodingMode; 3841 3842 #if defined(__cplusplus) && !defined(CINTERFACE) 3843 3844 MIDL_INTERFACE("1AB8035B-CD13-458D-B6DF-5E8F7C2141D9") 3845 IBMDStreamingVideoEncodingMode : public IUnknown 3846 { 3847 public: 3848 virtual HRESULT STDMETHODCALLTYPE GetName( 3849 /* [out] */ BSTR *name) = 0; 3850 3851 virtual unsigned int STDMETHODCALLTYPE GetPresetID( void) = 0; 3852 3853 virtual unsigned int STDMETHODCALLTYPE GetSourcePositionX( void) = 0; 3854 3855 virtual unsigned int STDMETHODCALLTYPE GetSourcePositionY( void) = 0; 3856 3857 virtual unsigned int STDMETHODCALLTYPE GetSourceWidth( void) = 0; 3858 3859 virtual unsigned int STDMETHODCALLTYPE GetSourceHeight( void) = 0; 3860 3861 virtual unsigned int STDMETHODCALLTYPE GetDestWidth( void) = 0; 3862 3863 virtual unsigned int STDMETHODCALLTYPE GetDestHeight( void) = 0; 3864 3865 virtual HRESULT STDMETHODCALLTYPE GetFlag( 3866 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 3867 /* [out] */ BOOL *value) = 0; 3868 3869 virtual HRESULT STDMETHODCALLTYPE GetInt( 3870 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 3871 /* [out] */ LONGLONG *value) = 0; 3872 3873 virtual HRESULT STDMETHODCALLTYPE GetFloat( 3874 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 3875 /* [out] */ double *value) = 0; 3876 3877 virtual HRESULT STDMETHODCALLTYPE GetString( 3878 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 3879 /* [out] */ BSTR *value) = 0; 3880 3881 virtual HRESULT STDMETHODCALLTYPE CreateMutableVideoEncodingMode( 3882 /* [out] */ IBMDStreamingMutableVideoEncodingMode **newEncodingMode) = 0; 3883 3884 }; 3885 3886 3887 #else /* C style interface */ 3888 3889 typedef struct IBMDStreamingVideoEncodingModeVtbl 3890 { 3891 BEGIN_INTERFACE 3892 3893 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 3894 IBMDStreamingVideoEncodingMode * This, 3895 /* [in] */ REFIID riid, 3896 /* [annotation][iid_is][out] */ 3897 _COM_Outptr_ void **ppvObject); 3898 3899 ULONG ( STDMETHODCALLTYPE *AddRef )( 3900 IBMDStreamingVideoEncodingMode * This); 3901 3902 ULONG ( STDMETHODCALLTYPE *Release )( 3903 IBMDStreamingVideoEncodingMode * This); 3904 3905 HRESULT ( STDMETHODCALLTYPE *GetName )( 3906 IBMDStreamingVideoEncodingMode * This, 3907 /* [out] */ BSTR *name); 3908 3909 unsigned int ( STDMETHODCALLTYPE *GetPresetID )( 3910 IBMDStreamingVideoEncodingMode * This); 3911 3912 unsigned int ( STDMETHODCALLTYPE *GetSourcePositionX )( 3913 IBMDStreamingVideoEncodingMode * This); 3914 3915 unsigned int ( STDMETHODCALLTYPE *GetSourcePositionY )( 3916 IBMDStreamingVideoEncodingMode * This); 3917 3918 unsigned int ( STDMETHODCALLTYPE *GetSourceWidth )( 3919 IBMDStreamingVideoEncodingMode * This); 3920 3921 unsigned int ( STDMETHODCALLTYPE *GetSourceHeight )( 3922 IBMDStreamingVideoEncodingMode * This); 3923 3924 unsigned int ( STDMETHODCALLTYPE *GetDestWidth )( 3925 IBMDStreamingVideoEncodingMode * This); 3926 3927 unsigned int ( STDMETHODCALLTYPE *GetDestHeight )( 3928 IBMDStreamingVideoEncodingMode * This); 3929 3930 HRESULT ( STDMETHODCALLTYPE *GetFlag )( 3931 IBMDStreamingVideoEncodingMode * This, 3932 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 3933 /* [out] */ BOOL *value); 3934 3935 HRESULT ( STDMETHODCALLTYPE *GetInt )( 3936 IBMDStreamingVideoEncodingMode * This, 3937 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 3938 /* [out] */ LONGLONG *value); 3939 3940 HRESULT ( STDMETHODCALLTYPE *GetFloat )( 3941 IBMDStreamingVideoEncodingMode * This, 3942 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 3943 /* [out] */ double *value); 3944 3945 HRESULT ( STDMETHODCALLTYPE *GetString )( 3946 IBMDStreamingVideoEncodingMode * This, 3947 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 3948 /* [out] */ BSTR *value); 3949 3950 HRESULT ( STDMETHODCALLTYPE *CreateMutableVideoEncodingMode )( 3951 IBMDStreamingVideoEncodingMode * This, 3952 /* [out] */ IBMDStreamingMutableVideoEncodingMode **newEncodingMode); 3953 3954 END_INTERFACE 3955 } IBMDStreamingVideoEncodingModeVtbl; 3956 3957 interface IBMDStreamingVideoEncodingMode 3958 { 3959 CONST_VTBL struct IBMDStreamingVideoEncodingModeVtbl *lpVtbl; 3960 }; 3961 3962 3963 3964 #ifdef COBJMACROS 3965 3966 3967 #define IBMDStreamingVideoEncodingMode_QueryInterface(This,riid,ppvObject) \ 3968 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 3969 3970 #define IBMDStreamingVideoEncodingMode_AddRef(This) \ 3971 ( (This)->lpVtbl -> AddRef(This) ) 3972 3973 #define IBMDStreamingVideoEncodingMode_Release(This) \ 3974 ( (This)->lpVtbl -> Release(This) ) 3975 3976 3977 #define IBMDStreamingVideoEncodingMode_GetName(This,name) \ 3978 ( (This)->lpVtbl -> GetName(This,name) ) 3979 3980 #define IBMDStreamingVideoEncodingMode_GetPresetID(This) \ 3981 ( (This)->lpVtbl -> GetPresetID(This) ) 3982 3983 #define IBMDStreamingVideoEncodingMode_GetSourcePositionX(This) \ 3984 ( (This)->lpVtbl -> GetSourcePositionX(This) ) 3985 3986 #define IBMDStreamingVideoEncodingMode_GetSourcePositionY(This) \ 3987 ( (This)->lpVtbl -> GetSourcePositionY(This) ) 3988 3989 #define IBMDStreamingVideoEncodingMode_GetSourceWidth(This) \ 3990 ( (This)->lpVtbl -> GetSourceWidth(This) ) 3991 3992 #define IBMDStreamingVideoEncodingMode_GetSourceHeight(This) \ 3993 ( (This)->lpVtbl -> GetSourceHeight(This) ) 3994 3995 #define IBMDStreamingVideoEncodingMode_GetDestWidth(This) \ 3996 ( (This)->lpVtbl -> GetDestWidth(This) ) 3997 3998 #define IBMDStreamingVideoEncodingMode_GetDestHeight(This) \ 3999 ( (This)->lpVtbl -> GetDestHeight(This) ) 4000 4001 #define IBMDStreamingVideoEncodingMode_GetFlag(This,cfgID,value) \ 4002 ( (This)->lpVtbl -> GetFlag(This,cfgID,value) ) 4003 4004 #define IBMDStreamingVideoEncodingMode_GetInt(This,cfgID,value) \ 4005 ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) 4006 4007 #define IBMDStreamingVideoEncodingMode_GetFloat(This,cfgID,value) \ 4008 ( (This)->lpVtbl -> GetFloat(This,cfgID,value) ) 4009 4010 #define IBMDStreamingVideoEncodingMode_GetString(This,cfgID,value) \ 4011 ( (This)->lpVtbl -> GetString(This,cfgID,value) ) 4012 4013 #define IBMDStreamingVideoEncodingMode_CreateMutableVideoEncodingMode(This,newEncodingMode) \ 4014 ( (This)->lpVtbl -> CreateMutableVideoEncodingMode(This,newEncodingMode) ) 4015 4016 #endif /* COBJMACROS */ 4017 4018 4019 #endif /* C style interface */ 4020 4021 4022 4023 4024 #endif /* __IBMDStreamingVideoEncodingMode_INTERFACE_DEFINED__ */ 4025 4026 4027 #ifndef __IBMDStreamingMutableVideoEncodingMode_INTERFACE_DEFINED__ 4028 #define __IBMDStreamingMutableVideoEncodingMode_INTERFACE_DEFINED__ 4029 4030 /* interface IBMDStreamingMutableVideoEncodingMode */ 4031 /* [helpstring][uuid][object] */ 4032 4033 4034 EXTERN_C const IID IID_IBMDStreamingMutableVideoEncodingMode; 4035 4036 #if defined(__cplusplus) && !defined(CINTERFACE) 4037 4038 MIDL_INTERFACE("19BF7D90-1E0A-400D-B2C6-FFC4E78AD49D") 4039 IBMDStreamingMutableVideoEncodingMode : public IBMDStreamingVideoEncodingMode 4040 { 4041 public: 4042 virtual HRESULT STDMETHODCALLTYPE SetSourceRect( 4043 /* [in] */ unsigned int posX, 4044 /* [in] */ unsigned int posY, 4045 /* [in] */ unsigned int width, 4046 /* [in] */ unsigned int height) = 0; 4047 4048 virtual HRESULT STDMETHODCALLTYPE SetDestSize( 4049 /* [in] */ unsigned int width, 4050 /* [in] */ unsigned int height) = 0; 4051 4052 virtual HRESULT STDMETHODCALLTYPE SetFlag( 4053 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 4054 /* [in] */ BOOL value) = 0; 4055 4056 virtual HRESULT STDMETHODCALLTYPE SetInt( 4057 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 4058 /* [in] */ LONGLONG value) = 0; 4059 4060 virtual HRESULT STDMETHODCALLTYPE SetFloat( 4061 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 4062 /* [in] */ double value) = 0; 4063 4064 virtual HRESULT STDMETHODCALLTYPE SetString( 4065 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 4066 /* [in] */ BSTR value) = 0; 4067 4068 }; 4069 4070 4071 #else /* C style interface */ 4072 4073 typedef struct IBMDStreamingMutableVideoEncodingModeVtbl 4074 { 4075 BEGIN_INTERFACE 4076 4077 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 4078 IBMDStreamingMutableVideoEncodingMode * This, 4079 /* [in] */ REFIID riid, 4080 /* [annotation][iid_is][out] */ 4081 _COM_Outptr_ void **ppvObject); 4082 4083 ULONG ( STDMETHODCALLTYPE *AddRef )( 4084 IBMDStreamingMutableVideoEncodingMode * This); 4085 4086 ULONG ( STDMETHODCALLTYPE *Release )( 4087 IBMDStreamingMutableVideoEncodingMode * This); 4088 4089 HRESULT ( STDMETHODCALLTYPE *GetName )( 4090 IBMDStreamingMutableVideoEncodingMode * This, 4091 /* [out] */ BSTR *name); 4092 4093 unsigned int ( STDMETHODCALLTYPE *GetPresetID )( 4094 IBMDStreamingMutableVideoEncodingMode * This); 4095 4096 unsigned int ( STDMETHODCALLTYPE *GetSourcePositionX )( 4097 IBMDStreamingMutableVideoEncodingMode * This); 4098 4099 unsigned int ( STDMETHODCALLTYPE *GetSourcePositionY )( 4100 IBMDStreamingMutableVideoEncodingMode * This); 4101 4102 unsigned int ( STDMETHODCALLTYPE *GetSourceWidth )( 4103 IBMDStreamingMutableVideoEncodingMode * This); 4104 4105 unsigned int ( STDMETHODCALLTYPE *GetSourceHeight )( 4106 IBMDStreamingMutableVideoEncodingMode * This); 4107 4108 unsigned int ( STDMETHODCALLTYPE *GetDestWidth )( 4109 IBMDStreamingMutableVideoEncodingMode * This); 4110 4111 unsigned int ( STDMETHODCALLTYPE *GetDestHeight )( 4112 IBMDStreamingMutableVideoEncodingMode * This); 4113 4114 HRESULT ( STDMETHODCALLTYPE *GetFlag )( 4115 IBMDStreamingMutableVideoEncodingMode * This, 4116 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 4117 /* [out] */ BOOL *value); 4118 4119 HRESULT ( STDMETHODCALLTYPE *GetInt )( 4120 IBMDStreamingMutableVideoEncodingMode * This, 4121 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 4122 /* [out] */ LONGLONG *value); 4123 4124 HRESULT ( STDMETHODCALLTYPE *GetFloat )( 4125 IBMDStreamingMutableVideoEncodingMode * This, 4126 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 4127 /* [out] */ double *value); 4128 4129 HRESULT ( STDMETHODCALLTYPE *GetString )( 4130 IBMDStreamingMutableVideoEncodingMode * This, 4131 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 4132 /* [out] */ BSTR *value); 4133 4134 HRESULT ( STDMETHODCALLTYPE *CreateMutableVideoEncodingMode )( 4135 IBMDStreamingMutableVideoEncodingMode * This, 4136 /* [out] */ IBMDStreamingMutableVideoEncodingMode **newEncodingMode); 4137 4138 HRESULT ( STDMETHODCALLTYPE *SetSourceRect )( 4139 IBMDStreamingMutableVideoEncodingMode * This, 4140 /* [in] */ unsigned int posX, 4141 /* [in] */ unsigned int posY, 4142 /* [in] */ unsigned int width, 4143 /* [in] */ unsigned int height); 4144 4145 HRESULT ( STDMETHODCALLTYPE *SetDestSize )( 4146 IBMDStreamingMutableVideoEncodingMode * This, 4147 /* [in] */ unsigned int width, 4148 /* [in] */ unsigned int height); 4149 4150 HRESULT ( STDMETHODCALLTYPE *SetFlag )( 4151 IBMDStreamingMutableVideoEncodingMode * This, 4152 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 4153 /* [in] */ BOOL value); 4154 4155 HRESULT ( STDMETHODCALLTYPE *SetInt )( 4156 IBMDStreamingMutableVideoEncodingMode * This, 4157 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 4158 /* [in] */ LONGLONG value); 4159 4160 HRESULT ( STDMETHODCALLTYPE *SetFloat )( 4161 IBMDStreamingMutableVideoEncodingMode * This, 4162 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 4163 /* [in] */ double value); 4164 4165 HRESULT ( STDMETHODCALLTYPE *SetString )( 4166 IBMDStreamingMutableVideoEncodingMode * This, 4167 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 4168 /* [in] */ BSTR value); 4169 4170 END_INTERFACE 4171 } IBMDStreamingMutableVideoEncodingModeVtbl; 4172 4173 interface IBMDStreamingMutableVideoEncodingMode 4174 { 4175 CONST_VTBL struct IBMDStreamingMutableVideoEncodingModeVtbl *lpVtbl; 4176 }; 4177 4178 4179 4180 #ifdef COBJMACROS 4181 4182 4183 #define IBMDStreamingMutableVideoEncodingMode_QueryInterface(This,riid,ppvObject) \ 4184 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 4185 4186 #define IBMDStreamingMutableVideoEncodingMode_AddRef(This) \ 4187 ( (This)->lpVtbl -> AddRef(This) ) 4188 4189 #define IBMDStreamingMutableVideoEncodingMode_Release(This) \ 4190 ( (This)->lpVtbl -> Release(This) ) 4191 4192 4193 #define IBMDStreamingMutableVideoEncodingMode_GetName(This,name) \ 4194 ( (This)->lpVtbl -> GetName(This,name) ) 4195 4196 #define IBMDStreamingMutableVideoEncodingMode_GetPresetID(This) \ 4197 ( (This)->lpVtbl -> GetPresetID(This) ) 4198 4199 #define IBMDStreamingMutableVideoEncodingMode_GetSourcePositionX(This) \ 4200 ( (This)->lpVtbl -> GetSourcePositionX(This) ) 4201 4202 #define IBMDStreamingMutableVideoEncodingMode_GetSourcePositionY(This) \ 4203 ( (This)->lpVtbl -> GetSourcePositionY(This) ) 4204 4205 #define IBMDStreamingMutableVideoEncodingMode_GetSourceWidth(This) \ 4206 ( (This)->lpVtbl -> GetSourceWidth(This) ) 4207 4208 #define IBMDStreamingMutableVideoEncodingMode_GetSourceHeight(This) \ 4209 ( (This)->lpVtbl -> GetSourceHeight(This) ) 4210 4211 #define IBMDStreamingMutableVideoEncodingMode_GetDestWidth(This) \ 4212 ( (This)->lpVtbl -> GetDestWidth(This) ) 4213 4214 #define IBMDStreamingMutableVideoEncodingMode_GetDestHeight(This) \ 4215 ( (This)->lpVtbl -> GetDestHeight(This) ) 4216 4217 #define IBMDStreamingMutableVideoEncodingMode_GetFlag(This,cfgID,value) \ 4218 ( (This)->lpVtbl -> GetFlag(This,cfgID,value) ) 4219 4220 #define IBMDStreamingMutableVideoEncodingMode_GetInt(This,cfgID,value) \ 4221 ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) 4222 4223 #define IBMDStreamingMutableVideoEncodingMode_GetFloat(This,cfgID,value) \ 4224 ( (This)->lpVtbl -> GetFloat(This,cfgID,value) ) 4225 4226 #define IBMDStreamingMutableVideoEncodingMode_GetString(This,cfgID,value) \ 4227 ( (This)->lpVtbl -> GetString(This,cfgID,value) ) 4228 4229 #define IBMDStreamingMutableVideoEncodingMode_CreateMutableVideoEncodingMode(This,newEncodingMode) \ 4230 ( (This)->lpVtbl -> CreateMutableVideoEncodingMode(This,newEncodingMode) ) 4231 4232 4233 #define IBMDStreamingMutableVideoEncodingMode_SetSourceRect(This,posX,posY,width,height) \ 4234 ( (This)->lpVtbl -> SetSourceRect(This,posX,posY,width,height) ) 4235 4236 #define IBMDStreamingMutableVideoEncodingMode_SetDestSize(This,width,height) \ 4237 ( (This)->lpVtbl -> SetDestSize(This,width,height) ) 4238 4239 #define IBMDStreamingMutableVideoEncodingMode_SetFlag(This,cfgID,value) \ 4240 ( (This)->lpVtbl -> SetFlag(This,cfgID,value) ) 4241 4242 #define IBMDStreamingMutableVideoEncodingMode_SetInt(This,cfgID,value) \ 4243 ( (This)->lpVtbl -> SetInt(This,cfgID,value) ) 4244 4245 #define IBMDStreamingMutableVideoEncodingMode_SetFloat(This,cfgID,value) \ 4246 ( (This)->lpVtbl -> SetFloat(This,cfgID,value) ) 4247 4248 #define IBMDStreamingMutableVideoEncodingMode_SetString(This,cfgID,value) \ 4249 ( (This)->lpVtbl -> SetString(This,cfgID,value) ) 4250 4251 #endif /* COBJMACROS */ 4252 4253 4254 #endif /* C style interface */ 4255 4256 4257 4258 4259 #endif /* __IBMDStreamingMutableVideoEncodingMode_INTERFACE_DEFINED__ */ 4260 4261 4262 #ifndef __IBMDStreamingVideoEncodingModePresetIterator_INTERFACE_DEFINED__ 4263 #define __IBMDStreamingVideoEncodingModePresetIterator_INTERFACE_DEFINED__ 4264 4265 /* interface IBMDStreamingVideoEncodingModePresetIterator */ 4266 /* [helpstring][uuid][object] */ 4267 4268 4269 EXTERN_C const IID IID_IBMDStreamingVideoEncodingModePresetIterator; 4270 4271 #if defined(__cplusplus) && !defined(CINTERFACE) 4272 4273 MIDL_INTERFACE("7AC731A3-C950-4AD0-804A-8377AA51C6C4") 4274 IBMDStreamingVideoEncodingModePresetIterator : public IUnknown 4275 { 4276 public: 4277 virtual HRESULT STDMETHODCALLTYPE Next( 4278 /* [out] */ IBMDStreamingVideoEncodingMode **videoEncodingMode) = 0; 4279 4280 }; 4281 4282 4283 #else /* C style interface */ 4284 4285 typedef struct IBMDStreamingVideoEncodingModePresetIteratorVtbl 4286 { 4287 BEGIN_INTERFACE 4288 4289 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 4290 IBMDStreamingVideoEncodingModePresetIterator * This, 4291 /* [in] */ REFIID riid, 4292 /* [annotation][iid_is][out] */ 4293 _COM_Outptr_ void **ppvObject); 4294 4295 ULONG ( STDMETHODCALLTYPE *AddRef )( 4296 IBMDStreamingVideoEncodingModePresetIterator * This); 4297 4298 ULONG ( STDMETHODCALLTYPE *Release )( 4299 IBMDStreamingVideoEncodingModePresetIterator * This); 4300 4301 HRESULT ( STDMETHODCALLTYPE *Next )( 4302 IBMDStreamingVideoEncodingModePresetIterator * This, 4303 /* [out] */ IBMDStreamingVideoEncodingMode **videoEncodingMode); 4304 4305 END_INTERFACE 4306 } IBMDStreamingVideoEncodingModePresetIteratorVtbl; 4307 4308 interface IBMDStreamingVideoEncodingModePresetIterator 4309 { 4310 CONST_VTBL struct IBMDStreamingVideoEncodingModePresetIteratorVtbl *lpVtbl; 4311 }; 4312 4313 4314 4315 #ifdef COBJMACROS 4316 4317 4318 #define IBMDStreamingVideoEncodingModePresetIterator_QueryInterface(This,riid,ppvObject) \ 4319 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 4320 4321 #define IBMDStreamingVideoEncodingModePresetIterator_AddRef(This) \ 4322 ( (This)->lpVtbl -> AddRef(This) ) 4323 4324 #define IBMDStreamingVideoEncodingModePresetIterator_Release(This) \ 4325 ( (This)->lpVtbl -> Release(This) ) 4326 4327 4328 #define IBMDStreamingVideoEncodingModePresetIterator_Next(This,videoEncodingMode) \ 4329 ( (This)->lpVtbl -> Next(This,videoEncodingMode) ) 4330 4331 #endif /* COBJMACROS */ 4332 4333 4334 #endif /* C style interface */ 4335 4336 4337 4338 4339 #endif /* __IBMDStreamingVideoEncodingModePresetIterator_INTERFACE_DEFINED__ */ 4340 4341 4342 #ifndef __IBMDStreamingDeviceInput_INTERFACE_DEFINED__ 4343 #define __IBMDStreamingDeviceInput_INTERFACE_DEFINED__ 4344 4345 /* interface IBMDStreamingDeviceInput */ 4346 /* [helpstring][uuid][object] */ 4347 4348 4349 EXTERN_C const IID IID_IBMDStreamingDeviceInput; 4350 4351 #if defined(__cplusplus) && !defined(CINTERFACE) 4352 4353 MIDL_INTERFACE("24B6B6EC-1727-44BB-9818-34FF086ACF98") 4354 IBMDStreamingDeviceInput : public IUnknown 4355 { 4356 public: 4357 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoInputMode( 4358 /* [in] */ BMDDisplayMode inputMode, 4359 /* [out] */ BOOL *result) = 0; 4360 4361 virtual HRESULT STDMETHODCALLTYPE GetVideoInputModeIterator( 4362 /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0; 4363 4364 virtual HRESULT STDMETHODCALLTYPE SetVideoInputMode( 4365 /* [in] */ BMDDisplayMode inputMode) = 0; 4366 4367 virtual HRESULT STDMETHODCALLTYPE GetCurrentDetectedVideoInputMode( 4368 /* [out] */ BMDDisplayMode *detectedMode) = 0; 4369 4370 virtual HRESULT STDMETHODCALLTYPE GetVideoEncodingMode( 4371 /* [out] */ IBMDStreamingVideoEncodingMode **encodingMode) = 0; 4372 4373 virtual HRESULT STDMETHODCALLTYPE GetVideoEncodingModePresetIterator( 4374 /* [in] */ BMDDisplayMode inputMode, 4375 /* [out] */ IBMDStreamingVideoEncodingModePresetIterator **iterator) = 0; 4376 4377 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoEncodingMode( 4378 /* [in] */ BMDDisplayMode inputMode, 4379 /* [in] */ IBMDStreamingVideoEncodingMode *encodingMode, 4380 /* [out] */ BMDStreamingEncodingSupport *result, 4381 /* [out] */ IBMDStreamingVideoEncodingMode **changedEncodingMode) = 0; 4382 4383 virtual HRESULT STDMETHODCALLTYPE SetVideoEncodingMode( 4384 /* [in] */ IBMDStreamingVideoEncodingMode *encodingMode) = 0; 4385 4386 virtual HRESULT STDMETHODCALLTYPE StartCapture( void) = 0; 4387 4388 virtual HRESULT STDMETHODCALLTYPE StopCapture( void) = 0; 4389 4390 virtual HRESULT STDMETHODCALLTYPE SetCallback( 4391 /* [in] */ IUnknown *theCallback) = 0; 4392 4393 }; 4394 4395 4396 #else /* C style interface */ 4397 4398 typedef struct IBMDStreamingDeviceInputVtbl 4399 { 4400 BEGIN_INTERFACE 4401 4402 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 4403 IBMDStreamingDeviceInput * This, 4404 /* [in] */ REFIID riid, 4405 /* [annotation][iid_is][out] */ 4406 _COM_Outptr_ void **ppvObject); 4407 4408 ULONG ( STDMETHODCALLTYPE *AddRef )( 4409 IBMDStreamingDeviceInput * This); 4410 4411 ULONG ( STDMETHODCALLTYPE *Release )( 4412 IBMDStreamingDeviceInput * This); 4413 4414 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoInputMode )( 4415 IBMDStreamingDeviceInput * This, 4416 /* [in] */ BMDDisplayMode inputMode, 4417 /* [out] */ BOOL *result); 4418 4419 HRESULT ( STDMETHODCALLTYPE *GetVideoInputModeIterator )( 4420 IBMDStreamingDeviceInput * This, 4421 /* [out] */ IDeckLinkDisplayModeIterator **iterator); 4422 4423 HRESULT ( STDMETHODCALLTYPE *SetVideoInputMode )( 4424 IBMDStreamingDeviceInput * This, 4425 /* [in] */ BMDDisplayMode inputMode); 4426 4427 HRESULT ( STDMETHODCALLTYPE *GetCurrentDetectedVideoInputMode )( 4428 IBMDStreamingDeviceInput * This, 4429 /* [out] */ BMDDisplayMode *detectedMode); 4430 4431 HRESULT ( STDMETHODCALLTYPE *GetVideoEncodingMode )( 4432 IBMDStreamingDeviceInput * This, 4433 /* [out] */ IBMDStreamingVideoEncodingMode **encodingMode); 4434 4435 HRESULT ( STDMETHODCALLTYPE *GetVideoEncodingModePresetIterator )( 4436 IBMDStreamingDeviceInput * This, 4437 /* [in] */ BMDDisplayMode inputMode, 4438 /* [out] */ IBMDStreamingVideoEncodingModePresetIterator **iterator); 4439 4440 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoEncodingMode )( 4441 IBMDStreamingDeviceInput * This, 4442 /* [in] */ BMDDisplayMode inputMode, 4443 /* [in] */ IBMDStreamingVideoEncodingMode *encodingMode, 4444 /* [out] */ BMDStreamingEncodingSupport *result, 4445 /* [out] */ IBMDStreamingVideoEncodingMode **changedEncodingMode); 4446 4447 HRESULT ( STDMETHODCALLTYPE *SetVideoEncodingMode )( 4448 IBMDStreamingDeviceInput * This, 4449 /* [in] */ IBMDStreamingVideoEncodingMode *encodingMode); 4450 4451 HRESULT ( STDMETHODCALLTYPE *StartCapture )( 4452 IBMDStreamingDeviceInput * This); 4453 4454 HRESULT ( STDMETHODCALLTYPE *StopCapture )( 4455 IBMDStreamingDeviceInput * This); 4456 4457 HRESULT ( STDMETHODCALLTYPE *SetCallback )( 4458 IBMDStreamingDeviceInput * This, 4459 /* [in] */ IUnknown *theCallback); 4460 4461 END_INTERFACE 4462 } IBMDStreamingDeviceInputVtbl; 4463 4464 interface IBMDStreamingDeviceInput 4465 { 4466 CONST_VTBL struct IBMDStreamingDeviceInputVtbl *lpVtbl; 4467 }; 4468 4469 4470 4471 #ifdef COBJMACROS 4472 4473 4474 #define IBMDStreamingDeviceInput_QueryInterface(This,riid,ppvObject) \ 4475 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 4476 4477 #define IBMDStreamingDeviceInput_AddRef(This) \ 4478 ( (This)->lpVtbl -> AddRef(This) ) 4479 4480 #define IBMDStreamingDeviceInput_Release(This) \ 4481 ( (This)->lpVtbl -> Release(This) ) 4482 4483 4484 #define IBMDStreamingDeviceInput_DoesSupportVideoInputMode(This,inputMode,result) \ 4485 ( (This)->lpVtbl -> DoesSupportVideoInputMode(This,inputMode,result) ) 4486 4487 #define IBMDStreamingDeviceInput_GetVideoInputModeIterator(This,iterator) \ 4488 ( (This)->lpVtbl -> GetVideoInputModeIterator(This,iterator) ) 4489 4490 #define IBMDStreamingDeviceInput_SetVideoInputMode(This,inputMode) \ 4491 ( (This)->lpVtbl -> SetVideoInputMode(This,inputMode) ) 4492 4493 #define IBMDStreamingDeviceInput_GetCurrentDetectedVideoInputMode(This,detectedMode) \ 4494 ( (This)->lpVtbl -> GetCurrentDetectedVideoInputMode(This,detectedMode) ) 4495 4496 #define IBMDStreamingDeviceInput_GetVideoEncodingMode(This,encodingMode) \ 4497 ( (This)->lpVtbl -> GetVideoEncodingMode(This,encodingMode) ) 4498 4499 #define IBMDStreamingDeviceInput_GetVideoEncodingModePresetIterator(This,inputMode,iterator) \ 4500 ( (This)->lpVtbl -> GetVideoEncodingModePresetIterator(This,inputMode,iterator) ) 4501 4502 #define IBMDStreamingDeviceInput_DoesSupportVideoEncodingMode(This,inputMode,encodingMode,result,changedEncodingMode) \ 4503 ( (This)->lpVtbl -> DoesSupportVideoEncodingMode(This,inputMode,encodingMode,result,changedEncodingMode) ) 4504 4505 #define IBMDStreamingDeviceInput_SetVideoEncodingMode(This,encodingMode) \ 4506 ( (This)->lpVtbl -> SetVideoEncodingMode(This,encodingMode) ) 4507 4508 #define IBMDStreamingDeviceInput_StartCapture(This) \ 4509 ( (This)->lpVtbl -> StartCapture(This) ) 4510 4511 #define IBMDStreamingDeviceInput_StopCapture(This) \ 4512 ( (This)->lpVtbl -> StopCapture(This) ) 4513 4514 #define IBMDStreamingDeviceInput_SetCallback(This,theCallback) \ 4515 ( (This)->lpVtbl -> SetCallback(This,theCallback) ) 4516 4517 #endif /* COBJMACROS */ 4518 4519 4520 #endif /* C style interface */ 4521 4522 4523 4524 4525 #endif /* __IBMDStreamingDeviceInput_INTERFACE_DEFINED__ */ 4526 4527 4528 #ifndef __IBMDStreamingH264NALPacket_INTERFACE_DEFINED__ 4529 #define __IBMDStreamingH264NALPacket_INTERFACE_DEFINED__ 4530 4531 /* interface IBMDStreamingH264NALPacket */ 4532 /* [helpstring][uuid][object] */ 4533 4534 4535 EXTERN_C const IID IID_IBMDStreamingH264NALPacket; 4536 4537 #if defined(__cplusplus) && !defined(CINTERFACE) 4538 4539 MIDL_INTERFACE("E260E955-14BE-4395-9775-9F02CC0A9D89") 4540 IBMDStreamingH264NALPacket : public IUnknown 4541 { 4542 public: 4543 virtual long STDMETHODCALLTYPE GetPayloadSize( void) = 0; 4544 4545 virtual HRESULT STDMETHODCALLTYPE GetBytes( 4546 /* [out] */ void **buffer) = 0; 4547 4548 virtual HRESULT STDMETHODCALLTYPE GetBytesWithSizePrefix( 4549 /* [out] */ void **buffer) = 0; 4550 4551 virtual HRESULT STDMETHODCALLTYPE GetDisplayTime( 4552 /* [in] */ ULONGLONG requestedTimeScale, 4553 /* [out] */ ULONGLONG *displayTime) = 0; 4554 4555 virtual HRESULT STDMETHODCALLTYPE GetPacketIndex( 4556 /* [out] */ unsigned int *packetIndex) = 0; 4557 4558 }; 4559 4560 4561 #else /* C style interface */ 4562 4563 typedef struct IBMDStreamingH264NALPacketVtbl 4564 { 4565 BEGIN_INTERFACE 4566 4567 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 4568 IBMDStreamingH264NALPacket * This, 4569 /* [in] */ REFIID riid, 4570 /* [annotation][iid_is][out] */ 4571 _COM_Outptr_ void **ppvObject); 4572 4573 ULONG ( STDMETHODCALLTYPE *AddRef )( 4574 IBMDStreamingH264NALPacket * This); 4575 4576 ULONG ( STDMETHODCALLTYPE *Release )( 4577 IBMDStreamingH264NALPacket * This); 4578 4579 long ( STDMETHODCALLTYPE *GetPayloadSize )( 4580 IBMDStreamingH264NALPacket * This); 4581 4582 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 4583 IBMDStreamingH264NALPacket * This, 4584 /* [out] */ void **buffer); 4585 4586 HRESULT ( STDMETHODCALLTYPE *GetBytesWithSizePrefix )( 4587 IBMDStreamingH264NALPacket * This, 4588 /* [out] */ void **buffer); 4589 4590 HRESULT ( STDMETHODCALLTYPE *GetDisplayTime )( 4591 IBMDStreamingH264NALPacket * This, 4592 /* [in] */ ULONGLONG requestedTimeScale, 4593 /* [out] */ ULONGLONG *displayTime); 4594 4595 HRESULT ( STDMETHODCALLTYPE *GetPacketIndex )( 4596 IBMDStreamingH264NALPacket * This, 4597 /* [out] */ unsigned int *packetIndex); 4598 4599 END_INTERFACE 4600 } IBMDStreamingH264NALPacketVtbl; 4601 4602 interface IBMDStreamingH264NALPacket 4603 { 4604 CONST_VTBL struct IBMDStreamingH264NALPacketVtbl *lpVtbl; 4605 }; 4606 4607 4608 4609 #ifdef COBJMACROS 4610 4611 4612 #define IBMDStreamingH264NALPacket_QueryInterface(This,riid,ppvObject) \ 4613 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 4614 4615 #define IBMDStreamingH264NALPacket_AddRef(This) \ 4616 ( (This)->lpVtbl -> AddRef(This) ) 4617 4618 #define IBMDStreamingH264NALPacket_Release(This) \ 4619 ( (This)->lpVtbl -> Release(This) ) 4620 4621 4622 #define IBMDStreamingH264NALPacket_GetPayloadSize(This) \ 4623 ( (This)->lpVtbl -> GetPayloadSize(This) ) 4624 4625 #define IBMDStreamingH264NALPacket_GetBytes(This,buffer) \ 4626 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 4627 4628 #define IBMDStreamingH264NALPacket_GetBytesWithSizePrefix(This,buffer) \ 4629 ( (This)->lpVtbl -> GetBytesWithSizePrefix(This,buffer) ) 4630 4631 #define IBMDStreamingH264NALPacket_GetDisplayTime(This,requestedTimeScale,displayTime) \ 4632 ( (This)->lpVtbl -> GetDisplayTime(This,requestedTimeScale,displayTime) ) 4633 4634 #define IBMDStreamingH264NALPacket_GetPacketIndex(This,packetIndex) \ 4635 ( (This)->lpVtbl -> GetPacketIndex(This,packetIndex) ) 4636 4637 #endif /* COBJMACROS */ 4638 4639 4640 #endif /* C style interface */ 4641 4642 4643 4644 4645 #endif /* __IBMDStreamingH264NALPacket_INTERFACE_DEFINED__ */ 4646 4647 4648 #ifndef __IBMDStreamingAudioPacket_INTERFACE_DEFINED__ 4649 #define __IBMDStreamingAudioPacket_INTERFACE_DEFINED__ 4650 4651 /* interface IBMDStreamingAudioPacket */ 4652 /* [helpstring][uuid][object] */ 4653 4654 4655 EXTERN_C const IID IID_IBMDStreamingAudioPacket; 4656 4657 #if defined(__cplusplus) && !defined(CINTERFACE) 4658 4659 MIDL_INTERFACE("D9EB5902-1AD2-43F4-9E2C-3CFA50B5EE19") 4660 IBMDStreamingAudioPacket : public IUnknown 4661 { 4662 public: 4663 virtual BMDStreamingAudioCodec STDMETHODCALLTYPE GetCodec( void) = 0; 4664 4665 virtual long STDMETHODCALLTYPE GetPayloadSize( void) = 0; 4666 4667 virtual HRESULT STDMETHODCALLTYPE GetBytes( 4668 /* [out] */ void **buffer) = 0; 4669 4670 virtual HRESULT STDMETHODCALLTYPE GetPlayTime( 4671 /* [in] */ ULONGLONG requestedTimeScale, 4672 /* [out] */ ULONGLONG *playTime) = 0; 4673 4674 virtual HRESULT STDMETHODCALLTYPE GetPacketIndex( 4675 /* [out] */ unsigned int *packetIndex) = 0; 4676 4677 }; 4678 4679 4680 #else /* C style interface */ 4681 4682 typedef struct IBMDStreamingAudioPacketVtbl 4683 { 4684 BEGIN_INTERFACE 4685 4686 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 4687 IBMDStreamingAudioPacket * This, 4688 /* [in] */ REFIID riid, 4689 /* [annotation][iid_is][out] */ 4690 _COM_Outptr_ void **ppvObject); 4691 4692 ULONG ( STDMETHODCALLTYPE *AddRef )( 4693 IBMDStreamingAudioPacket * This); 4694 4695 ULONG ( STDMETHODCALLTYPE *Release )( 4696 IBMDStreamingAudioPacket * This); 4697 4698 BMDStreamingAudioCodec ( STDMETHODCALLTYPE *GetCodec )( 4699 IBMDStreamingAudioPacket * This); 4700 4701 long ( STDMETHODCALLTYPE *GetPayloadSize )( 4702 IBMDStreamingAudioPacket * This); 4703 4704 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 4705 IBMDStreamingAudioPacket * This, 4706 /* [out] */ void **buffer); 4707 4708 HRESULT ( STDMETHODCALLTYPE *GetPlayTime )( 4709 IBMDStreamingAudioPacket * This, 4710 /* [in] */ ULONGLONG requestedTimeScale, 4711 /* [out] */ ULONGLONG *playTime); 4712 4713 HRESULT ( STDMETHODCALLTYPE *GetPacketIndex )( 4714 IBMDStreamingAudioPacket * This, 4715 /* [out] */ unsigned int *packetIndex); 4716 4717 END_INTERFACE 4718 } IBMDStreamingAudioPacketVtbl; 4719 4720 interface IBMDStreamingAudioPacket 4721 { 4722 CONST_VTBL struct IBMDStreamingAudioPacketVtbl *lpVtbl; 4723 }; 4724 4725 4726 4727 #ifdef COBJMACROS 4728 4729 4730 #define IBMDStreamingAudioPacket_QueryInterface(This,riid,ppvObject) \ 4731 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 4732 4733 #define IBMDStreamingAudioPacket_AddRef(This) \ 4734 ( (This)->lpVtbl -> AddRef(This) ) 4735 4736 #define IBMDStreamingAudioPacket_Release(This) \ 4737 ( (This)->lpVtbl -> Release(This) ) 4738 4739 4740 #define IBMDStreamingAudioPacket_GetCodec(This) \ 4741 ( (This)->lpVtbl -> GetCodec(This) ) 4742 4743 #define IBMDStreamingAudioPacket_GetPayloadSize(This) \ 4744 ( (This)->lpVtbl -> GetPayloadSize(This) ) 4745 4746 #define IBMDStreamingAudioPacket_GetBytes(This,buffer) \ 4747 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 4748 4749 #define IBMDStreamingAudioPacket_GetPlayTime(This,requestedTimeScale,playTime) \ 4750 ( (This)->lpVtbl -> GetPlayTime(This,requestedTimeScale,playTime) ) 4751 4752 #define IBMDStreamingAudioPacket_GetPacketIndex(This,packetIndex) \ 4753 ( (This)->lpVtbl -> GetPacketIndex(This,packetIndex) ) 4754 4755 #endif /* COBJMACROS */ 4756 4757 4758 #endif /* C style interface */ 4759 4760 4761 4762 4763 #endif /* __IBMDStreamingAudioPacket_INTERFACE_DEFINED__ */ 4764 4765 4766 #ifndef __IBMDStreamingMPEG2TSPacket_INTERFACE_DEFINED__ 4767 #define __IBMDStreamingMPEG2TSPacket_INTERFACE_DEFINED__ 4768 4769 /* interface IBMDStreamingMPEG2TSPacket */ 4770 /* [helpstring][uuid][object] */ 4771 4772 4773 EXTERN_C const IID IID_IBMDStreamingMPEG2TSPacket; 4774 4775 #if defined(__cplusplus) && !defined(CINTERFACE) 4776 4777 MIDL_INTERFACE("91810D1C-4FB3-4AAA-AE56-FA301D3DFA4C") 4778 IBMDStreamingMPEG2TSPacket : public IUnknown 4779 { 4780 public: 4781 virtual long STDMETHODCALLTYPE GetPayloadSize( void) = 0; 4782 4783 virtual HRESULT STDMETHODCALLTYPE GetBytes( 4784 /* [out] */ void **buffer) = 0; 4785 4786 }; 4787 4788 4789 #else /* C style interface */ 4790 4791 typedef struct IBMDStreamingMPEG2TSPacketVtbl 4792 { 4793 BEGIN_INTERFACE 4794 4795 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 4796 IBMDStreamingMPEG2TSPacket * This, 4797 /* [in] */ REFIID riid, 4798 /* [annotation][iid_is][out] */ 4799 _COM_Outptr_ void **ppvObject); 4800 4801 ULONG ( STDMETHODCALLTYPE *AddRef )( 4802 IBMDStreamingMPEG2TSPacket * This); 4803 4804 ULONG ( STDMETHODCALLTYPE *Release )( 4805 IBMDStreamingMPEG2TSPacket * This); 4806 4807 long ( STDMETHODCALLTYPE *GetPayloadSize )( 4808 IBMDStreamingMPEG2TSPacket * This); 4809 4810 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 4811 IBMDStreamingMPEG2TSPacket * This, 4812 /* [out] */ void **buffer); 4813 4814 END_INTERFACE 4815 } IBMDStreamingMPEG2TSPacketVtbl; 4816 4817 interface IBMDStreamingMPEG2TSPacket 4818 { 4819 CONST_VTBL struct IBMDStreamingMPEG2TSPacketVtbl *lpVtbl; 4820 }; 4821 4822 4823 4824 #ifdef COBJMACROS 4825 4826 4827 #define IBMDStreamingMPEG2TSPacket_QueryInterface(This,riid,ppvObject) \ 4828 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 4829 4830 #define IBMDStreamingMPEG2TSPacket_AddRef(This) \ 4831 ( (This)->lpVtbl -> AddRef(This) ) 4832 4833 #define IBMDStreamingMPEG2TSPacket_Release(This) \ 4834 ( (This)->lpVtbl -> Release(This) ) 4835 4836 4837 #define IBMDStreamingMPEG2TSPacket_GetPayloadSize(This) \ 4838 ( (This)->lpVtbl -> GetPayloadSize(This) ) 4839 4840 #define IBMDStreamingMPEG2TSPacket_GetBytes(This,buffer) \ 4841 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 4842 4843 #endif /* COBJMACROS */ 4844 4845 4846 #endif /* C style interface */ 4847 4848 4849 4850 4851 #endif /* __IBMDStreamingMPEG2TSPacket_INTERFACE_DEFINED__ */ 4852 4853 4854 #ifndef __IBMDStreamingH264NALParser_INTERFACE_DEFINED__ 4855 #define __IBMDStreamingH264NALParser_INTERFACE_DEFINED__ 4856 4857 /* interface IBMDStreamingH264NALParser */ 4858 /* [helpstring][uuid][object] */ 4859 4860 4861 EXTERN_C const IID IID_IBMDStreamingH264NALParser; 4862 4863 #if defined(__cplusplus) && !defined(CINTERFACE) 4864 4865 MIDL_INTERFACE("5867F18C-5BFA-4CCC-B2A7-9DFD140417D2") 4866 IBMDStreamingH264NALParser : public IUnknown 4867 { 4868 public: 4869 virtual HRESULT STDMETHODCALLTYPE IsNALSequenceParameterSet( 4870 /* [in] */ IBMDStreamingH264NALPacket *nal) = 0; 4871 4872 virtual HRESULT STDMETHODCALLTYPE IsNALPictureParameterSet( 4873 /* [in] */ IBMDStreamingH264NALPacket *nal) = 0; 4874 4875 virtual HRESULT STDMETHODCALLTYPE GetProfileAndLevelFromSPS( 4876 /* [in] */ IBMDStreamingH264NALPacket *nal, 4877 /* [out] */ unsigned int *profileIdc, 4878 /* [out] */ unsigned int *profileCompatability, 4879 /* [out] */ unsigned int *levelIdc) = 0; 4880 4881 }; 4882 4883 4884 #else /* C style interface */ 4885 4886 typedef struct IBMDStreamingH264NALParserVtbl 4887 { 4888 BEGIN_INTERFACE 4889 4890 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 4891 IBMDStreamingH264NALParser * This, 4892 /* [in] */ REFIID riid, 4893 /* [annotation][iid_is][out] */ 4894 _COM_Outptr_ void **ppvObject); 4895 4896 ULONG ( STDMETHODCALLTYPE *AddRef )( 4897 IBMDStreamingH264NALParser * This); 4898 4899 ULONG ( STDMETHODCALLTYPE *Release )( 4900 IBMDStreamingH264NALParser * This); 4901 4902 HRESULT ( STDMETHODCALLTYPE *IsNALSequenceParameterSet )( 4903 IBMDStreamingH264NALParser * This, 4904 /* [in] */ IBMDStreamingH264NALPacket *nal); 4905 4906 HRESULT ( STDMETHODCALLTYPE *IsNALPictureParameterSet )( 4907 IBMDStreamingH264NALParser * This, 4908 /* [in] */ IBMDStreamingH264NALPacket *nal); 4909 4910 HRESULT ( STDMETHODCALLTYPE *GetProfileAndLevelFromSPS )( 4911 IBMDStreamingH264NALParser * This, 4912 /* [in] */ IBMDStreamingH264NALPacket *nal, 4913 /* [out] */ unsigned int *profileIdc, 4914 /* [out] */ unsigned int *profileCompatability, 4915 /* [out] */ unsigned int *levelIdc); 4916 4917 END_INTERFACE 4918 } IBMDStreamingH264NALParserVtbl; 4919 4920 interface IBMDStreamingH264NALParser 4921 { 4922 CONST_VTBL struct IBMDStreamingH264NALParserVtbl *lpVtbl; 4923 }; 4924 4925 4926 4927 #ifdef COBJMACROS 4928 4929 4930 #define IBMDStreamingH264NALParser_QueryInterface(This,riid,ppvObject) \ 4931 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 4932 4933 #define IBMDStreamingH264NALParser_AddRef(This) \ 4934 ( (This)->lpVtbl -> AddRef(This) ) 4935 4936 #define IBMDStreamingH264NALParser_Release(This) \ 4937 ( (This)->lpVtbl -> Release(This) ) 4938 4939 4940 #define IBMDStreamingH264NALParser_IsNALSequenceParameterSet(This,nal) \ 4941 ( (This)->lpVtbl -> IsNALSequenceParameterSet(This,nal) ) 4942 4943 #define IBMDStreamingH264NALParser_IsNALPictureParameterSet(This,nal) \ 4944 ( (This)->lpVtbl -> IsNALPictureParameterSet(This,nal) ) 4945 4946 #define IBMDStreamingH264NALParser_GetProfileAndLevelFromSPS(This,nal,profileIdc,profileCompatability,levelIdc) \ 4947 ( (This)->lpVtbl -> GetProfileAndLevelFromSPS(This,nal,profileIdc,profileCompatability,levelIdc) ) 4948 4949 #endif /* COBJMACROS */ 4950 4951 4952 #endif /* C style interface */ 4953 4954 4955 4956 4957 #endif /* __IBMDStreamingH264NALParser_INTERFACE_DEFINED__ */ 4958 4959 4960 EXTERN_C const CLSID CLSID_CBMDStreamingDiscovery; 4961 4962 #ifdef __cplusplus 4963 4964 class DECLSPEC_UUID("23A4EDF5-A0E5-432C-94EF-3BABB5F81C82") 4965 CBMDStreamingDiscovery; 4966 #endif 4967 4968 EXTERN_C const CLSID CLSID_CBMDStreamingH264NALParser; 4969 4970 #ifdef __cplusplus 4971 4972 class DECLSPEC_UUID("7753EFBD-951C-407C-97A5-23C737B73B52") 4973 CBMDStreamingH264NALParser; 4974 #endif 4975 4976 #ifndef __IDeckLinkVideoOutputCallback_INTERFACE_DEFINED__ 4977 #define __IDeckLinkVideoOutputCallback_INTERFACE_DEFINED__ 4978 4979 /* interface IDeckLinkVideoOutputCallback */ 4980 /* [helpstring][uuid][object] */ 4981 4982 4983 EXTERN_C const IID IID_IDeckLinkVideoOutputCallback; 4984 4985 #if defined(__cplusplus) && !defined(CINTERFACE) 4986 4987 MIDL_INTERFACE("20AA5225-1958-47CB-820B-80A8D521A6EE") 4988 IDeckLinkVideoOutputCallback : public IUnknown 4989 { 4990 public: 4991 virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted( 4992 /* [in] */ IDeckLinkVideoFrame *completedFrame, 4993 /* [in] */ BMDOutputFrameCompletionResult result) = 0; 4994 4995 virtual HRESULT STDMETHODCALLTYPE ScheduledPlaybackHasStopped( void) = 0; 4996 4997 }; 4998 4999 5000 #else /* C style interface */ 5001 5002 typedef struct IDeckLinkVideoOutputCallbackVtbl 5003 { 5004 BEGIN_INTERFACE 5005 5006 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 5007 IDeckLinkVideoOutputCallback * This, 5008 /* [in] */ REFIID riid, 5009 /* [annotation][iid_is][out] */ 5010 _COM_Outptr_ void **ppvObject); 5011 5012 ULONG ( STDMETHODCALLTYPE *AddRef )( 5013 IDeckLinkVideoOutputCallback * This); 5014 5015 ULONG ( STDMETHODCALLTYPE *Release )( 5016 IDeckLinkVideoOutputCallback * This); 5017 5018 HRESULT ( STDMETHODCALLTYPE *ScheduledFrameCompleted )( 5019 IDeckLinkVideoOutputCallback * This, 5020 /* [in] */ IDeckLinkVideoFrame *completedFrame, 5021 /* [in] */ BMDOutputFrameCompletionResult result); 5022 5023 HRESULT ( STDMETHODCALLTYPE *ScheduledPlaybackHasStopped )( 5024 IDeckLinkVideoOutputCallback * This); 5025 5026 END_INTERFACE 5027 } IDeckLinkVideoOutputCallbackVtbl; 5028 5029 interface IDeckLinkVideoOutputCallback 5030 { 5031 CONST_VTBL struct IDeckLinkVideoOutputCallbackVtbl *lpVtbl; 5032 }; 5033 5034 5035 5036 #ifdef COBJMACROS 5037 5038 5039 #define IDeckLinkVideoOutputCallback_QueryInterface(This,riid,ppvObject) \ 5040 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 5041 5042 #define IDeckLinkVideoOutputCallback_AddRef(This) \ 5043 ( (This)->lpVtbl -> AddRef(This) ) 5044 5045 #define IDeckLinkVideoOutputCallback_Release(This) \ 5046 ( (This)->lpVtbl -> Release(This) ) 5047 5048 5049 #define IDeckLinkVideoOutputCallback_ScheduledFrameCompleted(This,completedFrame,result) \ 5050 ( (This)->lpVtbl -> ScheduledFrameCompleted(This,completedFrame,result) ) 5051 5052 #define IDeckLinkVideoOutputCallback_ScheduledPlaybackHasStopped(This) \ 5053 ( (This)->lpVtbl -> ScheduledPlaybackHasStopped(This) ) 5054 5055 #endif /* COBJMACROS */ 5056 5057 5058 #endif /* C style interface */ 5059 5060 5061 5062 5063 #endif /* __IDeckLinkVideoOutputCallback_INTERFACE_DEFINED__ */ 5064 5065 5066 #ifndef __IDeckLinkInputCallback_INTERFACE_DEFINED__ 5067 #define __IDeckLinkInputCallback_INTERFACE_DEFINED__ 5068 5069 /* interface IDeckLinkInputCallback */ 5070 /* [helpstring][uuid][object] */ 5071 5072 5073 EXTERN_C const IID IID_IDeckLinkInputCallback; 5074 5075 #if defined(__cplusplus) && !defined(CINTERFACE) 5076 5077 MIDL_INTERFACE("DD04E5EC-7415-42AB-AE4A-E80C4DFC044A") 5078 IDeckLinkInputCallback : public IUnknown 5079 { 5080 public: 5081 virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged( 5082 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents, 5083 /* [in] */ IDeckLinkDisplayMode *newDisplayMode, 5084 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0; 5085 5086 virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived( 5087 /* [in] */ IDeckLinkVideoInputFrame *videoFrame, 5088 /* [in] */ IDeckLinkAudioInputPacket *audioPacket) = 0; 5089 5090 }; 5091 5092 5093 #else /* C style interface */ 5094 5095 typedef struct IDeckLinkInputCallbackVtbl 5096 { 5097 BEGIN_INTERFACE 5098 5099 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 5100 IDeckLinkInputCallback * This, 5101 /* [in] */ REFIID riid, 5102 /* [annotation][iid_is][out] */ 5103 _COM_Outptr_ void **ppvObject); 5104 5105 ULONG ( STDMETHODCALLTYPE *AddRef )( 5106 IDeckLinkInputCallback * This); 5107 5108 ULONG ( STDMETHODCALLTYPE *Release )( 5109 IDeckLinkInputCallback * This); 5110 5111 HRESULT ( STDMETHODCALLTYPE *VideoInputFormatChanged )( 5112 IDeckLinkInputCallback * This, 5113 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents, 5114 /* [in] */ IDeckLinkDisplayMode *newDisplayMode, 5115 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags); 5116 5117 HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )( 5118 IDeckLinkInputCallback * This, 5119 /* [in] */ IDeckLinkVideoInputFrame *videoFrame, 5120 /* [in] */ IDeckLinkAudioInputPacket *audioPacket); 5121 5122 END_INTERFACE 5123 } IDeckLinkInputCallbackVtbl; 5124 5125 interface IDeckLinkInputCallback 5126 { 5127 CONST_VTBL struct IDeckLinkInputCallbackVtbl *lpVtbl; 5128 }; 5129 5130 5131 5132 #ifdef COBJMACROS 5133 5134 5135 #define IDeckLinkInputCallback_QueryInterface(This,riid,ppvObject) \ 5136 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 5137 5138 #define IDeckLinkInputCallback_AddRef(This) \ 5139 ( (This)->lpVtbl -> AddRef(This) ) 5140 5141 #define IDeckLinkInputCallback_Release(This) \ 5142 ( (This)->lpVtbl -> Release(This) ) 5143 5144 5145 #define IDeckLinkInputCallback_VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) \ 5146 ( (This)->lpVtbl -> VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) ) 5147 5148 #define IDeckLinkInputCallback_VideoInputFrameArrived(This,videoFrame,audioPacket) \ 5149 ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) ) 5150 5151 #endif /* COBJMACROS */ 5152 5153 5154 #endif /* C style interface */ 5155 5156 5157 5158 5159 #endif /* __IDeckLinkInputCallback_INTERFACE_DEFINED__ */ 5160 5161 5162 #ifndef __IDeckLinkEncoderInputCallback_INTERFACE_DEFINED__ 5163 #define __IDeckLinkEncoderInputCallback_INTERFACE_DEFINED__ 5164 5165 /* interface IDeckLinkEncoderInputCallback */ 5166 /* [helpstring][uuid][object] */ 5167 5168 5169 EXTERN_C const IID IID_IDeckLinkEncoderInputCallback; 5170 5171 #if defined(__cplusplus) && !defined(CINTERFACE) 5172 5173 MIDL_INTERFACE("ACF13E61-F4A0-4974-A6A7-59AFF6268B31") 5174 IDeckLinkEncoderInputCallback : public IUnknown 5175 { 5176 public: 5177 virtual HRESULT STDMETHODCALLTYPE VideoInputSignalChanged( 5178 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents, 5179 /* [in] */ IDeckLinkDisplayMode *newDisplayMode, 5180 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0; 5181 5182 virtual HRESULT STDMETHODCALLTYPE VideoPacketArrived( 5183 /* [in] */ IDeckLinkEncoderVideoPacket *videoPacket) = 0; 5184 5185 virtual HRESULT STDMETHODCALLTYPE AudioPacketArrived( 5186 /* [in] */ IDeckLinkEncoderAudioPacket *audioPacket) = 0; 5187 5188 }; 5189 5190 5191 #else /* C style interface */ 5192 5193 typedef struct IDeckLinkEncoderInputCallbackVtbl 5194 { 5195 BEGIN_INTERFACE 5196 5197 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 5198 IDeckLinkEncoderInputCallback * This, 5199 /* [in] */ REFIID riid, 5200 /* [annotation][iid_is][out] */ 5201 _COM_Outptr_ void **ppvObject); 5202 5203 ULONG ( STDMETHODCALLTYPE *AddRef )( 5204 IDeckLinkEncoderInputCallback * This); 5205 5206 ULONG ( STDMETHODCALLTYPE *Release )( 5207 IDeckLinkEncoderInputCallback * This); 5208 5209 HRESULT ( STDMETHODCALLTYPE *VideoInputSignalChanged )( 5210 IDeckLinkEncoderInputCallback * This, 5211 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents, 5212 /* [in] */ IDeckLinkDisplayMode *newDisplayMode, 5213 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags); 5214 5215 HRESULT ( STDMETHODCALLTYPE *VideoPacketArrived )( 5216 IDeckLinkEncoderInputCallback * This, 5217 /* [in] */ IDeckLinkEncoderVideoPacket *videoPacket); 5218 5219 HRESULT ( STDMETHODCALLTYPE *AudioPacketArrived )( 5220 IDeckLinkEncoderInputCallback * This, 5221 /* [in] */ IDeckLinkEncoderAudioPacket *audioPacket); 5222 5223 END_INTERFACE 5224 } IDeckLinkEncoderInputCallbackVtbl; 5225 5226 interface IDeckLinkEncoderInputCallback 5227 { 5228 CONST_VTBL struct IDeckLinkEncoderInputCallbackVtbl *lpVtbl; 5229 }; 5230 5231 5232 5233 #ifdef COBJMACROS 5234 5235 5236 #define IDeckLinkEncoderInputCallback_QueryInterface(This,riid,ppvObject) \ 5237 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 5238 5239 #define IDeckLinkEncoderInputCallback_AddRef(This) \ 5240 ( (This)->lpVtbl -> AddRef(This) ) 5241 5242 #define IDeckLinkEncoderInputCallback_Release(This) \ 5243 ( (This)->lpVtbl -> Release(This) ) 5244 5245 5246 #define IDeckLinkEncoderInputCallback_VideoInputSignalChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) \ 5247 ( (This)->lpVtbl -> VideoInputSignalChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) ) 5248 5249 #define IDeckLinkEncoderInputCallback_VideoPacketArrived(This,videoPacket) \ 5250 ( (This)->lpVtbl -> VideoPacketArrived(This,videoPacket) ) 5251 5252 #define IDeckLinkEncoderInputCallback_AudioPacketArrived(This,audioPacket) \ 5253 ( (This)->lpVtbl -> AudioPacketArrived(This,audioPacket) ) 5254 5255 #endif /* COBJMACROS */ 5256 5257 5258 #endif /* C style interface */ 5259 5260 5261 5262 5263 #endif /* __IDeckLinkEncoderInputCallback_INTERFACE_DEFINED__ */ 5264 5265 5266 #ifndef __IDeckLinkMemoryAllocator_INTERFACE_DEFINED__ 5267 #define __IDeckLinkMemoryAllocator_INTERFACE_DEFINED__ 5268 5269 /* interface IDeckLinkMemoryAllocator */ 5270 /* [helpstring][local][uuid][object] */ 5271 5272 5273 EXTERN_C const IID IID_IDeckLinkMemoryAllocator; 5274 5275 #if defined(__cplusplus) && !defined(CINTERFACE) 5276 5277 MIDL_INTERFACE("B36EB6E7-9D29-4AA8-92EF-843B87A289E8") 5278 IDeckLinkMemoryAllocator : public IUnknown 5279 { 5280 public: 5281 virtual HRESULT STDMETHODCALLTYPE AllocateBuffer( 5282 /* [in] */ unsigned int bufferSize, 5283 /* [out] */ void **allocatedBuffer) = 0; 5284 5285 virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer( 5286 /* [in] */ void *buffer) = 0; 5287 5288 virtual HRESULT STDMETHODCALLTYPE Commit( void) = 0; 5289 5290 virtual HRESULT STDMETHODCALLTYPE Decommit( void) = 0; 5291 5292 }; 5293 5294 5295 #else /* C style interface */ 5296 5297 typedef struct IDeckLinkMemoryAllocatorVtbl 5298 { 5299 BEGIN_INTERFACE 5300 5301 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 5302 IDeckLinkMemoryAllocator * This, 5303 /* [in] */ REFIID riid, 5304 /* [annotation][iid_is][out] */ 5305 _COM_Outptr_ void **ppvObject); 5306 5307 ULONG ( STDMETHODCALLTYPE *AddRef )( 5308 IDeckLinkMemoryAllocator * This); 5309 5310 ULONG ( STDMETHODCALLTYPE *Release )( 5311 IDeckLinkMemoryAllocator * This); 5312 5313 HRESULT ( STDMETHODCALLTYPE *AllocateBuffer )( 5314 IDeckLinkMemoryAllocator * This, 5315 /* [in] */ unsigned int bufferSize, 5316 /* [out] */ void **allocatedBuffer); 5317 5318 HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )( 5319 IDeckLinkMemoryAllocator * This, 5320 /* [in] */ void *buffer); 5321 5322 HRESULT ( STDMETHODCALLTYPE *Commit )( 5323 IDeckLinkMemoryAllocator * This); 5324 5325 HRESULT ( STDMETHODCALLTYPE *Decommit )( 5326 IDeckLinkMemoryAllocator * This); 5327 5328 END_INTERFACE 5329 } IDeckLinkMemoryAllocatorVtbl; 5330 5331 interface IDeckLinkMemoryAllocator 5332 { 5333 CONST_VTBL struct IDeckLinkMemoryAllocatorVtbl *lpVtbl; 5334 }; 5335 5336 5337 5338 #ifdef COBJMACROS 5339 5340 5341 #define IDeckLinkMemoryAllocator_QueryInterface(This,riid,ppvObject) \ 5342 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 5343 5344 #define IDeckLinkMemoryAllocator_AddRef(This) \ 5345 ( (This)->lpVtbl -> AddRef(This) ) 5346 5347 #define IDeckLinkMemoryAllocator_Release(This) \ 5348 ( (This)->lpVtbl -> Release(This) ) 5349 5350 5351 #define IDeckLinkMemoryAllocator_AllocateBuffer(This,bufferSize,allocatedBuffer) \ 5352 ( (This)->lpVtbl -> AllocateBuffer(This,bufferSize,allocatedBuffer) ) 5353 5354 #define IDeckLinkMemoryAllocator_ReleaseBuffer(This,buffer) \ 5355 ( (This)->lpVtbl -> ReleaseBuffer(This,buffer) ) 5356 5357 #define IDeckLinkMemoryAllocator_Commit(This) \ 5358 ( (This)->lpVtbl -> Commit(This) ) 5359 5360 #define IDeckLinkMemoryAllocator_Decommit(This) \ 5361 ( (This)->lpVtbl -> Decommit(This) ) 5362 5363 #endif /* COBJMACROS */ 5364 5365 5366 #endif /* C style interface */ 5367 5368 5369 5370 5371 #endif /* __IDeckLinkMemoryAllocator_INTERFACE_DEFINED__ */ 5372 5373 5374 #ifndef __IDeckLinkAudioOutputCallback_INTERFACE_DEFINED__ 5375 #define __IDeckLinkAudioOutputCallback_INTERFACE_DEFINED__ 5376 5377 /* interface IDeckLinkAudioOutputCallback */ 5378 /* [helpstring][local][uuid][object] */ 5379 5380 5381 EXTERN_C const IID IID_IDeckLinkAudioOutputCallback; 5382 5383 #if defined(__cplusplus) && !defined(CINTERFACE) 5384 5385 MIDL_INTERFACE("403C681B-7F46-4A12-B993-2BB127084EE6") 5386 IDeckLinkAudioOutputCallback : public IUnknown 5387 { 5388 public: 5389 virtual HRESULT STDMETHODCALLTYPE RenderAudioSamples( 5390 /* [in] */ BOOL preroll) = 0; 5391 5392 }; 5393 5394 5395 #else /* C style interface */ 5396 5397 typedef struct IDeckLinkAudioOutputCallbackVtbl 5398 { 5399 BEGIN_INTERFACE 5400 5401 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 5402 IDeckLinkAudioOutputCallback * This, 5403 /* [in] */ REFIID riid, 5404 /* [annotation][iid_is][out] */ 5405 _COM_Outptr_ void **ppvObject); 5406 5407 ULONG ( STDMETHODCALLTYPE *AddRef )( 5408 IDeckLinkAudioOutputCallback * This); 5409 5410 ULONG ( STDMETHODCALLTYPE *Release )( 5411 IDeckLinkAudioOutputCallback * This); 5412 5413 HRESULT ( STDMETHODCALLTYPE *RenderAudioSamples )( 5414 IDeckLinkAudioOutputCallback * This, 5415 /* [in] */ BOOL preroll); 5416 5417 END_INTERFACE 5418 } IDeckLinkAudioOutputCallbackVtbl; 5419 5420 interface IDeckLinkAudioOutputCallback 5421 { 5422 CONST_VTBL struct IDeckLinkAudioOutputCallbackVtbl *lpVtbl; 5423 }; 5424 5425 5426 5427 #ifdef COBJMACROS 5428 5429 5430 #define IDeckLinkAudioOutputCallback_QueryInterface(This,riid,ppvObject) \ 5431 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 5432 5433 #define IDeckLinkAudioOutputCallback_AddRef(This) \ 5434 ( (This)->lpVtbl -> AddRef(This) ) 5435 5436 #define IDeckLinkAudioOutputCallback_Release(This) \ 5437 ( (This)->lpVtbl -> Release(This) ) 5438 5439 5440 #define IDeckLinkAudioOutputCallback_RenderAudioSamples(This,preroll) \ 5441 ( (This)->lpVtbl -> RenderAudioSamples(This,preroll) ) 5442 5443 #endif /* COBJMACROS */ 5444 5445 5446 #endif /* C style interface */ 5447 5448 5449 5450 5451 #endif /* __IDeckLinkAudioOutputCallback_INTERFACE_DEFINED__ */ 5452 5453 5454 #ifndef __IDeckLinkIterator_INTERFACE_DEFINED__ 5455 #define __IDeckLinkIterator_INTERFACE_DEFINED__ 5456 5457 /* interface IDeckLinkIterator */ 5458 /* [helpstring][uuid][object] */ 5459 5460 5461 EXTERN_C const IID IID_IDeckLinkIterator; 5462 5463 #if defined(__cplusplus) && !defined(CINTERFACE) 5464 5465 MIDL_INTERFACE("50FB36CD-3063-4B73-BDBB-958087F2D8BA") 5466 IDeckLinkIterator : public IUnknown 5467 { 5468 public: 5469 virtual HRESULT STDMETHODCALLTYPE Next( 5470 /* [out] */ IDeckLink **deckLinkInstance) = 0; 5471 5472 }; 5473 5474 5475 #else /* C style interface */ 5476 5477 typedef struct IDeckLinkIteratorVtbl 5478 { 5479 BEGIN_INTERFACE 5480 5481 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 5482 IDeckLinkIterator * This, 5483 /* [in] */ REFIID riid, 5484 /* [annotation][iid_is][out] */ 5485 _COM_Outptr_ void **ppvObject); 5486 5487 ULONG ( STDMETHODCALLTYPE *AddRef )( 5488 IDeckLinkIterator * This); 5489 5490 ULONG ( STDMETHODCALLTYPE *Release )( 5491 IDeckLinkIterator * This); 5492 5493 HRESULT ( STDMETHODCALLTYPE *Next )( 5494 IDeckLinkIterator * This, 5495 /* [out] */ IDeckLink **deckLinkInstance); 5496 5497 END_INTERFACE 5498 } IDeckLinkIteratorVtbl; 5499 5500 interface IDeckLinkIterator 5501 { 5502 CONST_VTBL struct IDeckLinkIteratorVtbl *lpVtbl; 5503 }; 5504 5505 5506 5507 #ifdef COBJMACROS 5508 5509 5510 #define IDeckLinkIterator_QueryInterface(This,riid,ppvObject) \ 5511 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 5512 5513 #define IDeckLinkIterator_AddRef(This) \ 5514 ( (This)->lpVtbl -> AddRef(This) ) 5515 5516 #define IDeckLinkIterator_Release(This) \ 5517 ( (This)->lpVtbl -> Release(This) ) 5518 5519 5520 #define IDeckLinkIterator_Next(This,deckLinkInstance) \ 5521 ( (This)->lpVtbl -> Next(This,deckLinkInstance) ) 5522 5523 #endif /* COBJMACROS */ 5524 5525 5526 #endif /* C style interface */ 5527 5528 5529 5530 5531 #endif /* __IDeckLinkIterator_INTERFACE_DEFINED__ */ 5532 5533 5534 #ifndef __IDeckLinkAPIInformation_INTERFACE_DEFINED__ 5535 #define __IDeckLinkAPIInformation_INTERFACE_DEFINED__ 5536 5537 /* interface IDeckLinkAPIInformation */ 5538 /* [helpstring][uuid][object] */ 5539 5540 5541 EXTERN_C const IID IID_IDeckLinkAPIInformation; 5542 5543 #if defined(__cplusplus) && !defined(CINTERFACE) 5544 5545 MIDL_INTERFACE("7BEA3C68-730D-4322-AF34-8A7152B532A4") 5546 IDeckLinkAPIInformation : public IUnknown 5547 { 5548 public: 5549 virtual HRESULT STDMETHODCALLTYPE GetFlag( 5550 /* [in] */ BMDDeckLinkAPIInformationID cfgID, 5551 /* [out] */ BOOL *value) = 0; 5552 5553 virtual HRESULT STDMETHODCALLTYPE GetInt( 5554 /* [in] */ BMDDeckLinkAPIInformationID cfgID, 5555 /* [out] */ LONGLONG *value) = 0; 5556 5557 virtual HRESULT STDMETHODCALLTYPE GetFloat( 5558 /* [in] */ BMDDeckLinkAPIInformationID cfgID, 5559 /* [out] */ double *value) = 0; 5560 5561 virtual HRESULT STDMETHODCALLTYPE GetString( 5562 /* [in] */ BMDDeckLinkAPIInformationID cfgID, 5563 /* [out] */ BSTR *value) = 0; 5564 5565 }; 5566 5567 5568 #else /* C style interface */ 5569 5570 typedef struct IDeckLinkAPIInformationVtbl 5571 { 5572 BEGIN_INTERFACE 5573 5574 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 5575 IDeckLinkAPIInformation * This, 5576 /* [in] */ REFIID riid, 5577 /* [annotation][iid_is][out] */ 5578 _COM_Outptr_ void **ppvObject); 5579 5580 ULONG ( STDMETHODCALLTYPE *AddRef )( 5581 IDeckLinkAPIInformation * This); 5582 5583 ULONG ( STDMETHODCALLTYPE *Release )( 5584 IDeckLinkAPIInformation * This); 5585 5586 HRESULT ( STDMETHODCALLTYPE *GetFlag )( 5587 IDeckLinkAPIInformation * This, 5588 /* [in] */ BMDDeckLinkAPIInformationID cfgID, 5589 /* [out] */ BOOL *value); 5590 5591 HRESULT ( STDMETHODCALLTYPE *GetInt )( 5592 IDeckLinkAPIInformation * This, 5593 /* [in] */ BMDDeckLinkAPIInformationID cfgID, 5594 /* [out] */ LONGLONG *value); 5595 5596 HRESULT ( STDMETHODCALLTYPE *GetFloat )( 5597 IDeckLinkAPIInformation * This, 5598 /* [in] */ BMDDeckLinkAPIInformationID cfgID, 5599 /* [out] */ double *value); 5600 5601 HRESULT ( STDMETHODCALLTYPE *GetString )( 5602 IDeckLinkAPIInformation * This, 5603 /* [in] */ BMDDeckLinkAPIInformationID cfgID, 5604 /* [out] */ BSTR *value); 5605 5606 END_INTERFACE 5607 } IDeckLinkAPIInformationVtbl; 5608 5609 interface IDeckLinkAPIInformation 5610 { 5611 CONST_VTBL struct IDeckLinkAPIInformationVtbl *lpVtbl; 5612 }; 5613 5614 5615 5616 #ifdef COBJMACROS 5617 5618 5619 #define IDeckLinkAPIInformation_QueryInterface(This,riid,ppvObject) \ 5620 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 5621 5622 #define IDeckLinkAPIInformation_AddRef(This) \ 5623 ( (This)->lpVtbl -> AddRef(This) ) 5624 5625 #define IDeckLinkAPIInformation_Release(This) \ 5626 ( (This)->lpVtbl -> Release(This) ) 5627 5628 5629 #define IDeckLinkAPIInformation_GetFlag(This,cfgID,value) \ 5630 ( (This)->lpVtbl -> GetFlag(This,cfgID,value) ) 5631 5632 #define IDeckLinkAPIInformation_GetInt(This,cfgID,value) \ 5633 ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) 5634 5635 #define IDeckLinkAPIInformation_GetFloat(This,cfgID,value) \ 5636 ( (This)->lpVtbl -> GetFloat(This,cfgID,value) ) 5637 5638 #define IDeckLinkAPIInformation_GetString(This,cfgID,value) \ 5639 ( (This)->lpVtbl -> GetString(This,cfgID,value) ) 5640 5641 #endif /* COBJMACROS */ 5642 5643 5644 #endif /* C style interface */ 5645 5646 5647 5648 5649 #endif /* __IDeckLinkAPIInformation_INTERFACE_DEFINED__ */ 5650 5651 5652 #ifndef __IDeckLinkOutput_INTERFACE_DEFINED__ 5653 #define __IDeckLinkOutput_INTERFACE_DEFINED__ 5654 5655 /* interface IDeckLinkOutput */ 5656 /* [helpstring][local][uuid][object] */ 5657 5658 5659 EXTERN_C const IID IID_IDeckLinkOutput; 5660 5661 #if defined(__cplusplus) && !defined(CINTERFACE) 5662 5663 MIDL_INTERFACE("065A0F6C-C508-4D0D-B919-F5EB0EBFC96B") 5664 IDeckLinkOutput : public IUnknown 5665 { 5666 public: 5667 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( 5668 /* [in] */ BMDVideoConnection connection, 5669 /* [in] */ BMDDisplayMode requestedMode, 5670 /* [in] */ BMDPixelFormat requestedPixelFormat, 5671 /* [in] */ BMDSupportedVideoModeFlags flags, 5672 /* [out] */ BMDDisplayMode *actualMode, 5673 /* [out] */ BOOL *supported) = 0; 5674 5675 virtual HRESULT STDMETHODCALLTYPE GetDisplayMode( 5676 /* [in] */ BMDDisplayMode displayMode, 5677 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode) = 0; 5678 5679 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( 5680 /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0; 5681 5682 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( 5683 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; 5684 5685 virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput( 5686 /* [in] */ BMDDisplayMode displayMode, 5687 /* [in] */ BMDVideoOutputFlags flags) = 0; 5688 5689 virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0; 5690 5691 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator( 5692 /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0; 5693 5694 virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame( 5695 /* [in] */ int width, 5696 /* [in] */ int height, 5697 /* [in] */ int rowBytes, 5698 /* [in] */ BMDPixelFormat pixelFormat, 5699 /* [in] */ BMDFrameFlags flags, 5700 /* [out] */ IDeckLinkMutableVideoFrame **outFrame) = 0; 5701 5702 virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData( 5703 /* [in] */ BMDPixelFormat pixelFormat, 5704 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer) = 0; 5705 5706 virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync( 5707 /* [in] */ IDeckLinkVideoFrame *theFrame) = 0; 5708 5709 virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame( 5710 /* [in] */ IDeckLinkVideoFrame *theFrame, 5711 /* [in] */ BMDTimeValue displayTime, 5712 /* [in] */ BMDTimeValue displayDuration, 5713 /* [in] */ BMDTimeScale timeScale) = 0; 5714 5715 virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback( 5716 /* [in] */ IDeckLinkVideoOutputCallback *theCallback) = 0; 5717 5718 virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount( 5719 /* [out] */ unsigned int *bufferedFrameCount) = 0; 5720 5721 virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput( 5722 /* [in] */ BMDAudioSampleRate sampleRate, 5723 /* [in] */ BMDAudioSampleType sampleType, 5724 /* [in] */ unsigned int channelCount, 5725 /* [in] */ BMDAudioOutputStreamType streamType) = 0; 5726 5727 virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0; 5728 5729 virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync( 5730 /* [in] */ void *buffer, 5731 /* [in] */ unsigned int sampleFrameCount, 5732 /* [out] */ unsigned int *sampleFramesWritten) = 0; 5733 5734 virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0; 5735 5736 virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0; 5737 5738 virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples( 5739 /* [in] */ void *buffer, 5740 /* [in] */ unsigned int sampleFrameCount, 5741 /* [in] */ BMDTimeValue streamTime, 5742 /* [in] */ BMDTimeScale timeScale, 5743 /* [out] */ unsigned int *sampleFramesWritten) = 0; 5744 5745 virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount( 5746 /* [out] */ unsigned int *bufferedSampleFrameCount) = 0; 5747 5748 virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0; 5749 5750 virtual HRESULT STDMETHODCALLTYPE SetAudioCallback( 5751 /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0; 5752 5753 virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback( 5754 /* [in] */ BMDTimeValue playbackStartTime, 5755 /* [in] */ BMDTimeScale timeScale, 5756 /* [in] */ double playbackSpeed) = 0; 5757 5758 virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback( 5759 /* [in] */ BMDTimeValue stopPlaybackAtTime, 5760 /* [out] */ BMDTimeValue *actualStopTime, 5761 /* [in] */ BMDTimeScale timeScale) = 0; 5762 5763 virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning( 5764 /* [out] */ BOOL *active) = 0; 5765 5766 virtual HRESULT STDMETHODCALLTYPE GetScheduledStreamTime( 5767 /* [in] */ BMDTimeScale desiredTimeScale, 5768 /* [out] */ BMDTimeValue *streamTime, 5769 /* [out] */ double *playbackSpeed) = 0; 5770 5771 virtual HRESULT STDMETHODCALLTYPE GetReferenceStatus( 5772 /* [out] */ BMDReferenceStatus *referenceStatus) = 0; 5773 5774 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( 5775 /* [in] */ BMDTimeScale desiredTimeScale, 5776 /* [out] */ BMDTimeValue *hardwareTime, 5777 /* [out] */ BMDTimeValue *timeInFrame, 5778 /* [out] */ BMDTimeValue *ticksPerFrame) = 0; 5779 5780 virtual HRESULT STDMETHODCALLTYPE GetFrameCompletionReferenceTimestamp( 5781 /* [in] */ IDeckLinkVideoFrame *theFrame, 5782 /* [in] */ BMDTimeScale desiredTimeScale, 5783 /* [out] */ BMDTimeValue *frameCompletionTimestamp) = 0; 5784 5785 }; 5786 5787 5788 #else /* C style interface */ 5789 5790 typedef struct IDeckLinkOutputVtbl 5791 { 5792 BEGIN_INTERFACE 5793 5794 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 5795 IDeckLinkOutput * This, 5796 /* [in] */ REFIID riid, 5797 /* [annotation][iid_is][out] */ 5798 _COM_Outptr_ void **ppvObject); 5799 5800 ULONG ( STDMETHODCALLTYPE *AddRef )( 5801 IDeckLinkOutput * This); 5802 5803 ULONG ( STDMETHODCALLTYPE *Release )( 5804 IDeckLinkOutput * This); 5805 5806 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( 5807 IDeckLinkOutput * This, 5808 /* [in] */ BMDVideoConnection connection, 5809 /* [in] */ BMDDisplayMode requestedMode, 5810 /* [in] */ BMDPixelFormat requestedPixelFormat, 5811 /* [in] */ BMDSupportedVideoModeFlags flags, 5812 /* [out] */ BMDDisplayMode *actualMode, 5813 /* [out] */ BOOL *supported); 5814 5815 HRESULT ( STDMETHODCALLTYPE *GetDisplayMode )( 5816 IDeckLinkOutput * This, 5817 /* [in] */ BMDDisplayMode displayMode, 5818 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode); 5819 5820 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( 5821 IDeckLinkOutput * This, 5822 /* [out] */ IDeckLinkDisplayModeIterator **iterator); 5823 5824 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )( 5825 IDeckLinkOutput * This, 5826 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback); 5827 5828 HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )( 5829 IDeckLinkOutput * This, 5830 /* [in] */ BMDDisplayMode displayMode, 5831 /* [in] */ BMDVideoOutputFlags flags); 5832 5833 HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )( 5834 IDeckLinkOutput * This); 5835 5836 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )( 5837 IDeckLinkOutput * This, 5838 /* [in] */ IDeckLinkMemoryAllocator *theAllocator); 5839 5840 HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )( 5841 IDeckLinkOutput * This, 5842 /* [in] */ int width, 5843 /* [in] */ int height, 5844 /* [in] */ int rowBytes, 5845 /* [in] */ BMDPixelFormat pixelFormat, 5846 /* [in] */ BMDFrameFlags flags, 5847 /* [out] */ IDeckLinkMutableVideoFrame **outFrame); 5848 5849 HRESULT ( STDMETHODCALLTYPE *CreateAncillaryData )( 5850 IDeckLinkOutput * This, 5851 /* [in] */ BMDPixelFormat pixelFormat, 5852 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer); 5853 5854 HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )( 5855 IDeckLinkOutput * This, 5856 /* [in] */ IDeckLinkVideoFrame *theFrame); 5857 5858 HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )( 5859 IDeckLinkOutput * This, 5860 /* [in] */ IDeckLinkVideoFrame *theFrame, 5861 /* [in] */ BMDTimeValue displayTime, 5862 /* [in] */ BMDTimeValue displayDuration, 5863 /* [in] */ BMDTimeScale timeScale); 5864 5865 HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )( 5866 IDeckLinkOutput * This, 5867 /* [in] */ IDeckLinkVideoOutputCallback *theCallback); 5868 5869 HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )( 5870 IDeckLinkOutput * This, 5871 /* [out] */ unsigned int *bufferedFrameCount); 5872 5873 HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )( 5874 IDeckLinkOutput * This, 5875 /* [in] */ BMDAudioSampleRate sampleRate, 5876 /* [in] */ BMDAudioSampleType sampleType, 5877 /* [in] */ unsigned int channelCount, 5878 /* [in] */ BMDAudioOutputStreamType streamType); 5879 5880 HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )( 5881 IDeckLinkOutput * This); 5882 5883 HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )( 5884 IDeckLinkOutput * This, 5885 /* [in] */ void *buffer, 5886 /* [in] */ unsigned int sampleFrameCount, 5887 /* [out] */ unsigned int *sampleFramesWritten); 5888 5889 HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )( 5890 IDeckLinkOutput * This); 5891 5892 HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )( 5893 IDeckLinkOutput * This); 5894 5895 HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )( 5896 IDeckLinkOutput * This, 5897 /* [in] */ void *buffer, 5898 /* [in] */ unsigned int sampleFrameCount, 5899 /* [in] */ BMDTimeValue streamTime, 5900 /* [in] */ BMDTimeScale timeScale, 5901 /* [out] */ unsigned int *sampleFramesWritten); 5902 5903 HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )( 5904 IDeckLinkOutput * This, 5905 /* [out] */ unsigned int *bufferedSampleFrameCount); 5906 5907 HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )( 5908 IDeckLinkOutput * This); 5909 5910 HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )( 5911 IDeckLinkOutput * This, 5912 /* [in] */ IDeckLinkAudioOutputCallback *theCallback); 5913 5914 HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )( 5915 IDeckLinkOutput * This, 5916 /* [in] */ BMDTimeValue playbackStartTime, 5917 /* [in] */ BMDTimeScale timeScale, 5918 /* [in] */ double playbackSpeed); 5919 5920 HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )( 5921 IDeckLinkOutput * This, 5922 /* [in] */ BMDTimeValue stopPlaybackAtTime, 5923 /* [out] */ BMDTimeValue *actualStopTime, 5924 /* [in] */ BMDTimeScale timeScale); 5925 5926 HRESULT ( STDMETHODCALLTYPE *IsScheduledPlaybackRunning )( 5927 IDeckLinkOutput * This, 5928 /* [out] */ BOOL *active); 5929 5930 HRESULT ( STDMETHODCALLTYPE *GetScheduledStreamTime )( 5931 IDeckLinkOutput * This, 5932 /* [in] */ BMDTimeScale desiredTimeScale, 5933 /* [out] */ BMDTimeValue *streamTime, 5934 /* [out] */ double *playbackSpeed); 5935 5936 HRESULT ( STDMETHODCALLTYPE *GetReferenceStatus )( 5937 IDeckLinkOutput * This, 5938 /* [out] */ BMDReferenceStatus *referenceStatus); 5939 5940 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( 5941 IDeckLinkOutput * This, 5942 /* [in] */ BMDTimeScale desiredTimeScale, 5943 /* [out] */ BMDTimeValue *hardwareTime, 5944 /* [out] */ BMDTimeValue *timeInFrame, 5945 /* [out] */ BMDTimeValue *ticksPerFrame); 5946 5947 HRESULT ( STDMETHODCALLTYPE *GetFrameCompletionReferenceTimestamp )( 5948 IDeckLinkOutput * This, 5949 /* [in] */ IDeckLinkVideoFrame *theFrame, 5950 /* [in] */ BMDTimeScale desiredTimeScale, 5951 /* [out] */ BMDTimeValue *frameCompletionTimestamp); 5952 5953 END_INTERFACE 5954 } IDeckLinkOutputVtbl; 5955 5956 interface IDeckLinkOutput 5957 { 5958 CONST_VTBL struct IDeckLinkOutputVtbl *lpVtbl; 5959 }; 5960 5961 5962 5963 #ifdef COBJMACROS 5964 5965 5966 #define IDeckLinkOutput_QueryInterface(This,riid,ppvObject) \ 5967 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 5968 5969 #define IDeckLinkOutput_AddRef(This) \ 5970 ( (This)->lpVtbl -> AddRef(This) ) 5971 5972 #define IDeckLinkOutput_Release(This) \ 5973 ( (This)->lpVtbl -> Release(This) ) 5974 5975 5976 #define IDeckLinkOutput_DoesSupportVideoMode(This,connection,requestedMode,requestedPixelFormat,flags,actualMode,supported) \ 5977 ( (This)->lpVtbl -> DoesSupportVideoMode(This,connection,requestedMode,requestedPixelFormat,flags,actualMode,supported) ) 5978 5979 #define IDeckLinkOutput_GetDisplayMode(This,displayMode,resultDisplayMode) \ 5980 ( (This)->lpVtbl -> GetDisplayMode(This,displayMode,resultDisplayMode) ) 5981 5982 #define IDeckLinkOutput_GetDisplayModeIterator(This,iterator) \ 5983 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) 5984 5985 #define IDeckLinkOutput_SetScreenPreviewCallback(This,previewCallback) \ 5986 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) ) 5987 5988 #define IDeckLinkOutput_EnableVideoOutput(This,displayMode,flags) \ 5989 ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode,flags) ) 5990 5991 #define IDeckLinkOutput_DisableVideoOutput(This) \ 5992 ( (This)->lpVtbl -> DisableVideoOutput(This) ) 5993 5994 #define IDeckLinkOutput_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \ 5995 ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) ) 5996 5997 #define IDeckLinkOutput_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \ 5998 ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) ) 5999 6000 #define IDeckLinkOutput_CreateAncillaryData(This,pixelFormat,outBuffer) \ 6001 ( (This)->lpVtbl -> CreateAncillaryData(This,pixelFormat,outBuffer) ) 6002 6003 #define IDeckLinkOutput_DisplayVideoFrameSync(This,theFrame) \ 6004 ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) ) 6005 6006 #define IDeckLinkOutput_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \ 6007 ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) ) 6008 6009 #define IDeckLinkOutput_SetScheduledFrameCompletionCallback(This,theCallback) \ 6010 ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) ) 6011 6012 #define IDeckLinkOutput_GetBufferedVideoFrameCount(This,bufferedFrameCount) \ 6013 ( (This)->lpVtbl -> GetBufferedVideoFrameCount(This,bufferedFrameCount) ) 6014 6015 #define IDeckLinkOutput_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) \ 6016 ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) ) 6017 6018 #define IDeckLinkOutput_DisableAudioOutput(This) \ 6019 ( (This)->lpVtbl -> DisableAudioOutput(This) ) 6020 6021 #define IDeckLinkOutput_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \ 6022 ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) ) 6023 6024 #define IDeckLinkOutput_BeginAudioPreroll(This) \ 6025 ( (This)->lpVtbl -> BeginAudioPreroll(This) ) 6026 6027 #define IDeckLinkOutput_EndAudioPreroll(This) \ 6028 ( (This)->lpVtbl -> EndAudioPreroll(This) ) 6029 6030 #define IDeckLinkOutput_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \ 6031 ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) ) 6032 6033 #define IDeckLinkOutput_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) \ 6034 ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) ) 6035 6036 #define IDeckLinkOutput_FlushBufferedAudioSamples(This) \ 6037 ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) ) 6038 6039 #define IDeckLinkOutput_SetAudioCallback(This,theCallback) \ 6040 ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) ) 6041 6042 #define IDeckLinkOutput_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \ 6043 ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) ) 6044 6045 #define IDeckLinkOutput_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \ 6046 ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) ) 6047 6048 #define IDeckLinkOutput_IsScheduledPlaybackRunning(This,active) \ 6049 ( (This)->lpVtbl -> IsScheduledPlaybackRunning(This,active) ) 6050 6051 #define IDeckLinkOutput_GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) \ 6052 ( (This)->lpVtbl -> GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) ) 6053 6054 #define IDeckLinkOutput_GetReferenceStatus(This,referenceStatus) \ 6055 ( (This)->lpVtbl -> GetReferenceStatus(This,referenceStatus) ) 6056 6057 #define IDeckLinkOutput_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \ 6058 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) ) 6059 6060 #define IDeckLinkOutput_GetFrameCompletionReferenceTimestamp(This,theFrame,desiredTimeScale,frameCompletionTimestamp) \ 6061 ( (This)->lpVtbl -> GetFrameCompletionReferenceTimestamp(This,theFrame,desiredTimeScale,frameCompletionTimestamp) ) 6062 6063 #endif /* COBJMACROS */ 6064 6065 6066 #endif /* C style interface */ 6067 6068 6069 6070 6071 #endif /* __IDeckLinkOutput_INTERFACE_DEFINED__ */ 6072 6073 6074 #ifndef __IDeckLinkInput_INTERFACE_DEFINED__ 6075 #define __IDeckLinkInput_INTERFACE_DEFINED__ 6076 6077 /* interface IDeckLinkInput */ 6078 /* [helpstring][uuid][object] */ 6079 6080 6081 EXTERN_C const IID IID_IDeckLinkInput; 6082 6083 #if defined(__cplusplus) && !defined(CINTERFACE) 6084 6085 MIDL_INTERFACE("2A88CF76-F494-4216-A7EF-DC74EEB83882") 6086 IDeckLinkInput : public IUnknown 6087 { 6088 public: 6089 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( 6090 /* [in] */ BMDVideoConnection connection, 6091 /* [in] */ BMDDisplayMode requestedMode, 6092 /* [in] */ BMDPixelFormat requestedPixelFormat, 6093 /* [in] */ BMDSupportedVideoModeFlags flags, 6094 /* [out] */ BOOL *supported) = 0; 6095 6096 virtual HRESULT STDMETHODCALLTYPE GetDisplayMode( 6097 /* [in] */ BMDDisplayMode displayMode, 6098 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode) = 0; 6099 6100 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( 6101 /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0; 6102 6103 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( 6104 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; 6105 6106 virtual HRESULT STDMETHODCALLTYPE EnableVideoInput( 6107 /* [in] */ BMDDisplayMode displayMode, 6108 /* [in] */ BMDPixelFormat pixelFormat, 6109 /* [in] */ BMDVideoInputFlags flags) = 0; 6110 6111 virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0; 6112 6113 virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount( 6114 /* [out] */ unsigned int *availableFrameCount) = 0; 6115 6116 virtual HRESULT STDMETHODCALLTYPE SetVideoInputFrameMemoryAllocator( 6117 /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0; 6118 6119 virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( 6120 /* [in] */ BMDAudioSampleRate sampleRate, 6121 /* [in] */ BMDAudioSampleType sampleType, 6122 /* [in] */ unsigned int channelCount) = 0; 6123 6124 virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0; 6125 6126 virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount( 6127 /* [out] */ unsigned int *availableSampleFrameCount) = 0; 6128 6129 virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0; 6130 6131 virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0; 6132 6133 virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0; 6134 6135 virtual HRESULT STDMETHODCALLTYPE FlushStreams( void) = 0; 6136 6137 virtual HRESULT STDMETHODCALLTYPE SetCallback( 6138 /* [in] */ IDeckLinkInputCallback *theCallback) = 0; 6139 6140 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( 6141 /* [in] */ BMDTimeScale desiredTimeScale, 6142 /* [out] */ BMDTimeValue *hardwareTime, 6143 /* [out] */ BMDTimeValue *timeInFrame, 6144 /* [out] */ BMDTimeValue *ticksPerFrame) = 0; 6145 6146 }; 6147 6148 6149 #else /* C style interface */ 6150 6151 typedef struct IDeckLinkInputVtbl 6152 { 6153 BEGIN_INTERFACE 6154 6155 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 6156 IDeckLinkInput * This, 6157 /* [in] */ REFIID riid, 6158 /* [annotation][iid_is][out] */ 6159 _COM_Outptr_ void **ppvObject); 6160 6161 ULONG ( STDMETHODCALLTYPE *AddRef )( 6162 IDeckLinkInput * This); 6163 6164 ULONG ( STDMETHODCALLTYPE *Release )( 6165 IDeckLinkInput * This); 6166 6167 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( 6168 IDeckLinkInput * This, 6169 /* [in] */ BMDVideoConnection connection, 6170 /* [in] */ BMDDisplayMode requestedMode, 6171 /* [in] */ BMDPixelFormat requestedPixelFormat, 6172 /* [in] */ BMDSupportedVideoModeFlags flags, 6173 /* [out] */ BOOL *supported); 6174 6175 HRESULT ( STDMETHODCALLTYPE *GetDisplayMode )( 6176 IDeckLinkInput * This, 6177 /* [in] */ BMDDisplayMode displayMode, 6178 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode); 6179 6180 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( 6181 IDeckLinkInput * This, 6182 /* [out] */ IDeckLinkDisplayModeIterator **iterator); 6183 6184 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )( 6185 IDeckLinkInput * This, 6186 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback); 6187 6188 HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )( 6189 IDeckLinkInput * This, 6190 /* [in] */ BMDDisplayMode displayMode, 6191 /* [in] */ BMDPixelFormat pixelFormat, 6192 /* [in] */ BMDVideoInputFlags flags); 6193 6194 HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )( 6195 IDeckLinkInput * This); 6196 6197 HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )( 6198 IDeckLinkInput * This, 6199 /* [out] */ unsigned int *availableFrameCount); 6200 6201 HRESULT ( STDMETHODCALLTYPE *SetVideoInputFrameMemoryAllocator )( 6202 IDeckLinkInput * This, 6203 /* [in] */ IDeckLinkMemoryAllocator *theAllocator); 6204 6205 HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )( 6206 IDeckLinkInput * This, 6207 /* [in] */ BMDAudioSampleRate sampleRate, 6208 /* [in] */ BMDAudioSampleType sampleType, 6209 /* [in] */ unsigned int channelCount); 6210 6211 HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )( 6212 IDeckLinkInput * This); 6213 6214 HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )( 6215 IDeckLinkInput * This, 6216 /* [out] */ unsigned int *availableSampleFrameCount); 6217 6218 HRESULT ( STDMETHODCALLTYPE *StartStreams )( 6219 IDeckLinkInput * This); 6220 6221 HRESULT ( STDMETHODCALLTYPE *StopStreams )( 6222 IDeckLinkInput * This); 6223 6224 HRESULT ( STDMETHODCALLTYPE *PauseStreams )( 6225 IDeckLinkInput * This); 6226 6227 HRESULT ( STDMETHODCALLTYPE *FlushStreams )( 6228 IDeckLinkInput * This); 6229 6230 HRESULT ( STDMETHODCALLTYPE *SetCallback )( 6231 IDeckLinkInput * This, 6232 /* [in] */ IDeckLinkInputCallback *theCallback); 6233 6234 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( 6235 IDeckLinkInput * This, 6236 /* [in] */ BMDTimeScale desiredTimeScale, 6237 /* [out] */ BMDTimeValue *hardwareTime, 6238 /* [out] */ BMDTimeValue *timeInFrame, 6239 /* [out] */ BMDTimeValue *ticksPerFrame); 6240 6241 END_INTERFACE 6242 } IDeckLinkInputVtbl; 6243 6244 interface IDeckLinkInput 6245 { 6246 CONST_VTBL struct IDeckLinkInputVtbl *lpVtbl; 6247 }; 6248 6249 6250 6251 #ifdef COBJMACROS 6252 6253 6254 #define IDeckLinkInput_QueryInterface(This,riid,ppvObject) \ 6255 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 6256 6257 #define IDeckLinkInput_AddRef(This) \ 6258 ( (This)->lpVtbl -> AddRef(This) ) 6259 6260 #define IDeckLinkInput_Release(This) \ 6261 ( (This)->lpVtbl -> Release(This) ) 6262 6263 6264 #define IDeckLinkInput_DoesSupportVideoMode(This,connection,requestedMode,requestedPixelFormat,flags,supported) \ 6265 ( (This)->lpVtbl -> DoesSupportVideoMode(This,connection,requestedMode,requestedPixelFormat,flags,supported) ) 6266 6267 #define IDeckLinkInput_GetDisplayMode(This,displayMode,resultDisplayMode) \ 6268 ( (This)->lpVtbl -> GetDisplayMode(This,displayMode,resultDisplayMode) ) 6269 6270 #define IDeckLinkInput_GetDisplayModeIterator(This,iterator) \ 6271 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) 6272 6273 #define IDeckLinkInput_SetScreenPreviewCallback(This,previewCallback) \ 6274 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) ) 6275 6276 #define IDeckLinkInput_EnableVideoInput(This,displayMode,pixelFormat,flags) \ 6277 ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) ) 6278 6279 #define IDeckLinkInput_DisableVideoInput(This) \ 6280 ( (This)->lpVtbl -> DisableVideoInput(This) ) 6281 6282 #define IDeckLinkInput_GetAvailableVideoFrameCount(This,availableFrameCount) \ 6283 ( (This)->lpVtbl -> GetAvailableVideoFrameCount(This,availableFrameCount) ) 6284 6285 #define IDeckLinkInput_SetVideoInputFrameMemoryAllocator(This,theAllocator) \ 6286 ( (This)->lpVtbl -> SetVideoInputFrameMemoryAllocator(This,theAllocator) ) 6287 6288 #define IDeckLinkInput_EnableAudioInput(This,sampleRate,sampleType,channelCount) \ 6289 ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) ) 6290 6291 #define IDeckLinkInput_DisableAudioInput(This) \ 6292 ( (This)->lpVtbl -> DisableAudioInput(This) ) 6293 6294 #define IDeckLinkInput_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \ 6295 ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) ) 6296 6297 #define IDeckLinkInput_StartStreams(This) \ 6298 ( (This)->lpVtbl -> StartStreams(This) ) 6299 6300 #define IDeckLinkInput_StopStreams(This) \ 6301 ( (This)->lpVtbl -> StopStreams(This) ) 6302 6303 #define IDeckLinkInput_PauseStreams(This) \ 6304 ( (This)->lpVtbl -> PauseStreams(This) ) 6305 6306 #define IDeckLinkInput_FlushStreams(This) \ 6307 ( (This)->lpVtbl -> FlushStreams(This) ) 6308 6309 #define IDeckLinkInput_SetCallback(This,theCallback) \ 6310 ( (This)->lpVtbl -> SetCallback(This,theCallback) ) 6311 6312 #define IDeckLinkInput_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \ 6313 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) ) 6314 6315 #endif /* COBJMACROS */ 6316 6317 6318 #endif /* C style interface */ 6319 6320 6321 6322 6323 #endif /* __IDeckLinkInput_INTERFACE_DEFINED__ */ 6324 6325 6326 #ifndef __IDeckLinkHDMIInputEDID_INTERFACE_DEFINED__ 6327 #define __IDeckLinkHDMIInputEDID_INTERFACE_DEFINED__ 6328 6329 /* interface IDeckLinkHDMIInputEDID */ 6330 /* [helpstring][uuid][object] */ 6331 6332 6333 EXTERN_C const IID IID_IDeckLinkHDMIInputEDID; 6334 6335 #if defined(__cplusplus) && !defined(CINTERFACE) 6336 6337 MIDL_INTERFACE("ABBBACBC-45BC-4665-9D92-ACE6E5A97902") 6338 IDeckLinkHDMIInputEDID : public IUnknown 6339 { 6340 public: 6341 virtual HRESULT STDMETHODCALLTYPE SetInt( 6342 /* [in] */ BMDDeckLinkHDMIInputEDIDID cfgID, 6343 /* [in] */ LONGLONG value) = 0; 6344 6345 virtual HRESULT STDMETHODCALLTYPE GetInt( 6346 /* [in] */ BMDDeckLinkHDMIInputEDIDID cfgID, 6347 /* [out] */ LONGLONG *value) = 0; 6348 6349 virtual HRESULT STDMETHODCALLTYPE WriteToEDID( void) = 0; 6350 6351 }; 6352 6353 6354 #else /* C style interface */ 6355 6356 typedef struct IDeckLinkHDMIInputEDIDVtbl 6357 { 6358 BEGIN_INTERFACE 6359 6360 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 6361 IDeckLinkHDMIInputEDID * This, 6362 /* [in] */ REFIID riid, 6363 /* [annotation][iid_is][out] */ 6364 _COM_Outptr_ void **ppvObject); 6365 6366 ULONG ( STDMETHODCALLTYPE *AddRef )( 6367 IDeckLinkHDMIInputEDID * This); 6368 6369 ULONG ( STDMETHODCALLTYPE *Release )( 6370 IDeckLinkHDMIInputEDID * This); 6371 6372 HRESULT ( STDMETHODCALLTYPE *SetInt )( 6373 IDeckLinkHDMIInputEDID * This, 6374 /* [in] */ BMDDeckLinkHDMIInputEDIDID cfgID, 6375 /* [in] */ LONGLONG value); 6376 6377 HRESULT ( STDMETHODCALLTYPE *GetInt )( 6378 IDeckLinkHDMIInputEDID * This, 6379 /* [in] */ BMDDeckLinkHDMIInputEDIDID cfgID, 6380 /* [out] */ LONGLONG *value); 6381 6382 HRESULT ( STDMETHODCALLTYPE *WriteToEDID )( 6383 IDeckLinkHDMIInputEDID * This); 6384 6385 END_INTERFACE 6386 } IDeckLinkHDMIInputEDIDVtbl; 6387 6388 interface IDeckLinkHDMIInputEDID 6389 { 6390 CONST_VTBL struct IDeckLinkHDMIInputEDIDVtbl *lpVtbl; 6391 }; 6392 6393 6394 6395 #ifdef COBJMACROS 6396 6397 6398 #define IDeckLinkHDMIInputEDID_QueryInterface(This,riid,ppvObject) \ 6399 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 6400 6401 #define IDeckLinkHDMIInputEDID_AddRef(This) \ 6402 ( (This)->lpVtbl -> AddRef(This) ) 6403 6404 #define IDeckLinkHDMIInputEDID_Release(This) \ 6405 ( (This)->lpVtbl -> Release(This) ) 6406 6407 6408 #define IDeckLinkHDMIInputEDID_SetInt(This,cfgID,value) \ 6409 ( (This)->lpVtbl -> SetInt(This,cfgID,value) ) 6410 6411 #define IDeckLinkHDMIInputEDID_GetInt(This,cfgID,value) \ 6412 ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) 6413 6414 #define IDeckLinkHDMIInputEDID_WriteToEDID(This) \ 6415 ( (This)->lpVtbl -> WriteToEDID(This) ) 6416 6417 #endif /* COBJMACROS */ 6418 6419 6420 #endif /* C style interface */ 6421 6422 6423 6424 6425 #endif /* __IDeckLinkHDMIInputEDID_INTERFACE_DEFINED__ */ 6426 6427 6428 #ifndef __IDeckLinkEncoderInput_INTERFACE_DEFINED__ 6429 #define __IDeckLinkEncoderInput_INTERFACE_DEFINED__ 6430 6431 /* interface IDeckLinkEncoderInput */ 6432 /* [helpstring][uuid][object] */ 6433 6434 6435 EXTERN_C const IID IID_IDeckLinkEncoderInput; 6436 6437 #if defined(__cplusplus) && !defined(CINTERFACE) 6438 6439 MIDL_INTERFACE("F222551D-13DF-4FD8-B587-9D4F19EC12C9") 6440 IDeckLinkEncoderInput : public IUnknown 6441 { 6442 public: 6443 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( 6444 /* [in] */ BMDVideoConnection connection, 6445 /* [in] */ BMDDisplayMode requestedMode, 6446 /* [in] */ BMDPixelFormat requestedCodec, 6447 /* [in] */ unsigned int requestedCodecProfile, 6448 /* [in] */ BMDSupportedVideoModeFlags flags, 6449 /* [out] */ BOOL *supported) = 0; 6450 6451 virtual HRESULT STDMETHODCALLTYPE GetDisplayMode( 6452 /* [in] */ BMDDisplayMode displayMode, 6453 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode) = 0; 6454 6455 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( 6456 /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0; 6457 6458 virtual HRESULT STDMETHODCALLTYPE EnableVideoInput( 6459 /* [in] */ BMDDisplayMode displayMode, 6460 /* [in] */ BMDPixelFormat pixelFormat, 6461 /* [in] */ BMDVideoInputFlags flags) = 0; 6462 6463 virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0; 6464 6465 virtual HRESULT STDMETHODCALLTYPE GetAvailablePacketsCount( 6466 /* [out] */ unsigned int *availablePacketsCount) = 0; 6467 6468 virtual HRESULT STDMETHODCALLTYPE SetMemoryAllocator( 6469 /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0; 6470 6471 virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( 6472 /* [in] */ BMDAudioFormat audioFormat, 6473 /* [in] */ BMDAudioSampleRate sampleRate, 6474 /* [in] */ BMDAudioSampleType sampleType, 6475 /* [in] */ unsigned int channelCount) = 0; 6476 6477 virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0; 6478 6479 virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount( 6480 /* [out] */ unsigned int *availableSampleFrameCount) = 0; 6481 6482 virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0; 6483 6484 virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0; 6485 6486 virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0; 6487 6488 virtual HRESULT STDMETHODCALLTYPE FlushStreams( void) = 0; 6489 6490 virtual HRESULT STDMETHODCALLTYPE SetCallback( 6491 /* [in] */ IDeckLinkEncoderInputCallback *theCallback) = 0; 6492 6493 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( 6494 /* [in] */ BMDTimeScale desiredTimeScale, 6495 /* [out] */ BMDTimeValue *hardwareTime, 6496 /* [out] */ BMDTimeValue *timeInFrame, 6497 /* [out] */ BMDTimeValue *ticksPerFrame) = 0; 6498 6499 }; 6500 6501 6502 #else /* C style interface */ 6503 6504 typedef struct IDeckLinkEncoderInputVtbl 6505 { 6506 BEGIN_INTERFACE 6507 6508 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 6509 IDeckLinkEncoderInput * This, 6510 /* [in] */ REFIID riid, 6511 /* [annotation][iid_is][out] */ 6512 _COM_Outptr_ void **ppvObject); 6513 6514 ULONG ( STDMETHODCALLTYPE *AddRef )( 6515 IDeckLinkEncoderInput * This); 6516 6517 ULONG ( STDMETHODCALLTYPE *Release )( 6518 IDeckLinkEncoderInput * This); 6519 6520 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( 6521 IDeckLinkEncoderInput * This, 6522 /* [in] */ BMDVideoConnection connection, 6523 /* [in] */ BMDDisplayMode requestedMode, 6524 /* [in] */ BMDPixelFormat requestedCodec, 6525 /* [in] */ unsigned int requestedCodecProfile, 6526 /* [in] */ BMDSupportedVideoModeFlags flags, 6527 /* [out] */ BOOL *supported); 6528 6529 HRESULT ( STDMETHODCALLTYPE *GetDisplayMode )( 6530 IDeckLinkEncoderInput * This, 6531 /* [in] */ BMDDisplayMode displayMode, 6532 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode); 6533 6534 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( 6535 IDeckLinkEncoderInput * This, 6536 /* [out] */ IDeckLinkDisplayModeIterator **iterator); 6537 6538 HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )( 6539 IDeckLinkEncoderInput * This, 6540 /* [in] */ BMDDisplayMode displayMode, 6541 /* [in] */ BMDPixelFormat pixelFormat, 6542 /* [in] */ BMDVideoInputFlags flags); 6543 6544 HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )( 6545 IDeckLinkEncoderInput * This); 6546 6547 HRESULT ( STDMETHODCALLTYPE *GetAvailablePacketsCount )( 6548 IDeckLinkEncoderInput * This, 6549 /* [out] */ unsigned int *availablePacketsCount); 6550 6551 HRESULT ( STDMETHODCALLTYPE *SetMemoryAllocator )( 6552 IDeckLinkEncoderInput * This, 6553 /* [in] */ IDeckLinkMemoryAllocator *theAllocator); 6554 6555 HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )( 6556 IDeckLinkEncoderInput * This, 6557 /* [in] */ BMDAudioFormat audioFormat, 6558 /* [in] */ BMDAudioSampleRate sampleRate, 6559 /* [in] */ BMDAudioSampleType sampleType, 6560 /* [in] */ unsigned int channelCount); 6561 6562 HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )( 6563 IDeckLinkEncoderInput * This); 6564 6565 HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )( 6566 IDeckLinkEncoderInput * This, 6567 /* [out] */ unsigned int *availableSampleFrameCount); 6568 6569 HRESULT ( STDMETHODCALLTYPE *StartStreams )( 6570 IDeckLinkEncoderInput * This); 6571 6572 HRESULT ( STDMETHODCALLTYPE *StopStreams )( 6573 IDeckLinkEncoderInput * This); 6574 6575 HRESULT ( STDMETHODCALLTYPE *PauseStreams )( 6576 IDeckLinkEncoderInput * This); 6577 6578 HRESULT ( STDMETHODCALLTYPE *FlushStreams )( 6579 IDeckLinkEncoderInput * This); 6580 6581 HRESULT ( STDMETHODCALLTYPE *SetCallback )( 6582 IDeckLinkEncoderInput * This, 6583 /* [in] */ IDeckLinkEncoderInputCallback *theCallback); 6584 6585 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( 6586 IDeckLinkEncoderInput * This, 6587 /* [in] */ BMDTimeScale desiredTimeScale, 6588 /* [out] */ BMDTimeValue *hardwareTime, 6589 /* [out] */ BMDTimeValue *timeInFrame, 6590 /* [out] */ BMDTimeValue *ticksPerFrame); 6591 6592 END_INTERFACE 6593 } IDeckLinkEncoderInputVtbl; 6594 6595 interface IDeckLinkEncoderInput 6596 { 6597 CONST_VTBL struct IDeckLinkEncoderInputVtbl *lpVtbl; 6598 }; 6599 6600 6601 6602 #ifdef COBJMACROS 6603 6604 6605 #define IDeckLinkEncoderInput_QueryInterface(This,riid,ppvObject) \ 6606 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 6607 6608 #define IDeckLinkEncoderInput_AddRef(This) \ 6609 ( (This)->lpVtbl -> AddRef(This) ) 6610 6611 #define IDeckLinkEncoderInput_Release(This) \ 6612 ( (This)->lpVtbl -> Release(This) ) 6613 6614 6615 #define IDeckLinkEncoderInput_DoesSupportVideoMode(This,connection,requestedMode,requestedCodec,requestedCodecProfile,flags,supported) \ 6616 ( (This)->lpVtbl -> DoesSupportVideoMode(This,connection,requestedMode,requestedCodec,requestedCodecProfile,flags,supported) ) 6617 6618 #define IDeckLinkEncoderInput_GetDisplayMode(This,displayMode,resultDisplayMode) \ 6619 ( (This)->lpVtbl -> GetDisplayMode(This,displayMode,resultDisplayMode) ) 6620 6621 #define IDeckLinkEncoderInput_GetDisplayModeIterator(This,iterator) \ 6622 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) 6623 6624 #define IDeckLinkEncoderInput_EnableVideoInput(This,displayMode,pixelFormat,flags) \ 6625 ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) ) 6626 6627 #define IDeckLinkEncoderInput_DisableVideoInput(This) \ 6628 ( (This)->lpVtbl -> DisableVideoInput(This) ) 6629 6630 #define IDeckLinkEncoderInput_GetAvailablePacketsCount(This,availablePacketsCount) \ 6631 ( (This)->lpVtbl -> GetAvailablePacketsCount(This,availablePacketsCount) ) 6632 6633 #define IDeckLinkEncoderInput_SetMemoryAllocator(This,theAllocator) \ 6634 ( (This)->lpVtbl -> SetMemoryAllocator(This,theAllocator) ) 6635 6636 #define IDeckLinkEncoderInput_EnableAudioInput(This,audioFormat,sampleRate,sampleType,channelCount) \ 6637 ( (This)->lpVtbl -> EnableAudioInput(This,audioFormat,sampleRate,sampleType,channelCount) ) 6638 6639 #define IDeckLinkEncoderInput_DisableAudioInput(This) \ 6640 ( (This)->lpVtbl -> DisableAudioInput(This) ) 6641 6642 #define IDeckLinkEncoderInput_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \ 6643 ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) ) 6644 6645 #define IDeckLinkEncoderInput_StartStreams(This) \ 6646 ( (This)->lpVtbl -> StartStreams(This) ) 6647 6648 #define IDeckLinkEncoderInput_StopStreams(This) \ 6649 ( (This)->lpVtbl -> StopStreams(This) ) 6650 6651 #define IDeckLinkEncoderInput_PauseStreams(This) \ 6652 ( (This)->lpVtbl -> PauseStreams(This) ) 6653 6654 #define IDeckLinkEncoderInput_FlushStreams(This) \ 6655 ( (This)->lpVtbl -> FlushStreams(This) ) 6656 6657 #define IDeckLinkEncoderInput_SetCallback(This,theCallback) \ 6658 ( (This)->lpVtbl -> SetCallback(This,theCallback) ) 6659 6660 #define IDeckLinkEncoderInput_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \ 6661 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) ) 6662 6663 #endif /* COBJMACROS */ 6664 6665 6666 #endif /* C style interface */ 6667 6668 6669 6670 6671 #endif /* __IDeckLinkEncoderInput_INTERFACE_DEFINED__ */ 6672 6673 6674 #ifndef __IDeckLinkVideoFrame_INTERFACE_DEFINED__ 6675 #define __IDeckLinkVideoFrame_INTERFACE_DEFINED__ 6676 6677 /* interface IDeckLinkVideoFrame */ 6678 /* [helpstring][local][uuid][object] */ 6679 6680 6681 EXTERN_C const IID IID_IDeckLinkVideoFrame; 6682 6683 #if defined(__cplusplus) && !defined(CINTERFACE) 6684 6685 MIDL_INTERFACE("3F716FE0-F023-4111-BE5D-EF4414C05B17") 6686 IDeckLinkVideoFrame : public IUnknown 6687 { 6688 public: 6689 virtual long STDMETHODCALLTYPE GetWidth( void) = 0; 6690 6691 virtual long STDMETHODCALLTYPE GetHeight( void) = 0; 6692 6693 virtual long STDMETHODCALLTYPE GetRowBytes( void) = 0; 6694 6695 virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0; 6696 6697 virtual BMDFrameFlags STDMETHODCALLTYPE GetFlags( void) = 0; 6698 6699 virtual HRESULT STDMETHODCALLTYPE GetBytes( 6700 /* [out] */ void **buffer) = 0; 6701 6702 virtual HRESULT STDMETHODCALLTYPE GetTimecode( 6703 /* [in] */ BMDTimecodeFormat format, 6704 /* [out] */ IDeckLinkTimecode **timecode) = 0; 6705 6706 virtual HRESULT STDMETHODCALLTYPE GetAncillaryData( 6707 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary) = 0; 6708 6709 }; 6710 6711 6712 #else /* C style interface */ 6713 6714 typedef struct IDeckLinkVideoFrameVtbl 6715 { 6716 BEGIN_INTERFACE 6717 6718 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 6719 IDeckLinkVideoFrame * This, 6720 /* [in] */ REFIID riid, 6721 /* [annotation][iid_is][out] */ 6722 _COM_Outptr_ void **ppvObject); 6723 6724 ULONG ( STDMETHODCALLTYPE *AddRef )( 6725 IDeckLinkVideoFrame * This); 6726 6727 ULONG ( STDMETHODCALLTYPE *Release )( 6728 IDeckLinkVideoFrame * This); 6729 6730 long ( STDMETHODCALLTYPE *GetWidth )( 6731 IDeckLinkVideoFrame * This); 6732 6733 long ( STDMETHODCALLTYPE *GetHeight )( 6734 IDeckLinkVideoFrame * This); 6735 6736 long ( STDMETHODCALLTYPE *GetRowBytes )( 6737 IDeckLinkVideoFrame * This); 6738 6739 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( 6740 IDeckLinkVideoFrame * This); 6741 6742 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( 6743 IDeckLinkVideoFrame * This); 6744 6745 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 6746 IDeckLinkVideoFrame * This, 6747 /* [out] */ void **buffer); 6748 6749 HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 6750 IDeckLinkVideoFrame * This, 6751 /* [in] */ BMDTimecodeFormat format, 6752 /* [out] */ IDeckLinkTimecode **timecode); 6753 6754 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )( 6755 IDeckLinkVideoFrame * This, 6756 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary); 6757 6758 END_INTERFACE 6759 } IDeckLinkVideoFrameVtbl; 6760 6761 interface IDeckLinkVideoFrame 6762 { 6763 CONST_VTBL struct IDeckLinkVideoFrameVtbl *lpVtbl; 6764 }; 6765 6766 6767 6768 #ifdef COBJMACROS 6769 6770 6771 #define IDeckLinkVideoFrame_QueryInterface(This,riid,ppvObject) \ 6772 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 6773 6774 #define IDeckLinkVideoFrame_AddRef(This) \ 6775 ( (This)->lpVtbl -> AddRef(This) ) 6776 6777 #define IDeckLinkVideoFrame_Release(This) \ 6778 ( (This)->lpVtbl -> Release(This) ) 6779 6780 6781 #define IDeckLinkVideoFrame_GetWidth(This) \ 6782 ( (This)->lpVtbl -> GetWidth(This) ) 6783 6784 #define IDeckLinkVideoFrame_GetHeight(This) \ 6785 ( (This)->lpVtbl -> GetHeight(This) ) 6786 6787 #define IDeckLinkVideoFrame_GetRowBytes(This) \ 6788 ( (This)->lpVtbl -> GetRowBytes(This) ) 6789 6790 #define IDeckLinkVideoFrame_GetPixelFormat(This) \ 6791 ( (This)->lpVtbl -> GetPixelFormat(This) ) 6792 6793 #define IDeckLinkVideoFrame_GetFlags(This) \ 6794 ( (This)->lpVtbl -> GetFlags(This) ) 6795 6796 #define IDeckLinkVideoFrame_GetBytes(This,buffer) \ 6797 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 6798 6799 #define IDeckLinkVideoFrame_GetTimecode(This,format,timecode) \ 6800 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) 6801 6802 #define IDeckLinkVideoFrame_GetAncillaryData(This,ancillary) \ 6803 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) ) 6804 6805 #endif /* COBJMACROS */ 6806 6807 6808 #endif /* C style interface */ 6809 6810 6811 6812 6813 #endif /* __IDeckLinkVideoFrame_INTERFACE_DEFINED__ */ 6814 6815 6816 #ifndef __IDeckLinkMutableVideoFrame_INTERFACE_DEFINED__ 6817 #define __IDeckLinkMutableVideoFrame_INTERFACE_DEFINED__ 6818 6819 /* interface IDeckLinkMutableVideoFrame */ 6820 /* [helpstring][local][uuid][object] */ 6821 6822 6823 EXTERN_C const IID IID_IDeckLinkMutableVideoFrame; 6824 6825 #if defined(__cplusplus) && !defined(CINTERFACE) 6826 6827 MIDL_INTERFACE("69E2639F-40DA-4E19-B6F2-20ACE815C390") 6828 IDeckLinkMutableVideoFrame : public IDeckLinkVideoFrame 6829 { 6830 public: 6831 virtual HRESULT STDMETHODCALLTYPE SetFlags( 6832 /* [in] */ BMDFrameFlags newFlags) = 0; 6833 6834 virtual HRESULT STDMETHODCALLTYPE SetTimecode( 6835 /* [in] */ BMDTimecodeFormat format, 6836 /* [in] */ IDeckLinkTimecode *timecode) = 0; 6837 6838 virtual HRESULT STDMETHODCALLTYPE SetTimecodeFromComponents( 6839 /* [in] */ BMDTimecodeFormat format, 6840 /* [in] */ unsigned char hours, 6841 /* [in] */ unsigned char minutes, 6842 /* [in] */ unsigned char seconds, 6843 /* [in] */ unsigned char frames, 6844 /* [in] */ BMDTimecodeFlags flags) = 0; 6845 6846 virtual HRESULT STDMETHODCALLTYPE SetAncillaryData( 6847 /* [in] */ IDeckLinkVideoFrameAncillary *ancillary) = 0; 6848 6849 virtual HRESULT STDMETHODCALLTYPE SetTimecodeUserBits( 6850 /* [in] */ BMDTimecodeFormat format, 6851 /* [in] */ BMDTimecodeUserBits userBits) = 0; 6852 6853 }; 6854 6855 6856 #else /* C style interface */ 6857 6858 typedef struct IDeckLinkMutableVideoFrameVtbl 6859 { 6860 BEGIN_INTERFACE 6861 6862 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 6863 IDeckLinkMutableVideoFrame * This, 6864 /* [in] */ REFIID riid, 6865 /* [annotation][iid_is][out] */ 6866 _COM_Outptr_ void **ppvObject); 6867 6868 ULONG ( STDMETHODCALLTYPE *AddRef )( 6869 IDeckLinkMutableVideoFrame * This); 6870 6871 ULONG ( STDMETHODCALLTYPE *Release )( 6872 IDeckLinkMutableVideoFrame * This); 6873 6874 long ( STDMETHODCALLTYPE *GetWidth )( 6875 IDeckLinkMutableVideoFrame * This); 6876 6877 long ( STDMETHODCALLTYPE *GetHeight )( 6878 IDeckLinkMutableVideoFrame * This); 6879 6880 long ( STDMETHODCALLTYPE *GetRowBytes )( 6881 IDeckLinkMutableVideoFrame * This); 6882 6883 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( 6884 IDeckLinkMutableVideoFrame * This); 6885 6886 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( 6887 IDeckLinkMutableVideoFrame * This); 6888 6889 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 6890 IDeckLinkMutableVideoFrame * This, 6891 /* [out] */ void **buffer); 6892 6893 HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 6894 IDeckLinkMutableVideoFrame * This, 6895 /* [in] */ BMDTimecodeFormat format, 6896 /* [out] */ IDeckLinkTimecode **timecode); 6897 6898 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )( 6899 IDeckLinkMutableVideoFrame * This, 6900 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary); 6901 6902 HRESULT ( STDMETHODCALLTYPE *SetFlags )( 6903 IDeckLinkMutableVideoFrame * This, 6904 /* [in] */ BMDFrameFlags newFlags); 6905 6906 HRESULT ( STDMETHODCALLTYPE *SetTimecode )( 6907 IDeckLinkMutableVideoFrame * This, 6908 /* [in] */ BMDTimecodeFormat format, 6909 /* [in] */ IDeckLinkTimecode *timecode); 6910 6911 HRESULT ( STDMETHODCALLTYPE *SetTimecodeFromComponents )( 6912 IDeckLinkMutableVideoFrame * This, 6913 /* [in] */ BMDTimecodeFormat format, 6914 /* [in] */ unsigned char hours, 6915 /* [in] */ unsigned char minutes, 6916 /* [in] */ unsigned char seconds, 6917 /* [in] */ unsigned char frames, 6918 /* [in] */ BMDTimecodeFlags flags); 6919 6920 HRESULT ( STDMETHODCALLTYPE *SetAncillaryData )( 6921 IDeckLinkMutableVideoFrame * This, 6922 /* [in] */ IDeckLinkVideoFrameAncillary *ancillary); 6923 6924 HRESULT ( STDMETHODCALLTYPE *SetTimecodeUserBits )( 6925 IDeckLinkMutableVideoFrame * This, 6926 /* [in] */ BMDTimecodeFormat format, 6927 /* [in] */ BMDTimecodeUserBits userBits); 6928 6929 END_INTERFACE 6930 } IDeckLinkMutableVideoFrameVtbl; 6931 6932 interface IDeckLinkMutableVideoFrame 6933 { 6934 CONST_VTBL struct IDeckLinkMutableVideoFrameVtbl *lpVtbl; 6935 }; 6936 6937 6938 6939 #ifdef COBJMACROS 6940 6941 6942 #define IDeckLinkMutableVideoFrame_QueryInterface(This,riid,ppvObject) \ 6943 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 6944 6945 #define IDeckLinkMutableVideoFrame_AddRef(This) \ 6946 ( (This)->lpVtbl -> AddRef(This) ) 6947 6948 #define IDeckLinkMutableVideoFrame_Release(This) \ 6949 ( (This)->lpVtbl -> Release(This) ) 6950 6951 6952 #define IDeckLinkMutableVideoFrame_GetWidth(This) \ 6953 ( (This)->lpVtbl -> GetWidth(This) ) 6954 6955 #define IDeckLinkMutableVideoFrame_GetHeight(This) \ 6956 ( (This)->lpVtbl -> GetHeight(This) ) 6957 6958 #define IDeckLinkMutableVideoFrame_GetRowBytes(This) \ 6959 ( (This)->lpVtbl -> GetRowBytes(This) ) 6960 6961 #define IDeckLinkMutableVideoFrame_GetPixelFormat(This) \ 6962 ( (This)->lpVtbl -> GetPixelFormat(This) ) 6963 6964 #define IDeckLinkMutableVideoFrame_GetFlags(This) \ 6965 ( (This)->lpVtbl -> GetFlags(This) ) 6966 6967 #define IDeckLinkMutableVideoFrame_GetBytes(This,buffer) \ 6968 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 6969 6970 #define IDeckLinkMutableVideoFrame_GetTimecode(This,format,timecode) \ 6971 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) 6972 6973 #define IDeckLinkMutableVideoFrame_GetAncillaryData(This,ancillary) \ 6974 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) ) 6975 6976 6977 #define IDeckLinkMutableVideoFrame_SetFlags(This,newFlags) \ 6978 ( (This)->lpVtbl -> SetFlags(This,newFlags) ) 6979 6980 #define IDeckLinkMutableVideoFrame_SetTimecode(This,format,timecode) \ 6981 ( (This)->lpVtbl -> SetTimecode(This,format,timecode) ) 6982 6983 #define IDeckLinkMutableVideoFrame_SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) \ 6984 ( (This)->lpVtbl -> SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) ) 6985 6986 #define IDeckLinkMutableVideoFrame_SetAncillaryData(This,ancillary) \ 6987 ( (This)->lpVtbl -> SetAncillaryData(This,ancillary) ) 6988 6989 #define IDeckLinkMutableVideoFrame_SetTimecodeUserBits(This,format,userBits) \ 6990 ( (This)->lpVtbl -> SetTimecodeUserBits(This,format,userBits) ) 6991 6992 #endif /* COBJMACROS */ 6993 6994 6995 #endif /* C style interface */ 6996 6997 6998 6999 7000 #endif /* __IDeckLinkMutableVideoFrame_INTERFACE_DEFINED__ */ 7001 7002 7003 #ifndef __IDeckLinkVideoFrame3DExtensions_INTERFACE_DEFINED__ 7004 #define __IDeckLinkVideoFrame3DExtensions_INTERFACE_DEFINED__ 7005 7006 /* interface IDeckLinkVideoFrame3DExtensions */ 7007 /* [helpstring][local][uuid][object] */ 7008 7009 7010 EXTERN_C const IID IID_IDeckLinkVideoFrame3DExtensions; 7011 7012 #if defined(__cplusplus) && !defined(CINTERFACE) 7013 7014 MIDL_INTERFACE("DA0F7E4A-EDC7-48A8-9CDD-2DB51C729CD7") 7015 IDeckLinkVideoFrame3DExtensions : public IUnknown 7016 { 7017 public: 7018 virtual BMDVideo3DPackingFormat STDMETHODCALLTYPE Get3DPackingFormat( void) = 0; 7019 7020 virtual HRESULT STDMETHODCALLTYPE GetFrameForRightEye( 7021 /* [out] */ IDeckLinkVideoFrame **rightEyeFrame) = 0; 7022 7023 }; 7024 7025 7026 #else /* C style interface */ 7027 7028 typedef struct IDeckLinkVideoFrame3DExtensionsVtbl 7029 { 7030 BEGIN_INTERFACE 7031 7032 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 7033 IDeckLinkVideoFrame3DExtensions * This, 7034 /* [in] */ REFIID riid, 7035 /* [annotation][iid_is][out] */ 7036 _COM_Outptr_ void **ppvObject); 7037 7038 ULONG ( STDMETHODCALLTYPE *AddRef )( 7039 IDeckLinkVideoFrame3DExtensions * This); 7040 7041 ULONG ( STDMETHODCALLTYPE *Release )( 7042 IDeckLinkVideoFrame3DExtensions * This); 7043 7044 BMDVideo3DPackingFormat ( STDMETHODCALLTYPE *Get3DPackingFormat )( 7045 IDeckLinkVideoFrame3DExtensions * This); 7046 7047 HRESULT ( STDMETHODCALLTYPE *GetFrameForRightEye )( 7048 IDeckLinkVideoFrame3DExtensions * This, 7049 /* [out] */ IDeckLinkVideoFrame **rightEyeFrame); 7050 7051 END_INTERFACE 7052 } IDeckLinkVideoFrame3DExtensionsVtbl; 7053 7054 interface IDeckLinkVideoFrame3DExtensions 7055 { 7056 CONST_VTBL struct IDeckLinkVideoFrame3DExtensionsVtbl *lpVtbl; 7057 }; 7058 7059 7060 7061 #ifdef COBJMACROS 7062 7063 7064 #define IDeckLinkVideoFrame3DExtensions_QueryInterface(This,riid,ppvObject) \ 7065 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 7066 7067 #define IDeckLinkVideoFrame3DExtensions_AddRef(This) \ 7068 ( (This)->lpVtbl -> AddRef(This) ) 7069 7070 #define IDeckLinkVideoFrame3DExtensions_Release(This) \ 7071 ( (This)->lpVtbl -> Release(This) ) 7072 7073 7074 #define IDeckLinkVideoFrame3DExtensions_Get3DPackingFormat(This) \ 7075 ( (This)->lpVtbl -> Get3DPackingFormat(This) ) 7076 7077 #define IDeckLinkVideoFrame3DExtensions_GetFrameForRightEye(This,rightEyeFrame) \ 7078 ( (This)->lpVtbl -> GetFrameForRightEye(This,rightEyeFrame) ) 7079 7080 #endif /* COBJMACROS */ 7081 7082 7083 #endif /* C style interface */ 7084 7085 7086 7087 7088 #endif /* __IDeckLinkVideoFrame3DExtensions_INTERFACE_DEFINED__ */ 7089 7090 7091 #ifndef __IDeckLinkVideoFrameMetadataExtensions_INTERFACE_DEFINED__ 7092 #define __IDeckLinkVideoFrameMetadataExtensions_INTERFACE_DEFINED__ 7093 7094 /* interface IDeckLinkVideoFrameMetadataExtensions */ 7095 /* [helpstring][local][uuid][object] */ 7096 7097 7098 EXTERN_C const IID IID_IDeckLinkVideoFrameMetadataExtensions; 7099 7100 #if defined(__cplusplus) && !defined(CINTERFACE) 7101 7102 MIDL_INTERFACE("D5973DC9-6432-46D0-8F0B-2496F8A1238F") 7103 IDeckLinkVideoFrameMetadataExtensions : public IUnknown 7104 { 7105 public: 7106 virtual HRESULT STDMETHODCALLTYPE GetInt( 7107 /* [in] */ BMDDeckLinkFrameMetadataID metadataID, 7108 /* [out] */ LONGLONG *value) = 0; 7109 7110 virtual HRESULT STDMETHODCALLTYPE GetFloat( 7111 /* [in] */ BMDDeckLinkFrameMetadataID metadataID, 7112 /* [out] */ double *value) = 0; 7113 7114 virtual HRESULT STDMETHODCALLTYPE GetFlag( 7115 /* [in] */ BMDDeckLinkFrameMetadataID metadataID, 7116 /* [out] */ BOOL *value) = 0; 7117 7118 virtual HRESULT STDMETHODCALLTYPE GetString( 7119 /* [in] */ BMDDeckLinkFrameMetadataID metadataID, 7120 /* [out] */ BSTR *value) = 0; 7121 7122 }; 7123 7124 7125 #else /* C style interface */ 7126 7127 typedef struct IDeckLinkVideoFrameMetadataExtensionsVtbl 7128 { 7129 BEGIN_INTERFACE 7130 7131 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 7132 IDeckLinkVideoFrameMetadataExtensions * This, 7133 /* [in] */ REFIID riid, 7134 /* [annotation][iid_is][out] */ 7135 _COM_Outptr_ void **ppvObject); 7136 7137 ULONG ( STDMETHODCALLTYPE *AddRef )( 7138 IDeckLinkVideoFrameMetadataExtensions * This); 7139 7140 ULONG ( STDMETHODCALLTYPE *Release )( 7141 IDeckLinkVideoFrameMetadataExtensions * This); 7142 7143 HRESULT ( STDMETHODCALLTYPE *GetInt )( 7144 IDeckLinkVideoFrameMetadataExtensions * This, 7145 /* [in] */ BMDDeckLinkFrameMetadataID metadataID, 7146 /* [out] */ LONGLONG *value); 7147 7148 HRESULT ( STDMETHODCALLTYPE *GetFloat )( 7149 IDeckLinkVideoFrameMetadataExtensions * This, 7150 /* [in] */ BMDDeckLinkFrameMetadataID metadataID, 7151 /* [out] */ double *value); 7152 7153 HRESULT ( STDMETHODCALLTYPE *GetFlag )( 7154 IDeckLinkVideoFrameMetadataExtensions * This, 7155 /* [in] */ BMDDeckLinkFrameMetadataID metadataID, 7156 /* [out] */ BOOL *value); 7157 7158 HRESULT ( STDMETHODCALLTYPE *GetString )( 7159 IDeckLinkVideoFrameMetadataExtensions * This, 7160 /* [in] */ BMDDeckLinkFrameMetadataID metadataID, 7161 /* [out] */ BSTR *value); 7162 7163 END_INTERFACE 7164 } IDeckLinkVideoFrameMetadataExtensionsVtbl; 7165 7166 interface IDeckLinkVideoFrameMetadataExtensions 7167 { 7168 CONST_VTBL struct IDeckLinkVideoFrameMetadataExtensionsVtbl *lpVtbl; 7169 }; 7170 7171 7172 7173 #ifdef COBJMACROS 7174 7175 7176 #define IDeckLinkVideoFrameMetadataExtensions_QueryInterface(This,riid,ppvObject) \ 7177 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 7178 7179 #define IDeckLinkVideoFrameMetadataExtensions_AddRef(This) \ 7180 ( (This)->lpVtbl -> AddRef(This) ) 7181 7182 #define IDeckLinkVideoFrameMetadataExtensions_Release(This) \ 7183 ( (This)->lpVtbl -> Release(This) ) 7184 7185 7186 #define IDeckLinkVideoFrameMetadataExtensions_GetInt(This,metadataID,value) \ 7187 ( (This)->lpVtbl -> GetInt(This,metadataID,value) ) 7188 7189 #define IDeckLinkVideoFrameMetadataExtensions_GetFloat(This,metadataID,value) \ 7190 ( (This)->lpVtbl -> GetFloat(This,metadataID,value) ) 7191 7192 #define IDeckLinkVideoFrameMetadataExtensions_GetFlag(This,metadataID,value) \ 7193 ( (This)->lpVtbl -> GetFlag(This,metadataID,value) ) 7194 7195 #define IDeckLinkVideoFrameMetadataExtensions_GetString(This,metadataID,value) \ 7196 ( (This)->lpVtbl -> GetString(This,metadataID,value) ) 7197 7198 #endif /* COBJMACROS */ 7199 7200 7201 #endif /* C style interface */ 7202 7203 7204 7205 7206 #endif /* __IDeckLinkVideoFrameMetadataExtensions_INTERFACE_DEFINED__ */ 7207 7208 7209 #ifndef __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__ 7210 #define __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__ 7211 7212 /* interface IDeckLinkVideoInputFrame */ 7213 /* [helpstring][local][uuid][object] */ 7214 7215 7216 EXTERN_C const IID IID_IDeckLinkVideoInputFrame; 7217 7218 #if defined(__cplusplus) && !defined(CINTERFACE) 7219 7220 MIDL_INTERFACE("05CFE374-537C-4094-9A57-680525118F44") 7221 IDeckLinkVideoInputFrame : public IDeckLinkVideoFrame 7222 { 7223 public: 7224 virtual HRESULT STDMETHODCALLTYPE GetStreamTime( 7225 /* [out] */ BMDTimeValue *frameTime, 7226 /* [out] */ BMDTimeValue *frameDuration, 7227 /* [in] */ BMDTimeScale timeScale) = 0; 7228 7229 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceTimestamp( 7230 /* [in] */ BMDTimeScale timeScale, 7231 /* [out] */ BMDTimeValue *frameTime, 7232 /* [out] */ BMDTimeValue *frameDuration) = 0; 7233 7234 }; 7235 7236 7237 #else /* C style interface */ 7238 7239 typedef struct IDeckLinkVideoInputFrameVtbl 7240 { 7241 BEGIN_INTERFACE 7242 7243 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 7244 IDeckLinkVideoInputFrame * This, 7245 /* [in] */ REFIID riid, 7246 /* [annotation][iid_is][out] */ 7247 _COM_Outptr_ void **ppvObject); 7248 7249 ULONG ( STDMETHODCALLTYPE *AddRef )( 7250 IDeckLinkVideoInputFrame * This); 7251 7252 ULONG ( STDMETHODCALLTYPE *Release )( 7253 IDeckLinkVideoInputFrame * This); 7254 7255 long ( STDMETHODCALLTYPE *GetWidth )( 7256 IDeckLinkVideoInputFrame * This); 7257 7258 long ( STDMETHODCALLTYPE *GetHeight )( 7259 IDeckLinkVideoInputFrame * This); 7260 7261 long ( STDMETHODCALLTYPE *GetRowBytes )( 7262 IDeckLinkVideoInputFrame * This); 7263 7264 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( 7265 IDeckLinkVideoInputFrame * This); 7266 7267 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( 7268 IDeckLinkVideoInputFrame * This); 7269 7270 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 7271 IDeckLinkVideoInputFrame * This, 7272 /* [out] */ void **buffer); 7273 7274 HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 7275 IDeckLinkVideoInputFrame * This, 7276 /* [in] */ BMDTimecodeFormat format, 7277 /* [out] */ IDeckLinkTimecode **timecode); 7278 7279 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )( 7280 IDeckLinkVideoInputFrame * This, 7281 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary); 7282 7283 HRESULT ( STDMETHODCALLTYPE *GetStreamTime )( 7284 IDeckLinkVideoInputFrame * This, 7285 /* [out] */ BMDTimeValue *frameTime, 7286 /* [out] */ BMDTimeValue *frameDuration, 7287 /* [in] */ BMDTimeScale timeScale); 7288 7289 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceTimestamp )( 7290 IDeckLinkVideoInputFrame * This, 7291 /* [in] */ BMDTimeScale timeScale, 7292 /* [out] */ BMDTimeValue *frameTime, 7293 /* [out] */ BMDTimeValue *frameDuration); 7294 7295 END_INTERFACE 7296 } IDeckLinkVideoInputFrameVtbl; 7297 7298 interface IDeckLinkVideoInputFrame 7299 { 7300 CONST_VTBL struct IDeckLinkVideoInputFrameVtbl *lpVtbl; 7301 }; 7302 7303 7304 7305 #ifdef COBJMACROS 7306 7307 7308 #define IDeckLinkVideoInputFrame_QueryInterface(This,riid,ppvObject) \ 7309 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 7310 7311 #define IDeckLinkVideoInputFrame_AddRef(This) \ 7312 ( (This)->lpVtbl -> AddRef(This) ) 7313 7314 #define IDeckLinkVideoInputFrame_Release(This) \ 7315 ( (This)->lpVtbl -> Release(This) ) 7316 7317 7318 #define IDeckLinkVideoInputFrame_GetWidth(This) \ 7319 ( (This)->lpVtbl -> GetWidth(This) ) 7320 7321 #define IDeckLinkVideoInputFrame_GetHeight(This) \ 7322 ( (This)->lpVtbl -> GetHeight(This) ) 7323 7324 #define IDeckLinkVideoInputFrame_GetRowBytes(This) \ 7325 ( (This)->lpVtbl -> GetRowBytes(This) ) 7326 7327 #define IDeckLinkVideoInputFrame_GetPixelFormat(This) \ 7328 ( (This)->lpVtbl -> GetPixelFormat(This) ) 7329 7330 #define IDeckLinkVideoInputFrame_GetFlags(This) \ 7331 ( (This)->lpVtbl -> GetFlags(This) ) 7332 7333 #define IDeckLinkVideoInputFrame_GetBytes(This,buffer) \ 7334 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 7335 7336 #define IDeckLinkVideoInputFrame_GetTimecode(This,format,timecode) \ 7337 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) 7338 7339 #define IDeckLinkVideoInputFrame_GetAncillaryData(This,ancillary) \ 7340 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) ) 7341 7342 7343 #define IDeckLinkVideoInputFrame_GetStreamTime(This,frameTime,frameDuration,timeScale) \ 7344 ( (This)->lpVtbl -> GetStreamTime(This,frameTime,frameDuration,timeScale) ) 7345 7346 #define IDeckLinkVideoInputFrame_GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) \ 7347 ( (This)->lpVtbl -> GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) ) 7348 7349 #endif /* COBJMACROS */ 7350 7351 7352 #endif /* C style interface */ 7353 7354 7355 7356 7357 #endif /* __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__ */ 7358 7359 7360 #ifndef __IDeckLinkAncillaryPacket_INTERFACE_DEFINED__ 7361 #define __IDeckLinkAncillaryPacket_INTERFACE_DEFINED__ 7362 7363 /* interface IDeckLinkAncillaryPacket */ 7364 /* [helpstring][uuid][object] */ 7365 7366 7367 EXTERN_C const IID IID_IDeckLinkAncillaryPacket; 7368 7369 #if defined(__cplusplus) && !defined(CINTERFACE) 7370 7371 MIDL_INTERFACE("CC5BBF7E-029C-4D3B-9158-6000EF5E3670") 7372 IDeckLinkAncillaryPacket : public IUnknown 7373 { 7374 public: 7375 virtual HRESULT STDMETHODCALLTYPE GetBytes( 7376 /* [in] */ BMDAncillaryPacketFormat format, 7377 /* [out] */ const void **data, 7378 /* [out] */ unsigned int *size) = 0; 7379 7380 virtual unsigned char STDMETHODCALLTYPE GetDID( void) = 0; 7381 7382 virtual unsigned char STDMETHODCALLTYPE GetSDID( void) = 0; 7383 7384 virtual unsigned int STDMETHODCALLTYPE GetLineNumber( void) = 0; 7385 7386 virtual unsigned char STDMETHODCALLTYPE GetDataStreamIndex( void) = 0; 7387 7388 }; 7389 7390 7391 #else /* C style interface */ 7392 7393 typedef struct IDeckLinkAncillaryPacketVtbl 7394 { 7395 BEGIN_INTERFACE 7396 7397 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 7398 IDeckLinkAncillaryPacket * This, 7399 /* [in] */ REFIID riid, 7400 /* [annotation][iid_is][out] */ 7401 _COM_Outptr_ void **ppvObject); 7402 7403 ULONG ( STDMETHODCALLTYPE *AddRef )( 7404 IDeckLinkAncillaryPacket * This); 7405 7406 ULONG ( STDMETHODCALLTYPE *Release )( 7407 IDeckLinkAncillaryPacket * This); 7408 7409 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 7410 IDeckLinkAncillaryPacket * This, 7411 /* [in] */ BMDAncillaryPacketFormat format, 7412 /* [out] */ const void **data, 7413 /* [out] */ unsigned int *size); 7414 7415 unsigned char ( STDMETHODCALLTYPE *GetDID )( 7416 IDeckLinkAncillaryPacket * This); 7417 7418 unsigned char ( STDMETHODCALLTYPE *GetSDID )( 7419 IDeckLinkAncillaryPacket * This); 7420 7421 unsigned int ( STDMETHODCALLTYPE *GetLineNumber )( 7422 IDeckLinkAncillaryPacket * This); 7423 7424 unsigned char ( STDMETHODCALLTYPE *GetDataStreamIndex )( 7425 IDeckLinkAncillaryPacket * This); 7426 7427 END_INTERFACE 7428 } IDeckLinkAncillaryPacketVtbl; 7429 7430 interface IDeckLinkAncillaryPacket 7431 { 7432 CONST_VTBL struct IDeckLinkAncillaryPacketVtbl *lpVtbl; 7433 }; 7434 7435 7436 7437 #ifdef COBJMACROS 7438 7439 7440 #define IDeckLinkAncillaryPacket_QueryInterface(This,riid,ppvObject) \ 7441 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 7442 7443 #define IDeckLinkAncillaryPacket_AddRef(This) \ 7444 ( (This)->lpVtbl -> AddRef(This) ) 7445 7446 #define IDeckLinkAncillaryPacket_Release(This) \ 7447 ( (This)->lpVtbl -> Release(This) ) 7448 7449 7450 #define IDeckLinkAncillaryPacket_GetBytes(This,format,data,size) \ 7451 ( (This)->lpVtbl -> GetBytes(This,format,data,size) ) 7452 7453 #define IDeckLinkAncillaryPacket_GetDID(This) \ 7454 ( (This)->lpVtbl -> GetDID(This) ) 7455 7456 #define IDeckLinkAncillaryPacket_GetSDID(This) \ 7457 ( (This)->lpVtbl -> GetSDID(This) ) 7458 7459 #define IDeckLinkAncillaryPacket_GetLineNumber(This) \ 7460 ( (This)->lpVtbl -> GetLineNumber(This) ) 7461 7462 #define IDeckLinkAncillaryPacket_GetDataStreamIndex(This) \ 7463 ( (This)->lpVtbl -> GetDataStreamIndex(This) ) 7464 7465 #endif /* COBJMACROS */ 7466 7467 7468 #endif /* C style interface */ 7469 7470 7471 7472 7473 #endif /* __IDeckLinkAncillaryPacket_INTERFACE_DEFINED__ */ 7474 7475 7476 #ifndef __IDeckLinkAncillaryPacketIterator_INTERFACE_DEFINED__ 7477 #define __IDeckLinkAncillaryPacketIterator_INTERFACE_DEFINED__ 7478 7479 /* interface IDeckLinkAncillaryPacketIterator */ 7480 /* [helpstring][uuid][object] */ 7481 7482 7483 EXTERN_C const IID IID_IDeckLinkAncillaryPacketIterator; 7484 7485 #if defined(__cplusplus) && !defined(CINTERFACE) 7486 7487 MIDL_INTERFACE("3FC8994B-88FB-4C17-968F-9AAB69D964A7") 7488 IDeckLinkAncillaryPacketIterator : public IUnknown 7489 { 7490 public: 7491 virtual HRESULT STDMETHODCALLTYPE Next( 7492 /* [out] */ IDeckLinkAncillaryPacket **packet) = 0; 7493 7494 }; 7495 7496 7497 #else /* C style interface */ 7498 7499 typedef struct IDeckLinkAncillaryPacketIteratorVtbl 7500 { 7501 BEGIN_INTERFACE 7502 7503 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 7504 IDeckLinkAncillaryPacketIterator * This, 7505 /* [in] */ REFIID riid, 7506 /* [annotation][iid_is][out] */ 7507 _COM_Outptr_ void **ppvObject); 7508 7509 ULONG ( STDMETHODCALLTYPE *AddRef )( 7510 IDeckLinkAncillaryPacketIterator * This); 7511 7512 ULONG ( STDMETHODCALLTYPE *Release )( 7513 IDeckLinkAncillaryPacketIterator * This); 7514 7515 HRESULT ( STDMETHODCALLTYPE *Next )( 7516 IDeckLinkAncillaryPacketIterator * This, 7517 /* [out] */ IDeckLinkAncillaryPacket **packet); 7518 7519 END_INTERFACE 7520 } IDeckLinkAncillaryPacketIteratorVtbl; 7521 7522 interface IDeckLinkAncillaryPacketIterator 7523 { 7524 CONST_VTBL struct IDeckLinkAncillaryPacketIteratorVtbl *lpVtbl; 7525 }; 7526 7527 7528 7529 #ifdef COBJMACROS 7530 7531 7532 #define IDeckLinkAncillaryPacketIterator_QueryInterface(This,riid,ppvObject) \ 7533 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 7534 7535 #define IDeckLinkAncillaryPacketIterator_AddRef(This) \ 7536 ( (This)->lpVtbl -> AddRef(This) ) 7537 7538 #define IDeckLinkAncillaryPacketIterator_Release(This) \ 7539 ( (This)->lpVtbl -> Release(This) ) 7540 7541 7542 #define IDeckLinkAncillaryPacketIterator_Next(This,packet) \ 7543 ( (This)->lpVtbl -> Next(This,packet) ) 7544 7545 #endif /* COBJMACROS */ 7546 7547 7548 #endif /* C style interface */ 7549 7550 7551 7552 7553 #endif /* __IDeckLinkAncillaryPacketIterator_INTERFACE_DEFINED__ */ 7554 7555 7556 #ifndef __IDeckLinkVideoFrameAncillaryPackets_INTERFACE_DEFINED__ 7557 #define __IDeckLinkVideoFrameAncillaryPackets_INTERFACE_DEFINED__ 7558 7559 /* interface IDeckLinkVideoFrameAncillaryPackets */ 7560 /* [helpstring][local][uuid][object] */ 7561 7562 7563 EXTERN_C const IID IID_IDeckLinkVideoFrameAncillaryPackets; 7564 7565 #if defined(__cplusplus) && !defined(CINTERFACE) 7566 7567 MIDL_INTERFACE("6C186C0F-459E-41D8-AEE2-4812D81AEE68") 7568 IDeckLinkVideoFrameAncillaryPackets : public IUnknown 7569 { 7570 public: 7571 virtual HRESULT STDMETHODCALLTYPE GetPacketIterator( 7572 /* [out] */ IDeckLinkAncillaryPacketIterator **iterator) = 0; 7573 7574 virtual HRESULT STDMETHODCALLTYPE GetFirstPacketByID( 7575 /* [in] */ unsigned char DID, 7576 /* [in] */ unsigned char SDID, 7577 /* [out] */ IDeckLinkAncillaryPacket **packet) = 0; 7578 7579 virtual HRESULT STDMETHODCALLTYPE AttachPacket( 7580 /* [in] */ IDeckLinkAncillaryPacket *packet) = 0; 7581 7582 virtual HRESULT STDMETHODCALLTYPE DetachPacket( 7583 /* [in] */ IDeckLinkAncillaryPacket *packet) = 0; 7584 7585 virtual HRESULT STDMETHODCALLTYPE DetachAllPackets( void) = 0; 7586 7587 }; 7588 7589 7590 #else /* C style interface */ 7591 7592 typedef struct IDeckLinkVideoFrameAncillaryPacketsVtbl 7593 { 7594 BEGIN_INTERFACE 7595 7596 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 7597 IDeckLinkVideoFrameAncillaryPackets * This, 7598 /* [in] */ REFIID riid, 7599 /* [annotation][iid_is][out] */ 7600 _COM_Outptr_ void **ppvObject); 7601 7602 ULONG ( STDMETHODCALLTYPE *AddRef )( 7603 IDeckLinkVideoFrameAncillaryPackets * This); 7604 7605 ULONG ( STDMETHODCALLTYPE *Release )( 7606 IDeckLinkVideoFrameAncillaryPackets * This); 7607 7608 HRESULT ( STDMETHODCALLTYPE *GetPacketIterator )( 7609 IDeckLinkVideoFrameAncillaryPackets * This, 7610 /* [out] */ IDeckLinkAncillaryPacketIterator **iterator); 7611 7612 HRESULT ( STDMETHODCALLTYPE *GetFirstPacketByID )( 7613 IDeckLinkVideoFrameAncillaryPackets * This, 7614 /* [in] */ unsigned char DID, 7615 /* [in] */ unsigned char SDID, 7616 /* [out] */ IDeckLinkAncillaryPacket **packet); 7617 7618 HRESULT ( STDMETHODCALLTYPE *AttachPacket )( 7619 IDeckLinkVideoFrameAncillaryPackets * This, 7620 /* [in] */ IDeckLinkAncillaryPacket *packet); 7621 7622 HRESULT ( STDMETHODCALLTYPE *DetachPacket )( 7623 IDeckLinkVideoFrameAncillaryPackets * This, 7624 /* [in] */ IDeckLinkAncillaryPacket *packet); 7625 7626 HRESULT ( STDMETHODCALLTYPE *DetachAllPackets )( 7627 IDeckLinkVideoFrameAncillaryPackets * This); 7628 7629 END_INTERFACE 7630 } IDeckLinkVideoFrameAncillaryPacketsVtbl; 7631 7632 interface IDeckLinkVideoFrameAncillaryPackets 7633 { 7634 CONST_VTBL struct IDeckLinkVideoFrameAncillaryPacketsVtbl *lpVtbl; 7635 }; 7636 7637 7638 7639 #ifdef COBJMACROS 7640 7641 7642 #define IDeckLinkVideoFrameAncillaryPackets_QueryInterface(This,riid,ppvObject) \ 7643 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 7644 7645 #define IDeckLinkVideoFrameAncillaryPackets_AddRef(This) \ 7646 ( (This)->lpVtbl -> AddRef(This) ) 7647 7648 #define IDeckLinkVideoFrameAncillaryPackets_Release(This) \ 7649 ( (This)->lpVtbl -> Release(This) ) 7650 7651 7652 #define IDeckLinkVideoFrameAncillaryPackets_GetPacketIterator(This,iterator) \ 7653 ( (This)->lpVtbl -> GetPacketIterator(This,iterator) ) 7654 7655 #define IDeckLinkVideoFrameAncillaryPackets_GetFirstPacketByID(This,DID,SDID,packet) \ 7656 ( (This)->lpVtbl -> GetFirstPacketByID(This,DID,SDID,packet) ) 7657 7658 #define IDeckLinkVideoFrameAncillaryPackets_AttachPacket(This,packet) \ 7659 ( (This)->lpVtbl -> AttachPacket(This,packet) ) 7660 7661 #define IDeckLinkVideoFrameAncillaryPackets_DetachPacket(This,packet) \ 7662 ( (This)->lpVtbl -> DetachPacket(This,packet) ) 7663 7664 #define IDeckLinkVideoFrameAncillaryPackets_DetachAllPackets(This) \ 7665 ( (This)->lpVtbl -> DetachAllPackets(This) ) 7666 7667 #endif /* COBJMACROS */ 7668 7669 7670 #endif /* C style interface */ 7671 7672 7673 7674 7675 #endif /* __IDeckLinkVideoFrameAncillaryPackets_INTERFACE_DEFINED__ */ 7676 7677 7678 #ifndef __IDeckLinkVideoFrameAncillary_INTERFACE_DEFINED__ 7679 #define __IDeckLinkVideoFrameAncillary_INTERFACE_DEFINED__ 7680 7681 /* interface IDeckLinkVideoFrameAncillary */ 7682 /* [helpstring][local][uuid][object] */ 7683 7684 7685 EXTERN_C const IID IID_IDeckLinkVideoFrameAncillary; 7686 7687 #if defined(__cplusplus) && !defined(CINTERFACE) 7688 7689 MIDL_INTERFACE("732E723C-D1A4-4E29-9E8E-4A88797A0004") 7690 IDeckLinkVideoFrameAncillary : public IUnknown 7691 { 7692 public: 7693 virtual HRESULT STDMETHODCALLTYPE GetBufferForVerticalBlankingLine( 7694 /* [in] */ unsigned int lineNumber, 7695 /* [out] */ void **buffer) = 0; 7696 7697 virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0; 7698 7699 virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode( void) = 0; 7700 7701 }; 7702 7703 7704 #else /* C style interface */ 7705 7706 typedef struct IDeckLinkVideoFrameAncillaryVtbl 7707 { 7708 BEGIN_INTERFACE 7709 7710 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 7711 IDeckLinkVideoFrameAncillary * This, 7712 /* [in] */ REFIID riid, 7713 /* [annotation][iid_is][out] */ 7714 _COM_Outptr_ void **ppvObject); 7715 7716 ULONG ( STDMETHODCALLTYPE *AddRef )( 7717 IDeckLinkVideoFrameAncillary * This); 7718 7719 ULONG ( STDMETHODCALLTYPE *Release )( 7720 IDeckLinkVideoFrameAncillary * This); 7721 7722 HRESULT ( STDMETHODCALLTYPE *GetBufferForVerticalBlankingLine )( 7723 IDeckLinkVideoFrameAncillary * This, 7724 /* [in] */ unsigned int lineNumber, 7725 /* [out] */ void **buffer); 7726 7727 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( 7728 IDeckLinkVideoFrameAncillary * This); 7729 7730 BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )( 7731 IDeckLinkVideoFrameAncillary * This); 7732 7733 END_INTERFACE 7734 } IDeckLinkVideoFrameAncillaryVtbl; 7735 7736 interface IDeckLinkVideoFrameAncillary 7737 { 7738 CONST_VTBL struct IDeckLinkVideoFrameAncillaryVtbl *lpVtbl; 7739 }; 7740 7741 7742 7743 #ifdef COBJMACROS 7744 7745 7746 #define IDeckLinkVideoFrameAncillary_QueryInterface(This,riid,ppvObject) \ 7747 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 7748 7749 #define IDeckLinkVideoFrameAncillary_AddRef(This) \ 7750 ( (This)->lpVtbl -> AddRef(This) ) 7751 7752 #define IDeckLinkVideoFrameAncillary_Release(This) \ 7753 ( (This)->lpVtbl -> Release(This) ) 7754 7755 7756 #define IDeckLinkVideoFrameAncillary_GetBufferForVerticalBlankingLine(This,lineNumber,buffer) \ 7757 ( (This)->lpVtbl -> GetBufferForVerticalBlankingLine(This,lineNumber,buffer) ) 7758 7759 #define IDeckLinkVideoFrameAncillary_GetPixelFormat(This) \ 7760 ( (This)->lpVtbl -> GetPixelFormat(This) ) 7761 7762 #define IDeckLinkVideoFrameAncillary_GetDisplayMode(This) \ 7763 ( (This)->lpVtbl -> GetDisplayMode(This) ) 7764 7765 #endif /* COBJMACROS */ 7766 7767 7768 #endif /* C style interface */ 7769 7770 7771 7772 7773 #endif /* __IDeckLinkVideoFrameAncillary_INTERFACE_DEFINED__ */ 7774 7775 7776 #ifndef __IDeckLinkEncoderPacket_INTERFACE_DEFINED__ 7777 #define __IDeckLinkEncoderPacket_INTERFACE_DEFINED__ 7778 7779 /* interface IDeckLinkEncoderPacket */ 7780 /* [helpstring][local][uuid][object] */ 7781 7782 7783 EXTERN_C const IID IID_IDeckLinkEncoderPacket; 7784 7785 #if defined(__cplusplus) && !defined(CINTERFACE) 7786 7787 MIDL_INTERFACE("B693F36C-316E-4AF1-B6C2-F389A4BCA620") 7788 IDeckLinkEncoderPacket : public IUnknown 7789 { 7790 public: 7791 virtual HRESULT STDMETHODCALLTYPE GetBytes( 7792 /* [out] */ void **buffer) = 0; 7793 7794 virtual long STDMETHODCALLTYPE GetSize( void) = 0; 7795 7796 virtual HRESULT STDMETHODCALLTYPE GetStreamTime( 7797 /* [out] */ BMDTimeValue *frameTime, 7798 /* [in] */ BMDTimeScale timeScale) = 0; 7799 7800 virtual BMDPacketType STDMETHODCALLTYPE GetPacketType( void) = 0; 7801 7802 }; 7803 7804 7805 #else /* C style interface */ 7806 7807 typedef struct IDeckLinkEncoderPacketVtbl 7808 { 7809 BEGIN_INTERFACE 7810 7811 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 7812 IDeckLinkEncoderPacket * This, 7813 /* [in] */ REFIID riid, 7814 /* [annotation][iid_is][out] */ 7815 _COM_Outptr_ void **ppvObject); 7816 7817 ULONG ( STDMETHODCALLTYPE *AddRef )( 7818 IDeckLinkEncoderPacket * This); 7819 7820 ULONG ( STDMETHODCALLTYPE *Release )( 7821 IDeckLinkEncoderPacket * This); 7822 7823 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 7824 IDeckLinkEncoderPacket * This, 7825 /* [out] */ void **buffer); 7826 7827 long ( STDMETHODCALLTYPE *GetSize )( 7828 IDeckLinkEncoderPacket * This); 7829 7830 HRESULT ( STDMETHODCALLTYPE *GetStreamTime )( 7831 IDeckLinkEncoderPacket * This, 7832 /* [out] */ BMDTimeValue *frameTime, 7833 /* [in] */ BMDTimeScale timeScale); 7834 7835 BMDPacketType ( STDMETHODCALLTYPE *GetPacketType )( 7836 IDeckLinkEncoderPacket * This); 7837 7838 END_INTERFACE 7839 } IDeckLinkEncoderPacketVtbl; 7840 7841 interface IDeckLinkEncoderPacket 7842 { 7843 CONST_VTBL struct IDeckLinkEncoderPacketVtbl *lpVtbl; 7844 }; 7845 7846 7847 7848 #ifdef COBJMACROS 7849 7850 7851 #define IDeckLinkEncoderPacket_QueryInterface(This,riid,ppvObject) \ 7852 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 7853 7854 #define IDeckLinkEncoderPacket_AddRef(This) \ 7855 ( (This)->lpVtbl -> AddRef(This) ) 7856 7857 #define IDeckLinkEncoderPacket_Release(This) \ 7858 ( (This)->lpVtbl -> Release(This) ) 7859 7860 7861 #define IDeckLinkEncoderPacket_GetBytes(This,buffer) \ 7862 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 7863 7864 #define IDeckLinkEncoderPacket_GetSize(This) \ 7865 ( (This)->lpVtbl -> GetSize(This) ) 7866 7867 #define IDeckLinkEncoderPacket_GetStreamTime(This,frameTime,timeScale) \ 7868 ( (This)->lpVtbl -> GetStreamTime(This,frameTime,timeScale) ) 7869 7870 #define IDeckLinkEncoderPacket_GetPacketType(This) \ 7871 ( (This)->lpVtbl -> GetPacketType(This) ) 7872 7873 #endif /* COBJMACROS */ 7874 7875 7876 #endif /* C style interface */ 7877 7878 7879 7880 7881 #endif /* __IDeckLinkEncoderPacket_INTERFACE_DEFINED__ */ 7882 7883 7884 #ifndef __IDeckLinkEncoderVideoPacket_INTERFACE_DEFINED__ 7885 #define __IDeckLinkEncoderVideoPacket_INTERFACE_DEFINED__ 7886 7887 /* interface IDeckLinkEncoderVideoPacket */ 7888 /* [helpstring][local][uuid][object] */ 7889 7890 7891 EXTERN_C const IID IID_IDeckLinkEncoderVideoPacket; 7892 7893 #if defined(__cplusplus) && !defined(CINTERFACE) 7894 7895 MIDL_INTERFACE("4E7FD944-E8C7-4EAC-B8C0-7B77F80F5AE0") 7896 IDeckLinkEncoderVideoPacket : public IDeckLinkEncoderPacket 7897 { 7898 public: 7899 virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0; 7900 7901 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceTimestamp( 7902 /* [in] */ BMDTimeScale timeScale, 7903 /* [out] */ BMDTimeValue *frameTime, 7904 /* [out] */ BMDTimeValue *frameDuration) = 0; 7905 7906 virtual HRESULT STDMETHODCALLTYPE GetTimecode( 7907 /* [in] */ BMDTimecodeFormat format, 7908 /* [out] */ IDeckLinkTimecode **timecode) = 0; 7909 7910 }; 7911 7912 7913 #else /* C style interface */ 7914 7915 typedef struct IDeckLinkEncoderVideoPacketVtbl 7916 { 7917 BEGIN_INTERFACE 7918 7919 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 7920 IDeckLinkEncoderVideoPacket * This, 7921 /* [in] */ REFIID riid, 7922 /* [annotation][iid_is][out] */ 7923 _COM_Outptr_ void **ppvObject); 7924 7925 ULONG ( STDMETHODCALLTYPE *AddRef )( 7926 IDeckLinkEncoderVideoPacket * This); 7927 7928 ULONG ( STDMETHODCALLTYPE *Release )( 7929 IDeckLinkEncoderVideoPacket * This); 7930 7931 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 7932 IDeckLinkEncoderVideoPacket * This, 7933 /* [out] */ void **buffer); 7934 7935 long ( STDMETHODCALLTYPE *GetSize )( 7936 IDeckLinkEncoderVideoPacket * This); 7937 7938 HRESULT ( STDMETHODCALLTYPE *GetStreamTime )( 7939 IDeckLinkEncoderVideoPacket * This, 7940 /* [out] */ BMDTimeValue *frameTime, 7941 /* [in] */ BMDTimeScale timeScale); 7942 7943 BMDPacketType ( STDMETHODCALLTYPE *GetPacketType )( 7944 IDeckLinkEncoderVideoPacket * This); 7945 7946 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( 7947 IDeckLinkEncoderVideoPacket * This); 7948 7949 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceTimestamp )( 7950 IDeckLinkEncoderVideoPacket * This, 7951 /* [in] */ BMDTimeScale timeScale, 7952 /* [out] */ BMDTimeValue *frameTime, 7953 /* [out] */ BMDTimeValue *frameDuration); 7954 7955 HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 7956 IDeckLinkEncoderVideoPacket * This, 7957 /* [in] */ BMDTimecodeFormat format, 7958 /* [out] */ IDeckLinkTimecode **timecode); 7959 7960 END_INTERFACE 7961 } IDeckLinkEncoderVideoPacketVtbl; 7962 7963 interface IDeckLinkEncoderVideoPacket 7964 { 7965 CONST_VTBL struct IDeckLinkEncoderVideoPacketVtbl *lpVtbl; 7966 }; 7967 7968 7969 7970 #ifdef COBJMACROS 7971 7972 7973 #define IDeckLinkEncoderVideoPacket_QueryInterface(This,riid,ppvObject) \ 7974 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 7975 7976 #define IDeckLinkEncoderVideoPacket_AddRef(This) \ 7977 ( (This)->lpVtbl -> AddRef(This) ) 7978 7979 #define IDeckLinkEncoderVideoPacket_Release(This) \ 7980 ( (This)->lpVtbl -> Release(This) ) 7981 7982 7983 #define IDeckLinkEncoderVideoPacket_GetBytes(This,buffer) \ 7984 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 7985 7986 #define IDeckLinkEncoderVideoPacket_GetSize(This) \ 7987 ( (This)->lpVtbl -> GetSize(This) ) 7988 7989 #define IDeckLinkEncoderVideoPacket_GetStreamTime(This,frameTime,timeScale) \ 7990 ( (This)->lpVtbl -> GetStreamTime(This,frameTime,timeScale) ) 7991 7992 #define IDeckLinkEncoderVideoPacket_GetPacketType(This) \ 7993 ( (This)->lpVtbl -> GetPacketType(This) ) 7994 7995 7996 #define IDeckLinkEncoderVideoPacket_GetPixelFormat(This) \ 7997 ( (This)->lpVtbl -> GetPixelFormat(This) ) 7998 7999 #define IDeckLinkEncoderVideoPacket_GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) \ 8000 ( (This)->lpVtbl -> GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) ) 8001 8002 #define IDeckLinkEncoderVideoPacket_GetTimecode(This,format,timecode) \ 8003 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) 8004 8005 #endif /* COBJMACROS */ 8006 8007 8008 #endif /* C style interface */ 8009 8010 8011 8012 8013 #endif /* __IDeckLinkEncoderVideoPacket_INTERFACE_DEFINED__ */ 8014 8015 8016 #ifndef __IDeckLinkEncoderAudioPacket_INTERFACE_DEFINED__ 8017 #define __IDeckLinkEncoderAudioPacket_INTERFACE_DEFINED__ 8018 8019 /* interface IDeckLinkEncoderAudioPacket */ 8020 /* [helpstring][local][uuid][object] */ 8021 8022 8023 EXTERN_C const IID IID_IDeckLinkEncoderAudioPacket; 8024 8025 #if defined(__cplusplus) && !defined(CINTERFACE) 8026 8027 MIDL_INTERFACE("49E8EDC8-693B-4E14-8EF6-12C658F5A07A") 8028 IDeckLinkEncoderAudioPacket : public IDeckLinkEncoderPacket 8029 { 8030 public: 8031 virtual BMDAudioFormat STDMETHODCALLTYPE GetAudioFormat( void) = 0; 8032 8033 }; 8034 8035 8036 #else /* C style interface */ 8037 8038 typedef struct IDeckLinkEncoderAudioPacketVtbl 8039 { 8040 BEGIN_INTERFACE 8041 8042 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 8043 IDeckLinkEncoderAudioPacket * This, 8044 /* [in] */ REFIID riid, 8045 /* [annotation][iid_is][out] */ 8046 _COM_Outptr_ void **ppvObject); 8047 8048 ULONG ( STDMETHODCALLTYPE *AddRef )( 8049 IDeckLinkEncoderAudioPacket * This); 8050 8051 ULONG ( STDMETHODCALLTYPE *Release )( 8052 IDeckLinkEncoderAudioPacket * This); 8053 8054 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 8055 IDeckLinkEncoderAudioPacket * This, 8056 /* [out] */ void **buffer); 8057 8058 long ( STDMETHODCALLTYPE *GetSize )( 8059 IDeckLinkEncoderAudioPacket * This); 8060 8061 HRESULT ( STDMETHODCALLTYPE *GetStreamTime )( 8062 IDeckLinkEncoderAudioPacket * This, 8063 /* [out] */ BMDTimeValue *frameTime, 8064 /* [in] */ BMDTimeScale timeScale); 8065 8066 BMDPacketType ( STDMETHODCALLTYPE *GetPacketType )( 8067 IDeckLinkEncoderAudioPacket * This); 8068 8069 BMDAudioFormat ( STDMETHODCALLTYPE *GetAudioFormat )( 8070 IDeckLinkEncoderAudioPacket * This); 8071 8072 END_INTERFACE 8073 } IDeckLinkEncoderAudioPacketVtbl; 8074 8075 interface IDeckLinkEncoderAudioPacket 8076 { 8077 CONST_VTBL struct IDeckLinkEncoderAudioPacketVtbl *lpVtbl; 8078 }; 8079 8080 8081 8082 #ifdef COBJMACROS 8083 8084 8085 #define IDeckLinkEncoderAudioPacket_QueryInterface(This,riid,ppvObject) \ 8086 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 8087 8088 #define IDeckLinkEncoderAudioPacket_AddRef(This) \ 8089 ( (This)->lpVtbl -> AddRef(This) ) 8090 8091 #define IDeckLinkEncoderAudioPacket_Release(This) \ 8092 ( (This)->lpVtbl -> Release(This) ) 8093 8094 8095 #define IDeckLinkEncoderAudioPacket_GetBytes(This,buffer) \ 8096 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 8097 8098 #define IDeckLinkEncoderAudioPacket_GetSize(This) \ 8099 ( (This)->lpVtbl -> GetSize(This) ) 8100 8101 #define IDeckLinkEncoderAudioPacket_GetStreamTime(This,frameTime,timeScale) \ 8102 ( (This)->lpVtbl -> GetStreamTime(This,frameTime,timeScale) ) 8103 8104 #define IDeckLinkEncoderAudioPacket_GetPacketType(This) \ 8105 ( (This)->lpVtbl -> GetPacketType(This) ) 8106 8107 8108 #define IDeckLinkEncoderAudioPacket_GetAudioFormat(This) \ 8109 ( (This)->lpVtbl -> GetAudioFormat(This) ) 8110 8111 #endif /* COBJMACROS */ 8112 8113 8114 #endif /* C style interface */ 8115 8116 8117 8118 8119 #endif /* __IDeckLinkEncoderAudioPacket_INTERFACE_DEFINED__ */ 8120 8121 8122 #ifndef __IDeckLinkH265NALPacket_INTERFACE_DEFINED__ 8123 #define __IDeckLinkH265NALPacket_INTERFACE_DEFINED__ 8124 8125 /* interface IDeckLinkH265NALPacket */ 8126 /* [helpstring][local][uuid][object] */ 8127 8128 8129 EXTERN_C const IID IID_IDeckLinkH265NALPacket; 8130 8131 #if defined(__cplusplus) && !defined(CINTERFACE) 8132 8133 MIDL_INTERFACE("639C8E0B-68D5-4BDE-A6D4-95F3AEAFF2E7") 8134 IDeckLinkH265NALPacket : public IDeckLinkEncoderVideoPacket 8135 { 8136 public: 8137 virtual HRESULT STDMETHODCALLTYPE GetUnitType( 8138 /* [out] */ unsigned char *unitType) = 0; 8139 8140 virtual HRESULT STDMETHODCALLTYPE GetBytesNoPrefix( 8141 /* [out] */ void **buffer) = 0; 8142 8143 virtual long STDMETHODCALLTYPE GetSizeNoPrefix( void) = 0; 8144 8145 }; 8146 8147 8148 #else /* C style interface */ 8149 8150 typedef struct IDeckLinkH265NALPacketVtbl 8151 { 8152 BEGIN_INTERFACE 8153 8154 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 8155 IDeckLinkH265NALPacket * This, 8156 /* [in] */ REFIID riid, 8157 /* [annotation][iid_is][out] */ 8158 _COM_Outptr_ void **ppvObject); 8159 8160 ULONG ( STDMETHODCALLTYPE *AddRef )( 8161 IDeckLinkH265NALPacket * This); 8162 8163 ULONG ( STDMETHODCALLTYPE *Release )( 8164 IDeckLinkH265NALPacket * This); 8165 8166 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 8167 IDeckLinkH265NALPacket * This, 8168 /* [out] */ void **buffer); 8169 8170 long ( STDMETHODCALLTYPE *GetSize )( 8171 IDeckLinkH265NALPacket * This); 8172 8173 HRESULT ( STDMETHODCALLTYPE *GetStreamTime )( 8174 IDeckLinkH265NALPacket * This, 8175 /* [out] */ BMDTimeValue *frameTime, 8176 /* [in] */ BMDTimeScale timeScale); 8177 8178 BMDPacketType ( STDMETHODCALLTYPE *GetPacketType )( 8179 IDeckLinkH265NALPacket * This); 8180 8181 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( 8182 IDeckLinkH265NALPacket * This); 8183 8184 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceTimestamp )( 8185 IDeckLinkH265NALPacket * This, 8186 /* [in] */ BMDTimeScale timeScale, 8187 /* [out] */ BMDTimeValue *frameTime, 8188 /* [out] */ BMDTimeValue *frameDuration); 8189 8190 HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 8191 IDeckLinkH265NALPacket * This, 8192 /* [in] */ BMDTimecodeFormat format, 8193 /* [out] */ IDeckLinkTimecode **timecode); 8194 8195 HRESULT ( STDMETHODCALLTYPE *GetUnitType )( 8196 IDeckLinkH265NALPacket * This, 8197 /* [out] */ unsigned char *unitType); 8198 8199 HRESULT ( STDMETHODCALLTYPE *GetBytesNoPrefix )( 8200 IDeckLinkH265NALPacket * This, 8201 /* [out] */ void **buffer); 8202 8203 long ( STDMETHODCALLTYPE *GetSizeNoPrefix )( 8204 IDeckLinkH265NALPacket * This); 8205 8206 END_INTERFACE 8207 } IDeckLinkH265NALPacketVtbl; 8208 8209 interface IDeckLinkH265NALPacket 8210 { 8211 CONST_VTBL struct IDeckLinkH265NALPacketVtbl *lpVtbl; 8212 }; 8213 8214 8215 8216 #ifdef COBJMACROS 8217 8218 8219 #define IDeckLinkH265NALPacket_QueryInterface(This,riid,ppvObject) \ 8220 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 8221 8222 #define IDeckLinkH265NALPacket_AddRef(This) \ 8223 ( (This)->lpVtbl -> AddRef(This) ) 8224 8225 #define IDeckLinkH265NALPacket_Release(This) \ 8226 ( (This)->lpVtbl -> Release(This) ) 8227 8228 8229 #define IDeckLinkH265NALPacket_GetBytes(This,buffer) \ 8230 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 8231 8232 #define IDeckLinkH265NALPacket_GetSize(This) \ 8233 ( (This)->lpVtbl -> GetSize(This) ) 8234 8235 #define IDeckLinkH265NALPacket_GetStreamTime(This,frameTime,timeScale) \ 8236 ( (This)->lpVtbl -> GetStreamTime(This,frameTime,timeScale) ) 8237 8238 #define IDeckLinkH265NALPacket_GetPacketType(This) \ 8239 ( (This)->lpVtbl -> GetPacketType(This) ) 8240 8241 8242 #define IDeckLinkH265NALPacket_GetPixelFormat(This) \ 8243 ( (This)->lpVtbl -> GetPixelFormat(This) ) 8244 8245 #define IDeckLinkH265NALPacket_GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) \ 8246 ( (This)->lpVtbl -> GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) ) 8247 8248 #define IDeckLinkH265NALPacket_GetTimecode(This,format,timecode) \ 8249 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) 8250 8251 8252 #define IDeckLinkH265NALPacket_GetUnitType(This,unitType) \ 8253 ( (This)->lpVtbl -> GetUnitType(This,unitType) ) 8254 8255 #define IDeckLinkH265NALPacket_GetBytesNoPrefix(This,buffer) \ 8256 ( (This)->lpVtbl -> GetBytesNoPrefix(This,buffer) ) 8257 8258 #define IDeckLinkH265NALPacket_GetSizeNoPrefix(This) \ 8259 ( (This)->lpVtbl -> GetSizeNoPrefix(This) ) 8260 8261 #endif /* COBJMACROS */ 8262 8263 8264 #endif /* C style interface */ 8265 8266 8267 8268 8269 #endif /* __IDeckLinkH265NALPacket_INTERFACE_DEFINED__ */ 8270 8271 8272 #ifndef __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__ 8273 #define __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__ 8274 8275 /* interface IDeckLinkAudioInputPacket */ 8276 /* [helpstring][local][uuid][object] */ 8277 8278 8279 EXTERN_C const IID IID_IDeckLinkAudioInputPacket; 8280 8281 #if defined(__cplusplus) && !defined(CINTERFACE) 8282 8283 MIDL_INTERFACE("E43D5870-2894-11DE-8C30-0800200C9A66") 8284 IDeckLinkAudioInputPacket : public IUnknown 8285 { 8286 public: 8287 virtual long STDMETHODCALLTYPE GetSampleFrameCount( void) = 0; 8288 8289 virtual HRESULT STDMETHODCALLTYPE GetBytes( 8290 /* [out] */ void **buffer) = 0; 8291 8292 virtual HRESULT STDMETHODCALLTYPE GetPacketTime( 8293 /* [out] */ BMDTimeValue *packetTime, 8294 /* [in] */ BMDTimeScale timeScale) = 0; 8295 8296 }; 8297 8298 8299 #else /* C style interface */ 8300 8301 typedef struct IDeckLinkAudioInputPacketVtbl 8302 { 8303 BEGIN_INTERFACE 8304 8305 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 8306 IDeckLinkAudioInputPacket * This, 8307 /* [in] */ REFIID riid, 8308 /* [annotation][iid_is][out] */ 8309 _COM_Outptr_ void **ppvObject); 8310 8311 ULONG ( STDMETHODCALLTYPE *AddRef )( 8312 IDeckLinkAudioInputPacket * This); 8313 8314 ULONG ( STDMETHODCALLTYPE *Release )( 8315 IDeckLinkAudioInputPacket * This); 8316 8317 long ( STDMETHODCALLTYPE *GetSampleFrameCount )( 8318 IDeckLinkAudioInputPacket * This); 8319 8320 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 8321 IDeckLinkAudioInputPacket * This, 8322 /* [out] */ void **buffer); 8323 8324 HRESULT ( STDMETHODCALLTYPE *GetPacketTime )( 8325 IDeckLinkAudioInputPacket * This, 8326 /* [out] */ BMDTimeValue *packetTime, 8327 /* [in] */ BMDTimeScale timeScale); 8328 8329 END_INTERFACE 8330 } IDeckLinkAudioInputPacketVtbl; 8331 8332 interface IDeckLinkAudioInputPacket 8333 { 8334 CONST_VTBL struct IDeckLinkAudioInputPacketVtbl *lpVtbl; 8335 }; 8336 8337 8338 8339 #ifdef COBJMACROS 8340 8341 8342 #define IDeckLinkAudioInputPacket_QueryInterface(This,riid,ppvObject) \ 8343 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 8344 8345 #define IDeckLinkAudioInputPacket_AddRef(This) \ 8346 ( (This)->lpVtbl -> AddRef(This) ) 8347 8348 #define IDeckLinkAudioInputPacket_Release(This) \ 8349 ( (This)->lpVtbl -> Release(This) ) 8350 8351 8352 #define IDeckLinkAudioInputPacket_GetSampleFrameCount(This) \ 8353 ( (This)->lpVtbl -> GetSampleFrameCount(This) ) 8354 8355 #define IDeckLinkAudioInputPacket_GetBytes(This,buffer) \ 8356 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 8357 8358 #define IDeckLinkAudioInputPacket_GetPacketTime(This,packetTime,timeScale) \ 8359 ( (This)->lpVtbl -> GetPacketTime(This,packetTime,timeScale) ) 8360 8361 #endif /* COBJMACROS */ 8362 8363 8364 #endif /* C style interface */ 8365 8366 8367 8368 8369 #endif /* __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__ */ 8370 8371 8372 #ifndef __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__ 8373 #define __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__ 8374 8375 /* interface IDeckLinkScreenPreviewCallback */ 8376 /* [helpstring][local][uuid][object] */ 8377 8378 8379 EXTERN_C const IID IID_IDeckLinkScreenPreviewCallback; 8380 8381 #if defined(__cplusplus) && !defined(CINTERFACE) 8382 8383 MIDL_INTERFACE("B1D3F49A-85FE-4C5D-95C8-0B5D5DCCD438") 8384 IDeckLinkScreenPreviewCallback : public IUnknown 8385 { 8386 public: 8387 virtual HRESULT STDMETHODCALLTYPE DrawFrame( 8388 /* [in] */ IDeckLinkVideoFrame *theFrame) = 0; 8389 8390 }; 8391 8392 8393 #else /* C style interface */ 8394 8395 typedef struct IDeckLinkScreenPreviewCallbackVtbl 8396 { 8397 BEGIN_INTERFACE 8398 8399 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 8400 IDeckLinkScreenPreviewCallback * This, 8401 /* [in] */ REFIID riid, 8402 /* [annotation][iid_is][out] */ 8403 _COM_Outptr_ void **ppvObject); 8404 8405 ULONG ( STDMETHODCALLTYPE *AddRef )( 8406 IDeckLinkScreenPreviewCallback * This); 8407 8408 ULONG ( STDMETHODCALLTYPE *Release )( 8409 IDeckLinkScreenPreviewCallback * This); 8410 8411 HRESULT ( STDMETHODCALLTYPE *DrawFrame )( 8412 IDeckLinkScreenPreviewCallback * This, 8413 /* [in] */ IDeckLinkVideoFrame *theFrame); 8414 8415 END_INTERFACE 8416 } IDeckLinkScreenPreviewCallbackVtbl; 8417 8418 interface IDeckLinkScreenPreviewCallback 8419 { 8420 CONST_VTBL struct IDeckLinkScreenPreviewCallbackVtbl *lpVtbl; 8421 }; 8422 8423 8424 8425 #ifdef COBJMACROS 8426 8427 8428 #define IDeckLinkScreenPreviewCallback_QueryInterface(This,riid,ppvObject) \ 8429 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 8430 8431 #define IDeckLinkScreenPreviewCallback_AddRef(This) \ 8432 ( (This)->lpVtbl -> AddRef(This) ) 8433 8434 #define IDeckLinkScreenPreviewCallback_Release(This) \ 8435 ( (This)->lpVtbl -> Release(This) ) 8436 8437 8438 #define IDeckLinkScreenPreviewCallback_DrawFrame(This,theFrame) \ 8439 ( (This)->lpVtbl -> DrawFrame(This,theFrame) ) 8440 8441 #endif /* COBJMACROS */ 8442 8443 8444 #endif /* C style interface */ 8445 8446 8447 8448 8449 #endif /* __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__ */ 8450 8451 8452 #ifndef __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__ 8453 #define __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__ 8454 8455 /* interface IDeckLinkGLScreenPreviewHelper */ 8456 /* [helpstring][local][uuid][object] */ 8457 8458 8459 EXTERN_C const IID IID_IDeckLinkGLScreenPreviewHelper; 8460 8461 #if defined(__cplusplus) && !defined(CINTERFACE) 8462 8463 MIDL_INTERFACE("504E2209-CAC7-4C1A-9FB4-C5BB6274D22F") 8464 IDeckLinkGLScreenPreviewHelper : public IUnknown 8465 { 8466 public: 8467 virtual HRESULT STDMETHODCALLTYPE InitializeGL( void) = 0; 8468 8469 virtual HRESULT STDMETHODCALLTYPE PaintGL( void) = 0; 8470 8471 virtual HRESULT STDMETHODCALLTYPE SetFrame( 8472 /* [in] */ IDeckLinkVideoFrame *theFrame) = 0; 8473 8474 virtual HRESULT STDMETHODCALLTYPE Set3DPreviewFormat( 8475 /* [in] */ BMD3DPreviewFormat previewFormat) = 0; 8476 8477 }; 8478 8479 8480 #else /* C style interface */ 8481 8482 typedef struct IDeckLinkGLScreenPreviewHelperVtbl 8483 { 8484 BEGIN_INTERFACE 8485 8486 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 8487 IDeckLinkGLScreenPreviewHelper * This, 8488 /* [in] */ REFIID riid, 8489 /* [annotation][iid_is][out] */ 8490 _COM_Outptr_ void **ppvObject); 8491 8492 ULONG ( STDMETHODCALLTYPE *AddRef )( 8493 IDeckLinkGLScreenPreviewHelper * This); 8494 8495 ULONG ( STDMETHODCALLTYPE *Release )( 8496 IDeckLinkGLScreenPreviewHelper * This); 8497 8498 HRESULT ( STDMETHODCALLTYPE *InitializeGL )( 8499 IDeckLinkGLScreenPreviewHelper * This); 8500 8501 HRESULT ( STDMETHODCALLTYPE *PaintGL )( 8502 IDeckLinkGLScreenPreviewHelper * This); 8503 8504 HRESULT ( STDMETHODCALLTYPE *SetFrame )( 8505 IDeckLinkGLScreenPreviewHelper * This, 8506 /* [in] */ IDeckLinkVideoFrame *theFrame); 8507 8508 HRESULT ( STDMETHODCALLTYPE *Set3DPreviewFormat )( 8509 IDeckLinkGLScreenPreviewHelper * This, 8510 /* [in] */ BMD3DPreviewFormat previewFormat); 8511 8512 END_INTERFACE 8513 } IDeckLinkGLScreenPreviewHelperVtbl; 8514 8515 interface IDeckLinkGLScreenPreviewHelper 8516 { 8517 CONST_VTBL struct IDeckLinkGLScreenPreviewHelperVtbl *lpVtbl; 8518 }; 8519 8520 8521 8522 #ifdef COBJMACROS 8523 8524 8525 #define IDeckLinkGLScreenPreviewHelper_QueryInterface(This,riid,ppvObject) \ 8526 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 8527 8528 #define IDeckLinkGLScreenPreviewHelper_AddRef(This) \ 8529 ( (This)->lpVtbl -> AddRef(This) ) 8530 8531 #define IDeckLinkGLScreenPreviewHelper_Release(This) \ 8532 ( (This)->lpVtbl -> Release(This) ) 8533 8534 8535 #define IDeckLinkGLScreenPreviewHelper_InitializeGL(This) \ 8536 ( (This)->lpVtbl -> InitializeGL(This) ) 8537 8538 #define IDeckLinkGLScreenPreviewHelper_PaintGL(This) \ 8539 ( (This)->lpVtbl -> PaintGL(This) ) 8540 8541 #define IDeckLinkGLScreenPreviewHelper_SetFrame(This,theFrame) \ 8542 ( (This)->lpVtbl -> SetFrame(This,theFrame) ) 8543 8544 #define IDeckLinkGLScreenPreviewHelper_Set3DPreviewFormat(This,previewFormat) \ 8545 ( (This)->lpVtbl -> Set3DPreviewFormat(This,previewFormat) ) 8546 8547 #endif /* COBJMACROS */ 8548 8549 8550 #endif /* C style interface */ 8551 8552 8553 8554 8555 #endif /* __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__ */ 8556 8557 8558 #ifndef __IDeckLinkDX9ScreenPreviewHelper_INTERFACE_DEFINED__ 8559 #define __IDeckLinkDX9ScreenPreviewHelper_INTERFACE_DEFINED__ 8560 8561 /* interface IDeckLinkDX9ScreenPreviewHelper */ 8562 /* [helpstring][local][uuid][object] */ 8563 8564 8565 EXTERN_C const IID IID_IDeckLinkDX9ScreenPreviewHelper; 8566 8567 #if defined(__cplusplus) && !defined(CINTERFACE) 8568 8569 MIDL_INTERFACE("2094B522-D1A1-40C0-9AC7-1C012218EF02") 8570 IDeckLinkDX9ScreenPreviewHelper : public IUnknown 8571 { 8572 public: 8573 virtual HRESULT STDMETHODCALLTYPE Initialize( 8574 /* [in] */ void *device) = 0; 8575 8576 virtual HRESULT STDMETHODCALLTYPE Render( 8577 /* [in] */ RECT *rc) = 0; 8578 8579 virtual HRESULT STDMETHODCALLTYPE SetFrame( 8580 /* [in] */ IDeckLinkVideoFrame *theFrame) = 0; 8581 8582 virtual HRESULT STDMETHODCALLTYPE Set3DPreviewFormat( 8583 /* [in] */ BMD3DPreviewFormat previewFormat) = 0; 8584 8585 }; 8586 8587 8588 #else /* C style interface */ 8589 8590 typedef struct IDeckLinkDX9ScreenPreviewHelperVtbl 8591 { 8592 BEGIN_INTERFACE 8593 8594 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 8595 IDeckLinkDX9ScreenPreviewHelper * This, 8596 /* [in] */ REFIID riid, 8597 /* [annotation][iid_is][out] */ 8598 _COM_Outptr_ void **ppvObject); 8599 8600 ULONG ( STDMETHODCALLTYPE *AddRef )( 8601 IDeckLinkDX9ScreenPreviewHelper * This); 8602 8603 ULONG ( STDMETHODCALLTYPE *Release )( 8604 IDeckLinkDX9ScreenPreviewHelper * This); 8605 8606 HRESULT ( STDMETHODCALLTYPE *Initialize )( 8607 IDeckLinkDX9ScreenPreviewHelper * This, 8608 /* [in] */ void *device); 8609 8610 HRESULT ( STDMETHODCALLTYPE *Render )( 8611 IDeckLinkDX9ScreenPreviewHelper * This, 8612 /* [in] */ RECT *rc); 8613 8614 HRESULT ( STDMETHODCALLTYPE *SetFrame )( 8615 IDeckLinkDX9ScreenPreviewHelper * This, 8616 /* [in] */ IDeckLinkVideoFrame *theFrame); 8617 8618 HRESULT ( STDMETHODCALLTYPE *Set3DPreviewFormat )( 8619 IDeckLinkDX9ScreenPreviewHelper * This, 8620 /* [in] */ BMD3DPreviewFormat previewFormat); 8621 8622 END_INTERFACE 8623 } IDeckLinkDX9ScreenPreviewHelperVtbl; 8624 8625 interface IDeckLinkDX9ScreenPreviewHelper 8626 { 8627 CONST_VTBL struct IDeckLinkDX9ScreenPreviewHelperVtbl *lpVtbl; 8628 }; 8629 8630 8631 8632 #ifdef COBJMACROS 8633 8634 8635 #define IDeckLinkDX9ScreenPreviewHelper_QueryInterface(This,riid,ppvObject) \ 8636 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 8637 8638 #define IDeckLinkDX9ScreenPreviewHelper_AddRef(This) \ 8639 ( (This)->lpVtbl -> AddRef(This) ) 8640 8641 #define IDeckLinkDX9ScreenPreviewHelper_Release(This) \ 8642 ( (This)->lpVtbl -> Release(This) ) 8643 8644 8645 #define IDeckLinkDX9ScreenPreviewHelper_Initialize(This,device) \ 8646 ( (This)->lpVtbl -> Initialize(This,device) ) 8647 8648 #define IDeckLinkDX9ScreenPreviewHelper_Render(This,rc) \ 8649 ( (This)->lpVtbl -> Render(This,rc) ) 8650 8651 #define IDeckLinkDX9ScreenPreviewHelper_SetFrame(This,theFrame) \ 8652 ( (This)->lpVtbl -> SetFrame(This,theFrame) ) 8653 8654 #define IDeckLinkDX9ScreenPreviewHelper_Set3DPreviewFormat(This,previewFormat) \ 8655 ( (This)->lpVtbl -> Set3DPreviewFormat(This,previewFormat) ) 8656 8657 #endif /* COBJMACROS */ 8658 8659 8660 #endif /* C style interface */ 8661 8662 8663 8664 8665 #endif /* __IDeckLinkDX9ScreenPreviewHelper_INTERFACE_DEFINED__ */ 8666 8667 8668 #ifndef __IDeckLinkNotificationCallback_INTERFACE_DEFINED__ 8669 #define __IDeckLinkNotificationCallback_INTERFACE_DEFINED__ 8670 8671 /* interface IDeckLinkNotificationCallback */ 8672 /* [helpstring][local][uuid][object] */ 8673 8674 8675 EXTERN_C const IID IID_IDeckLinkNotificationCallback; 8676 8677 #if defined(__cplusplus) && !defined(CINTERFACE) 8678 8679 MIDL_INTERFACE("b002a1ec-070d-4288-8289-bd5d36e5ff0d") 8680 IDeckLinkNotificationCallback : public IUnknown 8681 { 8682 public: 8683 virtual HRESULT STDMETHODCALLTYPE Notify( 8684 /* [in] */ BMDNotifications topic, 8685 /* [in] */ ULONGLONG param1, 8686 /* [in] */ ULONGLONG param2) = 0; 8687 8688 }; 8689 8690 8691 #else /* C style interface */ 8692 8693 typedef struct IDeckLinkNotificationCallbackVtbl 8694 { 8695 BEGIN_INTERFACE 8696 8697 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 8698 IDeckLinkNotificationCallback * This, 8699 /* [in] */ REFIID riid, 8700 /* [annotation][iid_is][out] */ 8701 _COM_Outptr_ void **ppvObject); 8702 8703 ULONG ( STDMETHODCALLTYPE *AddRef )( 8704 IDeckLinkNotificationCallback * This); 8705 8706 ULONG ( STDMETHODCALLTYPE *Release )( 8707 IDeckLinkNotificationCallback * This); 8708 8709 HRESULT ( STDMETHODCALLTYPE *Notify )( 8710 IDeckLinkNotificationCallback * This, 8711 /* [in] */ BMDNotifications topic, 8712 /* [in] */ ULONGLONG param1, 8713 /* [in] */ ULONGLONG param2); 8714 8715 END_INTERFACE 8716 } IDeckLinkNotificationCallbackVtbl; 8717 8718 interface IDeckLinkNotificationCallback 8719 { 8720 CONST_VTBL struct IDeckLinkNotificationCallbackVtbl *lpVtbl; 8721 }; 8722 8723 8724 8725 #ifdef COBJMACROS 8726 8727 8728 #define IDeckLinkNotificationCallback_QueryInterface(This,riid,ppvObject) \ 8729 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 8730 8731 #define IDeckLinkNotificationCallback_AddRef(This) \ 8732 ( (This)->lpVtbl -> AddRef(This) ) 8733 8734 #define IDeckLinkNotificationCallback_Release(This) \ 8735 ( (This)->lpVtbl -> Release(This) ) 8736 8737 8738 #define IDeckLinkNotificationCallback_Notify(This,topic,param1,param2) \ 8739 ( (This)->lpVtbl -> Notify(This,topic,param1,param2) ) 8740 8741 #endif /* COBJMACROS */ 8742 8743 8744 #endif /* C style interface */ 8745 8746 8747 8748 8749 #endif /* __IDeckLinkNotificationCallback_INTERFACE_DEFINED__ */ 8750 8751 8752 #ifndef __IDeckLinkNotification_INTERFACE_DEFINED__ 8753 #define __IDeckLinkNotification_INTERFACE_DEFINED__ 8754 8755 /* interface IDeckLinkNotification */ 8756 /* [helpstring][local][uuid][object] */ 8757 8758 8759 EXTERN_C const IID IID_IDeckLinkNotification; 8760 8761 #if defined(__cplusplus) && !defined(CINTERFACE) 8762 8763 MIDL_INTERFACE("b85df4c8-bdf5-47c1-8064-28162ebdd4eb") 8764 IDeckLinkNotification : public IUnknown 8765 { 8766 public: 8767 virtual HRESULT STDMETHODCALLTYPE Subscribe( 8768 /* [in] */ BMDNotifications topic, 8769 /* [in] */ IDeckLinkNotificationCallback *theCallback) = 0; 8770 8771 virtual HRESULT STDMETHODCALLTYPE Unsubscribe( 8772 /* [in] */ BMDNotifications topic, 8773 /* [in] */ IDeckLinkNotificationCallback *theCallback) = 0; 8774 8775 }; 8776 8777 8778 #else /* C style interface */ 8779 8780 typedef struct IDeckLinkNotificationVtbl 8781 { 8782 BEGIN_INTERFACE 8783 8784 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 8785 IDeckLinkNotification * This, 8786 /* [in] */ REFIID riid, 8787 /* [annotation][iid_is][out] */ 8788 _COM_Outptr_ void **ppvObject); 8789 8790 ULONG ( STDMETHODCALLTYPE *AddRef )( 8791 IDeckLinkNotification * This); 8792 8793 ULONG ( STDMETHODCALLTYPE *Release )( 8794 IDeckLinkNotification * This); 8795 8796 HRESULT ( STDMETHODCALLTYPE *Subscribe )( 8797 IDeckLinkNotification * This, 8798 /* [in] */ BMDNotifications topic, 8799 /* [in] */ IDeckLinkNotificationCallback *theCallback); 8800 8801 HRESULT ( STDMETHODCALLTYPE *Unsubscribe )( 8802 IDeckLinkNotification * This, 8803 /* [in] */ BMDNotifications topic, 8804 /* [in] */ IDeckLinkNotificationCallback *theCallback); 8805 8806 END_INTERFACE 8807 } IDeckLinkNotificationVtbl; 8808 8809 interface IDeckLinkNotification 8810 { 8811 CONST_VTBL struct IDeckLinkNotificationVtbl *lpVtbl; 8812 }; 8813 8814 8815 8816 #ifdef COBJMACROS 8817 8818 8819 #define IDeckLinkNotification_QueryInterface(This,riid,ppvObject) \ 8820 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 8821 8822 #define IDeckLinkNotification_AddRef(This) \ 8823 ( (This)->lpVtbl -> AddRef(This) ) 8824 8825 #define IDeckLinkNotification_Release(This) \ 8826 ( (This)->lpVtbl -> Release(This) ) 8827 8828 8829 #define IDeckLinkNotification_Subscribe(This,topic,theCallback) \ 8830 ( (This)->lpVtbl -> Subscribe(This,topic,theCallback) ) 8831 8832 #define IDeckLinkNotification_Unsubscribe(This,topic,theCallback) \ 8833 ( (This)->lpVtbl -> Unsubscribe(This,topic,theCallback) ) 8834 8835 #endif /* COBJMACROS */ 8836 8837 8838 #endif /* C style interface */ 8839 8840 8841 8842 8843 #endif /* __IDeckLinkNotification_INTERFACE_DEFINED__ */ 8844 8845 8846 #ifndef __IDeckLinkProfileAttributes_INTERFACE_DEFINED__ 8847 #define __IDeckLinkProfileAttributes_INTERFACE_DEFINED__ 8848 8849 /* interface IDeckLinkProfileAttributes */ 8850 /* [helpstring][local][uuid][object] */ 8851 8852 8853 EXTERN_C const IID IID_IDeckLinkProfileAttributes; 8854 8855 #if defined(__cplusplus) && !defined(CINTERFACE) 8856 8857 MIDL_INTERFACE("17D4BF8E-4911-473A-80A0-731CF6FF345B") 8858 IDeckLinkProfileAttributes : public IUnknown 8859 { 8860 public: 8861 virtual HRESULT STDMETHODCALLTYPE GetFlag( 8862 /* [in] */ BMDDeckLinkAttributeID cfgID, 8863 /* [out] */ BOOL *value) = 0; 8864 8865 virtual HRESULT STDMETHODCALLTYPE GetInt( 8866 /* [in] */ BMDDeckLinkAttributeID cfgID, 8867 /* [out] */ LONGLONG *value) = 0; 8868 8869 virtual HRESULT STDMETHODCALLTYPE GetFloat( 8870 /* [in] */ BMDDeckLinkAttributeID cfgID, 8871 /* [out] */ double *value) = 0; 8872 8873 virtual HRESULT STDMETHODCALLTYPE GetString( 8874 /* [in] */ BMDDeckLinkAttributeID cfgID, 8875 /* [out] */ BSTR *value) = 0; 8876 8877 }; 8878 8879 8880 #else /* C style interface */ 8881 8882 typedef struct IDeckLinkProfileAttributesVtbl 8883 { 8884 BEGIN_INTERFACE 8885 8886 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 8887 IDeckLinkProfileAttributes * This, 8888 /* [in] */ REFIID riid, 8889 /* [annotation][iid_is][out] */ 8890 _COM_Outptr_ void **ppvObject); 8891 8892 ULONG ( STDMETHODCALLTYPE *AddRef )( 8893 IDeckLinkProfileAttributes * This); 8894 8895 ULONG ( STDMETHODCALLTYPE *Release )( 8896 IDeckLinkProfileAttributes * This); 8897 8898 HRESULT ( STDMETHODCALLTYPE *GetFlag )( 8899 IDeckLinkProfileAttributes * This, 8900 /* [in] */ BMDDeckLinkAttributeID cfgID, 8901 /* [out] */ BOOL *value); 8902 8903 HRESULT ( STDMETHODCALLTYPE *GetInt )( 8904 IDeckLinkProfileAttributes * This, 8905 /* [in] */ BMDDeckLinkAttributeID cfgID, 8906 /* [out] */ LONGLONG *value); 8907 8908 HRESULT ( STDMETHODCALLTYPE *GetFloat )( 8909 IDeckLinkProfileAttributes * This, 8910 /* [in] */ BMDDeckLinkAttributeID cfgID, 8911 /* [out] */ double *value); 8912 8913 HRESULT ( STDMETHODCALLTYPE *GetString )( 8914 IDeckLinkProfileAttributes * This, 8915 /* [in] */ BMDDeckLinkAttributeID cfgID, 8916 /* [out] */ BSTR *value); 8917 8918 END_INTERFACE 8919 } IDeckLinkProfileAttributesVtbl; 8920 8921 interface IDeckLinkProfileAttributes 8922 { 8923 CONST_VTBL struct IDeckLinkProfileAttributesVtbl *lpVtbl; 8924 }; 8925 8926 8927 8928 #ifdef COBJMACROS 8929 8930 8931 #define IDeckLinkProfileAttributes_QueryInterface(This,riid,ppvObject) \ 8932 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 8933 8934 #define IDeckLinkProfileAttributes_AddRef(This) \ 8935 ( (This)->lpVtbl -> AddRef(This) ) 8936 8937 #define IDeckLinkProfileAttributes_Release(This) \ 8938 ( (This)->lpVtbl -> Release(This) ) 8939 8940 8941 #define IDeckLinkProfileAttributes_GetFlag(This,cfgID,value) \ 8942 ( (This)->lpVtbl -> GetFlag(This,cfgID,value) ) 8943 8944 #define IDeckLinkProfileAttributes_GetInt(This,cfgID,value) \ 8945 ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) 8946 8947 #define IDeckLinkProfileAttributes_GetFloat(This,cfgID,value) \ 8948 ( (This)->lpVtbl -> GetFloat(This,cfgID,value) ) 8949 8950 #define IDeckLinkProfileAttributes_GetString(This,cfgID,value) \ 8951 ( (This)->lpVtbl -> GetString(This,cfgID,value) ) 8952 8953 #endif /* COBJMACROS */ 8954 8955 8956 #endif /* C style interface */ 8957 8958 8959 8960 8961 #endif /* __IDeckLinkProfileAttributes_INTERFACE_DEFINED__ */ 8962 8963 8964 #ifndef __IDeckLinkProfileIterator_INTERFACE_DEFINED__ 8965 #define __IDeckLinkProfileIterator_INTERFACE_DEFINED__ 8966 8967 /* interface IDeckLinkProfileIterator */ 8968 /* [helpstring][uuid][object] */ 8969 8970 8971 EXTERN_C const IID IID_IDeckLinkProfileIterator; 8972 8973 #if defined(__cplusplus) && !defined(CINTERFACE) 8974 8975 MIDL_INTERFACE("29E5A8C0-8BE4-46EB-93AC-31DAAB5B7BF2") 8976 IDeckLinkProfileIterator : public IUnknown 8977 { 8978 public: 8979 virtual HRESULT STDMETHODCALLTYPE Next( 8980 /* [out] */ IDeckLinkProfile **profile) = 0; 8981 8982 }; 8983 8984 8985 #else /* C style interface */ 8986 8987 typedef struct IDeckLinkProfileIteratorVtbl 8988 { 8989 BEGIN_INTERFACE 8990 8991 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 8992 IDeckLinkProfileIterator * This, 8993 /* [in] */ REFIID riid, 8994 /* [annotation][iid_is][out] */ 8995 _COM_Outptr_ void **ppvObject); 8996 8997 ULONG ( STDMETHODCALLTYPE *AddRef )( 8998 IDeckLinkProfileIterator * This); 8999 9000 ULONG ( STDMETHODCALLTYPE *Release )( 9001 IDeckLinkProfileIterator * This); 9002 9003 HRESULT ( STDMETHODCALLTYPE *Next )( 9004 IDeckLinkProfileIterator * This, 9005 /* [out] */ IDeckLinkProfile **profile); 9006 9007 END_INTERFACE 9008 } IDeckLinkProfileIteratorVtbl; 9009 9010 interface IDeckLinkProfileIterator 9011 { 9012 CONST_VTBL struct IDeckLinkProfileIteratorVtbl *lpVtbl; 9013 }; 9014 9015 9016 9017 #ifdef COBJMACROS 9018 9019 9020 #define IDeckLinkProfileIterator_QueryInterface(This,riid,ppvObject) \ 9021 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 9022 9023 #define IDeckLinkProfileIterator_AddRef(This) \ 9024 ( (This)->lpVtbl -> AddRef(This) ) 9025 9026 #define IDeckLinkProfileIterator_Release(This) \ 9027 ( (This)->lpVtbl -> Release(This) ) 9028 9029 9030 #define IDeckLinkProfileIterator_Next(This,profile) \ 9031 ( (This)->lpVtbl -> Next(This,profile) ) 9032 9033 #endif /* COBJMACROS */ 9034 9035 9036 #endif /* C style interface */ 9037 9038 9039 9040 9041 #endif /* __IDeckLinkProfileIterator_INTERFACE_DEFINED__ */ 9042 9043 9044 #ifndef __IDeckLinkProfile_INTERFACE_DEFINED__ 9045 #define __IDeckLinkProfile_INTERFACE_DEFINED__ 9046 9047 /* interface IDeckLinkProfile */ 9048 /* [helpstring][local][uuid][object] */ 9049 9050 9051 EXTERN_C const IID IID_IDeckLinkProfile; 9052 9053 #if defined(__cplusplus) && !defined(CINTERFACE) 9054 9055 MIDL_INTERFACE("16093466-674A-432B-9DA0-1AC2C5A8241C") 9056 IDeckLinkProfile : public IUnknown 9057 { 9058 public: 9059 virtual HRESULT STDMETHODCALLTYPE GetDevice( 9060 /* [out] */ IDeckLink **device) = 0; 9061 9062 virtual HRESULT STDMETHODCALLTYPE IsActive( 9063 /* [out] */ BOOL *isActive) = 0; 9064 9065 virtual HRESULT STDMETHODCALLTYPE SetActive( void) = 0; 9066 9067 virtual HRESULT STDMETHODCALLTYPE GetPeers( 9068 /* [out] */ IDeckLinkProfileIterator **profileIterator) = 0; 9069 9070 }; 9071 9072 9073 #else /* C style interface */ 9074 9075 typedef struct IDeckLinkProfileVtbl 9076 { 9077 BEGIN_INTERFACE 9078 9079 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 9080 IDeckLinkProfile * This, 9081 /* [in] */ REFIID riid, 9082 /* [annotation][iid_is][out] */ 9083 _COM_Outptr_ void **ppvObject); 9084 9085 ULONG ( STDMETHODCALLTYPE *AddRef )( 9086 IDeckLinkProfile * This); 9087 9088 ULONG ( STDMETHODCALLTYPE *Release )( 9089 IDeckLinkProfile * This); 9090 9091 HRESULT ( STDMETHODCALLTYPE *GetDevice )( 9092 IDeckLinkProfile * This, 9093 /* [out] */ IDeckLink **device); 9094 9095 HRESULT ( STDMETHODCALLTYPE *IsActive )( 9096 IDeckLinkProfile * This, 9097 /* [out] */ BOOL *isActive); 9098 9099 HRESULT ( STDMETHODCALLTYPE *SetActive )( 9100 IDeckLinkProfile * This); 9101 9102 HRESULT ( STDMETHODCALLTYPE *GetPeers )( 9103 IDeckLinkProfile * This, 9104 /* [out] */ IDeckLinkProfileIterator **profileIterator); 9105 9106 END_INTERFACE 9107 } IDeckLinkProfileVtbl; 9108 9109 interface IDeckLinkProfile 9110 { 9111 CONST_VTBL struct IDeckLinkProfileVtbl *lpVtbl; 9112 }; 9113 9114 9115 9116 #ifdef COBJMACROS 9117 9118 9119 #define IDeckLinkProfile_QueryInterface(This,riid,ppvObject) \ 9120 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 9121 9122 #define IDeckLinkProfile_AddRef(This) \ 9123 ( (This)->lpVtbl -> AddRef(This) ) 9124 9125 #define IDeckLinkProfile_Release(This) \ 9126 ( (This)->lpVtbl -> Release(This) ) 9127 9128 9129 #define IDeckLinkProfile_GetDevice(This,device) \ 9130 ( (This)->lpVtbl -> GetDevice(This,device) ) 9131 9132 #define IDeckLinkProfile_IsActive(This,isActive) \ 9133 ( (This)->lpVtbl -> IsActive(This,isActive) ) 9134 9135 #define IDeckLinkProfile_SetActive(This) \ 9136 ( (This)->lpVtbl -> SetActive(This) ) 9137 9138 #define IDeckLinkProfile_GetPeers(This,profileIterator) \ 9139 ( (This)->lpVtbl -> GetPeers(This,profileIterator) ) 9140 9141 #endif /* COBJMACROS */ 9142 9143 9144 #endif /* C style interface */ 9145 9146 9147 9148 9149 #endif /* __IDeckLinkProfile_INTERFACE_DEFINED__ */ 9150 9151 9152 #ifndef __IDeckLinkProfileCallback_INTERFACE_DEFINED__ 9153 #define __IDeckLinkProfileCallback_INTERFACE_DEFINED__ 9154 9155 /* interface IDeckLinkProfileCallback */ 9156 /* [helpstring][uuid][object] */ 9157 9158 9159 EXTERN_C const IID IID_IDeckLinkProfileCallback; 9160 9161 #if defined(__cplusplus) && !defined(CINTERFACE) 9162 9163 MIDL_INTERFACE("A4F9341E-97AA-4E04-8935-15F809898CEA") 9164 IDeckLinkProfileCallback : public IUnknown 9165 { 9166 public: 9167 virtual HRESULT STDMETHODCALLTYPE ProfileChanging( 9168 /* [in] */ IDeckLinkProfile *profileToBeActivated, 9169 /* [in] */ BOOL streamsWillBeForcedToStop) = 0; 9170 9171 virtual HRESULT STDMETHODCALLTYPE ProfileActivated( 9172 /* [in] */ IDeckLinkProfile *activatedProfile) = 0; 9173 9174 }; 9175 9176 9177 #else /* C style interface */ 9178 9179 typedef struct IDeckLinkProfileCallbackVtbl 9180 { 9181 BEGIN_INTERFACE 9182 9183 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 9184 IDeckLinkProfileCallback * This, 9185 /* [in] */ REFIID riid, 9186 /* [annotation][iid_is][out] */ 9187 _COM_Outptr_ void **ppvObject); 9188 9189 ULONG ( STDMETHODCALLTYPE *AddRef )( 9190 IDeckLinkProfileCallback * This); 9191 9192 ULONG ( STDMETHODCALLTYPE *Release )( 9193 IDeckLinkProfileCallback * This); 9194 9195 HRESULT ( STDMETHODCALLTYPE *ProfileChanging )( 9196 IDeckLinkProfileCallback * This, 9197 /* [in] */ IDeckLinkProfile *profileToBeActivated, 9198 /* [in] */ BOOL streamsWillBeForcedToStop); 9199 9200 HRESULT ( STDMETHODCALLTYPE *ProfileActivated )( 9201 IDeckLinkProfileCallback * This, 9202 /* [in] */ IDeckLinkProfile *activatedProfile); 9203 9204 END_INTERFACE 9205 } IDeckLinkProfileCallbackVtbl; 9206 9207 interface IDeckLinkProfileCallback 9208 { 9209 CONST_VTBL struct IDeckLinkProfileCallbackVtbl *lpVtbl; 9210 }; 9211 9212 9213 9214 #ifdef COBJMACROS 9215 9216 9217 #define IDeckLinkProfileCallback_QueryInterface(This,riid,ppvObject) \ 9218 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 9219 9220 #define IDeckLinkProfileCallback_AddRef(This) \ 9221 ( (This)->lpVtbl -> AddRef(This) ) 9222 9223 #define IDeckLinkProfileCallback_Release(This) \ 9224 ( (This)->lpVtbl -> Release(This) ) 9225 9226 9227 #define IDeckLinkProfileCallback_ProfileChanging(This,profileToBeActivated,streamsWillBeForcedToStop) \ 9228 ( (This)->lpVtbl -> ProfileChanging(This,profileToBeActivated,streamsWillBeForcedToStop) ) 9229 9230 #define IDeckLinkProfileCallback_ProfileActivated(This,activatedProfile) \ 9231 ( (This)->lpVtbl -> ProfileActivated(This,activatedProfile) ) 9232 9233 #endif /* COBJMACROS */ 9234 9235 9236 #endif /* C style interface */ 9237 9238 9239 9240 9241 #endif /* __IDeckLinkProfileCallback_INTERFACE_DEFINED__ */ 9242 9243 9244 #ifndef __IDeckLinkProfileManager_INTERFACE_DEFINED__ 9245 #define __IDeckLinkProfileManager_INTERFACE_DEFINED__ 9246 9247 /* interface IDeckLinkProfileManager */ 9248 /* [helpstring][uuid][object] */ 9249 9250 9251 EXTERN_C const IID IID_IDeckLinkProfileManager; 9252 9253 #if defined(__cplusplus) && !defined(CINTERFACE) 9254 9255 MIDL_INTERFACE("30D41429-3998-4B6D-84F8-78C94A797C6E") 9256 IDeckLinkProfileManager : public IUnknown 9257 { 9258 public: 9259 virtual HRESULT STDMETHODCALLTYPE GetProfiles( 9260 /* [out] */ IDeckLinkProfileIterator **profileIterator) = 0; 9261 9262 virtual HRESULT STDMETHODCALLTYPE GetProfile( 9263 /* [in] */ BMDProfileID profileID, 9264 /* [out] */ IDeckLinkProfile **profile) = 0; 9265 9266 virtual HRESULT STDMETHODCALLTYPE SetCallback( 9267 /* [in] */ IDeckLinkProfileCallback *callback) = 0; 9268 9269 }; 9270 9271 9272 #else /* C style interface */ 9273 9274 typedef struct IDeckLinkProfileManagerVtbl 9275 { 9276 BEGIN_INTERFACE 9277 9278 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 9279 IDeckLinkProfileManager * This, 9280 /* [in] */ REFIID riid, 9281 /* [annotation][iid_is][out] */ 9282 _COM_Outptr_ void **ppvObject); 9283 9284 ULONG ( STDMETHODCALLTYPE *AddRef )( 9285 IDeckLinkProfileManager * This); 9286 9287 ULONG ( STDMETHODCALLTYPE *Release )( 9288 IDeckLinkProfileManager * This); 9289 9290 HRESULT ( STDMETHODCALLTYPE *GetProfiles )( 9291 IDeckLinkProfileManager * This, 9292 /* [out] */ IDeckLinkProfileIterator **profileIterator); 9293 9294 HRESULT ( STDMETHODCALLTYPE *GetProfile )( 9295 IDeckLinkProfileManager * This, 9296 /* [in] */ BMDProfileID profileID, 9297 /* [out] */ IDeckLinkProfile **profile); 9298 9299 HRESULT ( STDMETHODCALLTYPE *SetCallback )( 9300 IDeckLinkProfileManager * This, 9301 /* [in] */ IDeckLinkProfileCallback *callback); 9302 9303 END_INTERFACE 9304 } IDeckLinkProfileManagerVtbl; 9305 9306 interface IDeckLinkProfileManager 9307 { 9308 CONST_VTBL struct IDeckLinkProfileManagerVtbl *lpVtbl; 9309 }; 9310 9311 9312 9313 #ifdef COBJMACROS 9314 9315 9316 #define IDeckLinkProfileManager_QueryInterface(This,riid,ppvObject) \ 9317 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 9318 9319 #define IDeckLinkProfileManager_AddRef(This) \ 9320 ( (This)->lpVtbl -> AddRef(This) ) 9321 9322 #define IDeckLinkProfileManager_Release(This) \ 9323 ( (This)->lpVtbl -> Release(This) ) 9324 9325 9326 #define IDeckLinkProfileManager_GetProfiles(This,profileIterator) \ 9327 ( (This)->lpVtbl -> GetProfiles(This,profileIterator) ) 9328 9329 #define IDeckLinkProfileManager_GetProfile(This,profileID,profile) \ 9330 ( (This)->lpVtbl -> GetProfile(This,profileID,profile) ) 9331 9332 #define IDeckLinkProfileManager_SetCallback(This,callback) \ 9333 ( (This)->lpVtbl -> SetCallback(This,callback) ) 9334 9335 #endif /* COBJMACROS */ 9336 9337 9338 #endif /* C style interface */ 9339 9340 9341 9342 9343 #endif /* __IDeckLinkProfileManager_INTERFACE_DEFINED__ */ 9344 9345 9346 #ifndef __IDeckLinkStatus_INTERFACE_DEFINED__ 9347 #define __IDeckLinkStatus_INTERFACE_DEFINED__ 9348 9349 /* interface IDeckLinkStatus */ 9350 /* [helpstring][local][uuid][object] */ 9351 9352 9353 EXTERN_C const IID IID_IDeckLinkStatus; 9354 9355 #if defined(__cplusplus) && !defined(CINTERFACE) 9356 9357 MIDL_INTERFACE("5F558200-4028-49BC-BEAC-DB3FA4A96E46") 9358 IDeckLinkStatus : public IUnknown 9359 { 9360 public: 9361 virtual HRESULT STDMETHODCALLTYPE GetFlag( 9362 /* [in] */ BMDDeckLinkStatusID statusID, 9363 /* [out] */ BOOL *value) = 0; 9364 9365 virtual HRESULT STDMETHODCALLTYPE GetInt( 9366 /* [in] */ BMDDeckLinkStatusID statusID, 9367 /* [out] */ LONGLONG *value) = 0; 9368 9369 virtual HRESULT STDMETHODCALLTYPE GetFloat( 9370 /* [in] */ BMDDeckLinkStatusID statusID, 9371 /* [out] */ double *value) = 0; 9372 9373 virtual HRESULT STDMETHODCALLTYPE GetString( 9374 /* [in] */ BMDDeckLinkStatusID statusID, 9375 /* [out] */ BSTR *value) = 0; 9376 9377 virtual HRESULT STDMETHODCALLTYPE GetBytes( 9378 /* [in] */ BMDDeckLinkStatusID statusID, 9379 /* [out] */ void *buffer, 9380 /* [out][in] */ unsigned int *bufferSize) = 0; 9381 9382 }; 9383 9384 9385 #else /* C style interface */ 9386 9387 typedef struct IDeckLinkStatusVtbl 9388 { 9389 BEGIN_INTERFACE 9390 9391 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 9392 IDeckLinkStatus * This, 9393 /* [in] */ REFIID riid, 9394 /* [annotation][iid_is][out] */ 9395 _COM_Outptr_ void **ppvObject); 9396 9397 ULONG ( STDMETHODCALLTYPE *AddRef )( 9398 IDeckLinkStatus * This); 9399 9400 ULONG ( STDMETHODCALLTYPE *Release )( 9401 IDeckLinkStatus * This); 9402 9403 HRESULT ( STDMETHODCALLTYPE *GetFlag )( 9404 IDeckLinkStatus * This, 9405 /* [in] */ BMDDeckLinkStatusID statusID, 9406 /* [out] */ BOOL *value); 9407 9408 HRESULT ( STDMETHODCALLTYPE *GetInt )( 9409 IDeckLinkStatus * This, 9410 /* [in] */ BMDDeckLinkStatusID statusID, 9411 /* [out] */ LONGLONG *value); 9412 9413 HRESULT ( STDMETHODCALLTYPE *GetFloat )( 9414 IDeckLinkStatus * This, 9415 /* [in] */ BMDDeckLinkStatusID statusID, 9416 /* [out] */ double *value); 9417 9418 HRESULT ( STDMETHODCALLTYPE *GetString )( 9419 IDeckLinkStatus * This, 9420 /* [in] */ BMDDeckLinkStatusID statusID, 9421 /* [out] */ BSTR *value); 9422 9423 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 9424 IDeckLinkStatus * This, 9425 /* [in] */ BMDDeckLinkStatusID statusID, 9426 /* [out] */ void *buffer, 9427 /* [out][in] */ unsigned int *bufferSize); 9428 9429 END_INTERFACE 9430 } IDeckLinkStatusVtbl; 9431 9432 interface IDeckLinkStatus 9433 { 9434 CONST_VTBL struct IDeckLinkStatusVtbl *lpVtbl; 9435 }; 9436 9437 9438 9439 #ifdef COBJMACROS 9440 9441 9442 #define IDeckLinkStatus_QueryInterface(This,riid,ppvObject) \ 9443 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 9444 9445 #define IDeckLinkStatus_AddRef(This) \ 9446 ( (This)->lpVtbl -> AddRef(This) ) 9447 9448 #define IDeckLinkStatus_Release(This) \ 9449 ( (This)->lpVtbl -> Release(This) ) 9450 9451 9452 #define IDeckLinkStatus_GetFlag(This,statusID,value) \ 9453 ( (This)->lpVtbl -> GetFlag(This,statusID,value) ) 9454 9455 #define IDeckLinkStatus_GetInt(This,statusID,value) \ 9456 ( (This)->lpVtbl -> GetInt(This,statusID,value) ) 9457 9458 #define IDeckLinkStatus_GetFloat(This,statusID,value) \ 9459 ( (This)->lpVtbl -> GetFloat(This,statusID,value) ) 9460 9461 #define IDeckLinkStatus_GetString(This,statusID,value) \ 9462 ( (This)->lpVtbl -> GetString(This,statusID,value) ) 9463 9464 #define IDeckLinkStatus_GetBytes(This,statusID,buffer,bufferSize) \ 9465 ( (This)->lpVtbl -> GetBytes(This,statusID,buffer,bufferSize) ) 9466 9467 #endif /* COBJMACROS */ 9468 9469 9470 #endif /* C style interface */ 9471 9472 9473 9474 9475 #endif /* __IDeckLinkStatus_INTERFACE_DEFINED__ */ 9476 9477 9478 #ifndef __IDeckLinkKeyer_INTERFACE_DEFINED__ 9479 #define __IDeckLinkKeyer_INTERFACE_DEFINED__ 9480 9481 /* interface IDeckLinkKeyer */ 9482 /* [helpstring][local][uuid][object] */ 9483 9484 9485 EXTERN_C const IID IID_IDeckLinkKeyer; 9486 9487 #if defined(__cplusplus) && !defined(CINTERFACE) 9488 9489 MIDL_INTERFACE("89AFCAF5-65F8-421E-98F7-96FE5F5BFBA3") 9490 IDeckLinkKeyer : public IUnknown 9491 { 9492 public: 9493 virtual HRESULT STDMETHODCALLTYPE Enable( 9494 /* [in] */ BOOL isExternal) = 0; 9495 9496 virtual HRESULT STDMETHODCALLTYPE SetLevel( 9497 /* [in] */ unsigned char level) = 0; 9498 9499 virtual HRESULT STDMETHODCALLTYPE RampUp( 9500 /* [in] */ unsigned int numberOfFrames) = 0; 9501 9502 virtual HRESULT STDMETHODCALLTYPE RampDown( 9503 /* [in] */ unsigned int numberOfFrames) = 0; 9504 9505 virtual HRESULT STDMETHODCALLTYPE Disable( void) = 0; 9506 9507 }; 9508 9509 9510 #else /* C style interface */ 9511 9512 typedef struct IDeckLinkKeyerVtbl 9513 { 9514 BEGIN_INTERFACE 9515 9516 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 9517 IDeckLinkKeyer * This, 9518 /* [in] */ REFIID riid, 9519 /* [annotation][iid_is][out] */ 9520 _COM_Outptr_ void **ppvObject); 9521 9522 ULONG ( STDMETHODCALLTYPE *AddRef )( 9523 IDeckLinkKeyer * This); 9524 9525 ULONG ( STDMETHODCALLTYPE *Release )( 9526 IDeckLinkKeyer * This); 9527 9528 HRESULT ( STDMETHODCALLTYPE *Enable )( 9529 IDeckLinkKeyer * This, 9530 /* [in] */ BOOL isExternal); 9531 9532 HRESULT ( STDMETHODCALLTYPE *SetLevel )( 9533 IDeckLinkKeyer * This, 9534 /* [in] */ unsigned char level); 9535 9536 HRESULT ( STDMETHODCALLTYPE *RampUp )( 9537 IDeckLinkKeyer * This, 9538 /* [in] */ unsigned int numberOfFrames); 9539 9540 HRESULT ( STDMETHODCALLTYPE *RampDown )( 9541 IDeckLinkKeyer * This, 9542 /* [in] */ unsigned int numberOfFrames); 9543 9544 HRESULT ( STDMETHODCALLTYPE *Disable )( 9545 IDeckLinkKeyer * This); 9546 9547 END_INTERFACE 9548 } IDeckLinkKeyerVtbl; 9549 9550 interface IDeckLinkKeyer 9551 { 9552 CONST_VTBL struct IDeckLinkKeyerVtbl *lpVtbl; 9553 }; 9554 9555 9556 9557 #ifdef COBJMACROS 9558 9559 9560 #define IDeckLinkKeyer_QueryInterface(This,riid,ppvObject) \ 9561 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 9562 9563 #define IDeckLinkKeyer_AddRef(This) \ 9564 ( (This)->lpVtbl -> AddRef(This) ) 9565 9566 #define IDeckLinkKeyer_Release(This) \ 9567 ( (This)->lpVtbl -> Release(This) ) 9568 9569 9570 #define IDeckLinkKeyer_Enable(This,isExternal) \ 9571 ( (This)->lpVtbl -> Enable(This,isExternal) ) 9572 9573 #define IDeckLinkKeyer_SetLevel(This,level) \ 9574 ( (This)->lpVtbl -> SetLevel(This,level) ) 9575 9576 #define IDeckLinkKeyer_RampUp(This,numberOfFrames) \ 9577 ( (This)->lpVtbl -> RampUp(This,numberOfFrames) ) 9578 9579 #define IDeckLinkKeyer_RampDown(This,numberOfFrames) \ 9580 ( (This)->lpVtbl -> RampDown(This,numberOfFrames) ) 9581 9582 #define IDeckLinkKeyer_Disable(This) \ 9583 ( (This)->lpVtbl -> Disable(This) ) 9584 9585 #endif /* COBJMACROS */ 9586 9587 9588 #endif /* C style interface */ 9589 9590 9591 9592 9593 #endif /* __IDeckLinkKeyer_INTERFACE_DEFINED__ */ 9594 9595 9596 #ifndef __IDeckLinkVideoConversion_INTERFACE_DEFINED__ 9597 #define __IDeckLinkVideoConversion_INTERFACE_DEFINED__ 9598 9599 /* interface IDeckLinkVideoConversion */ 9600 /* [helpstring][local][uuid][object] */ 9601 9602 9603 EXTERN_C const IID IID_IDeckLinkVideoConversion; 9604 9605 #if defined(__cplusplus) && !defined(CINTERFACE) 9606 9607 MIDL_INTERFACE("3BBCB8A2-DA2C-42D9-B5D8-88083644E99A") 9608 IDeckLinkVideoConversion : public IUnknown 9609 { 9610 public: 9611 virtual HRESULT STDMETHODCALLTYPE ConvertFrame( 9612 /* [in] */ IDeckLinkVideoFrame *srcFrame, 9613 /* [in] */ IDeckLinkVideoFrame *dstFrame) = 0; 9614 9615 }; 9616 9617 9618 #else /* C style interface */ 9619 9620 typedef struct IDeckLinkVideoConversionVtbl 9621 { 9622 BEGIN_INTERFACE 9623 9624 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 9625 IDeckLinkVideoConversion * This, 9626 /* [in] */ REFIID riid, 9627 /* [annotation][iid_is][out] */ 9628 _COM_Outptr_ void **ppvObject); 9629 9630 ULONG ( STDMETHODCALLTYPE *AddRef )( 9631 IDeckLinkVideoConversion * This); 9632 9633 ULONG ( STDMETHODCALLTYPE *Release )( 9634 IDeckLinkVideoConversion * This); 9635 9636 HRESULT ( STDMETHODCALLTYPE *ConvertFrame )( 9637 IDeckLinkVideoConversion * This, 9638 /* [in] */ IDeckLinkVideoFrame *srcFrame, 9639 /* [in] */ IDeckLinkVideoFrame *dstFrame); 9640 9641 END_INTERFACE 9642 } IDeckLinkVideoConversionVtbl; 9643 9644 interface IDeckLinkVideoConversion 9645 { 9646 CONST_VTBL struct IDeckLinkVideoConversionVtbl *lpVtbl; 9647 }; 9648 9649 9650 9651 #ifdef COBJMACROS 9652 9653 9654 #define IDeckLinkVideoConversion_QueryInterface(This,riid,ppvObject) \ 9655 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 9656 9657 #define IDeckLinkVideoConversion_AddRef(This) \ 9658 ( (This)->lpVtbl -> AddRef(This) ) 9659 9660 #define IDeckLinkVideoConversion_Release(This) \ 9661 ( (This)->lpVtbl -> Release(This) ) 9662 9663 9664 #define IDeckLinkVideoConversion_ConvertFrame(This,srcFrame,dstFrame) \ 9665 ( (This)->lpVtbl -> ConvertFrame(This,srcFrame,dstFrame) ) 9666 9667 #endif /* COBJMACROS */ 9668 9669 9670 #endif /* C style interface */ 9671 9672 9673 9674 9675 #endif /* __IDeckLinkVideoConversion_INTERFACE_DEFINED__ */ 9676 9677 9678 #ifndef __IDeckLinkDeviceNotificationCallback_INTERFACE_DEFINED__ 9679 #define __IDeckLinkDeviceNotificationCallback_INTERFACE_DEFINED__ 9680 9681 /* interface IDeckLinkDeviceNotificationCallback */ 9682 /* [helpstring][uuid][object] */ 9683 9684 9685 EXTERN_C const IID IID_IDeckLinkDeviceNotificationCallback; 9686 9687 #if defined(__cplusplus) && !defined(CINTERFACE) 9688 9689 MIDL_INTERFACE("4997053B-0ADF-4CC8-AC70-7A50C4BE728F") 9690 IDeckLinkDeviceNotificationCallback : public IUnknown 9691 { 9692 public: 9693 virtual HRESULT STDMETHODCALLTYPE DeckLinkDeviceArrived( 9694 /* [in] */ IDeckLink *deckLinkDevice) = 0; 9695 9696 virtual HRESULT STDMETHODCALLTYPE DeckLinkDeviceRemoved( 9697 /* [in] */ IDeckLink *deckLinkDevice) = 0; 9698 9699 }; 9700 9701 9702 #else /* C style interface */ 9703 9704 typedef struct IDeckLinkDeviceNotificationCallbackVtbl 9705 { 9706 BEGIN_INTERFACE 9707 9708 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 9709 IDeckLinkDeviceNotificationCallback * This, 9710 /* [in] */ REFIID riid, 9711 /* [annotation][iid_is][out] */ 9712 _COM_Outptr_ void **ppvObject); 9713 9714 ULONG ( STDMETHODCALLTYPE *AddRef )( 9715 IDeckLinkDeviceNotificationCallback * This); 9716 9717 ULONG ( STDMETHODCALLTYPE *Release )( 9718 IDeckLinkDeviceNotificationCallback * This); 9719 9720 HRESULT ( STDMETHODCALLTYPE *DeckLinkDeviceArrived )( 9721 IDeckLinkDeviceNotificationCallback * This, 9722 /* [in] */ IDeckLink *deckLinkDevice); 9723 9724 HRESULT ( STDMETHODCALLTYPE *DeckLinkDeviceRemoved )( 9725 IDeckLinkDeviceNotificationCallback * This, 9726 /* [in] */ IDeckLink *deckLinkDevice); 9727 9728 END_INTERFACE 9729 } IDeckLinkDeviceNotificationCallbackVtbl; 9730 9731 interface IDeckLinkDeviceNotificationCallback 9732 { 9733 CONST_VTBL struct IDeckLinkDeviceNotificationCallbackVtbl *lpVtbl; 9734 }; 9735 9736 9737 9738 #ifdef COBJMACROS 9739 9740 9741 #define IDeckLinkDeviceNotificationCallback_QueryInterface(This,riid,ppvObject) \ 9742 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 9743 9744 #define IDeckLinkDeviceNotificationCallback_AddRef(This) \ 9745 ( (This)->lpVtbl -> AddRef(This) ) 9746 9747 #define IDeckLinkDeviceNotificationCallback_Release(This) \ 9748 ( (This)->lpVtbl -> Release(This) ) 9749 9750 9751 #define IDeckLinkDeviceNotificationCallback_DeckLinkDeviceArrived(This,deckLinkDevice) \ 9752 ( (This)->lpVtbl -> DeckLinkDeviceArrived(This,deckLinkDevice) ) 9753 9754 #define IDeckLinkDeviceNotificationCallback_DeckLinkDeviceRemoved(This,deckLinkDevice) \ 9755 ( (This)->lpVtbl -> DeckLinkDeviceRemoved(This,deckLinkDevice) ) 9756 9757 #endif /* COBJMACROS */ 9758 9759 9760 #endif /* C style interface */ 9761 9762 9763 9764 9765 #endif /* __IDeckLinkDeviceNotificationCallback_INTERFACE_DEFINED__ */ 9766 9767 9768 #ifndef __IDeckLinkDiscovery_INTERFACE_DEFINED__ 9769 #define __IDeckLinkDiscovery_INTERFACE_DEFINED__ 9770 9771 /* interface IDeckLinkDiscovery */ 9772 /* [helpstring][uuid][object] */ 9773 9774 9775 EXTERN_C const IID IID_IDeckLinkDiscovery; 9776 9777 #if defined(__cplusplus) && !defined(CINTERFACE) 9778 9779 MIDL_INTERFACE("CDBF631C-BC76-45FA-B44D-C55059BC6101") 9780 IDeckLinkDiscovery : public IUnknown 9781 { 9782 public: 9783 virtual HRESULT STDMETHODCALLTYPE InstallDeviceNotifications( 9784 /* [in] */ IDeckLinkDeviceNotificationCallback *deviceNotificationCallback) = 0; 9785 9786 virtual HRESULT STDMETHODCALLTYPE UninstallDeviceNotifications( void) = 0; 9787 9788 }; 9789 9790 9791 #else /* C style interface */ 9792 9793 typedef struct IDeckLinkDiscoveryVtbl 9794 { 9795 BEGIN_INTERFACE 9796 9797 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 9798 IDeckLinkDiscovery * This, 9799 /* [in] */ REFIID riid, 9800 /* [annotation][iid_is][out] */ 9801 _COM_Outptr_ void **ppvObject); 9802 9803 ULONG ( STDMETHODCALLTYPE *AddRef )( 9804 IDeckLinkDiscovery * This); 9805 9806 ULONG ( STDMETHODCALLTYPE *Release )( 9807 IDeckLinkDiscovery * This); 9808 9809 HRESULT ( STDMETHODCALLTYPE *InstallDeviceNotifications )( 9810 IDeckLinkDiscovery * This, 9811 /* [in] */ IDeckLinkDeviceNotificationCallback *deviceNotificationCallback); 9812 9813 HRESULT ( STDMETHODCALLTYPE *UninstallDeviceNotifications )( 9814 IDeckLinkDiscovery * This); 9815 9816 END_INTERFACE 9817 } IDeckLinkDiscoveryVtbl; 9818 9819 interface IDeckLinkDiscovery 9820 { 9821 CONST_VTBL struct IDeckLinkDiscoveryVtbl *lpVtbl; 9822 }; 9823 9824 9825 9826 #ifdef COBJMACROS 9827 9828 9829 #define IDeckLinkDiscovery_QueryInterface(This,riid,ppvObject) \ 9830 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 9831 9832 #define IDeckLinkDiscovery_AddRef(This) \ 9833 ( (This)->lpVtbl -> AddRef(This) ) 9834 9835 #define IDeckLinkDiscovery_Release(This) \ 9836 ( (This)->lpVtbl -> Release(This) ) 9837 9838 9839 #define IDeckLinkDiscovery_InstallDeviceNotifications(This,deviceNotificationCallback) \ 9840 ( (This)->lpVtbl -> InstallDeviceNotifications(This,deviceNotificationCallback) ) 9841 9842 #define IDeckLinkDiscovery_UninstallDeviceNotifications(This) \ 9843 ( (This)->lpVtbl -> UninstallDeviceNotifications(This) ) 9844 9845 #endif /* COBJMACROS */ 9846 9847 9848 #endif /* C style interface */ 9849 9850 9851 9852 9853 #endif /* __IDeckLinkDiscovery_INTERFACE_DEFINED__ */ 9854 9855 9856 EXTERN_C const CLSID CLSID_CDeckLinkIterator; 9857 9858 #ifdef __cplusplus 9859 9860 class DECLSPEC_UUID("BA6C6F44-6DA5-4DCE-94AA-EE2D1372A676") 9861 CDeckLinkIterator; 9862 #endif 9863 9864 EXTERN_C const CLSID CLSID_CDeckLinkAPIInformation; 9865 9866 #ifdef __cplusplus 9867 9868 class DECLSPEC_UUID("263CA19F-ED09-482E-9F9D-84005783A237") 9869 CDeckLinkAPIInformation; 9870 #endif 9871 9872 EXTERN_C const CLSID CLSID_CDeckLinkGLScreenPreviewHelper; 9873 9874 #ifdef __cplusplus 9875 9876 class DECLSPEC_UUID("F63E77C7-B655-4A4A-9AD0-3CA85D394343") 9877 CDeckLinkGLScreenPreviewHelper; 9878 #endif 9879 9880 EXTERN_C const CLSID CLSID_CDeckLinkDX9ScreenPreviewHelper; 9881 9882 #ifdef __cplusplus 9883 9884 class DECLSPEC_UUID("CC010023-E01D-4525-9D59-80C8AB3DC7A0") 9885 CDeckLinkDX9ScreenPreviewHelper; 9886 #endif 9887 9888 EXTERN_C const CLSID CLSID_CDeckLinkVideoConversion; 9889 9890 #ifdef __cplusplus 9891 9892 class DECLSPEC_UUID("7DBBBB11-5B7B-467D-AEA4-CEA468FD368C") 9893 CDeckLinkVideoConversion; 9894 #endif 9895 9896 EXTERN_C const CLSID CLSID_CDeckLinkDiscovery; 9897 9898 #ifdef __cplusplus 9899 9900 class DECLSPEC_UUID("22FBFC33-8D07-495C-A5BF-DAB5EA9B82DB") 9901 CDeckLinkDiscovery; 9902 #endif 9903 9904 EXTERN_C const CLSID CLSID_CDeckLinkVideoFrameAncillaryPackets; 9905 9906 #ifdef __cplusplus 9907 9908 class DECLSPEC_UUID("F891AD29-D0C2-46E9-A926-4E2D0DD8CFAD") 9909 CDeckLinkVideoFrameAncillaryPackets; 9910 #endif 9911 9912 #ifndef __IDeckLinkConfiguration_v10_11_INTERFACE_DEFINED__ 9913 #define __IDeckLinkConfiguration_v10_11_INTERFACE_DEFINED__ 9914 9915 /* interface IDeckLinkConfiguration_v10_11 */ 9916 /* [helpstring][local][uuid][object] */ 9917 9918 9919 EXTERN_C const IID IID_IDeckLinkConfiguration_v10_11; 9920 9921 #if defined(__cplusplus) && !defined(CINTERFACE) 9922 9923 MIDL_INTERFACE("EF90380B-4AE5-4346-9077-E288E149F129") 9924 IDeckLinkConfiguration_v10_11 : public IUnknown 9925 { 9926 public: 9927 virtual HRESULT STDMETHODCALLTYPE SetFlag( 9928 /* [in] */ BMDDeckLinkConfigurationID cfgID, 9929 /* [in] */ BOOL value) = 0; 9930 9931 virtual HRESULT STDMETHODCALLTYPE GetFlag( 9932 /* [in] */ BMDDeckLinkConfigurationID cfgID, 9933 /* [out] */ BOOL *value) = 0; 9934 9935 virtual HRESULT STDMETHODCALLTYPE SetInt( 9936 /* [in] */ BMDDeckLinkConfigurationID cfgID, 9937 /* [in] */ LONGLONG value) = 0; 9938 9939 virtual HRESULT STDMETHODCALLTYPE GetInt( 9940 /* [in] */ BMDDeckLinkConfigurationID cfgID, 9941 /* [out] */ LONGLONG *value) = 0; 9942 9943 virtual HRESULT STDMETHODCALLTYPE SetFloat( 9944 /* [in] */ BMDDeckLinkConfigurationID cfgID, 9945 /* [in] */ double value) = 0; 9946 9947 virtual HRESULT STDMETHODCALLTYPE GetFloat( 9948 /* [in] */ BMDDeckLinkConfigurationID cfgID, 9949 /* [out] */ double *value) = 0; 9950 9951 virtual HRESULT STDMETHODCALLTYPE SetString( 9952 /* [in] */ BMDDeckLinkConfigurationID cfgID, 9953 /* [in] */ BSTR value) = 0; 9954 9955 virtual HRESULT STDMETHODCALLTYPE GetString( 9956 /* [in] */ BMDDeckLinkConfigurationID cfgID, 9957 /* [out] */ BSTR *value) = 0; 9958 9959 virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences( void) = 0; 9960 9961 }; 9962 9963 9964 #else /* C style interface */ 9965 9966 typedef struct IDeckLinkConfiguration_v10_11Vtbl 9967 { 9968 BEGIN_INTERFACE 9969 9970 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 9971 IDeckLinkConfiguration_v10_11 * This, 9972 /* [in] */ REFIID riid, 9973 /* [annotation][iid_is][out] */ 9974 _COM_Outptr_ void **ppvObject); 9975 9976 ULONG ( STDMETHODCALLTYPE *AddRef )( 9977 IDeckLinkConfiguration_v10_11 * This); 9978 9979 ULONG ( STDMETHODCALLTYPE *Release )( 9980 IDeckLinkConfiguration_v10_11 * This); 9981 9982 HRESULT ( STDMETHODCALLTYPE *SetFlag )( 9983 IDeckLinkConfiguration_v10_11 * This, 9984 /* [in] */ BMDDeckLinkConfigurationID cfgID, 9985 /* [in] */ BOOL value); 9986 9987 HRESULT ( STDMETHODCALLTYPE *GetFlag )( 9988 IDeckLinkConfiguration_v10_11 * This, 9989 /* [in] */ BMDDeckLinkConfigurationID cfgID, 9990 /* [out] */ BOOL *value); 9991 9992 HRESULT ( STDMETHODCALLTYPE *SetInt )( 9993 IDeckLinkConfiguration_v10_11 * This, 9994 /* [in] */ BMDDeckLinkConfigurationID cfgID, 9995 /* [in] */ LONGLONG value); 9996 9997 HRESULT ( STDMETHODCALLTYPE *GetInt )( 9998 IDeckLinkConfiguration_v10_11 * This, 9999 /* [in] */ BMDDeckLinkConfigurationID cfgID, 10000 /* [out] */ LONGLONG *value); 10001 10002 HRESULT ( STDMETHODCALLTYPE *SetFloat )( 10003 IDeckLinkConfiguration_v10_11 * This, 10004 /* [in] */ BMDDeckLinkConfigurationID cfgID, 10005 /* [in] */ double value); 10006 10007 HRESULT ( STDMETHODCALLTYPE *GetFloat )( 10008 IDeckLinkConfiguration_v10_11 * This, 10009 /* [in] */ BMDDeckLinkConfigurationID cfgID, 10010 /* [out] */ double *value); 10011 10012 HRESULT ( STDMETHODCALLTYPE *SetString )( 10013 IDeckLinkConfiguration_v10_11 * This, 10014 /* [in] */ BMDDeckLinkConfigurationID cfgID, 10015 /* [in] */ BSTR value); 10016 10017 HRESULT ( STDMETHODCALLTYPE *GetString )( 10018 IDeckLinkConfiguration_v10_11 * This, 10019 /* [in] */ BMDDeckLinkConfigurationID cfgID, 10020 /* [out] */ BSTR *value); 10021 10022 HRESULT ( STDMETHODCALLTYPE *WriteConfigurationToPreferences )( 10023 IDeckLinkConfiguration_v10_11 * This); 10024 10025 END_INTERFACE 10026 } IDeckLinkConfiguration_v10_11Vtbl; 10027 10028 interface IDeckLinkConfiguration_v10_11 10029 { 10030 CONST_VTBL struct IDeckLinkConfiguration_v10_11Vtbl *lpVtbl; 10031 }; 10032 10033 10034 10035 #ifdef COBJMACROS 10036 10037 10038 #define IDeckLinkConfiguration_v10_11_QueryInterface(This,riid,ppvObject) \ 10039 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 10040 10041 #define IDeckLinkConfiguration_v10_11_AddRef(This) \ 10042 ( (This)->lpVtbl -> AddRef(This) ) 10043 10044 #define IDeckLinkConfiguration_v10_11_Release(This) \ 10045 ( (This)->lpVtbl -> Release(This) ) 10046 10047 10048 #define IDeckLinkConfiguration_v10_11_SetFlag(This,cfgID,value) \ 10049 ( (This)->lpVtbl -> SetFlag(This,cfgID,value) ) 10050 10051 #define IDeckLinkConfiguration_v10_11_GetFlag(This,cfgID,value) \ 10052 ( (This)->lpVtbl -> GetFlag(This,cfgID,value) ) 10053 10054 #define IDeckLinkConfiguration_v10_11_SetInt(This,cfgID,value) \ 10055 ( (This)->lpVtbl -> SetInt(This,cfgID,value) ) 10056 10057 #define IDeckLinkConfiguration_v10_11_GetInt(This,cfgID,value) \ 10058 ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) 10059 10060 #define IDeckLinkConfiguration_v10_11_SetFloat(This,cfgID,value) \ 10061 ( (This)->lpVtbl -> SetFloat(This,cfgID,value) ) 10062 10063 #define IDeckLinkConfiguration_v10_11_GetFloat(This,cfgID,value) \ 10064 ( (This)->lpVtbl -> GetFloat(This,cfgID,value) ) 10065 10066 #define IDeckLinkConfiguration_v10_11_SetString(This,cfgID,value) \ 10067 ( (This)->lpVtbl -> SetString(This,cfgID,value) ) 10068 10069 #define IDeckLinkConfiguration_v10_11_GetString(This,cfgID,value) \ 10070 ( (This)->lpVtbl -> GetString(This,cfgID,value) ) 10071 10072 #define IDeckLinkConfiguration_v10_11_WriteConfigurationToPreferences(This) \ 10073 ( (This)->lpVtbl -> WriteConfigurationToPreferences(This) ) 10074 10075 #endif /* COBJMACROS */ 10076 10077 10078 #endif /* C style interface */ 10079 10080 10081 10082 10083 #endif /* __IDeckLinkConfiguration_v10_11_INTERFACE_DEFINED__ */ 10084 10085 10086 #ifndef __IDeckLinkAttributes_v10_11_INTERFACE_DEFINED__ 10087 #define __IDeckLinkAttributes_v10_11_INTERFACE_DEFINED__ 10088 10089 /* interface IDeckLinkAttributes_v10_11 */ 10090 /* [helpstring][local][uuid][object] */ 10091 10092 10093 EXTERN_C const IID IID_IDeckLinkAttributes_v10_11; 10094 10095 #if defined(__cplusplus) && !defined(CINTERFACE) 10096 10097 MIDL_INTERFACE("ABC11843-D966-44CB-96E2-A1CB5D3135C4") 10098 IDeckLinkAttributes_v10_11 : public IUnknown 10099 { 10100 public: 10101 virtual HRESULT STDMETHODCALLTYPE GetFlag( 10102 /* [in] */ BMDDeckLinkAttributeID cfgID, 10103 /* [out] */ BOOL *value) = 0; 10104 10105 virtual HRESULT STDMETHODCALLTYPE GetInt( 10106 /* [in] */ BMDDeckLinkAttributeID cfgID, 10107 /* [out] */ LONGLONG *value) = 0; 10108 10109 virtual HRESULT STDMETHODCALLTYPE GetFloat( 10110 /* [in] */ BMDDeckLinkAttributeID cfgID, 10111 /* [out] */ double *value) = 0; 10112 10113 virtual HRESULT STDMETHODCALLTYPE GetString( 10114 /* [in] */ BMDDeckLinkAttributeID cfgID, 10115 /* [out] */ BSTR *value) = 0; 10116 10117 }; 10118 10119 10120 #else /* C style interface */ 10121 10122 typedef struct IDeckLinkAttributes_v10_11Vtbl 10123 { 10124 BEGIN_INTERFACE 10125 10126 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 10127 IDeckLinkAttributes_v10_11 * This, 10128 /* [in] */ REFIID riid, 10129 /* [annotation][iid_is][out] */ 10130 _COM_Outptr_ void **ppvObject); 10131 10132 ULONG ( STDMETHODCALLTYPE *AddRef )( 10133 IDeckLinkAttributes_v10_11 * This); 10134 10135 ULONG ( STDMETHODCALLTYPE *Release )( 10136 IDeckLinkAttributes_v10_11 * This); 10137 10138 HRESULT ( STDMETHODCALLTYPE *GetFlag )( 10139 IDeckLinkAttributes_v10_11 * This, 10140 /* [in] */ BMDDeckLinkAttributeID cfgID, 10141 /* [out] */ BOOL *value); 10142 10143 HRESULT ( STDMETHODCALLTYPE *GetInt )( 10144 IDeckLinkAttributes_v10_11 * This, 10145 /* [in] */ BMDDeckLinkAttributeID cfgID, 10146 /* [out] */ LONGLONG *value); 10147 10148 HRESULT ( STDMETHODCALLTYPE *GetFloat )( 10149 IDeckLinkAttributes_v10_11 * This, 10150 /* [in] */ BMDDeckLinkAttributeID cfgID, 10151 /* [out] */ double *value); 10152 10153 HRESULT ( STDMETHODCALLTYPE *GetString )( 10154 IDeckLinkAttributes_v10_11 * This, 10155 /* [in] */ BMDDeckLinkAttributeID cfgID, 10156 /* [out] */ BSTR *value); 10157 10158 END_INTERFACE 10159 } IDeckLinkAttributes_v10_11Vtbl; 10160 10161 interface IDeckLinkAttributes_v10_11 10162 { 10163 CONST_VTBL struct IDeckLinkAttributes_v10_11Vtbl *lpVtbl; 10164 }; 10165 10166 10167 10168 #ifdef COBJMACROS 10169 10170 10171 #define IDeckLinkAttributes_v10_11_QueryInterface(This,riid,ppvObject) \ 10172 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 10173 10174 #define IDeckLinkAttributes_v10_11_AddRef(This) \ 10175 ( (This)->lpVtbl -> AddRef(This) ) 10176 10177 #define IDeckLinkAttributes_v10_11_Release(This) \ 10178 ( (This)->lpVtbl -> Release(This) ) 10179 10180 10181 #define IDeckLinkAttributes_v10_11_GetFlag(This,cfgID,value) \ 10182 ( (This)->lpVtbl -> GetFlag(This,cfgID,value) ) 10183 10184 #define IDeckLinkAttributes_v10_11_GetInt(This,cfgID,value) \ 10185 ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) 10186 10187 #define IDeckLinkAttributes_v10_11_GetFloat(This,cfgID,value) \ 10188 ( (This)->lpVtbl -> GetFloat(This,cfgID,value) ) 10189 10190 #define IDeckLinkAttributes_v10_11_GetString(This,cfgID,value) \ 10191 ( (This)->lpVtbl -> GetString(This,cfgID,value) ) 10192 10193 #endif /* COBJMACROS */ 10194 10195 10196 #endif /* C style interface */ 10197 10198 10199 10200 10201 #endif /* __IDeckLinkAttributes_v10_11_INTERFACE_DEFINED__ */ 10202 10203 10204 #ifndef __IDeckLinkNotification_v10_11_INTERFACE_DEFINED__ 10205 #define __IDeckLinkNotification_v10_11_INTERFACE_DEFINED__ 10206 10207 /* interface IDeckLinkNotification_v10_11 */ 10208 /* [helpstring][local][uuid][object] */ 10209 10210 10211 EXTERN_C const IID IID_IDeckLinkNotification_v10_11; 10212 10213 #if defined(__cplusplus) && !defined(CINTERFACE) 10214 10215 MIDL_INTERFACE("0A1FB207-E215-441B-9B19-6FA1575946C5") 10216 IDeckLinkNotification_v10_11 : public IUnknown 10217 { 10218 public: 10219 virtual HRESULT STDMETHODCALLTYPE Subscribe( 10220 /* [in] */ BMDNotifications topic, 10221 /* [in] */ IDeckLinkNotificationCallback *theCallback) = 0; 10222 10223 virtual HRESULT STDMETHODCALLTYPE Unsubscribe( 10224 /* [in] */ BMDNotifications topic, 10225 /* [in] */ IDeckLinkNotificationCallback *theCallback) = 0; 10226 10227 }; 10228 10229 10230 #else /* C style interface */ 10231 10232 typedef struct IDeckLinkNotification_v10_11Vtbl 10233 { 10234 BEGIN_INTERFACE 10235 10236 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 10237 IDeckLinkNotification_v10_11 * This, 10238 /* [in] */ REFIID riid, 10239 /* [annotation][iid_is][out] */ 10240 _COM_Outptr_ void **ppvObject); 10241 10242 ULONG ( STDMETHODCALLTYPE *AddRef )( 10243 IDeckLinkNotification_v10_11 * This); 10244 10245 ULONG ( STDMETHODCALLTYPE *Release )( 10246 IDeckLinkNotification_v10_11 * This); 10247 10248 HRESULT ( STDMETHODCALLTYPE *Subscribe )( 10249 IDeckLinkNotification_v10_11 * This, 10250 /* [in] */ BMDNotifications topic, 10251 /* [in] */ IDeckLinkNotificationCallback *theCallback); 10252 10253 HRESULT ( STDMETHODCALLTYPE *Unsubscribe )( 10254 IDeckLinkNotification_v10_11 * This, 10255 /* [in] */ BMDNotifications topic, 10256 /* [in] */ IDeckLinkNotificationCallback *theCallback); 10257 10258 END_INTERFACE 10259 } IDeckLinkNotification_v10_11Vtbl; 10260 10261 interface IDeckLinkNotification_v10_11 10262 { 10263 CONST_VTBL struct IDeckLinkNotification_v10_11Vtbl *lpVtbl; 10264 }; 10265 10266 10267 10268 #ifdef COBJMACROS 10269 10270 10271 #define IDeckLinkNotification_v10_11_QueryInterface(This,riid,ppvObject) \ 10272 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 10273 10274 #define IDeckLinkNotification_v10_11_AddRef(This) \ 10275 ( (This)->lpVtbl -> AddRef(This) ) 10276 10277 #define IDeckLinkNotification_v10_11_Release(This) \ 10278 ( (This)->lpVtbl -> Release(This) ) 10279 10280 10281 #define IDeckLinkNotification_v10_11_Subscribe(This,topic,theCallback) \ 10282 ( (This)->lpVtbl -> Subscribe(This,topic,theCallback) ) 10283 10284 #define IDeckLinkNotification_v10_11_Unsubscribe(This,topic,theCallback) \ 10285 ( (This)->lpVtbl -> Unsubscribe(This,topic,theCallback) ) 10286 10287 #endif /* COBJMACROS */ 10288 10289 10290 #endif /* C style interface */ 10291 10292 10293 10294 10295 #endif /* __IDeckLinkNotification_v10_11_INTERFACE_DEFINED__ */ 10296 10297 10298 #ifndef __IDeckLinkOutput_v10_11_INTERFACE_DEFINED__ 10299 #define __IDeckLinkOutput_v10_11_INTERFACE_DEFINED__ 10300 10301 /* interface IDeckLinkOutput_v10_11 */ 10302 /* [helpstring][local][uuid][object] */ 10303 10304 10305 EXTERN_C const IID IID_IDeckLinkOutput_v10_11; 10306 10307 #if defined(__cplusplus) && !defined(CINTERFACE) 10308 10309 MIDL_INTERFACE("CC5C8A6E-3F2F-4B3A-87EA-FD78AF300564") 10310 IDeckLinkOutput_v10_11 : public IUnknown 10311 { 10312 public: 10313 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( 10314 /* [in] */ BMDDisplayMode displayMode, 10315 /* [in] */ BMDPixelFormat pixelFormat, 10316 /* [in] */ BMDVideoOutputFlags flags, 10317 /* [out] */ BMDDisplayModeSupport_v10_11 *result, 10318 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode) = 0; 10319 10320 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( 10321 /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0; 10322 10323 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( 10324 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; 10325 10326 virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput( 10327 /* [in] */ BMDDisplayMode displayMode, 10328 /* [in] */ BMDVideoOutputFlags flags) = 0; 10329 10330 virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0; 10331 10332 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator( 10333 /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0; 10334 10335 virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame( 10336 /* [in] */ int width, 10337 /* [in] */ int height, 10338 /* [in] */ int rowBytes, 10339 /* [in] */ BMDPixelFormat pixelFormat, 10340 /* [in] */ BMDFrameFlags flags, 10341 /* [out] */ IDeckLinkMutableVideoFrame **outFrame) = 0; 10342 10343 virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData( 10344 /* [in] */ BMDPixelFormat pixelFormat, 10345 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer) = 0; 10346 10347 virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync( 10348 /* [in] */ IDeckLinkVideoFrame *theFrame) = 0; 10349 10350 virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame( 10351 /* [in] */ IDeckLinkVideoFrame *theFrame, 10352 /* [in] */ BMDTimeValue displayTime, 10353 /* [in] */ BMDTimeValue displayDuration, 10354 /* [in] */ BMDTimeScale timeScale) = 0; 10355 10356 virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback( 10357 /* [in] */ IDeckLinkVideoOutputCallback *theCallback) = 0; 10358 10359 virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount( 10360 /* [out] */ unsigned int *bufferedFrameCount) = 0; 10361 10362 virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput( 10363 /* [in] */ BMDAudioSampleRate sampleRate, 10364 /* [in] */ BMDAudioSampleType sampleType, 10365 /* [in] */ unsigned int channelCount, 10366 /* [in] */ BMDAudioOutputStreamType streamType) = 0; 10367 10368 virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0; 10369 10370 virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync( 10371 /* [in] */ void *buffer, 10372 /* [in] */ unsigned int sampleFrameCount, 10373 /* [out] */ unsigned int *sampleFramesWritten) = 0; 10374 10375 virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0; 10376 10377 virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0; 10378 10379 virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples( 10380 /* [in] */ void *buffer, 10381 /* [in] */ unsigned int sampleFrameCount, 10382 /* [in] */ BMDTimeValue streamTime, 10383 /* [in] */ BMDTimeScale timeScale, 10384 /* [out] */ unsigned int *sampleFramesWritten) = 0; 10385 10386 virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount( 10387 /* [out] */ unsigned int *bufferedSampleFrameCount) = 0; 10388 10389 virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0; 10390 10391 virtual HRESULT STDMETHODCALLTYPE SetAudioCallback( 10392 /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0; 10393 10394 virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback( 10395 /* [in] */ BMDTimeValue playbackStartTime, 10396 /* [in] */ BMDTimeScale timeScale, 10397 /* [in] */ double playbackSpeed) = 0; 10398 10399 virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback( 10400 /* [in] */ BMDTimeValue stopPlaybackAtTime, 10401 /* [out] */ BMDTimeValue *actualStopTime, 10402 /* [in] */ BMDTimeScale timeScale) = 0; 10403 10404 virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning( 10405 /* [out] */ BOOL *active) = 0; 10406 10407 virtual HRESULT STDMETHODCALLTYPE GetScheduledStreamTime( 10408 /* [in] */ BMDTimeScale desiredTimeScale, 10409 /* [out] */ BMDTimeValue *streamTime, 10410 /* [out] */ double *playbackSpeed) = 0; 10411 10412 virtual HRESULT STDMETHODCALLTYPE GetReferenceStatus( 10413 /* [out] */ BMDReferenceStatus *referenceStatus) = 0; 10414 10415 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( 10416 /* [in] */ BMDTimeScale desiredTimeScale, 10417 /* [out] */ BMDTimeValue *hardwareTime, 10418 /* [out] */ BMDTimeValue *timeInFrame, 10419 /* [out] */ BMDTimeValue *ticksPerFrame) = 0; 10420 10421 virtual HRESULT STDMETHODCALLTYPE GetFrameCompletionReferenceTimestamp( 10422 /* [in] */ IDeckLinkVideoFrame *theFrame, 10423 /* [in] */ BMDTimeScale desiredTimeScale, 10424 /* [out] */ BMDTimeValue *frameCompletionTimestamp) = 0; 10425 10426 }; 10427 10428 10429 #else /* C style interface */ 10430 10431 typedef struct IDeckLinkOutput_v10_11Vtbl 10432 { 10433 BEGIN_INTERFACE 10434 10435 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 10436 IDeckLinkOutput_v10_11 * This, 10437 /* [in] */ REFIID riid, 10438 /* [annotation][iid_is][out] */ 10439 _COM_Outptr_ void **ppvObject); 10440 10441 ULONG ( STDMETHODCALLTYPE *AddRef )( 10442 IDeckLinkOutput_v10_11 * This); 10443 10444 ULONG ( STDMETHODCALLTYPE *Release )( 10445 IDeckLinkOutput_v10_11 * This); 10446 10447 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( 10448 IDeckLinkOutput_v10_11 * This, 10449 /* [in] */ BMDDisplayMode displayMode, 10450 /* [in] */ BMDPixelFormat pixelFormat, 10451 /* [in] */ BMDVideoOutputFlags flags, 10452 /* [out] */ BMDDisplayModeSupport_v10_11 *result, 10453 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode); 10454 10455 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( 10456 IDeckLinkOutput_v10_11 * This, 10457 /* [out] */ IDeckLinkDisplayModeIterator **iterator); 10458 10459 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )( 10460 IDeckLinkOutput_v10_11 * This, 10461 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback); 10462 10463 HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )( 10464 IDeckLinkOutput_v10_11 * This, 10465 /* [in] */ BMDDisplayMode displayMode, 10466 /* [in] */ BMDVideoOutputFlags flags); 10467 10468 HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )( 10469 IDeckLinkOutput_v10_11 * This); 10470 10471 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )( 10472 IDeckLinkOutput_v10_11 * This, 10473 /* [in] */ IDeckLinkMemoryAllocator *theAllocator); 10474 10475 HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )( 10476 IDeckLinkOutput_v10_11 * This, 10477 /* [in] */ int width, 10478 /* [in] */ int height, 10479 /* [in] */ int rowBytes, 10480 /* [in] */ BMDPixelFormat pixelFormat, 10481 /* [in] */ BMDFrameFlags flags, 10482 /* [out] */ IDeckLinkMutableVideoFrame **outFrame); 10483 10484 HRESULT ( STDMETHODCALLTYPE *CreateAncillaryData )( 10485 IDeckLinkOutput_v10_11 * This, 10486 /* [in] */ BMDPixelFormat pixelFormat, 10487 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer); 10488 10489 HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )( 10490 IDeckLinkOutput_v10_11 * This, 10491 /* [in] */ IDeckLinkVideoFrame *theFrame); 10492 10493 HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )( 10494 IDeckLinkOutput_v10_11 * This, 10495 /* [in] */ IDeckLinkVideoFrame *theFrame, 10496 /* [in] */ BMDTimeValue displayTime, 10497 /* [in] */ BMDTimeValue displayDuration, 10498 /* [in] */ BMDTimeScale timeScale); 10499 10500 HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )( 10501 IDeckLinkOutput_v10_11 * This, 10502 /* [in] */ IDeckLinkVideoOutputCallback *theCallback); 10503 10504 HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )( 10505 IDeckLinkOutput_v10_11 * This, 10506 /* [out] */ unsigned int *bufferedFrameCount); 10507 10508 HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )( 10509 IDeckLinkOutput_v10_11 * This, 10510 /* [in] */ BMDAudioSampleRate sampleRate, 10511 /* [in] */ BMDAudioSampleType sampleType, 10512 /* [in] */ unsigned int channelCount, 10513 /* [in] */ BMDAudioOutputStreamType streamType); 10514 10515 HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )( 10516 IDeckLinkOutput_v10_11 * This); 10517 10518 HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )( 10519 IDeckLinkOutput_v10_11 * This, 10520 /* [in] */ void *buffer, 10521 /* [in] */ unsigned int sampleFrameCount, 10522 /* [out] */ unsigned int *sampleFramesWritten); 10523 10524 HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )( 10525 IDeckLinkOutput_v10_11 * This); 10526 10527 HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )( 10528 IDeckLinkOutput_v10_11 * This); 10529 10530 HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )( 10531 IDeckLinkOutput_v10_11 * This, 10532 /* [in] */ void *buffer, 10533 /* [in] */ unsigned int sampleFrameCount, 10534 /* [in] */ BMDTimeValue streamTime, 10535 /* [in] */ BMDTimeScale timeScale, 10536 /* [out] */ unsigned int *sampleFramesWritten); 10537 10538 HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )( 10539 IDeckLinkOutput_v10_11 * This, 10540 /* [out] */ unsigned int *bufferedSampleFrameCount); 10541 10542 HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )( 10543 IDeckLinkOutput_v10_11 * This); 10544 10545 HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )( 10546 IDeckLinkOutput_v10_11 * This, 10547 /* [in] */ IDeckLinkAudioOutputCallback *theCallback); 10548 10549 HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )( 10550 IDeckLinkOutput_v10_11 * This, 10551 /* [in] */ BMDTimeValue playbackStartTime, 10552 /* [in] */ BMDTimeScale timeScale, 10553 /* [in] */ double playbackSpeed); 10554 10555 HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )( 10556 IDeckLinkOutput_v10_11 * This, 10557 /* [in] */ BMDTimeValue stopPlaybackAtTime, 10558 /* [out] */ BMDTimeValue *actualStopTime, 10559 /* [in] */ BMDTimeScale timeScale); 10560 10561 HRESULT ( STDMETHODCALLTYPE *IsScheduledPlaybackRunning )( 10562 IDeckLinkOutput_v10_11 * This, 10563 /* [out] */ BOOL *active); 10564 10565 HRESULT ( STDMETHODCALLTYPE *GetScheduledStreamTime )( 10566 IDeckLinkOutput_v10_11 * This, 10567 /* [in] */ BMDTimeScale desiredTimeScale, 10568 /* [out] */ BMDTimeValue *streamTime, 10569 /* [out] */ double *playbackSpeed); 10570 10571 HRESULT ( STDMETHODCALLTYPE *GetReferenceStatus )( 10572 IDeckLinkOutput_v10_11 * This, 10573 /* [out] */ BMDReferenceStatus *referenceStatus); 10574 10575 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( 10576 IDeckLinkOutput_v10_11 * This, 10577 /* [in] */ BMDTimeScale desiredTimeScale, 10578 /* [out] */ BMDTimeValue *hardwareTime, 10579 /* [out] */ BMDTimeValue *timeInFrame, 10580 /* [out] */ BMDTimeValue *ticksPerFrame); 10581 10582 HRESULT ( STDMETHODCALLTYPE *GetFrameCompletionReferenceTimestamp )( 10583 IDeckLinkOutput_v10_11 * This, 10584 /* [in] */ IDeckLinkVideoFrame *theFrame, 10585 /* [in] */ BMDTimeScale desiredTimeScale, 10586 /* [out] */ BMDTimeValue *frameCompletionTimestamp); 10587 10588 END_INTERFACE 10589 } IDeckLinkOutput_v10_11Vtbl; 10590 10591 interface IDeckLinkOutput_v10_11 10592 { 10593 CONST_VTBL struct IDeckLinkOutput_v10_11Vtbl *lpVtbl; 10594 }; 10595 10596 10597 10598 #ifdef COBJMACROS 10599 10600 10601 #define IDeckLinkOutput_v10_11_QueryInterface(This,riid,ppvObject) \ 10602 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 10603 10604 #define IDeckLinkOutput_v10_11_AddRef(This) \ 10605 ( (This)->lpVtbl -> AddRef(This) ) 10606 10607 #define IDeckLinkOutput_v10_11_Release(This) \ 10608 ( (This)->lpVtbl -> Release(This) ) 10609 10610 10611 #define IDeckLinkOutput_v10_11_DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) \ 10612 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) ) 10613 10614 #define IDeckLinkOutput_v10_11_GetDisplayModeIterator(This,iterator) \ 10615 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) 10616 10617 #define IDeckLinkOutput_v10_11_SetScreenPreviewCallback(This,previewCallback) \ 10618 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) ) 10619 10620 #define IDeckLinkOutput_v10_11_EnableVideoOutput(This,displayMode,flags) \ 10621 ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode,flags) ) 10622 10623 #define IDeckLinkOutput_v10_11_DisableVideoOutput(This) \ 10624 ( (This)->lpVtbl -> DisableVideoOutput(This) ) 10625 10626 #define IDeckLinkOutput_v10_11_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \ 10627 ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) ) 10628 10629 #define IDeckLinkOutput_v10_11_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \ 10630 ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) ) 10631 10632 #define IDeckLinkOutput_v10_11_CreateAncillaryData(This,pixelFormat,outBuffer) \ 10633 ( (This)->lpVtbl -> CreateAncillaryData(This,pixelFormat,outBuffer) ) 10634 10635 #define IDeckLinkOutput_v10_11_DisplayVideoFrameSync(This,theFrame) \ 10636 ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) ) 10637 10638 #define IDeckLinkOutput_v10_11_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \ 10639 ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) ) 10640 10641 #define IDeckLinkOutput_v10_11_SetScheduledFrameCompletionCallback(This,theCallback) \ 10642 ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) ) 10643 10644 #define IDeckLinkOutput_v10_11_GetBufferedVideoFrameCount(This,bufferedFrameCount) \ 10645 ( (This)->lpVtbl -> GetBufferedVideoFrameCount(This,bufferedFrameCount) ) 10646 10647 #define IDeckLinkOutput_v10_11_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) \ 10648 ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) ) 10649 10650 #define IDeckLinkOutput_v10_11_DisableAudioOutput(This) \ 10651 ( (This)->lpVtbl -> DisableAudioOutput(This) ) 10652 10653 #define IDeckLinkOutput_v10_11_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \ 10654 ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) ) 10655 10656 #define IDeckLinkOutput_v10_11_BeginAudioPreroll(This) \ 10657 ( (This)->lpVtbl -> BeginAudioPreroll(This) ) 10658 10659 #define IDeckLinkOutput_v10_11_EndAudioPreroll(This) \ 10660 ( (This)->lpVtbl -> EndAudioPreroll(This) ) 10661 10662 #define IDeckLinkOutput_v10_11_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \ 10663 ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) ) 10664 10665 #define IDeckLinkOutput_v10_11_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) \ 10666 ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) ) 10667 10668 #define IDeckLinkOutput_v10_11_FlushBufferedAudioSamples(This) \ 10669 ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) ) 10670 10671 #define IDeckLinkOutput_v10_11_SetAudioCallback(This,theCallback) \ 10672 ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) ) 10673 10674 #define IDeckLinkOutput_v10_11_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \ 10675 ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) ) 10676 10677 #define IDeckLinkOutput_v10_11_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \ 10678 ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) ) 10679 10680 #define IDeckLinkOutput_v10_11_IsScheduledPlaybackRunning(This,active) \ 10681 ( (This)->lpVtbl -> IsScheduledPlaybackRunning(This,active) ) 10682 10683 #define IDeckLinkOutput_v10_11_GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) \ 10684 ( (This)->lpVtbl -> GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) ) 10685 10686 #define IDeckLinkOutput_v10_11_GetReferenceStatus(This,referenceStatus) \ 10687 ( (This)->lpVtbl -> GetReferenceStatus(This,referenceStatus) ) 10688 10689 #define IDeckLinkOutput_v10_11_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \ 10690 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) ) 10691 10692 #define IDeckLinkOutput_v10_11_GetFrameCompletionReferenceTimestamp(This,theFrame,desiredTimeScale,frameCompletionTimestamp) \ 10693 ( (This)->lpVtbl -> GetFrameCompletionReferenceTimestamp(This,theFrame,desiredTimeScale,frameCompletionTimestamp) ) 10694 10695 #endif /* COBJMACROS */ 10696 10697 10698 #endif /* C style interface */ 10699 10700 10701 10702 10703 #endif /* __IDeckLinkOutput_v10_11_INTERFACE_DEFINED__ */ 10704 10705 10706 #ifndef __IDeckLinkInput_v10_11_INTERFACE_DEFINED__ 10707 #define __IDeckLinkInput_v10_11_INTERFACE_DEFINED__ 10708 10709 /* interface IDeckLinkInput_v10_11 */ 10710 /* [helpstring][uuid][object] */ 10711 10712 10713 EXTERN_C const IID IID_IDeckLinkInput_v10_11; 10714 10715 #if defined(__cplusplus) && !defined(CINTERFACE) 10716 10717 MIDL_INTERFACE("AF22762B-DFAC-4846-AA79-FA8883560995") 10718 IDeckLinkInput_v10_11 : public IUnknown 10719 { 10720 public: 10721 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( 10722 /* [in] */ BMDDisplayMode displayMode, 10723 /* [in] */ BMDPixelFormat pixelFormat, 10724 /* [in] */ BMDVideoInputFlags flags, 10725 /* [out] */ BMDDisplayModeSupport_v10_11 *result, 10726 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode) = 0; 10727 10728 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( 10729 /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0; 10730 10731 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( 10732 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; 10733 10734 virtual HRESULT STDMETHODCALLTYPE EnableVideoInput( 10735 /* [in] */ BMDDisplayMode displayMode, 10736 /* [in] */ BMDPixelFormat pixelFormat, 10737 /* [in] */ BMDVideoInputFlags flags) = 0; 10738 10739 virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0; 10740 10741 virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount( 10742 /* [out] */ unsigned int *availableFrameCount) = 0; 10743 10744 virtual HRESULT STDMETHODCALLTYPE SetVideoInputFrameMemoryAllocator( 10745 /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0; 10746 10747 virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( 10748 /* [in] */ BMDAudioSampleRate sampleRate, 10749 /* [in] */ BMDAudioSampleType sampleType, 10750 /* [in] */ unsigned int channelCount) = 0; 10751 10752 virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0; 10753 10754 virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount( 10755 /* [out] */ unsigned int *availableSampleFrameCount) = 0; 10756 10757 virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0; 10758 10759 virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0; 10760 10761 virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0; 10762 10763 virtual HRESULT STDMETHODCALLTYPE FlushStreams( void) = 0; 10764 10765 virtual HRESULT STDMETHODCALLTYPE SetCallback( 10766 /* [in] */ IDeckLinkInputCallback *theCallback) = 0; 10767 10768 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( 10769 /* [in] */ BMDTimeScale desiredTimeScale, 10770 /* [out] */ BMDTimeValue *hardwareTime, 10771 /* [out] */ BMDTimeValue *timeInFrame, 10772 /* [out] */ BMDTimeValue *ticksPerFrame) = 0; 10773 10774 }; 10775 10776 10777 #else /* C style interface */ 10778 10779 typedef struct IDeckLinkInput_v10_11Vtbl 10780 { 10781 BEGIN_INTERFACE 10782 10783 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 10784 IDeckLinkInput_v10_11 * This, 10785 /* [in] */ REFIID riid, 10786 /* [annotation][iid_is][out] */ 10787 _COM_Outptr_ void **ppvObject); 10788 10789 ULONG ( STDMETHODCALLTYPE *AddRef )( 10790 IDeckLinkInput_v10_11 * This); 10791 10792 ULONG ( STDMETHODCALLTYPE *Release )( 10793 IDeckLinkInput_v10_11 * This); 10794 10795 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( 10796 IDeckLinkInput_v10_11 * This, 10797 /* [in] */ BMDDisplayMode displayMode, 10798 /* [in] */ BMDPixelFormat pixelFormat, 10799 /* [in] */ BMDVideoInputFlags flags, 10800 /* [out] */ BMDDisplayModeSupport_v10_11 *result, 10801 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode); 10802 10803 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( 10804 IDeckLinkInput_v10_11 * This, 10805 /* [out] */ IDeckLinkDisplayModeIterator **iterator); 10806 10807 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )( 10808 IDeckLinkInput_v10_11 * This, 10809 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback); 10810 10811 HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )( 10812 IDeckLinkInput_v10_11 * This, 10813 /* [in] */ BMDDisplayMode displayMode, 10814 /* [in] */ BMDPixelFormat pixelFormat, 10815 /* [in] */ BMDVideoInputFlags flags); 10816 10817 HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )( 10818 IDeckLinkInput_v10_11 * This); 10819 10820 HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )( 10821 IDeckLinkInput_v10_11 * This, 10822 /* [out] */ unsigned int *availableFrameCount); 10823 10824 HRESULT ( STDMETHODCALLTYPE *SetVideoInputFrameMemoryAllocator )( 10825 IDeckLinkInput_v10_11 * This, 10826 /* [in] */ IDeckLinkMemoryAllocator *theAllocator); 10827 10828 HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )( 10829 IDeckLinkInput_v10_11 * This, 10830 /* [in] */ BMDAudioSampleRate sampleRate, 10831 /* [in] */ BMDAudioSampleType sampleType, 10832 /* [in] */ unsigned int channelCount); 10833 10834 HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )( 10835 IDeckLinkInput_v10_11 * This); 10836 10837 HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )( 10838 IDeckLinkInput_v10_11 * This, 10839 /* [out] */ unsigned int *availableSampleFrameCount); 10840 10841 HRESULT ( STDMETHODCALLTYPE *StartStreams )( 10842 IDeckLinkInput_v10_11 * This); 10843 10844 HRESULT ( STDMETHODCALLTYPE *StopStreams )( 10845 IDeckLinkInput_v10_11 * This); 10846 10847 HRESULT ( STDMETHODCALLTYPE *PauseStreams )( 10848 IDeckLinkInput_v10_11 * This); 10849 10850 HRESULT ( STDMETHODCALLTYPE *FlushStreams )( 10851 IDeckLinkInput_v10_11 * This); 10852 10853 HRESULT ( STDMETHODCALLTYPE *SetCallback )( 10854 IDeckLinkInput_v10_11 * This, 10855 /* [in] */ IDeckLinkInputCallback *theCallback); 10856 10857 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( 10858 IDeckLinkInput_v10_11 * This, 10859 /* [in] */ BMDTimeScale desiredTimeScale, 10860 /* [out] */ BMDTimeValue *hardwareTime, 10861 /* [out] */ BMDTimeValue *timeInFrame, 10862 /* [out] */ BMDTimeValue *ticksPerFrame); 10863 10864 END_INTERFACE 10865 } IDeckLinkInput_v10_11Vtbl; 10866 10867 interface IDeckLinkInput_v10_11 10868 { 10869 CONST_VTBL struct IDeckLinkInput_v10_11Vtbl *lpVtbl; 10870 }; 10871 10872 10873 10874 #ifdef COBJMACROS 10875 10876 10877 #define IDeckLinkInput_v10_11_QueryInterface(This,riid,ppvObject) \ 10878 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 10879 10880 #define IDeckLinkInput_v10_11_AddRef(This) \ 10881 ( (This)->lpVtbl -> AddRef(This) ) 10882 10883 #define IDeckLinkInput_v10_11_Release(This) \ 10884 ( (This)->lpVtbl -> Release(This) ) 10885 10886 10887 #define IDeckLinkInput_v10_11_DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) \ 10888 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) ) 10889 10890 #define IDeckLinkInput_v10_11_GetDisplayModeIterator(This,iterator) \ 10891 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) 10892 10893 #define IDeckLinkInput_v10_11_SetScreenPreviewCallback(This,previewCallback) \ 10894 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) ) 10895 10896 #define IDeckLinkInput_v10_11_EnableVideoInput(This,displayMode,pixelFormat,flags) \ 10897 ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) ) 10898 10899 #define IDeckLinkInput_v10_11_DisableVideoInput(This) \ 10900 ( (This)->lpVtbl -> DisableVideoInput(This) ) 10901 10902 #define IDeckLinkInput_v10_11_GetAvailableVideoFrameCount(This,availableFrameCount) \ 10903 ( (This)->lpVtbl -> GetAvailableVideoFrameCount(This,availableFrameCount) ) 10904 10905 #define IDeckLinkInput_v10_11_SetVideoInputFrameMemoryAllocator(This,theAllocator) \ 10906 ( (This)->lpVtbl -> SetVideoInputFrameMemoryAllocator(This,theAllocator) ) 10907 10908 #define IDeckLinkInput_v10_11_EnableAudioInput(This,sampleRate,sampleType,channelCount) \ 10909 ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) ) 10910 10911 #define IDeckLinkInput_v10_11_DisableAudioInput(This) \ 10912 ( (This)->lpVtbl -> DisableAudioInput(This) ) 10913 10914 #define IDeckLinkInput_v10_11_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \ 10915 ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) ) 10916 10917 #define IDeckLinkInput_v10_11_StartStreams(This) \ 10918 ( (This)->lpVtbl -> StartStreams(This) ) 10919 10920 #define IDeckLinkInput_v10_11_StopStreams(This) \ 10921 ( (This)->lpVtbl -> StopStreams(This) ) 10922 10923 #define IDeckLinkInput_v10_11_PauseStreams(This) \ 10924 ( (This)->lpVtbl -> PauseStreams(This) ) 10925 10926 #define IDeckLinkInput_v10_11_FlushStreams(This) \ 10927 ( (This)->lpVtbl -> FlushStreams(This) ) 10928 10929 #define IDeckLinkInput_v10_11_SetCallback(This,theCallback) \ 10930 ( (This)->lpVtbl -> SetCallback(This,theCallback) ) 10931 10932 #define IDeckLinkInput_v10_11_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \ 10933 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) ) 10934 10935 #endif /* COBJMACROS */ 10936 10937 10938 #endif /* C style interface */ 10939 10940 10941 10942 10943 #endif /* __IDeckLinkInput_v10_11_INTERFACE_DEFINED__ */ 10944 10945 10946 #ifndef __IDeckLinkEncoderInput_v10_11_INTERFACE_DEFINED__ 10947 #define __IDeckLinkEncoderInput_v10_11_INTERFACE_DEFINED__ 10948 10949 /* interface IDeckLinkEncoderInput_v10_11 */ 10950 /* [helpstring][uuid][object] */ 10951 10952 10953 EXTERN_C const IID IID_IDeckLinkEncoderInput_v10_11; 10954 10955 #if defined(__cplusplus) && !defined(CINTERFACE) 10956 10957 MIDL_INTERFACE("270587DA-6B7D-42E7-A1F0-6D853F581185") 10958 IDeckLinkEncoderInput_v10_11 : public IUnknown 10959 { 10960 public: 10961 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( 10962 /* [in] */ BMDDisplayMode displayMode, 10963 /* [in] */ BMDPixelFormat pixelFormat, 10964 /* [in] */ BMDVideoInputFlags flags, 10965 /* [out] */ BMDDisplayModeSupport_v10_11 *result, 10966 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode) = 0; 10967 10968 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( 10969 /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0; 10970 10971 virtual HRESULT STDMETHODCALLTYPE EnableVideoInput( 10972 /* [in] */ BMDDisplayMode displayMode, 10973 /* [in] */ BMDPixelFormat pixelFormat, 10974 /* [in] */ BMDVideoInputFlags flags) = 0; 10975 10976 virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0; 10977 10978 virtual HRESULT STDMETHODCALLTYPE GetAvailablePacketsCount( 10979 /* [out] */ unsigned int *availablePacketsCount) = 0; 10980 10981 virtual HRESULT STDMETHODCALLTYPE SetMemoryAllocator( 10982 /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0; 10983 10984 virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( 10985 /* [in] */ BMDAudioFormat audioFormat, 10986 /* [in] */ BMDAudioSampleRate sampleRate, 10987 /* [in] */ BMDAudioSampleType sampleType, 10988 /* [in] */ unsigned int channelCount) = 0; 10989 10990 virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0; 10991 10992 virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount( 10993 /* [out] */ unsigned int *availableSampleFrameCount) = 0; 10994 10995 virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0; 10996 10997 virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0; 10998 10999 virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0; 11000 11001 virtual HRESULT STDMETHODCALLTYPE FlushStreams( void) = 0; 11002 11003 virtual HRESULT STDMETHODCALLTYPE SetCallback( 11004 /* [in] */ IDeckLinkEncoderInputCallback *theCallback) = 0; 11005 11006 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( 11007 /* [in] */ BMDTimeScale desiredTimeScale, 11008 /* [out] */ BMDTimeValue *hardwareTime, 11009 /* [out] */ BMDTimeValue *timeInFrame, 11010 /* [out] */ BMDTimeValue *ticksPerFrame) = 0; 11011 11012 }; 11013 11014 11015 #else /* C style interface */ 11016 11017 typedef struct IDeckLinkEncoderInput_v10_11Vtbl 11018 { 11019 BEGIN_INTERFACE 11020 11021 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 11022 IDeckLinkEncoderInput_v10_11 * This, 11023 /* [in] */ REFIID riid, 11024 /* [annotation][iid_is][out] */ 11025 _COM_Outptr_ void **ppvObject); 11026 11027 ULONG ( STDMETHODCALLTYPE *AddRef )( 11028 IDeckLinkEncoderInput_v10_11 * This); 11029 11030 ULONG ( STDMETHODCALLTYPE *Release )( 11031 IDeckLinkEncoderInput_v10_11 * This); 11032 11033 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( 11034 IDeckLinkEncoderInput_v10_11 * This, 11035 /* [in] */ BMDDisplayMode displayMode, 11036 /* [in] */ BMDPixelFormat pixelFormat, 11037 /* [in] */ BMDVideoInputFlags flags, 11038 /* [out] */ BMDDisplayModeSupport_v10_11 *result, 11039 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode); 11040 11041 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( 11042 IDeckLinkEncoderInput_v10_11 * This, 11043 /* [out] */ IDeckLinkDisplayModeIterator **iterator); 11044 11045 HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )( 11046 IDeckLinkEncoderInput_v10_11 * This, 11047 /* [in] */ BMDDisplayMode displayMode, 11048 /* [in] */ BMDPixelFormat pixelFormat, 11049 /* [in] */ BMDVideoInputFlags flags); 11050 11051 HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )( 11052 IDeckLinkEncoderInput_v10_11 * This); 11053 11054 HRESULT ( STDMETHODCALLTYPE *GetAvailablePacketsCount )( 11055 IDeckLinkEncoderInput_v10_11 * This, 11056 /* [out] */ unsigned int *availablePacketsCount); 11057 11058 HRESULT ( STDMETHODCALLTYPE *SetMemoryAllocator )( 11059 IDeckLinkEncoderInput_v10_11 * This, 11060 /* [in] */ IDeckLinkMemoryAllocator *theAllocator); 11061 11062 HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )( 11063 IDeckLinkEncoderInput_v10_11 * This, 11064 /* [in] */ BMDAudioFormat audioFormat, 11065 /* [in] */ BMDAudioSampleRate sampleRate, 11066 /* [in] */ BMDAudioSampleType sampleType, 11067 /* [in] */ unsigned int channelCount); 11068 11069 HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )( 11070 IDeckLinkEncoderInput_v10_11 * This); 11071 11072 HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )( 11073 IDeckLinkEncoderInput_v10_11 * This, 11074 /* [out] */ unsigned int *availableSampleFrameCount); 11075 11076 HRESULT ( STDMETHODCALLTYPE *StartStreams )( 11077 IDeckLinkEncoderInput_v10_11 * This); 11078 11079 HRESULT ( STDMETHODCALLTYPE *StopStreams )( 11080 IDeckLinkEncoderInput_v10_11 * This); 11081 11082 HRESULT ( STDMETHODCALLTYPE *PauseStreams )( 11083 IDeckLinkEncoderInput_v10_11 * This); 11084 11085 HRESULT ( STDMETHODCALLTYPE *FlushStreams )( 11086 IDeckLinkEncoderInput_v10_11 * This); 11087 11088 HRESULT ( STDMETHODCALLTYPE *SetCallback )( 11089 IDeckLinkEncoderInput_v10_11 * This, 11090 /* [in] */ IDeckLinkEncoderInputCallback *theCallback); 11091 11092 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( 11093 IDeckLinkEncoderInput_v10_11 * This, 11094 /* [in] */ BMDTimeScale desiredTimeScale, 11095 /* [out] */ BMDTimeValue *hardwareTime, 11096 /* [out] */ BMDTimeValue *timeInFrame, 11097 /* [out] */ BMDTimeValue *ticksPerFrame); 11098 11099 END_INTERFACE 11100 } IDeckLinkEncoderInput_v10_11Vtbl; 11101 11102 interface IDeckLinkEncoderInput_v10_11 11103 { 11104 CONST_VTBL struct IDeckLinkEncoderInput_v10_11Vtbl *lpVtbl; 11105 }; 11106 11107 11108 11109 #ifdef COBJMACROS 11110 11111 11112 #define IDeckLinkEncoderInput_v10_11_QueryInterface(This,riid,ppvObject) \ 11113 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 11114 11115 #define IDeckLinkEncoderInput_v10_11_AddRef(This) \ 11116 ( (This)->lpVtbl -> AddRef(This) ) 11117 11118 #define IDeckLinkEncoderInput_v10_11_Release(This) \ 11119 ( (This)->lpVtbl -> Release(This) ) 11120 11121 11122 #define IDeckLinkEncoderInput_v10_11_DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) \ 11123 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) ) 11124 11125 #define IDeckLinkEncoderInput_v10_11_GetDisplayModeIterator(This,iterator) \ 11126 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) 11127 11128 #define IDeckLinkEncoderInput_v10_11_EnableVideoInput(This,displayMode,pixelFormat,flags) \ 11129 ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) ) 11130 11131 #define IDeckLinkEncoderInput_v10_11_DisableVideoInput(This) \ 11132 ( (This)->lpVtbl -> DisableVideoInput(This) ) 11133 11134 #define IDeckLinkEncoderInput_v10_11_GetAvailablePacketsCount(This,availablePacketsCount) \ 11135 ( (This)->lpVtbl -> GetAvailablePacketsCount(This,availablePacketsCount) ) 11136 11137 #define IDeckLinkEncoderInput_v10_11_SetMemoryAllocator(This,theAllocator) \ 11138 ( (This)->lpVtbl -> SetMemoryAllocator(This,theAllocator) ) 11139 11140 #define IDeckLinkEncoderInput_v10_11_EnableAudioInput(This,audioFormat,sampleRate,sampleType,channelCount) \ 11141 ( (This)->lpVtbl -> EnableAudioInput(This,audioFormat,sampleRate,sampleType,channelCount) ) 11142 11143 #define IDeckLinkEncoderInput_v10_11_DisableAudioInput(This) \ 11144 ( (This)->lpVtbl -> DisableAudioInput(This) ) 11145 11146 #define IDeckLinkEncoderInput_v10_11_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \ 11147 ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) ) 11148 11149 #define IDeckLinkEncoderInput_v10_11_StartStreams(This) \ 11150 ( (This)->lpVtbl -> StartStreams(This) ) 11151 11152 #define IDeckLinkEncoderInput_v10_11_StopStreams(This) \ 11153 ( (This)->lpVtbl -> StopStreams(This) ) 11154 11155 #define IDeckLinkEncoderInput_v10_11_PauseStreams(This) \ 11156 ( (This)->lpVtbl -> PauseStreams(This) ) 11157 11158 #define IDeckLinkEncoderInput_v10_11_FlushStreams(This) \ 11159 ( (This)->lpVtbl -> FlushStreams(This) ) 11160 11161 #define IDeckLinkEncoderInput_v10_11_SetCallback(This,theCallback) \ 11162 ( (This)->lpVtbl -> SetCallback(This,theCallback) ) 11163 11164 #define IDeckLinkEncoderInput_v10_11_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \ 11165 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) ) 11166 11167 #endif /* COBJMACROS */ 11168 11169 11170 #endif /* C style interface */ 11171 11172 11173 11174 11175 #endif /* __IDeckLinkEncoderInput_v10_11_INTERFACE_DEFINED__ */ 11176 11177 11178 EXTERN_C const CLSID CLSID_CDeckLinkIterator_v10_11; 11179 11180 #ifdef __cplusplus 11181 11182 class DECLSPEC_UUID("87D2693F-8D4A-45C7-B43F-10ACBA25E68F") 11183 CDeckLinkIterator_v10_11; 11184 #endif 11185 11186 EXTERN_C const CLSID CLSID_CDeckLinkDiscovery_v10_11; 11187 11188 #ifdef __cplusplus 11189 11190 class DECLSPEC_UUID("652615D4-26CD-4514-B161-2FD5072ED008") 11191 CDeckLinkDiscovery_v10_11; 11192 #endif 11193 11194 #ifndef __IDeckLinkConfiguration_v10_9_INTERFACE_DEFINED__ 11195 #define __IDeckLinkConfiguration_v10_9_INTERFACE_DEFINED__ 11196 11197 /* interface IDeckLinkConfiguration_v10_9 */ 11198 /* [helpstring][local][uuid][object] */ 11199 11200 11201 EXTERN_C const IID IID_IDeckLinkConfiguration_v10_9; 11202 11203 #if defined(__cplusplus) && !defined(CINTERFACE) 11204 11205 MIDL_INTERFACE("CB71734A-FE37-4E8D-8E13-802133A1C3F2") 11206 IDeckLinkConfiguration_v10_9 : public IUnknown 11207 { 11208 public: 11209 virtual HRESULT STDMETHODCALLTYPE SetFlag( 11210 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11211 /* [in] */ BOOL value) = 0; 11212 11213 virtual HRESULT STDMETHODCALLTYPE GetFlag( 11214 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11215 /* [out] */ BOOL *value) = 0; 11216 11217 virtual HRESULT STDMETHODCALLTYPE SetInt( 11218 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11219 /* [in] */ LONGLONG value) = 0; 11220 11221 virtual HRESULT STDMETHODCALLTYPE GetInt( 11222 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11223 /* [out] */ LONGLONG *value) = 0; 11224 11225 virtual HRESULT STDMETHODCALLTYPE SetFloat( 11226 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11227 /* [in] */ double value) = 0; 11228 11229 virtual HRESULT STDMETHODCALLTYPE GetFloat( 11230 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11231 /* [out] */ double *value) = 0; 11232 11233 virtual HRESULT STDMETHODCALLTYPE SetString( 11234 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11235 /* [in] */ BSTR value) = 0; 11236 11237 virtual HRESULT STDMETHODCALLTYPE GetString( 11238 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11239 /* [out] */ BSTR *value) = 0; 11240 11241 virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences( void) = 0; 11242 11243 }; 11244 11245 11246 #else /* C style interface */ 11247 11248 typedef struct IDeckLinkConfiguration_v10_9Vtbl 11249 { 11250 BEGIN_INTERFACE 11251 11252 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 11253 IDeckLinkConfiguration_v10_9 * This, 11254 /* [in] */ REFIID riid, 11255 /* [annotation][iid_is][out] */ 11256 _COM_Outptr_ void **ppvObject); 11257 11258 ULONG ( STDMETHODCALLTYPE *AddRef )( 11259 IDeckLinkConfiguration_v10_9 * This); 11260 11261 ULONG ( STDMETHODCALLTYPE *Release )( 11262 IDeckLinkConfiguration_v10_9 * This); 11263 11264 HRESULT ( STDMETHODCALLTYPE *SetFlag )( 11265 IDeckLinkConfiguration_v10_9 * This, 11266 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11267 /* [in] */ BOOL value); 11268 11269 HRESULT ( STDMETHODCALLTYPE *GetFlag )( 11270 IDeckLinkConfiguration_v10_9 * This, 11271 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11272 /* [out] */ BOOL *value); 11273 11274 HRESULT ( STDMETHODCALLTYPE *SetInt )( 11275 IDeckLinkConfiguration_v10_9 * This, 11276 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11277 /* [in] */ LONGLONG value); 11278 11279 HRESULT ( STDMETHODCALLTYPE *GetInt )( 11280 IDeckLinkConfiguration_v10_9 * This, 11281 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11282 /* [out] */ LONGLONG *value); 11283 11284 HRESULT ( STDMETHODCALLTYPE *SetFloat )( 11285 IDeckLinkConfiguration_v10_9 * This, 11286 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11287 /* [in] */ double value); 11288 11289 HRESULT ( STDMETHODCALLTYPE *GetFloat )( 11290 IDeckLinkConfiguration_v10_9 * This, 11291 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11292 /* [out] */ double *value); 11293 11294 HRESULT ( STDMETHODCALLTYPE *SetString )( 11295 IDeckLinkConfiguration_v10_9 * This, 11296 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11297 /* [in] */ BSTR value); 11298 11299 HRESULT ( STDMETHODCALLTYPE *GetString )( 11300 IDeckLinkConfiguration_v10_9 * This, 11301 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11302 /* [out] */ BSTR *value); 11303 11304 HRESULT ( STDMETHODCALLTYPE *WriteConfigurationToPreferences )( 11305 IDeckLinkConfiguration_v10_9 * This); 11306 11307 END_INTERFACE 11308 } IDeckLinkConfiguration_v10_9Vtbl; 11309 11310 interface IDeckLinkConfiguration_v10_9 11311 { 11312 CONST_VTBL struct IDeckLinkConfiguration_v10_9Vtbl *lpVtbl; 11313 }; 11314 11315 11316 11317 #ifdef COBJMACROS 11318 11319 11320 #define IDeckLinkConfiguration_v10_9_QueryInterface(This,riid,ppvObject) \ 11321 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 11322 11323 #define IDeckLinkConfiguration_v10_9_AddRef(This) \ 11324 ( (This)->lpVtbl -> AddRef(This) ) 11325 11326 #define IDeckLinkConfiguration_v10_9_Release(This) \ 11327 ( (This)->lpVtbl -> Release(This) ) 11328 11329 11330 #define IDeckLinkConfiguration_v10_9_SetFlag(This,cfgID,value) \ 11331 ( (This)->lpVtbl -> SetFlag(This,cfgID,value) ) 11332 11333 #define IDeckLinkConfiguration_v10_9_GetFlag(This,cfgID,value) \ 11334 ( (This)->lpVtbl -> GetFlag(This,cfgID,value) ) 11335 11336 #define IDeckLinkConfiguration_v10_9_SetInt(This,cfgID,value) \ 11337 ( (This)->lpVtbl -> SetInt(This,cfgID,value) ) 11338 11339 #define IDeckLinkConfiguration_v10_9_GetInt(This,cfgID,value) \ 11340 ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) 11341 11342 #define IDeckLinkConfiguration_v10_9_SetFloat(This,cfgID,value) \ 11343 ( (This)->lpVtbl -> SetFloat(This,cfgID,value) ) 11344 11345 #define IDeckLinkConfiguration_v10_9_GetFloat(This,cfgID,value) \ 11346 ( (This)->lpVtbl -> GetFloat(This,cfgID,value) ) 11347 11348 #define IDeckLinkConfiguration_v10_9_SetString(This,cfgID,value) \ 11349 ( (This)->lpVtbl -> SetString(This,cfgID,value) ) 11350 11351 #define IDeckLinkConfiguration_v10_9_GetString(This,cfgID,value) \ 11352 ( (This)->lpVtbl -> GetString(This,cfgID,value) ) 11353 11354 #define IDeckLinkConfiguration_v10_9_WriteConfigurationToPreferences(This) \ 11355 ( (This)->lpVtbl -> WriteConfigurationToPreferences(This) ) 11356 11357 #endif /* COBJMACROS */ 11358 11359 11360 #endif /* C style interface */ 11361 11362 11363 11364 11365 #endif /* __IDeckLinkConfiguration_v10_9_INTERFACE_DEFINED__ */ 11366 11367 11368 EXTERN_C const CLSID CLSID_CBMDStreamingDiscovery_v10_8; 11369 11370 #ifdef __cplusplus 11371 11372 class DECLSPEC_UUID("0CAA31F6-8A26-40B0-86A4-BF58DCCA710C") 11373 CBMDStreamingDiscovery_v10_8; 11374 #endif 11375 11376 EXTERN_C const CLSID CLSID_CDeckLinkIterator_v10_8; 11377 11378 #ifdef __cplusplus 11379 11380 class DECLSPEC_UUID("1F2E109A-8F4F-49E4-9203-135595CB6FA5") 11381 CDeckLinkIterator_v10_8; 11382 #endif 11383 11384 EXTERN_C const CLSID CLSID_CDeckLinkDiscovery_v10_8; 11385 11386 #ifdef __cplusplus 11387 11388 class DECLSPEC_UUID("1073A05C-D885-47E9-B3C6-129B3F9F648B") 11389 CDeckLinkDiscovery_v10_8; 11390 #endif 11391 11392 #ifndef __IDeckLinkEncoderConfiguration_v10_5_INTERFACE_DEFINED__ 11393 #define __IDeckLinkEncoderConfiguration_v10_5_INTERFACE_DEFINED__ 11394 11395 /* interface IDeckLinkEncoderConfiguration_v10_5 */ 11396 /* [helpstring][local][uuid][object] */ 11397 11398 11399 EXTERN_C const IID IID_IDeckLinkEncoderConfiguration_v10_5; 11400 11401 #if defined(__cplusplus) && !defined(CINTERFACE) 11402 11403 MIDL_INTERFACE("67455668-0848-45DF-8D8E-350A77C9A028") 11404 IDeckLinkEncoderConfiguration_v10_5 : public IUnknown 11405 { 11406 public: 11407 virtual HRESULT STDMETHODCALLTYPE SetFlag( 11408 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 11409 /* [in] */ BOOL value) = 0; 11410 11411 virtual HRESULT STDMETHODCALLTYPE GetFlag( 11412 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 11413 /* [out] */ BOOL *value) = 0; 11414 11415 virtual HRESULT STDMETHODCALLTYPE SetInt( 11416 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 11417 /* [in] */ LONGLONG value) = 0; 11418 11419 virtual HRESULT STDMETHODCALLTYPE GetInt( 11420 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 11421 /* [out] */ LONGLONG *value) = 0; 11422 11423 virtual HRESULT STDMETHODCALLTYPE SetFloat( 11424 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 11425 /* [in] */ double value) = 0; 11426 11427 virtual HRESULT STDMETHODCALLTYPE GetFloat( 11428 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 11429 /* [out] */ double *value) = 0; 11430 11431 virtual HRESULT STDMETHODCALLTYPE SetString( 11432 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 11433 /* [in] */ BSTR value) = 0; 11434 11435 virtual HRESULT STDMETHODCALLTYPE GetString( 11436 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 11437 /* [out] */ BSTR *value) = 0; 11438 11439 virtual HRESULT STDMETHODCALLTYPE GetDecoderConfigurationInfo( 11440 /* [out] */ void *buffer, 11441 /* [in] */ long bufferSize, 11442 /* [out] */ long *returnedSize) = 0; 11443 11444 }; 11445 11446 11447 #else /* C style interface */ 11448 11449 typedef struct IDeckLinkEncoderConfiguration_v10_5Vtbl 11450 { 11451 BEGIN_INTERFACE 11452 11453 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 11454 IDeckLinkEncoderConfiguration_v10_5 * This, 11455 /* [in] */ REFIID riid, 11456 /* [annotation][iid_is][out] */ 11457 _COM_Outptr_ void **ppvObject); 11458 11459 ULONG ( STDMETHODCALLTYPE *AddRef )( 11460 IDeckLinkEncoderConfiguration_v10_5 * This); 11461 11462 ULONG ( STDMETHODCALLTYPE *Release )( 11463 IDeckLinkEncoderConfiguration_v10_5 * This); 11464 11465 HRESULT ( STDMETHODCALLTYPE *SetFlag )( 11466 IDeckLinkEncoderConfiguration_v10_5 * This, 11467 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 11468 /* [in] */ BOOL value); 11469 11470 HRESULT ( STDMETHODCALLTYPE *GetFlag )( 11471 IDeckLinkEncoderConfiguration_v10_5 * This, 11472 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 11473 /* [out] */ BOOL *value); 11474 11475 HRESULT ( STDMETHODCALLTYPE *SetInt )( 11476 IDeckLinkEncoderConfiguration_v10_5 * This, 11477 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 11478 /* [in] */ LONGLONG value); 11479 11480 HRESULT ( STDMETHODCALLTYPE *GetInt )( 11481 IDeckLinkEncoderConfiguration_v10_5 * This, 11482 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 11483 /* [out] */ LONGLONG *value); 11484 11485 HRESULT ( STDMETHODCALLTYPE *SetFloat )( 11486 IDeckLinkEncoderConfiguration_v10_5 * This, 11487 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 11488 /* [in] */ double value); 11489 11490 HRESULT ( STDMETHODCALLTYPE *GetFloat )( 11491 IDeckLinkEncoderConfiguration_v10_5 * This, 11492 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 11493 /* [out] */ double *value); 11494 11495 HRESULT ( STDMETHODCALLTYPE *SetString )( 11496 IDeckLinkEncoderConfiguration_v10_5 * This, 11497 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 11498 /* [in] */ BSTR value); 11499 11500 HRESULT ( STDMETHODCALLTYPE *GetString )( 11501 IDeckLinkEncoderConfiguration_v10_5 * This, 11502 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 11503 /* [out] */ BSTR *value); 11504 11505 HRESULT ( STDMETHODCALLTYPE *GetDecoderConfigurationInfo )( 11506 IDeckLinkEncoderConfiguration_v10_5 * This, 11507 /* [out] */ void *buffer, 11508 /* [in] */ long bufferSize, 11509 /* [out] */ long *returnedSize); 11510 11511 END_INTERFACE 11512 } IDeckLinkEncoderConfiguration_v10_5Vtbl; 11513 11514 interface IDeckLinkEncoderConfiguration_v10_5 11515 { 11516 CONST_VTBL struct IDeckLinkEncoderConfiguration_v10_5Vtbl *lpVtbl; 11517 }; 11518 11519 11520 11521 #ifdef COBJMACROS 11522 11523 11524 #define IDeckLinkEncoderConfiguration_v10_5_QueryInterface(This,riid,ppvObject) \ 11525 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 11526 11527 #define IDeckLinkEncoderConfiguration_v10_5_AddRef(This) \ 11528 ( (This)->lpVtbl -> AddRef(This) ) 11529 11530 #define IDeckLinkEncoderConfiguration_v10_5_Release(This) \ 11531 ( (This)->lpVtbl -> Release(This) ) 11532 11533 11534 #define IDeckLinkEncoderConfiguration_v10_5_SetFlag(This,cfgID,value) \ 11535 ( (This)->lpVtbl -> SetFlag(This,cfgID,value) ) 11536 11537 #define IDeckLinkEncoderConfiguration_v10_5_GetFlag(This,cfgID,value) \ 11538 ( (This)->lpVtbl -> GetFlag(This,cfgID,value) ) 11539 11540 #define IDeckLinkEncoderConfiguration_v10_5_SetInt(This,cfgID,value) \ 11541 ( (This)->lpVtbl -> SetInt(This,cfgID,value) ) 11542 11543 #define IDeckLinkEncoderConfiguration_v10_5_GetInt(This,cfgID,value) \ 11544 ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) 11545 11546 #define IDeckLinkEncoderConfiguration_v10_5_SetFloat(This,cfgID,value) \ 11547 ( (This)->lpVtbl -> SetFloat(This,cfgID,value) ) 11548 11549 #define IDeckLinkEncoderConfiguration_v10_5_GetFloat(This,cfgID,value) \ 11550 ( (This)->lpVtbl -> GetFloat(This,cfgID,value) ) 11551 11552 #define IDeckLinkEncoderConfiguration_v10_5_SetString(This,cfgID,value) \ 11553 ( (This)->lpVtbl -> SetString(This,cfgID,value) ) 11554 11555 #define IDeckLinkEncoderConfiguration_v10_5_GetString(This,cfgID,value) \ 11556 ( (This)->lpVtbl -> GetString(This,cfgID,value) ) 11557 11558 #define IDeckLinkEncoderConfiguration_v10_5_GetDecoderConfigurationInfo(This,buffer,bufferSize,returnedSize) \ 11559 ( (This)->lpVtbl -> GetDecoderConfigurationInfo(This,buffer,bufferSize,returnedSize) ) 11560 11561 #endif /* COBJMACROS */ 11562 11563 11564 #endif /* C style interface */ 11565 11566 11567 11568 11569 #endif /* __IDeckLinkEncoderConfiguration_v10_5_INTERFACE_DEFINED__ */ 11570 11571 11572 #ifndef __IDeckLinkConfiguration_v10_4_INTERFACE_DEFINED__ 11573 #define __IDeckLinkConfiguration_v10_4_INTERFACE_DEFINED__ 11574 11575 /* interface IDeckLinkConfiguration_v10_4 */ 11576 /* [helpstring][local][uuid][object] */ 11577 11578 11579 EXTERN_C const IID IID_IDeckLinkConfiguration_v10_4; 11580 11581 #if defined(__cplusplus) && !defined(CINTERFACE) 11582 11583 MIDL_INTERFACE("1E69FCF6-4203-4936-8076-2A9F4CFD50CB") 11584 IDeckLinkConfiguration_v10_4 : public IUnknown 11585 { 11586 public: 11587 virtual HRESULT STDMETHODCALLTYPE SetFlag( 11588 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11589 /* [in] */ BOOL value) = 0; 11590 11591 virtual HRESULT STDMETHODCALLTYPE GetFlag( 11592 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11593 /* [out] */ BOOL *value) = 0; 11594 11595 virtual HRESULT STDMETHODCALLTYPE SetInt( 11596 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11597 /* [in] */ LONGLONG value) = 0; 11598 11599 virtual HRESULT STDMETHODCALLTYPE GetInt( 11600 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11601 /* [out] */ LONGLONG *value) = 0; 11602 11603 virtual HRESULT STDMETHODCALLTYPE SetFloat( 11604 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11605 /* [in] */ double value) = 0; 11606 11607 virtual HRESULT STDMETHODCALLTYPE GetFloat( 11608 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11609 /* [out] */ double *value) = 0; 11610 11611 virtual HRESULT STDMETHODCALLTYPE SetString( 11612 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11613 /* [in] */ BSTR value) = 0; 11614 11615 virtual HRESULT STDMETHODCALLTYPE GetString( 11616 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11617 /* [out] */ BSTR *value) = 0; 11618 11619 virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences( void) = 0; 11620 11621 }; 11622 11623 11624 #else /* C style interface */ 11625 11626 typedef struct IDeckLinkConfiguration_v10_4Vtbl 11627 { 11628 BEGIN_INTERFACE 11629 11630 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 11631 IDeckLinkConfiguration_v10_4 * This, 11632 /* [in] */ REFIID riid, 11633 /* [annotation][iid_is][out] */ 11634 _COM_Outptr_ void **ppvObject); 11635 11636 ULONG ( STDMETHODCALLTYPE *AddRef )( 11637 IDeckLinkConfiguration_v10_4 * This); 11638 11639 ULONG ( STDMETHODCALLTYPE *Release )( 11640 IDeckLinkConfiguration_v10_4 * This); 11641 11642 HRESULT ( STDMETHODCALLTYPE *SetFlag )( 11643 IDeckLinkConfiguration_v10_4 * This, 11644 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11645 /* [in] */ BOOL value); 11646 11647 HRESULT ( STDMETHODCALLTYPE *GetFlag )( 11648 IDeckLinkConfiguration_v10_4 * This, 11649 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11650 /* [out] */ BOOL *value); 11651 11652 HRESULT ( STDMETHODCALLTYPE *SetInt )( 11653 IDeckLinkConfiguration_v10_4 * This, 11654 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11655 /* [in] */ LONGLONG value); 11656 11657 HRESULT ( STDMETHODCALLTYPE *GetInt )( 11658 IDeckLinkConfiguration_v10_4 * This, 11659 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11660 /* [out] */ LONGLONG *value); 11661 11662 HRESULT ( STDMETHODCALLTYPE *SetFloat )( 11663 IDeckLinkConfiguration_v10_4 * This, 11664 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11665 /* [in] */ double value); 11666 11667 HRESULT ( STDMETHODCALLTYPE *GetFloat )( 11668 IDeckLinkConfiguration_v10_4 * This, 11669 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11670 /* [out] */ double *value); 11671 11672 HRESULT ( STDMETHODCALLTYPE *SetString )( 11673 IDeckLinkConfiguration_v10_4 * This, 11674 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11675 /* [in] */ BSTR value); 11676 11677 HRESULT ( STDMETHODCALLTYPE *GetString )( 11678 IDeckLinkConfiguration_v10_4 * This, 11679 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11680 /* [out] */ BSTR *value); 11681 11682 HRESULT ( STDMETHODCALLTYPE *WriteConfigurationToPreferences )( 11683 IDeckLinkConfiguration_v10_4 * This); 11684 11685 END_INTERFACE 11686 } IDeckLinkConfiguration_v10_4Vtbl; 11687 11688 interface IDeckLinkConfiguration_v10_4 11689 { 11690 CONST_VTBL struct IDeckLinkConfiguration_v10_4Vtbl *lpVtbl; 11691 }; 11692 11693 11694 11695 #ifdef COBJMACROS 11696 11697 11698 #define IDeckLinkConfiguration_v10_4_QueryInterface(This,riid,ppvObject) \ 11699 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 11700 11701 #define IDeckLinkConfiguration_v10_4_AddRef(This) \ 11702 ( (This)->lpVtbl -> AddRef(This) ) 11703 11704 #define IDeckLinkConfiguration_v10_4_Release(This) \ 11705 ( (This)->lpVtbl -> Release(This) ) 11706 11707 11708 #define IDeckLinkConfiguration_v10_4_SetFlag(This,cfgID,value) \ 11709 ( (This)->lpVtbl -> SetFlag(This,cfgID,value) ) 11710 11711 #define IDeckLinkConfiguration_v10_4_GetFlag(This,cfgID,value) \ 11712 ( (This)->lpVtbl -> GetFlag(This,cfgID,value) ) 11713 11714 #define IDeckLinkConfiguration_v10_4_SetInt(This,cfgID,value) \ 11715 ( (This)->lpVtbl -> SetInt(This,cfgID,value) ) 11716 11717 #define IDeckLinkConfiguration_v10_4_GetInt(This,cfgID,value) \ 11718 ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) 11719 11720 #define IDeckLinkConfiguration_v10_4_SetFloat(This,cfgID,value) \ 11721 ( (This)->lpVtbl -> SetFloat(This,cfgID,value) ) 11722 11723 #define IDeckLinkConfiguration_v10_4_GetFloat(This,cfgID,value) \ 11724 ( (This)->lpVtbl -> GetFloat(This,cfgID,value) ) 11725 11726 #define IDeckLinkConfiguration_v10_4_SetString(This,cfgID,value) \ 11727 ( (This)->lpVtbl -> SetString(This,cfgID,value) ) 11728 11729 #define IDeckLinkConfiguration_v10_4_GetString(This,cfgID,value) \ 11730 ( (This)->lpVtbl -> GetString(This,cfgID,value) ) 11731 11732 #define IDeckLinkConfiguration_v10_4_WriteConfigurationToPreferences(This) \ 11733 ( (This)->lpVtbl -> WriteConfigurationToPreferences(This) ) 11734 11735 #endif /* COBJMACROS */ 11736 11737 11738 #endif /* C style interface */ 11739 11740 11741 11742 11743 #endif /* __IDeckLinkConfiguration_v10_4_INTERFACE_DEFINED__ */ 11744 11745 11746 #ifndef __IDeckLinkConfiguration_v10_2_INTERFACE_DEFINED__ 11747 #define __IDeckLinkConfiguration_v10_2_INTERFACE_DEFINED__ 11748 11749 /* interface IDeckLinkConfiguration_v10_2 */ 11750 /* [helpstring][local][uuid][object] */ 11751 11752 11753 EXTERN_C const IID IID_IDeckLinkConfiguration_v10_2; 11754 11755 #if defined(__cplusplus) && !defined(CINTERFACE) 11756 11757 MIDL_INTERFACE("C679A35B-610C-4D09-B748-1D0478100FC0") 11758 IDeckLinkConfiguration_v10_2 : public IUnknown 11759 { 11760 public: 11761 virtual HRESULT STDMETHODCALLTYPE SetFlag( 11762 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11763 /* [in] */ BOOL value) = 0; 11764 11765 virtual HRESULT STDMETHODCALLTYPE GetFlag( 11766 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11767 /* [out] */ BOOL *value) = 0; 11768 11769 virtual HRESULT STDMETHODCALLTYPE SetInt( 11770 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11771 /* [in] */ LONGLONG value) = 0; 11772 11773 virtual HRESULT STDMETHODCALLTYPE GetInt( 11774 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11775 /* [out] */ LONGLONG *value) = 0; 11776 11777 virtual HRESULT STDMETHODCALLTYPE SetFloat( 11778 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11779 /* [in] */ double value) = 0; 11780 11781 virtual HRESULT STDMETHODCALLTYPE GetFloat( 11782 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11783 /* [out] */ double *value) = 0; 11784 11785 virtual HRESULT STDMETHODCALLTYPE SetString( 11786 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11787 /* [in] */ BSTR value) = 0; 11788 11789 virtual HRESULT STDMETHODCALLTYPE GetString( 11790 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11791 /* [out] */ BSTR *value) = 0; 11792 11793 virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences( void) = 0; 11794 11795 }; 11796 11797 11798 #else /* C style interface */ 11799 11800 typedef struct IDeckLinkConfiguration_v10_2Vtbl 11801 { 11802 BEGIN_INTERFACE 11803 11804 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 11805 IDeckLinkConfiguration_v10_2 * This, 11806 /* [in] */ REFIID riid, 11807 /* [annotation][iid_is][out] */ 11808 _COM_Outptr_ void **ppvObject); 11809 11810 ULONG ( STDMETHODCALLTYPE *AddRef )( 11811 IDeckLinkConfiguration_v10_2 * This); 11812 11813 ULONG ( STDMETHODCALLTYPE *Release )( 11814 IDeckLinkConfiguration_v10_2 * This); 11815 11816 HRESULT ( STDMETHODCALLTYPE *SetFlag )( 11817 IDeckLinkConfiguration_v10_2 * This, 11818 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11819 /* [in] */ BOOL value); 11820 11821 HRESULT ( STDMETHODCALLTYPE *GetFlag )( 11822 IDeckLinkConfiguration_v10_2 * This, 11823 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11824 /* [out] */ BOOL *value); 11825 11826 HRESULT ( STDMETHODCALLTYPE *SetInt )( 11827 IDeckLinkConfiguration_v10_2 * This, 11828 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11829 /* [in] */ LONGLONG value); 11830 11831 HRESULT ( STDMETHODCALLTYPE *GetInt )( 11832 IDeckLinkConfiguration_v10_2 * This, 11833 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11834 /* [out] */ LONGLONG *value); 11835 11836 HRESULT ( STDMETHODCALLTYPE *SetFloat )( 11837 IDeckLinkConfiguration_v10_2 * This, 11838 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11839 /* [in] */ double value); 11840 11841 HRESULT ( STDMETHODCALLTYPE *GetFloat )( 11842 IDeckLinkConfiguration_v10_2 * This, 11843 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11844 /* [out] */ double *value); 11845 11846 HRESULT ( STDMETHODCALLTYPE *SetString )( 11847 IDeckLinkConfiguration_v10_2 * This, 11848 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11849 /* [in] */ BSTR value); 11850 11851 HRESULT ( STDMETHODCALLTYPE *GetString )( 11852 IDeckLinkConfiguration_v10_2 * This, 11853 /* [in] */ BMDDeckLinkConfigurationID cfgID, 11854 /* [out] */ BSTR *value); 11855 11856 HRESULT ( STDMETHODCALLTYPE *WriteConfigurationToPreferences )( 11857 IDeckLinkConfiguration_v10_2 * This); 11858 11859 END_INTERFACE 11860 } IDeckLinkConfiguration_v10_2Vtbl; 11861 11862 interface IDeckLinkConfiguration_v10_2 11863 { 11864 CONST_VTBL struct IDeckLinkConfiguration_v10_2Vtbl *lpVtbl; 11865 }; 11866 11867 11868 11869 #ifdef COBJMACROS 11870 11871 11872 #define IDeckLinkConfiguration_v10_2_QueryInterface(This,riid,ppvObject) \ 11873 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 11874 11875 #define IDeckLinkConfiguration_v10_2_AddRef(This) \ 11876 ( (This)->lpVtbl -> AddRef(This) ) 11877 11878 #define IDeckLinkConfiguration_v10_2_Release(This) \ 11879 ( (This)->lpVtbl -> Release(This) ) 11880 11881 11882 #define IDeckLinkConfiguration_v10_2_SetFlag(This,cfgID,value) \ 11883 ( (This)->lpVtbl -> SetFlag(This,cfgID,value) ) 11884 11885 #define IDeckLinkConfiguration_v10_2_GetFlag(This,cfgID,value) \ 11886 ( (This)->lpVtbl -> GetFlag(This,cfgID,value) ) 11887 11888 #define IDeckLinkConfiguration_v10_2_SetInt(This,cfgID,value) \ 11889 ( (This)->lpVtbl -> SetInt(This,cfgID,value) ) 11890 11891 #define IDeckLinkConfiguration_v10_2_GetInt(This,cfgID,value) \ 11892 ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) 11893 11894 #define IDeckLinkConfiguration_v10_2_SetFloat(This,cfgID,value) \ 11895 ( (This)->lpVtbl -> SetFloat(This,cfgID,value) ) 11896 11897 #define IDeckLinkConfiguration_v10_2_GetFloat(This,cfgID,value) \ 11898 ( (This)->lpVtbl -> GetFloat(This,cfgID,value) ) 11899 11900 #define IDeckLinkConfiguration_v10_2_SetString(This,cfgID,value) \ 11901 ( (This)->lpVtbl -> SetString(This,cfgID,value) ) 11902 11903 #define IDeckLinkConfiguration_v10_2_GetString(This,cfgID,value) \ 11904 ( (This)->lpVtbl -> GetString(This,cfgID,value) ) 11905 11906 #define IDeckLinkConfiguration_v10_2_WriteConfigurationToPreferences(This) \ 11907 ( (This)->lpVtbl -> WriteConfigurationToPreferences(This) ) 11908 11909 #endif /* COBJMACROS */ 11910 11911 11912 #endif /* C style interface */ 11913 11914 11915 11916 11917 #endif /* __IDeckLinkConfiguration_v10_2_INTERFACE_DEFINED__ */ 11918 11919 11920 #ifndef __IDeckLinkOutput_v9_9_INTERFACE_DEFINED__ 11921 #define __IDeckLinkOutput_v9_9_INTERFACE_DEFINED__ 11922 11923 /* interface IDeckLinkOutput_v9_9 */ 11924 /* [helpstring][local][uuid][object] */ 11925 11926 11927 EXTERN_C const IID IID_IDeckLinkOutput_v9_9; 11928 11929 #if defined(__cplusplus) && !defined(CINTERFACE) 11930 11931 MIDL_INTERFACE("A3EF0963-0862-44ED-92A9-EE89ABF431C7") 11932 IDeckLinkOutput_v9_9 : public IUnknown 11933 { 11934 public: 11935 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( 11936 /* [in] */ BMDDisplayMode displayMode, 11937 /* [in] */ BMDPixelFormat pixelFormat, 11938 /* [in] */ BMDVideoOutputFlags flags, 11939 /* [out] */ BMDDisplayModeSupport_v10_11 *result, 11940 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode) = 0; 11941 11942 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( 11943 /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0; 11944 11945 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( 11946 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; 11947 11948 virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput( 11949 /* [in] */ BMDDisplayMode displayMode, 11950 /* [in] */ BMDVideoOutputFlags flags) = 0; 11951 11952 virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0; 11953 11954 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator( 11955 /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0; 11956 11957 virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame( 11958 /* [in] */ int width, 11959 /* [in] */ int height, 11960 /* [in] */ int rowBytes, 11961 /* [in] */ BMDPixelFormat pixelFormat, 11962 /* [in] */ BMDFrameFlags flags, 11963 /* [out] */ IDeckLinkMutableVideoFrame **outFrame) = 0; 11964 11965 virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData( 11966 /* [in] */ BMDPixelFormat pixelFormat, 11967 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer) = 0; 11968 11969 virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync( 11970 /* [in] */ IDeckLinkVideoFrame *theFrame) = 0; 11971 11972 virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame( 11973 /* [in] */ IDeckLinkVideoFrame *theFrame, 11974 /* [in] */ BMDTimeValue displayTime, 11975 /* [in] */ BMDTimeValue displayDuration, 11976 /* [in] */ BMDTimeScale timeScale) = 0; 11977 11978 virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback( 11979 /* [in] */ IDeckLinkVideoOutputCallback *theCallback) = 0; 11980 11981 virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount( 11982 /* [out] */ unsigned int *bufferedFrameCount) = 0; 11983 11984 virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput( 11985 /* [in] */ BMDAudioSampleRate sampleRate, 11986 /* [in] */ BMDAudioSampleType sampleType, 11987 /* [in] */ unsigned int channelCount, 11988 /* [in] */ BMDAudioOutputStreamType streamType) = 0; 11989 11990 virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0; 11991 11992 virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync( 11993 /* [in] */ void *buffer, 11994 /* [in] */ unsigned int sampleFrameCount, 11995 /* [out] */ unsigned int *sampleFramesWritten) = 0; 11996 11997 virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0; 11998 11999 virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0; 12000 12001 virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples( 12002 /* [in] */ void *buffer, 12003 /* [in] */ unsigned int sampleFrameCount, 12004 /* [in] */ BMDTimeValue streamTime, 12005 /* [in] */ BMDTimeScale timeScale, 12006 /* [out] */ unsigned int *sampleFramesWritten) = 0; 12007 12008 virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount( 12009 /* [out] */ unsigned int *bufferedSampleFrameCount) = 0; 12010 12011 virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0; 12012 12013 virtual HRESULT STDMETHODCALLTYPE SetAudioCallback( 12014 /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0; 12015 12016 virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback( 12017 /* [in] */ BMDTimeValue playbackStartTime, 12018 /* [in] */ BMDTimeScale timeScale, 12019 /* [in] */ double playbackSpeed) = 0; 12020 12021 virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback( 12022 /* [in] */ BMDTimeValue stopPlaybackAtTime, 12023 /* [out] */ BMDTimeValue *actualStopTime, 12024 /* [in] */ BMDTimeScale timeScale) = 0; 12025 12026 virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning( 12027 /* [out] */ BOOL *active) = 0; 12028 12029 virtual HRESULT STDMETHODCALLTYPE GetScheduledStreamTime( 12030 /* [in] */ BMDTimeScale desiredTimeScale, 12031 /* [out] */ BMDTimeValue *streamTime, 12032 /* [out] */ double *playbackSpeed) = 0; 12033 12034 virtual HRESULT STDMETHODCALLTYPE GetReferenceStatus( 12035 /* [out] */ BMDReferenceStatus *referenceStatus) = 0; 12036 12037 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( 12038 /* [in] */ BMDTimeScale desiredTimeScale, 12039 /* [out] */ BMDTimeValue *hardwareTime, 12040 /* [out] */ BMDTimeValue *timeInFrame, 12041 /* [out] */ BMDTimeValue *ticksPerFrame) = 0; 12042 12043 }; 12044 12045 12046 #else /* C style interface */ 12047 12048 typedef struct IDeckLinkOutput_v9_9Vtbl 12049 { 12050 BEGIN_INTERFACE 12051 12052 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 12053 IDeckLinkOutput_v9_9 * This, 12054 /* [in] */ REFIID riid, 12055 /* [annotation][iid_is][out] */ 12056 _COM_Outptr_ void **ppvObject); 12057 12058 ULONG ( STDMETHODCALLTYPE *AddRef )( 12059 IDeckLinkOutput_v9_9 * This); 12060 12061 ULONG ( STDMETHODCALLTYPE *Release )( 12062 IDeckLinkOutput_v9_9 * This); 12063 12064 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( 12065 IDeckLinkOutput_v9_9 * This, 12066 /* [in] */ BMDDisplayMode displayMode, 12067 /* [in] */ BMDPixelFormat pixelFormat, 12068 /* [in] */ BMDVideoOutputFlags flags, 12069 /* [out] */ BMDDisplayModeSupport_v10_11 *result, 12070 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode); 12071 12072 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( 12073 IDeckLinkOutput_v9_9 * This, 12074 /* [out] */ IDeckLinkDisplayModeIterator **iterator); 12075 12076 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )( 12077 IDeckLinkOutput_v9_9 * This, 12078 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback); 12079 12080 HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )( 12081 IDeckLinkOutput_v9_9 * This, 12082 /* [in] */ BMDDisplayMode displayMode, 12083 /* [in] */ BMDVideoOutputFlags flags); 12084 12085 HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )( 12086 IDeckLinkOutput_v9_9 * This); 12087 12088 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )( 12089 IDeckLinkOutput_v9_9 * This, 12090 /* [in] */ IDeckLinkMemoryAllocator *theAllocator); 12091 12092 HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )( 12093 IDeckLinkOutput_v9_9 * This, 12094 /* [in] */ int width, 12095 /* [in] */ int height, 12096 /* [in] */ int rowBytes, 12097 /* [in] */ BMDPixelFormat pixelFormat, 12098 /* [in] */ BMDFrameFlags flags, 12099 /* [out] */ IDeckLinkMutableVideoFrame **outFrame); 12100 12101 HRESULT ( STDMETHODCALLTYPE *CreateAncillaryData )( 12102 IDeckLinkOutput_v9_9 * This, 12103 /* [in] */ BMDPixelFormat pixelFormat, 12104 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer); 12105 12106 HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )( 12107 IDeckLinkOutput_v9_9 * This, 12108 /* [in] */ IDeckLinkVideoFrame *theFrame); 12109 12110 HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )( 12111 IDeckLinkOutput_v9_9 * This, 12112 /* [in] */ IDeckLinkVideoFrame *theFrame, 12113 /* [in] */ BMDTimeValue displayTime, 12114 /* [in] */ BMDTimeValue displayDuration, 12115 /* [in] */ BMDTimeScale timeScale); 12116 12117 HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )( 12118 IDeckLinkOutput_v9_9 * This, 12119 /* [in] */ IDeckLinkVideoOutputCallback *theCallback); 12120 12121 HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )( 12122 IDeckLinkOutput_v9_9 * This, 12123 /* [out] */ unsigned int *bufferedFrameCount); 12124 12125 HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )( 12126 IDeckLinkOutput_v9_9 * This, 12127 /* [in] */ BMDAudioSampleRate sampleRate, 12128 /* [in] */ BMDAudioSampleType sampleType, 12129 /* [in] */ unsigned int channelCount, 12130 /* [in] */ BMDAudioOutputStreamType streamType); 12131 12132 HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )( 12133 IDeckLinkOutput_v9_9 * This); 12134 12135 HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )( 12136 IDeckLinkOutput_v9_9 * This, 12137 /* [in] */ void *buffer, 12138 /* [in] */ unsigned int sampleFrameCount, 12139 /* [out] */ unsigned int *sampleFramesWritten); 12140 12141 HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )( 12142 IDeckLinkOutput_v9_9 * This); 12143 12144 HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )( 12145 IDeckLinkOutput_v9_9 * This); 12146 12147 HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )( 12148 IDeckLinkOutput_v9_9 * This, 12149 /* [in] */ void *buffer, 12150 /* [in] */ unsigned int sampleFrameCount, 12151 /* [in] */ BMDTimeValue streamTime, 12152 /* [in] */ BMDTimeScale timeScale, 12153 /* [out] */ unsigned int *sampleFramesWritten); 12154 12155 HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )( 12156 IDeckLinkOutput_v9_9 * This, 12157 /* [out] */ unsigned int *bufferedSampleFrameCount); 12158 12159 HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )( 12160 IDeckLinkOutput_v9_9 * This); 12161 12162 HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )( 12163 IDeckLinkOutput_v9_9 * This, 12164 /* [in] */ IDeckLinkAudioOutputCallback *theCallback); 12165 12166 HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )( 12167 IDeckLinkOutput_v9_9 * This, 12168 /* [in] */ BMDTimeValue playbackStartTime, 12169 /* [in] */ BMDTimeScale timeScale, 12170 /* [in] */ double playbackSpeed); 12171 12172 HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )( 12173 IDeckLinkOutput_v9_9 * This, 12174 /* [in] */ BMDTimeValue stopPlaybackAtTime, 12175 /* [out] */ BMDTimeValue *actualStopTime, 12176 /* [in] */ BMDTimeScale timeScale); 12177 12178 HRESULT ( STDMETHODCALLTYPE *IsScheduledPlaybackRunning )( 12179 IDeckLinkOutput_v9_9 * This, 12180 /* [out] */ BOOL *active); 12181 12182 HRESULT ( STDMETHODCALLTYPE *GetScheduledStreamTime )( 12183 IDeckLinkOutput_v9_9 * This, 12184 /* [in] */ BMDTimeScale desiredTimeScale, 12185 /* [out] */ BMDTimeValue *streamTime, 12186 /* [out] */ double *playbackSpeed); 12187 12188 HRESULT ( STDMETHODCALLTYPE *GetReferenceStatus )( 12189 IDeckLinkOutput_v9_9 * This, 12190 /* [out] */ BMDReferenceStatus *referenceStatus); 12191 12192 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( 12193 IDeckLinkOutput_v9_9 * This, 12194 /* [in] */ BMDTimeScale desiredTimeScale, 12195 /* [out] */ BMDTimeValue *hardwareTime, 12196 /* [out] */ BMDTimeValue *timeInFrame, 12197 /* [out] */ BMDTimeValue *ticksPerFrame); 12198 12199 END_INTERFACE 12200 } IDeckLinkOutput_v9_9Vtbl; 12201 12202 interface IDeckLinkOutput_v9_9 12203 { 12204 CONST_VTBL struct IDeckLinkOutput_v9_9Vtbl *lpVtbl; 12205 }; 12206 12207 12208 12209 #ifdef COBJMACROS 12210 12211 12212 #define IDeckLinkOutput_v9_9_QueryInterface(This,riid,ppvObject) \ 12213 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 12214 12215 #define IDeckLinkOutput_v9_9_AddRef(This) \ 12216 ( (This)->lpVtbl -> AddRef(This) ) 12217 12218 #define IDeckLinkOutput_v9_9_Release(This) \ 12219 ( (This)->lpVtbl -> Release(This) ) 12220 12221 12222 #define IDeckLinkOutput_v9_9_DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) \ 12223 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) ) 12224 12225 #define IDeckLinkOutput_v9_9_GetDisplayModeIterator(This,iterator) \ 12226 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) 12227 12228 #define IDeckLinkOutput_v9_9_SetScreenPreviewCallback(This,previewCallback) \ 12229 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) ) 12230 12231 #define IDeckLinkOutput_v9_9_EnableVideoOutput(This,displayMode,flags) \ 12232 ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode,flags) ) 12233 12234 #define IDeckLinkOutput_v9_9_DisableVideoOutput(This) \ 12235 ( (This)->lpVtbl -> DisableVideoOutput(This) ) 12236 12237 #define IDeckLinkOutput_v9_9_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \ 12238 ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) ) 12239 12240 #define IDeckLinkOutput_v9_9_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \ 12241 ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) ) 12242 12243 #define IDeckLinkOutput_v9_9_CreateAncillaryData(This,pixelFormat,outBuffer) \ 12244 ( (This)->lpVtbl -> CreateAncillaryData(This,pixelFormat,outBuffer) ) 12245 12246 #define IDeckLinkOutput_v9_9_DisplayVideoFrameSync(This,theFrame) \ 12247 ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) ) 12248 12249 #define IDeckLinkOutput_v9_9_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \ 12250 ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) ) 12251 12252 #define IDeckLinkOutput_v9_9_SetScheduledFrameCompletionCallback(This,theCallback) \ 12253 ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) ) 12254 12255 #define IDeckLinkOutput_v9_9_GetBufferedVideoFrameCount(This,bufferedFrameCount) \ 12256 ( (This)->lpVtbl -> GetBufferedVideoFrameCount(This,bufferedFrameCount) ) 12257 12258 #define IDeckLinkOutput_v9_9_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) \ 12259 ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) ) 12260 12261 #define IDeckLinkOutput_v9_9_DisableAudioOutput(This) \ 12262 ( (This)->lpVtbl -> DisableAudioOutput(This) ) 12263 12264 #define IDeckLinkOutput_v9_9_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \ 12265 ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) ) 12266 12267 #define IDeckLinkOutput_v9_9_BeginAudioPreroll(This) \ 12268 ( (This)->lpVtbl -> BeginAudioPreroll(This) ) 12269 12270 #define IDeckLinkOutput_v9_9_EndAudioPreroll(This) \ 12271 ( (This)->lpVtbl -> EndAudioPreroll(This) ) 12272 12273 #define IDeckLinkOutput_v9_9_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \ 12274 ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) ) 12275 12276 #define IDeckLinkOutput_v9_9_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) \ 12277 ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) ) 12278 12279 #define IDeckLinkOutput_v9_9_FlushBufferedAudioSamples(This) \ 12280 ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) ) 12281 12282 #define IDeckLinkOutput_v9_9_SetAudioCallback(This,theCallback) \ 12283 ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) ) 12284 12285 #define IDeckLinkOutput_v9_9_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \ 12286 ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) ) 12287 12288 #define IDeckLinkOutput_v9_9_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \ 12289 ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) ) 12290 12291 #define IDeckLinkOutput_v9_9_IsScheduledPlaybackRunning(This,active) \ 12292 ( (This)->lpVtbl -> IsScheduledPlaybackRunning(This,active) ) 12293 12294 #define IDeckLinkOutput_v9_9_GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) \ 12295 ( (This)->lpVtbl -> GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) ) 12296 12297 #define IDeckLinkOutput_v9_9_GetReferenceStatus(This,referenceStatus) \ 12298 ( (This)->lpVtbl -> GetReferenceStatus(This,referenceStatus) ) 12299 12300 #define IDeckLinkOutput_v9_9_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \ 12301 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) ) 12302 12303 #endif /* COBJMACROS */ 12304 12305 12306 #endif /* C style interface */ 12307 12308 12309 12310 12311 #endif /* __IDeckLinkOutput_v9_9_INTERFACE_DEFINED__ */ 12312 12313 12314 #ifndef __IDeckLinkInput_v9_2_INTERFACE_DEFINED__ 12315 #define __IDeckLinkInput_v9_2_INTERFACE_DEFINED__ 12316 12317 /* interface IDeckLinkInput_v9_2 */ 12318 /* [helpstring][uuid][object] */ 12319 12320 12321 EXTERN_C const IID IID_IDeckLinkInput_v9_2; 12322 12323 #if defined(__cplusplus) && !defined(CINTERFACE) 12324 12325 MIDL_INTERFACE("6D40EF78-28B9-4E21-990D-95BB7750A04F") 12326 IDeckLinkInput_v9_2 : public IUnknown 12327 { 12328 public: 12329 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( 12330 /* [in] */ BMDDisplayMode displayMode, 12331 /* [in] */ BMDPixelFormat pixelFormat, 12332 /* [in] */ BMDVideoInputFlags flags, 12333 /* [out] */ BMDDisplayModeSupport_v10_11 *result, 12334 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode) = 0; 12335 12336 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( 12337 /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0; 12338 12339 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( 12340 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; 12341 12342 virtual HRESULT STDMETHODCALLTYPE EnableVideoInput( 12343 /* [in] */ BMDDisplayMode displayMode, 12344 /* [in] */ BMDPixelFormat pixelFormat, 12345 /* [in] */ BMDVideoInputFlags flags) = 0; 12346 12347 virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0; 12348 12349 virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount( 12350 /* [out] */ unsigned int *availableFrameCount) = 0; 12351 12352 virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( 12353 /* [in] */ BMDAudioSampleRate sampleRate, 12354 /* [in] */ BMDAudioSampleType sampleType, 12355 /* [in] */ unsigned int channelCount) = 0; 12356 12357 virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0; 12358 12359 virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount( 12360 /* [out] */ unsigned int *availableSampleFrameCount) = 0; 12361 12362 virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0; 12363 12364 virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0; 12365 12366 virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0; 12367 12368 virtual HRESULT STDMETHODCALLTYPE FlushStreams( void) = 0; 12369 12370 virtual HRESULT STDMETHODCALLTYPE SetCallback( 12371 /* [in] */ IDeckLinkInputCallback *theCallback) = 0; 12372 12373 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( 12374 /* [in] */ BMDTimeScale desiredTimeScale, 12375 /* [out] */ BMDTimeValue *hardwareTime, 12376 /* [out] */ BMDTimeValue *timeInFrame, 12377 /* [out] */ BMDTimeValue *ticksPerFrame) = 0; 12378 12379 }; 12380 12381 12382 #else /* C style interface */ 12383 12384 typedef struct IDeckLinkInput_v9_2Vtbl 12385 { 12386 BEGIN_INTERFACE 12387 12388 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 12389 IDeckLinkInput_v9_2 * This, 12390 /* [in] */ REFIID riid, 12391 /* [annotation][iid_is][out] */ 12392 _COM_Outptr_ void **ppvObject); 12393 12394 ULONG ( STDMETHODCALLTYPE *AddRef )( 12395 IDeckLinkInput_v9_2 * This); 12396 12397 ULONG ( STDMETHODCALLTYPE *Release )( 12398 IDeckLinkInput_v9_2 * This); 12399 12400 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( 12401 IDeckLinkInput_v9_2 * This, 12402 /* [in] */ BMDDisplayMode displayMode, 12403 /* [in] */ BMDPixelFormat pixelFormat, 12404 /* [in] */ BMDVideoInputFlags flags, 12405 /* [out] */ BMDDisplayModeSupport_v10_11 *result, 12406 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode); 12407 12408 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( 12409 IDeckLinkInput_v9_2 * This, 12410 /* [out] */ IDeckLinkDisplayModeIterator **iterator); 12411 12412 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )( 12413 IDeckLinkInput_v9_2 * This, 12414 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback); 12415 12416 HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )( 12417 IDeckLinkInput_v9_2 * This, 12418 /* [in] */ BMDDisplayMode displayMode, 12419 /* [in] */ BMDPixelFormat pixelFormat, 12420 /* [in] */ BMDVideoInputFlags flags); 12421 12422 HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )( 12423 IDeckLinkInput_v9_2 * This); 12424 12425 HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )( 12426 IDeckLinkInput_v9_2 * This, 12427 /* [out] */ unsigned int *availableFrameCount); 12428 12429 HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )( 12430 IDeckLinkInput_v9_2 * This, 12431 /* [in] */ BMDAudioSampleRate sampleRate, 12432 /* [in] */ BMDAudioSampleType sampleType, 12433 /* [in] */ unsigned int channelCount); 12434 12435 HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )( 12436 IDeckLinkInput_v9_2 * This); 12437 12438 HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )( 12439 IDeckLinkInput_v9_2 * This, 12440 /* [out] */ unsigned int *availableSampleFrameCount); 12441 12442 HRESULT ( STDMETHODCALLTYPE *StartStreams )( 12443 IDeckLinkInput_v9_2 * This); 12444 12445 HRESULT ( STDMETHODCALLTYPE *StopStreams )( 12446 IDeckLinkInput_v9_2 * This); 12447 12448 HRESULT ( STDMETHODCALLTYPE *PauseStreams )( 12449 IDeckLinkInput_v9_2 * This); 12450 12451 HRESULT ( STDMETHODCALLTYPE *FlushStreams )( 12452 IDeckLinkInput_v9_2 * This); 12453 12454 HRESULT ( STDMETHODCALLTYPE *SetCallback )( 12455 IDeckLinkInput_v9_2 * This, 12456 /* [in] */ IDeckLinkInputCallback *theCallback); 12457 12458 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( 12459 IDeckLinkInput_v9_2 * This, 12460 /* [in] */ BMDTimeScale desiredTimeScale, 12461 /* [out] */ BMDTimeValue *hardwareTime, 12462 /* [out] */ BMDTimeValue *timeInFrame, 12463 /* [out] */ BMDTimeValue *ticksPerFrame); 12464 12465 END_INTERFACE 12466 } IDeckLinkInput_v9_2Vtbl; 12467 12468 interface IDeckLinkInput_v9_2 12469 { 12470 CONST_VTBL struct IDeckLinkInput_v9_2Vtbl *lpVtbl; 12471 }; 12472 12473 12474 12475 #ifdef COBJMACROS 12476 12477 12478 #define IDeckLinkInput_v9_2_QueryInterface(This,riid,ppvObject) \ 12479 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 12480 12481 #define IDeckLinkInput_v9_2_AddRef(This) \ 12482 ( (This)->lpVtbl -> AddRef(This) ) 12483 12484 #define IDeckLinkInput_v9_2_Release(This) \ 12485 ( (This)->lpVtbl -> Release(This) ) 12486 12487 12488 #define IDeckLinkInput_v9_2_DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) \ 12489 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) ) 12490 12491 #define IDeckLinkInput_v9_2_GetDisplayModeIterator(This,iterator) \ 12492 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) 12493 12494 #define IDeckLinkInput_v9_2_SetScreenPreviewCallback(This,previewCallback) \ 12495 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) ) 12496 12497 #define IDeckLinkInput_v9_2_EnableVideoInput(This,displayMode,pixelFormat,flags) \ 12498 ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) ) 12499 12500 #define IDeckLinkInput_v9_2_DisableVideoInput(This) \ 12501 ( (This)->lpVtbl -> DisableVideoInput(This) ) 12502 12503 #define IDeckLinkInput_v9_2_GetAvailableVideoFrameCount(This,availableFrameCount) \ 12504 ( (This)->lpVtbl -> GetAvailableVideoFrameCount(This,availableFrameCount) ) 12505 12506 #define IDeckLinkInput_v9_2_EnableAudioInput(This,sampleRate,sampleType,channelCount) \ 12507 ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) ) 12508 12509 #define IDeckLinkInput_v9_2_DisableAudioInput(This) \ 12510 ( (This)->lpVtbl -> DisableAudioInput(This) ) 12511 12512 #define IDeckLinkInput_v9_2_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \ 12513 ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) ) 12514 12515 #define IDeckLinkInput_v9_2_StartStreams(This) \ 12516 ( (This)->lpVtbl -> StartStreams(This) ) 12517 12518 #define IDeckLinkInput_v9_2_StopStreams(This) \ 12519 ( (This)->lpVtbl -> StopStreams(This) ) 12520 12521 #define IDeckLinkInput_v9_2_PauseStreams(This) \ 12522 ( (This)->lpVtbl -> PauseStreams(This) ) 12523 12524 #define IDeckLinkInput_v9_2_FlushStreams(This) \ 12525 ( (This)->lpVtbl -> FlushStreams(This) ) 12526 12527 #define IDeckLinkInput_v9_2_SetCallback(This,theCallback) \ 12528 ( (This)->lpVtbl -> SetCallback(This,theCallback) ) 12529 12530 #define IDeckLinkInput_v9_2_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \ 12531 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) ) 12532 12533 #endif /* COBJMACROS */ 12534 12535 12536 #endif /* C style interface */ 12537 12538 12539 12540 12541 #endif /* __IDeckLinkInput_v9_2_INTERFACE_DEFINED__ */ 12542 12543 12544 #ifndef __IDeckLinkDeckControlStatusCallback_v8_1_INTERFACE_DEFINED__ 12545 #define __IDeckLinkDeckControlStatusCallback_v8_1_INTERFACE_DEFINED__ 12546 12547 /* interface IDeckLinkDeckControlStatusCallback_v8_1 */ 12548 /* [helpstring][uuid][object] */ 12549 12550 12551 EXTERN_C const IID IID_IDeckLinkDeckControlStatusCallback_v8_1; 12552 12553 #if defined(__cplusplus) && !defined(CINTERFACE) 12554 12555 MIDL_INTERFACE("E5F693C1-4283-4716-B18F-C1431521955B") 12556 IDeckLinkDeckControlStatusCallback_v8_1 : public IUnknown 12557 { 12558 public: 12559 virtual HRESULT STDMETHODCALLTYPE TimecodeUpdate( 12560 /* [in] */ BMDTimecodeBCD currentTimecode) = 0; 12561 12562 virtual HRESULT STDMETHODCALLTYPE VTRControlStateChanged( 12563 /* [in] */ BMDDeckControlVTRControlState_v8_1 newState, 12564 /* [in] */ BMDDeckControlError error) = 0; 12565 12566 virtual HRESULT STDMETHODCALLTYPE DeckControlEventReceived( 12567 /* [in] */ BMDDeckControlEvent event, 12568 /* [in] */ BMDDeckControlError error) = 0; 12569 12570 virtual HRESULT STDMETHODCALLTYPE DeckControlStatusChanged( 12571 /* [in] */ BMDDeckControlStatusFlags flags, 12572 /* [in] */ unsigned int mask) = 0; 12573 12574 }; 12575 12576 12577 #else /* C style interface */ 12578 12579 typedef struct IDeckLinkDeckControlStatusCallback_v8_1Vtbl 12580 { 12581 BEGIN_INTERFACE 12582 12583 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 12584 IDeckLinkDeckControlStatusCallback_v8_1 * This, 12585 /* [in] */ REFIID riid, 12586 /* [annotation][iid_is][out] */ 12587 _COM_Outptr_ void **ppvObject); 12588 12589 ULONG ( STDMETHODCALLTYPE *AddRef )( 12590 IDeckLinkDeckControlStatusCallback_v8_1 * This); 12591 12592 ULONG ( STDMETHODCALLTYPE *Release )( 12593 IDeckLinkDeckControlStatusCallback_v8_1 * This); 12594 12595 HRESULT ( STDMETHODCALLTYPE *TimecodeUpdate )( 12596 IDeckLinkDeckControlStatusCallback_v8_1 * This, 12597 /* [in] */ BMDTimecodeBCD currentTimecode); 12598 12599 HRESULT ( STDMETHODCALLTYPE *VTRControlStateChanged )( 12600 IDeckLinkDeckControlStatusCallback_v8_1 * This, 12601 /* [in] */ BMDDeckControlVTRControlState_v8_1 newState, 12602 /* [in] */ BMDDeckControlError error); 12603 12604 HRESULT ( STDMETHODCALLTYPE *DeckControlEventReceived )( 12605 IDeckLinkDeckControlStatusCallback_v8_1 * This, 12606 /* [in] */ BMDDeckControlEvent event, 12607 /* [in] */ BMDDeckControlError error); 12608 12609 HRESULT ( STDMETHODCALLTYPE *DeckControlStatusChanged )( 12610 IDeckLinkDeckControlStatusCallback_v8_1 * This, 12611 /* [in] */ BMDDeckControlStatusFlags flags, 12612 /* [in] */ unsigned int mask); 12613 12614 END_INTERFACE 12615 } IDeckLinkDeckControlStatusCallback_v8_1Vtbl; 12616 12617 interface IDeckLinkDeckControlStatusCallback_v8_1 12618 { 12619 CONST_VTBL struct IDeckLinkDeckControlStatusCallback_v8_1Vtbl *lpVtbl; 12620 }; 12621 12622 12623 12624 #ifdef COBJMACROS 12625 12626 12627 #define IDeckLinkDeckControlStatusCallback_v8_1_QueryInterface(This,riid,ppvObject) \ 12628 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 12629 12630 #define IDeckLinkDeckControlStatusCallback_v8_1_AddRef(This) \ 12631 ( (This)->lpVtbl -> AddRef(This) ) 12632 12633 #define IDeckLinkDeckControlStatusCallback_v8_1_Release(This) \ 12634 ( (This)->lpVtbl -> Release(This) ) 12635 12636 12637 #define IDeckLinkDeckControlStatusCallback_v8_1_TimecodeUpdate(This,currentTimecode) \ 12638 ( (This)->lpVtbl -> TimecodeUpdate(This,currentTimecode) ) 12639 12640 #define IDeckLinkDeckControlStatusCallback_v8_1_VTRControlStateChanged(This,newState,error) \ 12641 ( (This)->lpVtbl -> VTRControlStateChanged(This,newState,error) ) 12642 12643 #define IDeckLinkDeckControlStatusCallback_v8_1_DeckControlEventReceived(This,event,error) \ 12644 ( (This)->lpVtbl -> DeckControlEventReceived(This,event,error) ) 12645 12646 #define IDeckLinkDeckControlStatusCallback_v8_1_DeckControlStatusChanged(This,flags,mask) \ 12647 ( (This)->lpVtbl -> DeckControlStatusChanged(This,flags,mask) ) 12648 12649 #endif /* COBJMACROS */ 12650 12651 12652 #endif /* C style interface */ 12653 12654 12655 12656 12657 #endif /* __IDeckLinkDeckControlStatusCallback_v8_1_INTERFACE_DEFINED__ */ 12658 12659 12660 #ifndef __IDeckLinkDeckControl_v8_1_INTERFACE_DEFINED__ 12661 #define __IDeckLinkDeckControl_v8_1_INTERFACE_DEFINED__ 12662 12663 /* interface IDeckLinkDeckControl_v8_1 */ 12664 /* [helpstring][uuid][object] */ 12665 12666 12667 EXTERN_C const IID IID_IDeckLinkDeckControl_v8_1; 12668 12669 #if defined(__cplusplus) && !defined(CINTERFACE) 12670 12671 MIDL_INTERFACE("522A9E39-0F3C-4742-94EE-D80DE335DA1D") 12672 IDeckLinkDeckControl_v8_1 : public IUnknown 12673 { 12674 public: 12675 virtual HRESULT STDMETHODCALLTYPE Open( 12676 /* [in] */ BMDTimeScale timeScale, 12677 /* [in] */ BMDTimeValue timeValue, 12678 /* [in] */ BOOL timecodeIsDropFrame, 12679 /* [out] */ BMDDeckControlError *error) = 0; 12680 12681 virtual HRESULT STDMETHODCALLTYPE Close( 12682 /* [in] */ BOOL standbyOn) = 0; 12683 12684 virtual HRESULT STDMETHODCALLTYPE GetCurrentState( 12685 /* [out] */ BMDDeckControlMode *mode, 12686 /* [out] */ BMDDeckControlVTRControlState_v8_1 *vtrControlState, 12687 /* [out] */ BMDDeckControlStatusFlags *flags) = 0; 12688 12689 virtual HRESULT STDMETHODCALLTYPE SetStandby( 12690 /* [in] */ BOOL standbyOn) = 0; 12691 12692 virtual HRESULT STDMETHODCALLTYPE SendCommand( 12693 /* [in] */ unsigned char *inBuffer, 12694 /* [in] */ unsigned int inBufferSize, 12695 /* [out] */ unsigned char *outBuffer, 12696 /* [out] */ unsigned int *outDataSize, 12697 /* [in] */ unsigned int outBufferSize, 12698 /* [out] */ BMDDeckControlError *error) = 0; 12699 12700 virtual HRESULT STDMETHODCALLTYPE Play( 12701 /* [out] */ BMDDeckControlError *error) = 0; 12702 12703 virtual HRESULT STDMETHODCALLTYPE Stop( 12704 /* [out] */ BMDDeckControlError *error) = 0; 12705 12706 virtual HRESULT STDMETHODCALLTYPE TogglePlayStop( 12707 /* [out] */ BMDDeckControlError *error) = 0; 12708 12709 virtual HRESULT STDMETHODCALLTYPE Eject( 12710 /* [out] */ BMDDeckControlError *error) = 0; 12711 12712 virtual HRESULT STDMETHODCALLTYPE GoToTimecode( 12713 /* [in] */ BMDTimecodeBCD timecode, 12714 /* [out] */ BMDDeckControlError *error) = 0; 12715 12716 virtual HRESULT STDMETHODCALLTYPE FastForward( 12717 /* [in] */ BOOL viewTape, 12718 /* [out] */ BMDDeckControlError *error) = 0; 12719 12720 virtual HRESULT STDMETHODCALLTYPE Rewind( 12721 /* [in] */ BOOL viewTape, 12722 /* [out] */ BMDDeckControlError *error) = 0; 12723 12724 virtual HRESULT STDMETHODCALLTYPE StepForward( 12725 /* [out] */ BMDDeckControlError *error) = 0; 12726 12727 virtual HRESULT STDMETHODCALLTYPE StepBack( 12728 /* [out] */ BMDDeckControlError *error) = 0; 12729 12730 virtual HRESULT STDMETHODCALLTYPE Jog( 12731 /* [in] */ double rate, 12732 /* [out] */ BMDDeckControlError *error) = 0; 12733 12734 virtual HRESULT STDMETHODCALLTYPE Shuttle( 12735 /* [in] */ double rate, 12736 /* [out] */ BMDDeckControlError *error) = 0; 12737 12738 virtual HRESULT STDMETHODCALLTYPE GetTimecodeString( 12739 /* [out] */ BSTR *currentTimeCode, 12740 /* [out] */ BMDDeckControlError *error) = 0; 12741 12742 virtual HRESULT STDMETHODCALLTYPE GetTimecode( 12743 /* [out] */ IDeckLinkTimecode **currentTimecode, 12744 /* [out] */ BMDDeckControlError *error) = 0; 12745 12746 virtual HRESULT STDMETHODCALLTYPE GetTimecodeBCD( 12747 /* [out] */ BMDTimecodeBCD *currentTimecode, 12748 /* [out] */ BMDDeckControlError *error) = 0; 12749 12750 virtual HRESULT STDMETHODCALLTYPE SetPreroll( 12751 /* [in] */ unsigned int prerollSeconds) = 0; 12752 12753 virtual HRESULT STDMETHODCALLTYPE GetPreroll( 12754 /* [out] */ unsigned int *prerollSeconds) = 0; 12755 12756 virtual HRESULT STDMETHODCALLTYPE SetExportOffset( 12757 /* [in] */ int exportOffsetFields) = 0; 12758 12759 virtual HRESULT STDMETHODCALLTYPE GetExportOffset( 12760 /* [out] */ int *exportOffsetFields) = 0; 12761 12762 virtual HRESULT STDMETHODCALLTYPE GetManualExportOffset( 12763 /* [out] */ int *deckManualExportOffsetFields) = 0; 12764 12765 virtual HRESULT STDMETHODCALLTYPE SetCaptureOffset( 12766 /* [in] */ int captureOffsetFields) = 0; 12767 12768 virtual HRESULT STDMETHODCALLTYPE GetCaptureOffset( 12769 /* [out] */ int *captureOffsetFields) = 0; 12770 12771 virtual HRESULT STDMETHODCALLTYPE StartExport( 12772 /* [in] */ BMDTimecodeBCD inTimecode, 12773 /* [in] */ BMDTimecodeBCD outTimecode, 12774 /* [in] */ BMDDeckControlExportModeOpsFlags exportModeOps, 12775 /* [out] */ BMDDeckControlError *error) = 0; 12776 12777 virtual HRESULT STDMETHODCALLTYPE StartCapture( 12778 /* [in] */ BOOL useVITC, 12779 /* [in] */ BMDTimecodeBCD inTimecode, 12780 /* [in] */ BMDTimecodeBCD outTimecode, 12781 /* [out] */ BMDDeckControlError *error) = 0; 12782 12783 virtual HRESULT STDMETHODCALLTYPE GetDeviceID( 12784 /* [out] */ unsigned short *deviceId, 12785 /* [out] */ BMDDeckControlError *error) = 0; 12786 12787 virtual HRESULT STDMETHODCALLTYPE Abort( void) = 0; 12788 12789 virtual HRESULT STDMETHODCALLTYPE CrashRecordStart( 12790 /* [out] */ BMDDeckControlError *error) = 0; 12791 12792 virtual HRESULT STDMETHODCALLTYPE CrashRecordStop( 12793 /* [out] */ BMDDeckControlError *error) = 0; 12794 12795 virtual HRESULT STDMETHODCALLTYPE SetCallback( 12796 /* [in] */ IDeckLinkDeckControlStatusCallback_v8_1 *callback) = 0; 12797 12798 }; 12799 12800 12801 #else /* C style interface */ 12802 12803 typedef struct IDeckLinkDeckControl_v8_1Vtbl 12804 { 12805 BEGIN_INTERFACE 12806 12807 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 12808 IDeckLinkDeckControl_v8_1 * This, 12809 /* [in] */ REFIID riid, 12810 /* [annotation][iid_is][out] */ 12811 _COM_Outptr_ void **ppvObject); 12812 12813 ULONG ( STDMETHODCALLTYPE *AddRef )( 12814 IDeckLinkDeckControl_v8_1 * This); 12815 12816 ULONG ( STDMETHODCALLTYPE *Release )( 12817 IDeckLinkDeckControl_v8_1 * This); 12818 12819 HRESULT ( STDMETHODCALLTYPE *Open )( 12820 IDeckLinkDeckControl_v8_1 * This, 12821 /* [in] */ BMDTimeScale timeScale, 12822 /* [in] */ BMDTimeValue timeValue, 12823 /* [in] */ BOOL timecodeIsDropFrame, 12824 /* [out] */ BMDDeckControlError *error); 12825 12826 HRESULT ( STDMETHODCALLTYPE *Close )( 12827 IDeckLinkDeckControl_v8_1 * This, 12828 /* [in] */ BOOL standbyOn); 12829 12830 HRESULT ( STDMETHODCALLTYPE *GetCurrentState )( 12831 IDeckLinkDeckControl_v8_1 * This, 12832 /* [out] */ BMDDeckControlMode *mode, 12833 /* [out] */ BMDDeckControlVTRControlState_v8_1 *vtrControlState, 12834 /* [out] */ BMDDeckControlStatusFlags *flags); 12835 12836 HRESULT ( STDMETHODCALLTYPE *SetStandby )( 12837 IDeckLinkDeckControl_v8_1 * This, 12838 /* [in] */ BOOL standbyOn); 12839 12840 HRESULT ( STDMETHODCALLTYPE *SendCommand )( 12841 IDeckLinkDeckControl_v8_1 * This, 12842 /* [in] */ unsigned char *inBuffer, 12843 /* [in] */ unsigned int inBufferSize, 12844 /* [out] */ unsigned char *outBuffer, 12845 /* [out] */ unsigned int *outDataSize, 12846 /* [in] */ unsigned int outBufferSize, 12847 /* [out] */ BMDDeckControlError *error); 12848 12849 HRESULT ( STDMETHODCALLTYPE *Play )( 12850 IDeckLinkDeckControl_v8_1 * This, 12851 /* [out] */ BMDDeckControlError *error); 12852 12853 HRESULT ( STDMETHODCALLTYPE *Stop )( 12854 IDeckLinkDeckControl_v8_1 * This, 12855 /* [out] */ BMDDeckControlError *error); 12856 12857 HRESULT ( STDMETHODCALLTYPE *TogglePlayStop )( 12858 IDeckLinkDeckControl_v8_1 * This, 12859 /* [out] */ BMDDeckControlError *error); 12860 12861 HRESULT ( STDMETHODCALLTYPE *Eject )( 12862 IDeckLinkDeckControl_v8_1 * This, 12863 /* [out] */ BMDDeckControlError *error); 12864 12865 HRESULT ( STDMETHODCALLTYPE *GoToTimecode )( 12866 IDeckLinkDeckControl_v8_1 * This, 12867 /* [in] */ BMDTimecodeBCD timecode, 12868 /* [out] */ BMDDeckControlError *error); 12869 12870 HRESULT ( STDMETHODCALLTYPE *FastForward )( 12871 IDeckLinkDeckControl_v8_1 * This, 12872 /* [in] */ BOOL viewTape, 12873 /* [out] */ BMDDeckControlError *error); 12874 12875 HRESULT ( STDMETHODCALLTYPE *Rewind )( 12876 IDeckLinkDeckControl_v8_1 * This, 12877 /* [in] */ BOOL viewTape, 12878 /* [out] */ BMDDeckControlError *error); 12879 12880 HRESULT ( STDMETHODCALLTYPE *StepForward )( 12881 IDeckLinkDeckControl_v8_1 * This, 12882 /* [out] */ BMDDeckControlError *error); 12883 12884 HRESULT ( STDMETHODCALLTYPE *StepBack )( 12885 IDeckLinkDeckControl_v8_1 * This, 12886 /* [out] */ BMDDeckControlError *error); 12887 12888 HRESULT ( STDMETHODCALLTYPE *Jog )( 12889 IDeckLinkDeckControl_v8_1 * This, 12890 /* [in] */ double rate, 12891 /* [out] */ BMDDeckControlError *error); 12892 12893 HRESULT ( STDMETHODCALLTYPE *Shuttle )( 12894 IDeckLinkDeckControl_v8_1 * This, 12895 /* [in] */ double rate, 12896 /* [out] */ BMDDeckControlError *error); 12897 12898 HRESULT ( STDMETHODCALLTYPE *GetTimecodeString )( 12899 IDeckLinkDeckControl_v8_1 * This, 12900 /* [out] */ BSTR *currentTimeCode, 12901 /* [out] */ BMDDeckControlError *error); 12902 12903 HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 12904 IDeckLinkDeckControl_v8_1 * This, 12905 /* [out] */ IDeckLinkTimecode **currentTimecode, 12906 /* [out] */ BMDDeckControlError *error); 12907 12908 HRESULT ( STDMETHODCALLTYPE *GetTimecodeBCD )( 12909 IDeckLinkDeckControl_v8_1 * This, 12910 /* [out] */ BMDTimecodeBCD *currentTimecode, 12911 /* [out] */ BMDDeckControlError *error); 12912 12913 HRESULT ( STDMETHODCALLTYPE *SetPreroll )( 12914 IDeckLinkDeckControl_v8_1 * This, 12915 /* [in] */ unsigned int prerollSeconds); 12916 12917 HRESULT ( STDMETHODCALLTYPE *GetPreroll )( 12918 IDeckLinkDeckControl_v8_1 * This, 12919 /* [out] */ unsigned int *prerollSeconds); 12920 12921 HRESULT ( STDMETHODCALLTYPE *SetExportOffset )( 12922 IDeckLinkDeckControl_v8_1 * This, 12923 /* [in] */ int exportOffsetFields); 12924 12925 HRESULT ( STDMETHODCALLTYPE *GetExportOffset )( 12926 IDeckLinkDeckControl_v8_1 * This, 12927 /* [out] */ int *exportOffsetFields); 12928 12929 HRESULT ( STDMETHODCALLTYPE *GetManualExportOffset )( 12930 IDeckLinkDeckControl_v8_1 * This, 12931 /* [out] */ int *deckManualExportOffsetFields); 12932 12933 HRESULT ( STDMETHODCALLTYPE *SetCaptureOffset )( 12934 IDeckLinkDeckControl_v8_1 * This, 12935 /* [in] */ int captureOffsetFields); 12936 12937 HRESULT ( STDMETHODCALLTYPE *GetCaptureOffset )( 12938 IDeckLinkDeckControl_v8_1 * This, 12939 /* [out] */ int *captureOffsetFields); 12940 12941 HRESULT ( STDMETHODCALLTYPE *StartExport )( 12942 IDeckLinkDeckControl_v8_1 * This, 12943 /* [in] */ BMDTimecodeBCD inTimecode, 12944 /* [in] */ BMDTimecodeBCD outTimecode, 12945 /* [in] */ BMDDeckControlExportModeOpsFlags exportModeOps, 12946 /* [out] */ BMDDeckControlError *error); 12947 12948 HRESULT ( STDMETHODCALLTYPE *StartCapture )( 12949 IDeckLinkDeckControl_v8_1 * This, 12950 /* [in] */ BOOL useVITC, 12951 /* [in] */ BMDTimecodeBCD inTimecode, 12952 /* [in] */ BMDTimecodeBCD outTimecode, 12953 /* [out] */ BMDDeckControlError *error); 12954 12955 HRESULT ( STDMETHODCALLTYPE *GetDeviceID )( 12956 IDeckLinkDeckControl_v8_1 * This, 12957 /* [out] */ unsigned short *deviceId, 12958 /* [out] */ BMDDeckControlError *error); 12959 12960 HRESULT ( STDMETHODCALLTYPE *Abort )( 12961 IDeckLinkDeckControl_v8_1 * This); 12962 12963 HRESULT ( STDMETHODCALLTYPE *CrashRecordStart )( 12964 IDeckLinkDeckControl_v8_1 * This, 12965 /* [out] */ BMDDeckControlError *error); 12966 12967 HRESULT ( STDMETHODCALLTYPE *CrashRecordStop )( 12968 IDeckLinkDeckControl_v8_1 * This, 12969 /* [out] */ BMDDeckControlError *error); 12970 12971 HRESULT ( STDMETHODCALLTYPE *SetCallback )( 12972 IDeckLinkDeckControl_v8_1 * This, 12973 /* [in] */ IDeckLinkDeckControlStatusCallback_v8_1 *callback); 12974 12975 END_INTERFACE 12976 } IDeckLinkDeckControl_v8_1Vtbl; 12977 12978 interface IDeckLinkDeckControl_v8_1 12979 { 12980 CONST_VTBL struct IDeckLinkDeckControl_v8_1Vtbl *lpVtbl; 12981 }; 12982 12983 12984 12985 #ifdef COBJMACROS 12986 12987 12988 #define IDeckLinkDeckControl_v8_1_QueryInterface(This,riid,ppvObject) \ 12989 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 12990 12991 #define IDeckLinkDeckControl_v8_1_AddRef(This) \ 12992 ( (This)->lpVtbl -> AddRef(This) ) 12993 12994 #define IDeckLinkDeckControl_v8_1_Release(This) \ 12995 ( (This)->lpVtbl -> Release(This) ) 12996 12997 12998 #define IDeckLinkDeckControl_v8_1_Open(This,timeScale,timeValue,timecodeIsDropFrame,error) \ 12999 ( (This)->lpVtbl -> Open(This,timeScale,timeValue,timecodeIsDropFrame,error) ) 13000 13001 #define IDeckLinkDeckControl_v8_1_Close(This,standbyOn) \ 13002 ( (This)->lpVtbl -> Close(This,standbyOn) ) 13003 13004 #define IDeckLinkDeckControl_v8_1_GetCurrentState(This,mode,vtrControlState,flags) \ 13005 ( (This)->lpVtbl -> GetCurrentState(This,mode,vtrControlState,flags) ) 13006 13007 #define IDeckLinkDeckControl_v8_1_SetStandby(This,standbyOn) \ 13008 ( (This)->lpVtbl -> SetStandby(This,standbyOn) ) 13009 13010 #define IDeckLinkDeckControl_v8_1_SendCommand(This,inBuffer,inBufferSize,outBuffer,outDataSize,outBufferSize,error) \ 13011 ( (This)->lpVtbl -> SendCommand(This,inBuffer,inBufferSize,outBuffer,outDataSize,outBufferSize,error) ) 13012 13013 #define IDeckLinkDeckControl_v8_1_Play(This,error) \ 13014 ( (This)->lpVtbl -> Play(This,error) ) 13015 13016 #define IDeckLinkDeckControl_v8_1_Stop(This,error) \ 13017 ( (This)->lpVtbl -> Stop(This,error) ) 13018 13019 #define IDeckLinkDeckControl_v8_1_TogglePlayStop(This,error) \ 13020 ( (This)->lpVtbl -> TogglePlayStop(This,error) ) 13021 13022 #define IDeckLinkDeckControl_v8_1_Eject(This,error) \ 13023 ( (This)->lpVtbl -> Eject(This,error) ) 13024 13025 #define IDeckLinkDeckControl_v8_1_GoToTimecode(This,timecode,error) \ 13026 ( (This)->lpVtbl -> GoToTimecode(This,timecode,error) ) 13027 13028 #define IDeckLinkDeckControl_v8_1_FastForward(This,viewTape,error) \ 13029 ( (This)->lpVtbl -> FastForward(This,viewTape,error) ) 13030 13031 #define IDeckLinkDeckControl_v8_1_Rewind(This,viewTape,error) \ 13032 ( (This)->lpVtbl -> Rewind(This,viewTape,error) ) 13033 13034 #define IDeckLinkDeckControl_v8_1_StepForward(This,error) \ 13035 ( (This)->lpVtbl -> StepForward(This,error) ) 13036 13037 #define IDeckLinkDeckControl_v8_1_StepBack(This,error) \ 13038 ( (This)->lpVtbl -> StepBack(This,error) ) 13039 13040 #define IDeckLinkDeckControl_v8_1_Jog(This,rate,error) \ 13041 ( (This)->lpVtbl -> Jog(This,rate,error) ) 13042 13043 #define IDeckLinkDeckControl_v8_1_Shuttle(This,rate,error) \ 13044 ( (This)->lpVtbl -> Shuttle(This,rate,error) ) 13045 13046 #define IDeckLinkDeckControl_v8_1_GetTimecodeString(This,currentTimeCode,error) \ 13047 ( (This)->lpVtbl -> GetTimecodeString(This,currentTimeCode,error) ) 13048 13049 #define IDeckLinkDeckControl_v8_1_GetTimecode(This,currentTimecode,error) \ 13050 ( (This)->lpVtbl -> GetTimecode(This,currentTimecode,error) ) 13051 13052 #define IDeckLinkDeckControl_v8_1_GetTimecodeBCD(This,currentTimecode,error) \ 13053 ( (This)->lpVtbl -> GetTimecodeBCD(This,currentTimecode,error) ) 13054 13055 #define IDeckLinkDeckControl_v8_1_SetPreroll(This,prerollSeconds) \ 13056 ( (This)->lpVtbl -> SetPreroll(This,prerollSeconds) ) 13057 13058 #define IDeckLinkDeckControl_v8_1_GetPreroll(This,prerollSeconds) \ 13059 ( (This)->lpVtbl -> GetPreroll(This,prerollSeconds) ) 13060 13061 #define IDeckLinkDeckControl_v8_1_SetExportOffset(This,exportOffsetFields) \ 13062 ( (This)->lpVtbl -> SetExportOffset(This,exportOffsetFields) ) 13063 13064 #define IDeckLinkDeckControl_v8_1_GetExportOffset(This,exportOffsetFields) \ 13065 ( (This)->lpVtbl -> GetExportOffset(This,exportOffsetFields) ) 13066 13067 #define IDeckLinkDeckControl_v8_1_GetManualExportOffset(This,deckManualExportOffsetFields) \ 13068 ( (This)->lpVtbl -> GetManualExportOffset(This,deckManualExportOffsetFields) ) 13069 13070 #define IDeckLinkDeckControl_v8_1_SetCaptureOffset(This,captureOffsetFields) \ 13071 ( (This)->lpVtbl -> SetCaptureOffset(This,captureOffsetFields) ) 13072 13073 #define IDeckLinkDeckControl_v8_1_GetCaptureOffset(This,captureOffsetFields) \ 13074 ( (This)->lpVtbl -> GetCaptureOffset(This,captureOffsetFields) ) 13075 13076 #define IDeckLinkDeckControl_v8_1_StartExport(This,inTimecode,outTimecode,exportModeOps,error) \ 13077 ( (This)->lpVtbl -> StartExport(This,inTimecode,outTimecode,exportModeOps,error) ) 13078 13079 #define IDeckLinkDeckControl_v8_1_StartCapture(This,useVITC,inTimecode,outTimecode,error) \ 13080 ( (This)->lpVtbl -> StartCapture(This,useVITC,inTimecode,outTimecode,error) ) 13081 13082 #define IDeckLinkDeckControl_v8_1_GetDeviceID(This,deviceId,error) \ 13083 ( (This)->lpVtbl -> GetDeviceID(This,deviceId,error) ) 13084 13085 #define IDeckLinkDeckControl_v8_1_Abort(This) \ 13086 ( (This)->lpVtbl -> Abort(This) ) 13087 13088 #define IDeckLinkDeckControl_v8_1_CrashRecordStart(This,error) \ 13089 ( (This)->lpVtbl -> CrashRecordStart(This,error) ) 13090 13091 #define IDeckLinkDeckControl_v8_1_CrashRecordStop(This,error) \ 13092 ( (This)->lpVtbl -> CrashRecordStop(This,error) ) 13093 13094 #define IDeckLinkDeckControl_v8_1_SetCallback(This,callback) \ 13095 ( (This)->lpVtbl -> SetCallback(This,callback) ) 13096 13097 #endif /* COBJMACROS */ 13098 13099 13100 #endif /* C style interface */ 13101 13102 13103 13104 13105 #endif /* __IDeckLinkDeckControl_v8_1_INTERFACE_DEFINED__ */ 13106 13107 13108 #ifndef __IDeckLink_v8_0_INTERFACE_DEFINED__ 13109 #define __IDeckLink_v8_0_INTERFACE_DEFINED__ 13110 13111 /* interface IDeckLink_v8_0 */ 13112 /* [helpstring][uuid][object] */ 13113 13114 13115 EXTERN_C const IID IID_IDeckLink_v8_0; 13116 13117 #if defined(__cplusplus) && !defined(CINTERFACE) 13118 13119 MIDL_INTERFACE("62BFF75D-6569-4E55-8D4D-66AA03829ABC") 13120 IDeckLink_v8_0 : public IUnknown 13121 { 13122 public: 13123 virtual HRESULT STDMETHODCALLTYPE GetModelName( 13124 /* [out] */ BSTR *modelName) = 0; 13125 13126 }; 13127 13128 13129 #else /* C style interface */ 13130 13131 typedef struct IDeckLink_v8_0Vtbl 13132 { 13133 BEGIN_INTERFACE 13134 13135 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 13136 IDeckLink_v8_0 * This, 13137 /* [in] */ REFIID riid, 13138 /* [annotation][iid_is][out] */ 13139 _COM_Outptr_ void **ppvObject); 13140 13141 ULONG ( STDMETHODCALLTYPE *AddRef )( 13142 IDeckLink_v8_0 * This); 13143 13144 ULONG ( STDMETHODCALLTYPE *Release )( 13145 IDeckLink_v8_0 * This); 13146 13147 HRESULT ( STDMETHODCALLTYPE *GetModelName )( 13148 IDeckLink_v8_0 * This, 13149 /* [out] */ BSTR *modelName); 13150 13151 END_INTERFACE 13152 } IDeckLink_v8_0Vtbl; 13153 13154 interface IDeckLink_v8_0 13155 { 13156 CONST_VTBL struct IDeckLink_v8_0Vtbl *lpVtbl; 13157 }; 13158 13159 13160 13161 #ifdef COBJMACROS 13162 13163 13164 #define IDeckLink_v8_0_QueryInterface(This,riid,ppvObject) \ 13165 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 13166 13167 #define IDeckLink_v8_0_AddRef(This) \ 13168 ( (This)->lpVtbl -> AddRef(This) ) 13169 13170 #define IDeckLink_v8_0_Release(This) \ 13171 ( (This)->lpVtbl -> Release(This) ) 13172 13173 13174 #define IDeckLink_v8_0_GetModelName(This,modelName) \ 13175 ( (This)->lpVtbl -> GetModelName(This,modelName) ) 13176 13177 #endif /* COBJMACROS */ 13178 13179 13180 #endif /* C style interface */ 13181 13182 13183 13184 13185 #endif /* __IDeckLink_v8_0_INTERFACE_DEFINED__ */ 13186 13187 13188 #ifndef __IDeckLinkIterator_v8_0_INTERFACE_DEFINED__ 13189 #define __IDeckLinkIterator_v8_0_INTERFACE_DEFINED__ 13190 13191 /* interface IDeckLinkIterator_v8_0 */ 13192 /* [helpstring][uuid][object] */ 13193 13194 13195 EXTERN_C const IID IID_IDeckLinkIterator_v8_0; 13196 13197 #if defined(__cplusplus) && !defined(CINTERFACE) 13198 13199 MIDL_INTERFACE("74E936FC-CC28-4A67-81A0-1E94E52D4E69") 13200 IDeckLinkIterator_v8_0 : public IUnknown 13201 { 13202 public: 13203 virtual HRESULT STDMETHODCALLTYPE Next( 13204 /* [out] */ IDeckLink_v8_0 **deckLinkInstance) = 0; 13205 13206 }; 13207 13208 13209 #else /* C style interface */ 13210 13211 typedef struct IDeckLinkIterator_v8_0Vtbl 13212 { 13213 BEGIN_INTERFACE 13214 13215 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 13216 IDeckLinkIterator_v8_0 * This, 13217 /* [in] */ REFIID riid, 13218 /* [annotation][iid_is][out] */ 13219 _COM_Outptr_ void **ppvObject); 13220 13221 ULONG ( STDMETHODCALLTYPE *AddRef )( 13222 IDeckLinkIterator_v8_0 * This); 13223 13224 ULONG ( STDMETHODCALLTYPE *Release )( 13225 IDeckLinkIterator_v8_0 * This); 13226 13227 HRESULT ( STDMETHODCALLTYPE *Next )( 13228 IDeckLinkIterator_v8_0 * This, 13229 /* [out] */ IDeckLink_v8_0 **deckLinkInstance); 13230 13231 END_INTERFACE 13232 } IDeckLinkIterator_v8_0Vtbl; 13233 13234 interface IDeckLinkIterator_v8_0 13235 { 13236 CONST_VTBL struct IDeckLinkIterator_v8_0Vtbl *lpVtbl; 13237 }; 13238 13239 13240 13241 #ifdef COBJMACROS 13242 13243 13244 #define IDeckLinkIterator_v8_0_QueryInterface(This,riid,ppvObject) \ 13245 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 13246 13247 #define IDeckLinkIterator_v8_0_AddRef(This) \ 13248 ( (This)->lpVtbl -> AddRef(This) ) 13249 13250 #define IDeckLinkIterator_v8_0_Release(This) \ 13251 ( (This)->lpVtbl -> Release(This) ) 13252 13253 13254 #define IDeckLinkIterator_v8_0_Next(This,deckLinkInstance) \ 13255 ( (This)->lpVtbl -> Next(This,deckLinkInstance) ) 13256 13257 #endif /* COBJMACROS */ 13258 13259 13260 #endif /* C style interface */ 13261 13262 13263 13264 13265 #endif /* __IDeckLinkIterator_v8_0_INTERFACE_DEFINED__ */ 13266 13267 13268 EXTERN_C const CLSID CLSID_CDeckLinkIterator_v8_0; 13269 13270 #ifdef __cplusplus 13271 13272 class DECLSPEC_UUID("D9EDA3B3-2887-41FA-B724-017CF1EB1D37") 13273 CDeckLinkIterator_v8_0; 13274 #endif 13275 13276 #ifndef __IDeckLinkDeckControl_v7_9_INTERFACE_DEFINED__ 13277 #define __IDeckLinkDeckControl_v7_9_INTERFACE_DEFINED__ 13278 13279 /* interface IDeckLinkDeckControl_v7_9 */ 13280 /* [helpstring][uuid][object] */ 13281 13282 13283 EXTERN_C const IID IID_IDeckLinkDeckControl_v7_9; 13284 13285 #if defined(__cplusplus) && !defined(CINTERFACE) 13286 13287 MIDL_INTERFACE("A4D81043-0619-42B7-8ED6-602D29041DF7") 13288 IDeckLinkDeckControl_v7_9 : public IUnknown 13289 { 13290 public: 13291 virtual HRESULT STDMETHODCALLTYPE Open( 13292 /* [in] */ BMDTimeScale timeScale, 13293 /* [in] */ BMDTimeValue timeValue, 13294 /* [in] */ BOOL timecodeIsDropFrame, 13295 /* [out] */ BMDDeckControlError *error) = 0; 13296 13297 virtual HRESULT STDMETHODCALLTYPE Close( 13298 /* [in] */ BOOL standbyOn) = 0; 13299 13300 virtual HRESULT STDMETHODCALLTYPE GetCurrentState( 13301 /* [out] */ BMDDeckControlMode *mode, 13302 /* [out] */ BMDDeckControlVTRControlState *vtrControlState, 13303 /* [out] */ BMDDeckControlStatusFlags *flags) = 0; 13304 13305 virtual HRESULT STDMETHODCALLTYPE SetStandby( 13306 /* [in] */ BOOL standbyOn) = 0; 13307 13308 virtual HRESULT STDMETHODCALLTYPE Play( 13309 /* [out] */ BMDDeckControlError *error) = 0; 13310 13311 virtual HRESULT STDMETHODCALLTYPE Stop( 13312 /* [out] */ BMDDeckControlError *error) = 0; 13313 13314 virtual HRESULT STDMETHODCALLTYPE TogglePlayStop( 13315 /* [out] */ BMDDeckControlError *error) = 0; 13316 13317 virtual HRESULT STDMETHODCALLTYPE Eject( 13318 /* [out] */ BMDDeckControlError *error) = 0; 13319 13320 virtual HRESULT STDMETHODCALLTYPE GoToTimecode( 13321 /* [in] */ BMDTimecodeBCD timecode, 13322 /* [out] */ BMDDeckControlError *error) = 0; 13323 13324 virtual HRESULT STDMETHODCALLTYPE FastForward( 13325 /* [in] */ BOOL viewTape, 13326 /* [out] */ BMDDeckControlError *error) = 0; 13327 13328 virtual HRESULT STDMETHODCALLTYPE Rewind( 13329 /* [in] */ BOOL viewTape, 13330 /* [out] */ BMDDeckControlError *error) = 0; 13331 13332 virtual HRESULT STDMETHODCALLTYPE StepForward( 13333 /* [out] */ BMDDeckControlError *error) = 0; 13334 13335 virtual HRESULT STDMETHODCALLTYPE StepBack( 13336 /* [out] */ BMDDeckControlError *error) = 0; 13337 13338 virtual HRESULT STDMETHODCALLTYPE Jog( 13339 /* [in] */ double rate, 13340 /* [out] */ BMDDeckControlError *error) = 0; 13341 13342 virtual HRESULT STDMETHODCALLTYPE Shuttle( 13343 /* [in] */ double rate, 13344 /* [out] */ BMDDeckControlError *error) = 0; 13345 13346 virtual HRESULT STDMETHODCALLTYPE GetTimecodeString( 13347 /* [out] */ BSTR *currentTimeCode, 13348 /* [out] */ BMDDeckControlError *error) = 0; 13349 13350 virtual HRESULT STDMETHODCALLTYPE GetTimecode( 13351 /* [out] */ IDeckLinkTimecode **currentTimecode, 13352 /* [out] */ BMDDeckControlError *error) = 0; 13353 13354 virtual HRESULT STDMETHODCALLTYPE GetTimecodeBCD( 13355 /* [out] */ BMDTimecodeBCD *currentTimecode, 13356 /* [out] */ BMDDeckControlError *error) = 0; 13357 13358 virtual HRESULT STDMETHODCALLTYPE SetPreroll( 13359 /* [in] */ unsigned int prerollSeconds) = 0; 13360 13361 virtual HRESULT STDMETHODCALLTYPE GetPreroll( 13362 /* [out] */ unsigned int *prerollSeconds) = 0; 13363 13364 virtual HRESULT STDMETHODCALLTYPE SetExportOffset( 13365 /* [in] */ int exportOffsetFields) = 0; 13366 13367 virtual HRESULT STDMETHODCALLTYPE GetExportOffset( 13368 /* [out] */ int *exportOffsetFields) = 0; 13369 13370 virtual HRESULT STDMETHODCALLTYPE GetManualExportOffset( 13371 /* [out] */ int *deckManualExportOffsetFields) = 0; 13372 13373 virtual HRESULT STDMETHODCALLTYPE SetCaptureOffset( 13374 /* [in] */ int captureOffsetFields) = 0; 13375 13376 virtual HRESULT STDMETHODCALLTYPE GetCaptureOffset( 13377 /* [out] */ int *captureOffsetFields) = 0; 13378 13379 virtual HRESULT STDMETHODCALLTYPE StartExport( 13380 /* [in] */ BMDTimecodeBCD inTimecode, 13381 /* [in] */ BMDTimecodeBCD outTimecode, 13382 /* [in] */ BMDDeckControlExportModeOpsFlags exportModeOps, 13383 /* [out] */ BMDDeckControlError *error) = 0; 13384 13385 virtual HRESULT STDMETHODCALLTYPE StartCapture( 13386 /* [in] */ BOOL useVITC, 13387 /* [in] */ BMDTimecodeBCD inTimecode, 13388 /* [in] */ BMDTimecodeBCD outTimecode, 13389 /* [out] */ BMDDeckControlError *error) = 0; 13390 13391 virtual HRESULT STDMETHODCALLTYPE GetDeviceID( 13392 /* [out] */ unsigned short *deviceId, 13393 /* [out] */ BMDDeckControlError *error) = 0; 13394 13395 virtual HRESULT STDMETHODCALLTYPE Abort( void) = 0; 13396 13397 virtual HRESULT STDMETHODCALLTYPE CrashRecordStart( 13398 /* [out] */ BMDDeckControlError *error) = 0; 13399 13400 virtual HRESULT STDMETHODCALLTYPE CrashRecordStop( 13401 /* [out] */ BMDDeckControlError *error) = 0; 13402 13403 virtual HRESULT STDMETHODCALLTYPE SetCallback( 13404 /* [in] */ IDeckLinkDeckControlStatusCallback *callback) = 0; 13405 13406 }; 13407 13408 13409 #else /* C style interface */ 13410 13411 typedef struct IDeckLinkDeckControl_v7_9Vtbl 13412 { 13413 BEGIN_INTERFACE 13414 13415 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 13416 IDeckLinkDeckControl_v7_9 * This, 13417 /* [in] */ REFIID riid, 13418 /* [annotation][iid_is][out] */ 13419 _COM_Outptr_ void **ppvObject); 13420 13421 ULONG ( STDMETHODCALLTYPE *AddRef )( 13422 IDeckLinkDeckControl_v7_9 * This); 13423 13424 ULONG ( STDMETHODCALLTYPE *Release )( 13425 IDeckLinkDeckControl_v7_9 * This); 13426 13427 HRESULT ( STDMETHODCALLTYPE *Open )( 13428 IDeckLinkDeckControl_v7_9 * This, 13429 /* [in] */ BMDTimeScale timeScale, 13430 /* [in] */ BMDTimeValue timeValue, 13431 /* [in] */ BOOL timecodeIsDropFrame, 13432 /* [out] */ BMDDeckControlError *error); 13433 13434 HRESULT ( STDMETHODCALLTYPE *Close )( 13435 IDeckLinkDeckControl_v7_9 * This, 13436 /* [in] */ BOOL standbyOn); 13437 13438 HRESULT ( STDMETHODCALLTYPE *GetCurrentState )( 13439 IDeckLinkDeckControl_v7_9 * This, 13440 /* [out] */ BMDDeckControlMode *mode, 13441 /* [out] */ BMDDeckControlVTRControlState *vtrControlState, 13442 /* [out] */ BMDDeckControlStatusFlags *flags); 13443 13444 HRESULT ( STDMETHODCALLTYPE *SetStandby )( 13445 IDeckLinkDeckControl_v7_9 * This, 13446 /* [in] */ BOOL standbyOn); 13447 13448 HRESULT ( STDMETHODCALLTYPE *Play )( 13449 IDeckLinkDeckControl_v7_9 * This, 13450 /* [out] */ BMDDeckControlError *error); 13451 13452 HRESULT ( STDMETHODCALLTYPE *Stop )( 13453 IDeckLinkDeckControl_v7_9 * This, 13454 /* [out] */ BMDDeckControlError *error); 13455 13456 HRESULT ( STDMETHODCALLTYPE *TogglePlayStop )( 13457 IDeckLinkDeckControl_v7_9 * This, 13458 /* [out] */ BMDDeckControlError *error); 13459 13460 HRESULT ( STDMETHODCALLTYPE *Eject )( 13461 IDeckLinkDeckControl_v7_9 * This, 13462 /* [out] */ BMDDeckControlError *error); 13463 13464 HRESULT ( STDMETHODCALLTYPE *GoToTimecode )( 13465 IDeckLinkDeckControl_v7_9 * This, 13466 /* [in] */ BMDTimecodeBCD timecode, 13467 /* [out] */ BMDDeckControlError *error); 13468 13469 HRESULT ( STDMETHODCALLTYPE *FastForward )( 13470 IDeckLinkDeckControl_v7_9 * This, 13471 /* [in] */ BOOL viewTape, 13472 /* [out] */ BMDDeckControlError *error); 13473 13474 HRESULT ( STDMETHODCALLTYPE *Rewind )( 13475 IDeckLinkDeckControl_v7_9 * This, 13476 /* [in] */ BOOL viewTape, 13477 /* [out] */ BMDDeckControlError *error); 13478 13479 HRESULT ( STDMETHODCALLTYPE *StepForward )( 13480 IDeckLinkDeckControl_v7_9 * This, 13481 /* [out] */ BMDDeckControlError *error); 13482 13483 HRESULT ( STDMETHODCALLTYPE *StepBack )( 13484 IDeckLinkDeckControl_v7_9 * This, 13485 /* [out] */ BMDDeckControlError *error); 13486 13487 HRESULT ( STDMETHODCALLTYPE *Jog )( 13488 IDeckLinkDeckControl_v7_9 * This, 13489 /* [in] */ double rate, 13490 /* [out] */ BMDDeckControlError *error); 13491 13492 HRESULT ( STDMETHODCALLTYPE *Shuttle )( 13493 IDeckLinkDeckControl_v7_9 * This, 13494 /* [in] */ double rate, 13495 /* [out] */ BMDDeckControlError *error); 13496 13497 HRESULT ( STDMETHODCALLTYPE *GetTimecodeString )( 13498 IDeckLinkDeckControl_v7_9 * This, 13499 /* [out] */ BSTR *currentTimeCode, 13500 /* [out] */ BMDDeckControlError *error); 13501 13502 HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 13503 IDeckLinkDeckControl_v7_9 * This, 13504 /* [out] */ IDeckLinkTimecode **currentTimecode, 13505 /* [out] */ BMDDeckControlError *error); 13506 13507 HRESULT ( STDMETHODCALLTYPE *GetTimecodeBCD )( 13508 IDeckLinkDeckControl_v7_9 * This, 13509 /* [out] */ BMDTimecodeBCD *currentTimecode, 13510 /* [out] */ BMDDeckControlError *error); 13511 13512 HRESULT ( STDMETHODCALLTYPE *SetPreroll )( 13513 IDeckLinkDeckControl_v7_9 * This, 13514 /* [in] */ unsigned int prerollSeconds); 13515 13516 HRESULT ( STDMETHODCALLTYPE *GetPreroll )( 13517 IDeckLinkDeckControl_v7_9 * This, 13518 /* [out] */ unsigned int *prerollSeconds); 13519 13520 HRESULT ( STDMETHODCALLTYPE *SetExportOffset )( 13521 IDeckLinkDeckControl_v7_9 * This, 13522 /* [in] */ int exportOffsetFields); 13523 13524 HRESULT ( STDMETHODCALLTYPE *GetExportOffset )( 13525 IDeckLinkDeckControl_v7_9 * This, 13526 /* [out] */ int *exportOffsetFields); 13527 13528 HRESULT ( STDMETHODCALLTYPE *GetManualExportOffset )( 13529 IDeckLinkDeckControl_v7_9 * This, 13530 /* [out] */ int *deckManualExportOffsetFields); 13531 13532 HRESULT ( STDMETHODCALLTYPE *SetCaptureOffset )( 13533 IDeckLinkDeckControl_v7_9 * This, 13534 /* [in] */ int captureOffsetFields); 13535 13536 HRESULT ( STDMETHODCALLTYPE *GetCaptureOffset )( 13537 IDeckLinkDeckControl_v7_9 * This, 13538 /* [out] */ int *captureOffsetFields); 13539 13540 HRESULT ( STDMETHODCALLTYPE *StartExport )( 13541 IDeckLinkDeckControl_v7_9 * This, 13542 /* [in] */ BMDTimecodeBCD inTimecode, 13543 /* [in] */ BMDTimecodeBCD outTimecode, 13544 /* [in] */ BMDDeckControlExportModeOpsFlags exportModeOps, 13545 /* [out] */ BMDDeckControlError *error); 13546 13547 HRESULT ( STDMETHODCALLTYPE *StartCapture )( 13548 IDeckLinkDeckControl_v7_9 * This, 13549 /* [in] */ BOOL useVITC, 13550 /* [in] */ BMDTimecodeBCD inTimecode, 13551 /* [in] */ BMDTimecodeBCD outTimecode, 13552 /* [out] */ BMDDeckControlError *error); 13553 13554 HRESULT ( STDMETHODCALLTYPE *GetDeviceID )( 13555 IDeckLinkDeckControl_v7_9 * This, 13556 /* [out] */ unsigned short *deviceId, 13557 /* [out] */ BMDDeckControlError *error); 13558 13559 HRESULT ( STDMETHODCALLTYPE *Abort )( 13560 IDeckLinkDeckControl_v7_9 * This); 13561 13562 HRESULT ( STDMETHODCALLTYPE *CrashRecordStart )( 13563 IDeckLinkDeckControl_v7_9 * This, 13564 /* [out] */ BMDDeckControlError *error); 13565 13566 HRESULT ( STDMETHODCALLTYPE *CrashRecordStop )( 13567 IDeckLinkDeckControl_v7_9 * This, 13568 /* [out] */ BMDDeckControlError *error); 13569 13570 HRESULT ( STDMETHODCALLTYPE *SetCallback )( 13571 IDeckLinkDeckControl_v7_9 * This, 13572 /* [in] */ IDeckLinkDeckControlStatusCallback *callback); 13573 13574 END_INTERFACE 13575 } IDeckLinkDeckControl_v7_9Vtbl; 13576 13577 interface IDeckLinkDeckControl_v7_9 13578 { 13579 CONST_VTBL struct IDeckLinkDeckControl_v7_9Vtbl *lpVtbl; 13580 }; 13581 13582 13583 13584 #ifdef COBJMACROS 13585 13586 13587 #define IDeckLinkDeckControl_v7_9_QueryInterface(This,riid,ppvObject) \ 13588 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 13589 13590 #define IDeckLinkDeckControl_v7_9_AddRef(This) \ 13591 ( (This)->lpVtbl -> AddRef(This) ) 13592 13593 #define IDeckLinkDeckControl_v7_9_Release(This) \ 13594 ( (This)->lpVtbl -> Release(This) ) 13595 13596 13597 #define IDeckLinkDeckControl_v7_9_Open(This,timeScale,timeValue,timecodeIsDropFrame,error) \ 13598 ( (This)->lpVtbl -> Open(This,timeScale,timeValue,timecodeIsDropFrame,error) ) 13599 13600 #define IDeckLinkDeckControl_v7_9_Close(This,standbyOn) \ 13601 ( (This)->lpVtbl -> Close(This,standbyOn) ) 13602 13603 #define IDeckLinkDeckControl_v7_9_GetCurrentState(This,mode,vtrControlState,flags) \ 13604 ( (This)->lpVtbl -> GetCurrentState(This,mode,vtrControlState,flags) ) 13605 13606 #define IDeckLinkDeckControl_v7_9_SetStandby(This,standbyOn) \ 13607 ( (This)->lpVtbl -> SetStandby(This,standbyOn) ) 13608 13609 #define IDeckLinkDeckControl_v7_9_Play(This,error) \ 13610 ( (This)->lpVtbl -> Play(This,error) ) 13611 13612 #define IDeckLinkDeckControl_v7_9_Stop(This,error) \ 13613 ( (This)->lpVtbl -> Stop(This,error) ) 13614 13615 #define IDeckLinkDeckControl_v7_9_TogglePlayStop(This,error) \ 13616 ( (This)->lpVtbl -> TogglePlayStop(This,error) ) 13617 13618 #define IDeckLinkDeckControl_v7_9_Eject(This,error) \ 13619 ( (This)->lpVtbl -> Eject(This,error) ) 13620 13621 #define IDeckLinkDeckControl_v7_9_GoToTimecode(This,timecode,error) \ 13622 ( (This)->lpVtbl -> GoToTimecode(This,timecode,error) ) 13623 13624 #define IDeckLinkDeckControl_v7_9_FastForward(This,viewTape,error) \ 13625 ( (This)->lpVtbl -> FastForward(This,viewTape,error) ) 13626 13627 #define IDeckLinkDeckControl_v7_9_Rewind(This,viewTape,error) \ 13628 ( (This)->lpVtbl -> Rewind(This,viewTape,error) ) 13629 13630 #define IDeckLinkDeckControl_v7_9_StepForward(This,error) \ 13631 ( (This)->lpVtbl -> StepForward(This,error) ) 13632 13633 #define IDeckLinkDeckControl_v7_9_StepBack(This,error) \ 13634 ( (This)->lpVtbl -> StepBack(This,error) ) 13635 13636 #define IDeckLinkDeckControl_v7_9_Jog(This,rate,error) \ 13637 ( (This)->lpVtbl -> Jog(This,rate,error) ) 13638 13639 #define IDeckLinkDeckControl_v7_9_Shuttle(This,rate,error) \ 13640 ( (This)->lpVtbl -> Shuttle(This,rate,error) ) 13641 13642 #define IDeckLinkDeckControl_v7_9_GetTimecodeString(This,currentTimeCode,error) \ 13643 ( (This)->lpVtbl -> GetTimecodeString(This,currentTimeCode,error) ) 13644 13645 #define IDeckLinkDeckControl_v7_9_GetTimecode(This,currentTimecode,error) \ 13646 ( (This)->lpVtbl -> GetTimecode(This,currentTimecode,error) ) 13647 13648 #define IDeckLinkDeckControl_v7_9_GetTimecodeBCD(This,currentTimecode,error) \ 13649 ( (This)->lpVtbl -> GetTimecodeBCD(This,currentTimecode,error) ) 13650 13651 #define IDeckLinkDeckControl_v7_9_SetPreroll(This,prerollSeconds) \ 13652 ( (This)->lpVtbl -> SetPreroll(This,prerollSeconds) ) 13653 13654 #define IDeckLinkDeckControl_v7_9_GetPreroll(This,prerollSeconds) \ 13655 ( (This)->lpVtbl -> GetPreroll(This,prerollSeconds) ) 13656 13657 #define IDeckLinkDeckControl_v7_9_SetExportOffset(This,exportOffsetFields) \ 13658 ( (This)->lpVtbl -> SetExportOffset(This,exportOffsetFields) ) 13659 13660 #define IDeckLinkDeckControl_v7_9_GetExportOffset(This,exportOffsetFields) \ 13661 ( (This)->lpVtbl -> GetExportOffset(This,exportOffsetFields) ) 13662 13663 #define IDeckLinkDeckControl_v7_9_GetManualExportOffset(This,deckManualExportOffsetFields) \ 13664 ( (This)->lpVtbl -> GetManualExportOffset(This,deckManualExportOffsetFields) ) 13665 13666 #define IDeckLinkDeckControl_v7_9_SetCaptureOffset(This,captureOffsetFields) \ 13667 ( (This)->lpVtbl -> SetCaptureOffset(This,captureOffsetFields) ) 13668 13669 #define IDeckLinkDeckControl_v7_9_GetCaptureOffset(This,captureOffsetFields) \ 13670 ( (This)->lpVtbl -> GetCaptureOffset(This,captureOffsetFields) ) 13671 13672 #define IDeckLinkDeckControl_v7_9_StartExport(This,inTimecode,outTimecode,exportModeOps,error) \ 13673 ( (This)->lpVtbl -> StartExport(This,inTimecode,outTimecode,exportModeOps,error) ) 13674 13675 #define IDeckLinkDeckControl_v7_9_StartCapture(This,useVITC,inTimecode,outTimecode,error) \ 13676 ( (This)->lpVtbl -> StartCapture(This,useVITC,inTimecode,outTimecode,error) ) 13677 13678 #define IDeckLinkDeckControl_v7_9_GetDeviceID(This,deviceId,error) \ 13679 ( (This)->lpVtbl -> GetDeviceID(This,deviceId,error) ) 13680 13681 #define IDeckLinkDeckControl_v7_9_Abort(This) \ 13682 ( (This)->lpVtbl -> Abort(This) ) 13683 13684 #define IDeckLinkDeckControl_v7_9_CrashRecordStart(This,error) \ 13685 ( (This)->lpVtbl -> CrashRecordStart(This,error) ) 13686 13687 #define IDeckLinkDeckControl_v7_9_CrashRecordStop(This,error) \ 13688 ( (This)->lpVtbl -> CrashRecordStop(This,error) ) 13689 13690 #define IDeckLinkDeckControl_v7_9_SetCallback(This,callback) \ 13691 ( (This)->lpVtbl -> SetCallback(This,callback) ) 13692 13693 #endif /* COBJMACROS */ 13694 13695 13696 #endif /* C style interface */ 13697 13698 13699 13700 13701 #endif /* __IDeckLinkDeckControl_v7_9_INTERFACE_DEFINED__ */ 13702 13703 13704 #ifndef __IDeckLinkDisplayModeIterator_v7_6_INTERFACE_DEFINED__ 13705 #define __IDeckLinkDisplayModeIterator_v7_6_INTERFACE_DEFINED__ 13706 13707 /* interface IDeckLinkDisplayModeIterator_v7_6 */ 13708 /* [helpstring][uuid][object] */ 13709 13710 13711 EXTERN_C const IID IID_IDeckLinkDisplayModeIterator_v7_6; 13712 13713 #if defined(__cplusplus) && !defined(CINTERFACE) 13714 13715 MIDL_INTERFACE("455D741F-1779-4800-86F5-0B5D13D79751") 13716 IDeckLinkDisplayModeIterator_v7_6 : public IUnknown 13717 { 13718 public: 13719 virtual HRESULT STDMETHODCALLTYPE Next( 13720 /* [out] */ IDeckLinkDisplayMode_v7_6 **deckLinkDisplayMode) = 0; 13721 13722 }; 13723 13724 13725 #else /* C style interface */ 13726 13727 typedef struct IDeckLinkDisplayModeIterator_v7_6Vtbl 13728 { 13729 BEGIN_INTERFACE 13730 13731 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 13732 IDeckLinkDisplayModeIterator_v7_6 * This, 13733 /* [in] */ REFIID riid, 13734 /* [annotation][iid_is][out] */ 13735 _COM_Outptr_ void **ppvObject); 13736 13737 ULONG ( STDMETHODCALLTYPE *AddRef )( 13738 IDeckLinkDisplayModeIterator_v7_6 * This); 13739 13740 ULONG ( STDMETHODCALLTYPE *Release )( 13741 IDeckLinkDisplayModeIterator_v7_6 * This); 13742 13743 HRESULT ( STDMETHODCALLTYPE *Next )( 13744 IDeckLinkDisplayModeIterator_v7_6 * This, 13745 /* [out] */ IDeckLinkDisplayMode_v7_6 **deckLinkDisplayMode); 13746 13747 END_INTERFACE 13748 } IDeckLinkDisplayModeIterator_v7_6Vtbl; 13749 13750 interface IDeckLinkDisplayModeIterator_v7_6 13751 { 13752 CONST_VTBL struct IDeckLinkDisplayModeIterator_v7_6Vtbl *lpVtbl; 13753 }; 13754 13755 13756 13757 #ifdef COBJMACROS 13758 13759 13760 #define IDeckLinkDisplayModeIterator_v7_6_QueryInterface(This,riid,ppvObject) \ 13761 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 13762 13763 #define IDeckLinkDisplayModeIterator_v7_6_AddRef(This) \ 13764 ( (This)->lpVtbl -> AddRef(This) ) 13765 13766 #define IDeckLinkDisplayModeIterator_v7_6_Release(This) \ 13767 ( (This)->lpVtbl -> Release(This) ) 13768 13769 13770 #define IDeckLinkDisplayModeIterator_v7_6_Next(This,deckLinkDisplayMode) \ 13771 ( (This)->lpVtbl -> Next(This,deckLinkDisplayMode) ) 13772 13773 #endif /* COBJMACROS */ 13774 13775 13776 #endif /* C style interface */ 13777 13778 13779 13780 13781 #endif /* __IDeckLinkDisplayModeIterator_v7_6_INTERFACE_DEFINED__ */ 13782 13783 13784 #ifndef __IDeckLinkDisplayMode_v7_6_INTERFACE_DEFINED__ 13785 #define __IDeckLinkDisplayMode_v7_6_INTERFACE_DEFINED__ 13786 13787 /* interface IDeckLinkDisplayMode_v7_6 */ 13788 /* [helpstring][uuid][object] */ 13789 13790 13791 EXTERN_C const IID IID_IDeckLinkDisplayMode_v7_6; 13792 13793 #if defined(__cplusplus) && !defined(CINTERFACE) 13794 13795 MIDL_INTERFACE("87451E84-2B7E-439E-A629-4393EA4A8550") 13796 IDeckLinkDisplayMode_v7_6 : public IUnknown 13797 { 13798 public: 13799 virtual HRESULT STDMETHODCALLTYPE GetName( 13800 /* [out] */ BSTR *name) = 0; 13801 13802 virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode( void) = 0; 13803 13804 virtual long STDMETHODCALLTYPE GetWidth( void) = 0; 13805 13806 virtual long STDMETHODCALLTYPE GetHeight( void) = 0; 13807 13808 virtual HRESULT STDMETHODCALLTYPE GetFrameRate( 13809 /* [out] */ BMDTimeValue *frameDuration, 13810 /* [out] */ BMDTimeScale *timeScale) = 0; 13811 13812 virtual BMDFieldDominance STDMETHODCALLTYPE GetFieldDominance( void) = 0; 13813 13814 }; 13815 13816 13817 #else /* C style interface */ 13818 13819 typedef struct IDeckLinkDisplayMode_v7_6Vtbl 13820 { 13821 BEGIN_INTERFACE 13822 13823 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 13824 IDeckLinkDisplayMode_v7_6 * This, 13825 /* [in] */ REFIID riid, 13826 /* [annotation][iid_is][out] */ 13827 _COM_Outptr_ void **ppvObject); 13828 13829 ULONG ( STDMETHODCALLTYPE *AddRef )( 13830 IDeckLinkDisplayMode_v7_6 * This); 13831 13832 ULONG ( STDMETHODCALLTYPE *Release )( 13833 IDeckLinkDisplayMode_v7_6 * This); 13834 13835 HRESULT ( STDMETHODCALLTYPE *GetName )( 13836 IDeckLinkDisplayMode_v7_6 * This, 13837 /* [out] */ BSTR *name); 13838 13839 BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )( 13840 IDeckLinkDisplayMode_v7_6 * This); 13841 13842 long ( STDMETHODCALLTYPE *GetWidth )( 13843 IDeckLinkDisplayMode_v7_6 * This); 13844 13845 long ( STDMETHODCALLTYPE *GetHeight )( 13846 IDeckLinkDisplayMode_v7_6 * This); 13847 13848 HRESULT ( STDMETHODCALLTYPE *GetFrameRate )( 13849 IDeckLinkDisplayMode_v7_6 * This, 13850 /* [out] */ BMDTimeValue *frameDuration, 13851 /* [out] */ BMDTimeScale *timeScale); 13852 13853 BMDFieldDominance ( STDMETHODCALLTYPE *GetFieldDominance )( 13854 IDeckLinkDisplayMode_v7_6 * This); 13855 13856 END_INTERFACE 13857 } IDeckLinkDisplayMode_v7_6Vtbl; 13858 13859 interface IDeckLinkDisplayMode_v7_6 13860 { 13861 CONST_VTBL struct IDeckLinkDisplayMode_v7_6Vtbl *lpVtbl; 13862 }; 13863 13864 13865 13866 #ifdef COBJMACROS 13867 13868 13869 #define IDeckLinkDisplayMode_v7_6_QueryInterface(This,riid,ppvObject) \ 13870 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 13871 13872 #define IDeckLinkDisplayMode_v7_6_AddRef(This) \ 13873 ( (This)->lpVtbl -> AddRef(This) ) 13874 13875 #define IDeckLinkDisplayMode_v7_6_Release(This) \ 13876 ( (This)->lpVtbl -> Release(This) ) 13877 13878 13879 #define IDeckLinkDisplayMode_v7_6_GetName(This,name) \ 13880 ( (This)->lpVtbl -> GetName(This,name) ) 13881 13882 #define IDeckLinkDisplayMode_v7_6_GetDisplayMode(This) \ 13883 ( (This)->lpVtbl -> GetDisplayMode(This) ) 13884 13885 #define IDeckLinkDisplayMode_v7_6_GetWidth(This) \ 13886 ( (This)->lpVtbl -> GetWidth(This) ) 13887 13888 #define IDeckLinkDisplayMode_v7_6_GetHeight(This) \ 13889 ( (This)->lpVtbl -> GetHeight(This) ) 13890 13891 #define IDeckLinkDisplayMode_v7_6_GetFrameRate(This,frameDuration,timeScale) \ 13892 ( (This)->lpVtbl -> GetFrameRate(This,frameDuration,timeScale) ) 13893 13894 #define IDeckLinkDisplayMode_v7_6_GetFieldDominance(This) \ 13895 ( (This)->lpVtbl -> GetFieldDominance(This) ) 13896 13897 #endif /* COBJMACROS */ 13898 13899 13900 #endif /* C style interface */ 13901 13902 13903 13904 13905 #endif /* __IDeckLinkDisplayMode_v7_6_INTERFACE_DEFINED__ */ 13906 13907 13908 #ifndef __IDeckLinkOutput_v7_6_INTERFACE_DEFINED__ 13909 #define __IDeckLinkOutput_v7_6_INTERFACE_DEFINED__ 13910 13911 /* interface IDeckLinkOutput_v7_6 */ 13912 /* [helpstring][local][uuid][object] */ 13913 13914 13915 EXTERN_C const IID IID_IDeckLinkOutput_v7_6; 13916 13917 #if defined(__cplusplus) && !defined(CINTERFACE) 13918 13919 MIDL_INTERFACE("29228142-EB8C-4141-A621-F74026450955") 13920 IDeckLinkOutput_v7_6 : public IUnknown 13921 { 13922 public: 13923 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( 13924 BMDDisplayMode displayMode, 13925 BMDPixelFormat pixelFormat, 13926 /* [out] */ BMDDisplayModeSupport_v10_11 *result) = 0; 13927 13928 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( 13929 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0; 13930 13931 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( 13932 /* [in] */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback) = 0; 13933 13934 virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput( 13935 BMDDisplayMode displayMode, 13936 BMDVideoOutputFlags flags) = 0; 13937 13938 virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0; 13939 13940 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator( 13941 /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0; 13942 13943 virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame( 13944 int width, 13945 int height, 13946 int rowBytes, 13947 BMDPixelFormat pixelFormat, 13948 BMDFrameFlags flags, 13949 /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame) = 0; 13950 13951 virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData( 13952 BMDPixelFormat pixelFormat, 13953 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer) = 0; 13954 13955 virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync( 13956 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0; 13957 13958 virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame( 13959 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame, 13960 BMDTimeValue displayTime, 13961 BMDTimeValue displayDuration, 13962 BMDTimeScale timeScale) = 0; 13963 13964 virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback( 13965 /* [in] */ IDeckLinkVideoOutputCallback_v7_6 *theCallback) = 0; 13966 13967 virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount( 13968 /* [out] */ unsigned int *bufferedFrameCount) = 0; 13969 13970 virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput( 13971 BMDAudioSampleRate sampleRate, 13972 BMDAudioSampleType sampleType, 13973 unsigned int channelCount, 13974 BMDAudioOutputStreamType streamType) = 0; 13975 13976 virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0; 13977 13978 virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync( 13979 /* [in] */ void *buffer, 13980 unsigned int sampleFrameCount, 13981 /* [out] */ unsigned int *sampleFramesWritten) = 0; 13982 13983 virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0; 13984 13985 virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0; 13986 13987 virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples( 13988 /* [in] */ void *buffer, 13989 unsigned int sampleFrameCount, 13990 BMDTimeValue streamTime, 13991 BMDTimeScale timeScale, 13992 /* [out] */ unsigned int *sampleFramesWritten) = 0; 13993 13994 virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount( 13995 /* [out] */ unsigned int *bufferedSampleFrameCount) = 0; 13996 13997 virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0; 13998 13999 virtual HRESULT STDMETHODCALLTYPE SetAudioCallback( 14000 /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0; 14001 14002 virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback( 14003 BMDTimeValue playbackStartTime, 14004 BMDTimeScale timeScale, 14005 double playbackSpeed) = 0; 14006 14007 virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback( 14008 BMDTimeValue stopPlaybackAtTime, 14009 /* [out] */ BMDTimeValue *actualStopTime, 14010 BMDTimeScale timeScale) = 0; 14011 14012 virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning( 14013 /* [out] */ BOOL *active) = 0; 14014 14015 virtual HRESULT STDMETHODCALLTYPE GetScheduledStreamTime( 14016 BMDTimeScale desiredTimeScale, 14017 /* [out] */ BMDTimeValue *streamTime, 14018 /* [out] */ double *playbackSpeed) = 0; 14019 14020 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( 14021 BMDTimeScale desiredTimeScale, 14022 /* [out] */ BMDTimeValue *hardwareTime, 14023 /* [out] */ BMDTimeValue *timeInFrame, 14024 /* [out] */ BMDTimeValue *ticksPerFrame) = 0; 14025 14026 }; 14027 14028 14029 #else /* C style interface */ 14030 14031 typedef struct IDeckLinkOutput_v7_6Vtbl 14032 { 14033 BEGIN_INTERFACE 14034 14035 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 14036 IDeckLinkOutput_v7_6 * This, 14037 /* [in] */ REFIID riid, 14038 /* [annotation][iid_is][out] */ 14039 _COM_Outptr_ void **ppvObject); 14040 14041 ULONG ( STDMETHODCALLTYPE *AddRef )( 14042 IDeckLinkOutput_v7_6 * This); 14043 14044 ULONG ( STDMETHODCALLTYPE *Release )( 14045 IDeckLinkOutput_v7_6 * This); 14046 14047 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( 14048 IDeckLinkOutput_v7_6 * This, 14049 BMDDisplayMode displayMode, 14050 BMDPixelFormat pixelFormat, 14051 /* [out] */ BMDDisplayModeSupport_v10_11 *result); 14052 14053 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( 14054 IDeckLinkOutput_v7_6 * This, 14055 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator); 14056 14057 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )( 14058 IDeckLinkOutput_v7_6 * This, 14059 /* [in] */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback); 14060 14061 HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )( 14062 IDeckLinkOutput_v7_6 * This, 14063 BMDDisplayMode displayMode, 14064 BMDVideoOutputFlags flags); 14065 14066 HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )( 14067 IDeckLinkOutput_v7_6 * This); 14068 14069 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )( 14070 IDeckLinkOutput_v7_6 * This, 14071 /* [in] */ IDeckLinkMemoryAllocator *theAllocator); 14072 14073 HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )( 14074 IDeckLinkOutput_v7_6 * This, 14075 int width, 14076 int height, 14077 int rowBytes, 14078 BMDPixelFormat pixelFormat, 14079 BMDFrameFlags flags, 14080 /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame); 14081 14082 HRESULT ( STDMETHODCALLTYPE *CreateAncillaryData )( 14083 IDeckLinkOutput_v7_6 * This, 14084 BMDPixelFormat pixelFormat, 14085 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer); 14086 14087 HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )( 14088 IDeckLinkOutput_v7_6 * This, 14089 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame); 14090 14091 HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )( 14092 IDeckLinkOutput_v7_6 * This, 14093 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame, 14094 BMDTimeValue displayTime, 14095 BMDTimeValue displayDuration, 14096 BMDTimeScale timeScale); 14097 14098 HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )( 14099 IDeckLinkOutput_v7_6 * This, 14100 /* [in] */ IDeckLinkVideoOutputCallback_v7_6 *theCallback); 14101 14102 HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )( 14103 IDeckLinkOutput_v7_6 * This, 14104 /* [out] */ unsigned int *bufferedFrameCount); 14105 14106 HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )( 14107 IDeckLinkOutput_v7_6 * This, 14108 BMDAudioSampleRate sampleRate, 14109 BMDAudioSampleType sampleType, 14110 unsigned int channelCount, 14111 BMDAudioOutputStreamType streamType); 14112 14113 HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )( 14114 IDeckLinkOutput_v7_6 * This); 14115 14116 HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )( 14117 IDeckLinkOutput_v7_6 * This, 14118 /* [in] */ void *buffer, 14119 unsigned int sampleFrameCount, 14120 /* [out] */ unsigned int *sampleFramesWritten); 14121 14122 HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )( 14123 IDeckLinkOutput_v7_6 * This); 14124 14125 HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )( 14126 IDeckLinkOutput_v7_6 * This); 14127 14128 HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )( 14129 IDeckLinkOutput_v7_6 * This, 14130 /* [in] */ void *buffer, 14131 unsigned int sampleFrameCount, 14132 BMDTimeValue streamTime, 14133 BMDTimeScale timeScale, 14134 /* [out] */ unsigned int *sampleFramesWritten); 14135 14136 HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )( 14137 IDeckLinkOutput_v7_6 * This, 14138 /* [out] */ unsigned int *bufferedSampleFrameCount); 14139 14140 HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )( 14141 IDeckLinkOutput_v7_6 * This); 14142 14143 HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )( 14144 IDeckLinkOutput_v7_6 * This, 14145 /* [in] */ IDeckLinkAudioOutputCallback *theCallback); 14146 14147 HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )( 14148 IDeckLinkOutput_v7_6 * This, 14149 BMDTimeValue playbackStartTime, 14150 BMDTimeScale timeScale, 14151 double playbackSpeed); 14152 14153 HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )( 14154 IDeckLinkOutput_v7_6 * This, 14155 BMDTimeValue stopPlaybackAtTime, 14156 /* [out] */ BMDTimeValue *actualStopTime, 14157 BMDTimeScale timeScale); 14158 14159 HRESULT ( STDMETHODCALLTYPE *IsScheduledPlaybackRunning )( 14160 IDeckLinkOutput_v7_6 * This, 14161 /* [out] */ BOOL *active); 14162 14163 HRESULT ( STDMETHODCALLTYPE *GetScheduledStreamTime )( 14164 IDeckLinkOutput_v7_6 * This, 14165 BMDTimeScale desiredTimeScale, 14166 /* [out] */ BMDTimeValue *streamTime, 14167 /* [out] */ double *playbackSpeed); 14168 14169 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( 14170 IDeckLinkOutput_v7_6 * This, 14171 BMDTimeScale desiredTimeScale, 14172 /* [out] */ BMDTimeValue *hardwareTime, 14173 /* [out] */ BMDTimeValue *timeInFrame, 14174 /* [out] */ BMDTimeValue *ticksPerFrame); 14175 14176 END_INTERFACE 14177 } IDeckLinkOutput_v7_6Vtbl; 14178 14179 interface IDeckLinkOutput_v7_6 14180 { 14181 CONST_VTBL struct IDeckLinkOutput_v7_6Vtbl *lpVtbl; 14182 }; 14183 14184 14185 14186 #ifdef COBJMACROS 14187 14188 14189 #define IDeckLinkOutput_v7_6_QueryInterface(This,riid,ppvObject) \ 14190 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 14191 14192 #define IDeckLinkOutput_v7_6_AddRef(This) \ 14193 ( (This)->lpVtbl -> AddRef(This) ) 14194 14195 #define IDeckLinkOutput_v7_6_Release(This) \ 14196 ( (This)->lpVtbl -> Release(This) ) 14197 14198 14199 #define IDeckLinkOutput_v7_6_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \ 14200 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) ) 14201 14202 #define IDeckLinkOutput_v7_6_GetDisplayModeIterator(This,iterator) \ 14203 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) 14204 14205 #define IDeckLinkOutput_v7_6_SetScreenPreviewCallback(This,previewCallback) \ 14206 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) ) 14207 14208 #define IDeckLinkOutput_v7_6_EnableVideoOutput(This,displayMode,flags) \ 14209 ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode,flags) ) 14210 14211 #define IDeckLinkOutput_v7_6_DisableVideoOutput(This) \ 14212 ( (This)->lpVtbl -> DisableVideoOutput(This) ) 14213 14214 #define IDeckLinkOutput_v7_6_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \ 14215 ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) ) 14216 14217 #define IDeckLinkOutput_v7_6_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \ 14218 ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) ) 14219 14220 #define IDeckLinkOutput_v7_6_CreateAncillaryData(This,pixelFormat,outBuffer) \ 14221 ( (This)->lpVtbl -> CreateAncillaryData(This,pixelFormat,outBuffer) ) 14222 14223 #define IDeckLinkOutput_v7_6_DisplayVideoFrameSync(This,theFrame) \ 14224 ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) ) 14225 14226 #define IDeckLinkOutput_v7_6_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \ 14227 ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) ) 14228 14229 #define IDeckLinkOutput_v7_6_SetScheduledFrameCompletionCallback(This,theCallback) \ 14230 ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) ) 14231 14232 #define IDeckLinkOutput_v7_6_GetBufferedVideoFrameCount(This,bufferedFrameCount) \ 14233 ( (This)->lpVtbl -> GetBufferedVideoFrameCount(This,bufferedFrameCount) ) 14234 14235 #define IDeckLinkOutput_v7_6_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) \ 14236 ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) ) 14237 14238 #define IDeckLinkOutput_v7_6_DisableAudioOutput(This) \ 14239 ( (This)->lpVtbl -> DisableAudioOutput(This) ) 14240 14241 #define IDeckLinkOutput_v7_6_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \ 14242 ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) ) 14243 14244 #define IDeckLinkOutput_v7_6_BeginAudioPreroll(This) \ 14245 ( (This)->lpVtbl -> BeginAudioPreroll(This) ) 14246 14247 #define IDeckLinkOutput_v7_6_EndAudioPreroll(This) \ 14248 ( (This)->lpVtbl -> EndAudioPreroll(This) ) 14249 14250 #define IDeckLinkOutput_v7_6_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \ 14251 ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) ) 14252 14253 #define IDeckLinkOutput_v7_6_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) \ 14254 ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) ) 14255 14256 #define IDeckLinkOutput_v7_6_FlushBufferedAudioSamples(This) \ 14257 ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) ) 14258 14259 #define IDeckLinkOutput_v7_6_SetAudioCallback(This,theCallback) \ 14260 ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) ) 14261 14262 #define IDeckLinkOutput_v7_6_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \ 14263 ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) ) 14264 14265 #define IDeckLinkOutput_v7_6_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \ 14266 ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) ) 14267 14268 #define IDeckLinkOutput_v7_6_IsScheduledPlaybackRunning(This,active) \ 14269 ( (This)->lpVtbl -> IsScheduledPlaybackRunning(This,active) ) 14270 14271 #define IDeckLinkOutput_v7_6_GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) \ 14272 ( (This)->lpVtbl -> GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) ) 14273 14274 #define IDeckLinkOutput_v7_6_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \ 14275 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) ) 14276 14277 #endif /* COBJMACROS */ 14278 14279 14280 #endif /* C style interface */ 14281 14282 14283 14284 14285 #endif /* __IDeckLinkOutput_v7_6_INTERFACE_DEFINED__ */ 14286 14287 14288 #ifndef __IDeckLinkInput_v7_6_INTERFACE_DEFINED__ 14289 #define __IDeckLinkInput_v7_6_INTERFACE_DEFINED__ 14290 14291 /* interface IDeckLinkInput_v7_6 */ 14292 /* [helpstring][uuid][object] */ 14293 14294 14295 EXTERN_C const IID IID_IDeckLinkInput_v7_6; 14296 14297 #if defined(__cplusplus) && !defined(CINTERFACE) 14298 14299 MIDL_INTERFACE("300C135A-9F43-48E2-9906-6D7911D93CF1") 14300 IDeckLinkInput_v7_6 : public IUnknown 14301 { 14302 public: 14303 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( 14304 BMDDisplayMode displayMode, 14305 BMDPixelFormat pixelFormat, 14306 /* [out] */ BMDDisplayModeSupport_v10_11 *result) = 0; 14307 14308 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( 14309 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0; 14310 14311 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( 14312 /* [in] */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback) = 0; 14313 14314 virtual HRESULT STDMETHODCALLTYPE EnableVideoInput( 14315 BMDDisplayMode displayMode, 14316 BMDPixelFormat pixelFormat, 14317 BMDVideoInputFlags flags) = 0; 14318 14319 virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0; 14320 14321 virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount( 14322 /* [out] */ unsigned int *availableFrameCount) = 0; 14323 14324 virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( 14325 BMDAudioSampleRate sampleRate, 14326 BMDAudioSampleType sampleType, 14327 unsigned int channelCount) = 0; 14328 14329 virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0; 14330 14331 virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount( 14332 /* [out] */ unsigned int *availableSampleFrameCount) = 0; 14333 14334 virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0; 14335 14336 virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0; 14337 14338 virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0; 14339 14340 virtual HRESULT STDMETHODCALLTYPE FlushStreams( void) = 0; 14341 14342 virtual HRESULT STDMETHODCALLTYPE SetCallback( 14343 /* [in] */ IDeckLinkInputCallback_v7_6 *theCallback) = 0; 14344 14345 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( 14346 BMDTimeScale desiredTimeScale, 14347 /* [out] */ BMDTimeValue *hardwareTime, 14348 /* [out] */ BMDTimeValue *timeInFrame, 14349 /* [out] */ BMDTimeValue *ticksPerFrame) = 0; 14350 14351 }; 14352 14353 14354 #else /* C style interface */ 14355 14356 typedef struct IDeckLinkInput_v7_6Vtbl 14357 { 14358 BEGIN_INTERFACE 14359 14360 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 14361 IDeckLinkInput_v7_6 * This, 14362 /* [in] */ REFIID riid, 14363 /* [annotation][iid_is][out] */ 14364 _COM_Outptr_ void **ppvObject); 14365 14366 ULONG ( STDMETHODCALLTYPE *AddRef )( 14367 IDeckLinkInput_v7_6 * This); 14368 14369 ULONG ( STDMETHODCALLTYPE *Release )( 14370 IDeckLinkInput_v7_6 * This); 14371 14372 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( 14373 IDeckLinkInput_v7_6 * This, 14374 BMDDisplayMode displayMode, 14375 BMDPixelFormat pixelFormat, 14376 /* [out] */ BMDDisplayModeSupport_v10_11 *result); 14377 14378 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( 14379 IDeckLinkInput_v7_6 * This, 14380 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator); 14381 14382 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )( 14383 IDeckLinkInput_v7_6 * This, 14384 /* [in] */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback); 14385 14386 HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )( 14387 IDeckLinkInput_v7_6 * This, 14388 BMDDisplayMode displayMode, 14389 BMDPixelFormat pixelFormat, 14390 BMDVideoInputFlags flags); 14391 14392 HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )( 14393 IDeckLinkInput_v7_6 * This); 14394 14395 HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )( 14396 IDeckLinkInput_v7_6 * This, 14397 /* [out] */ unsigned int *availableFrameCount); 14398 14399 HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )( 14400 IDeckLinkInput_v7_6 * This, 14401 BMDAudioSampleRate sampleRate, 14402 BMDAudioSampleType sampleType, 14403 unsigned int channelCount); 14404 14405 HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )( 14406 IDeckLinkInput_v7_6 * This); 14407 14408 HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )( 14409 IDeckLinkInput_v7_6 * This, 14410 /* [out] */ unsigned int *availableSampleFrameCount); 14411 14412 HRESULT ( STDMETHODCALLTYPE *StartStreams )( 14413 IDeckLinkInput_v7_6 * This); 14414 14415 HRESULT ( STDMETHODCALLTYPE *StopStreams )( 14416 IDeckLinkInput_v7_6 * This); 14417 14418 HRESULT ( STDMETHODCALLTYPE *PauseStreams )( 14419 IDeckLinkInput_v7_6 * This); 14420 14421 HRESULT ( STDMETHODCALLTYPE *FlushStreams )( 14422 IDeckLinkInput_v7_6 * This); 14423 14424 HRESULT ( STDMETHODCALLTYPE *SetCallback )( 14425 IDeckLinkInput_v7_6 * This, 14426 /* [in] */ IDeckLinkInputCallback_v7_6 *theCallback); 14427 14428 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( 14429 IDeckLinkInput_v7_6 * This, 14430 BMDTimeScale desiredTimeScale, 14431 /* [out] */ BMDTimeValue *hardwareTime, 14432 /* [out] */ BMDTimeValue *timeInFrame, 14433 /* [out] */ BMDTimeValue *ticksPerFrame); 14434 14435 END_INTERFACE 14436 } IDeckLinkInput_v7_6Vtbl; 14437 14438 interface IDeckLinkInput_v7_6 14439 { 14440 CONST_VTBL struct IDeckLinkInput_v7_6Vtbl *lpVtbl; 14441 }; 14442 14443 14444 14445 #ifdef COBJMACROS 14446 14447 14448 #define IDeckLinkInput_v7_6_QueryInterface(This,riid,ppvObject) \ 14449 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 14450 14451 #define IDeckLinkInput_v7_6_AddRef(This) \ 14452 ( (This)->lpVtbl -> AddRef(This) ) 14453 14454 #define IDeckLinkInput_v7_6_Release(This) \ 14455 ( (This)->lpVtbl -> Release(This) ) 14456 14457 14458 #define IDeckLinkInput_v7_6_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \ 14459 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) ) 14460 14461 #define IDeckLinkInput_v7_6_GetDisplayModeIterator(This,iterator) \ 14462 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) 14463 14464 #define IDeckLinkInput_v7_6_SetScreenPreviewCallback(This,previewCallback) \ 14465 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) ) 14466 14467 #define IDeckLinkInput_v7_6_EnableVideoInput(This,displayMode,pixelFormat,flags) \ 14468 ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) ) 14469 14470 #define IDeckLinkInput_v7_6_DisableVideoInput(This) \ 14471 ( (This)->lpVtbl -> DisableVideoInput(This) ) 14472 14473 #define IDeckLinkInput_v7_6_GetAvailableVideoFrameCount(This,availableFrameCount) \ 14474 ( (This)->lpVtbl -> GetAvailableVideoFrameCount(This,availableFrameCount) ) 14475 14476 #define IDeckLinkInput_v7_6_EnableAudioInput(This,sampleRate,sampleType,channelCount) \ 14477 ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) ) 14478 14479 #define IDeckLinkInput_v7_6_DisableAudioInput(This) \ 14480 ( (This)->lpVtbl -> DisableAudioInput(This) ) 14481 14482 #define IDeckLinkInput_v7_6_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \ 14483 ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) ) 14484 14485 #define IDeckLinkInput_v7_6_StartStreams(This) \ 14486 ( (This)->lpVtbl -> StartStreams(This) ) 14487 14488 #define IDeckLinkInput_v7_6_StopStreams(This) \ 14489 ( (This)->lpVtbl -> StopStreams(This) ) 14490 14491 #define IDeckLinkInput_v7_6_PauseStreams(This) \ 14492 ( (This)->lpVtbl -> PauseStreams(This) ) 14493 14494 #define IDeckLinkInput_v7_6_FlushStreams(This) \ 14495 ( (This)->lpVtbl -> FlushStreams(This) ) 14496 14497 #define IDeckLinkInput_v7_6_SetCallback(This,theCallback) \ 14498 ( (This)->lpVtbl -> SetCallback(This,theCallback) ) 14499 14500 #define IDeckLinkInput_v7_6_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \ 14501 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) ) 14502 14503 #endif /* COBJMACROS */ 14504 14505 14506 #endif /* C style interface */ 14507 14508 14509 14510 14511 #endif /* __IDeckLinkInput_v7_6_INTERFACE_DEFINED__ */ 14512 14513 14514 #ifndef __IDeckLinkTimecode_v7_6_INTERFACE_DEFINED__ 14515 #define __IDeckLinkTimecode_v7_6_INTERFACE_DEFINED__ 14516 14517 /* interface IDeckLinkTimecode_v7_6 */ 14518 /* [helpstring][uuid][object] */ 14519 14520 14521 EXTERN_C const IID IID_IDeckLinkTimecode_v7_6; 14522 14523 #if defined(__cplusplus) && !defined(CINTERFACE) 14524 14525 MIDL_INTERFACE("EFB9BCA6-A521-44F7-BD69-2332F24D9EE6") 14526 IDeckLinkTimecode_v7_6 : public IUnknown 14527 { 14528 public: 14529 virtual BMDTimecodeBCD STDMETHODCALLTYPE GetBCD( void) = 0; 14530 14531 virtual HRESULT STDMETHODCALLTYPE GetComponents( 14532 /* [out] */ unsigned char *hours, 14533 /* [out] */ unsigned char *minutes, 14534 /* [out] */ unsigned char *seconds, 14535 /* [out] */ unsigned char *frames) = 0; 14536 14537 virtual HRESULT STDMETHODCALLTYPE GetString( 14538 /* [out] */ BSTR *timecode) = 0; 14539 14540 virtual BMDTimecodeFlags STDMETHODCALLTYPE GetFlags( void) = 0; 14541 14542 }; 14543 14544 14545 #else /* C style interface */ 14546 14547 typedef struct IDeckLinkTimecode_v7_6Vtbl 14548 { 14549 BEGIN_INTERFACE 14550 14551 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 14552 IDeckLinkTimecode_v7_6 * This, 14553 /* [in] */ REFIID riid, 14554 /* [annotation][iid_is][out] */ 14555 _COM_Outptr_ void **ppvObject); 14556 14557 ULONG ( STDMETHODCALLTYPE *AddRef )( 14558 IDeckLinkTimecode_v7_6 * This); 14559 14560 ULONG ( STDMETHODCALLTYPE *Release )( 14561 IDeckLinkTimecode_v7_6 * This); 14562 14563 BMDTimecodeBCD ( STDMETHODCALLTYPE *GetBCD )( 14564 IDeckLinkTimecode_v7_6 * This); 14565 14566 HRESULT ( STDMETHODCALLTYPE *GetComponents )( 14567 IDeckLinkTimecode_v7_6 * This, 14568 /* [out] */ unsigned char *hours, 14569 /* [out] */ unsigned char *minutes, 14570 /* [out] */ unsigned char *seconds, 14571 /* [out] */ unsigned char *frames); 14572 14573 HRESULT ( STDMETHODCALLTYPE *GetString )( 14574 IDeckLinkTimecode_v7_6 * This, 14575 /* [out] */ BSTR *timecode); 14576 14577 BMDTimecodeFlags ( STDMETHODCALLTYPE *GetFlags )( 14578 IDeckLinkTimecode_v7_6 * This); 14579 14580 END_INTERFACE 14581 } IDeckLinkTimecode_v7_6Vtbl; 14582 14583 interface IDeckLinkTimecode_v7_6 14584 { 14585 CONST_VTBL struct IDeckLinkTimecode_v7_6Vtbl *lpVtbl; 14586 }; 14587 14588 14589 14590 #ifdef COBJMACROS 14591 14592 14593 #define IDeckLinkTimecode_v7_6_QueryInterface(This,riid,ppvObject) \ 14594 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 14595 14596 #define IDeckLinkTimecode_v7_6_AddRef(This) \ 14597 ( (This)->lpVtbl -> AddRef(This) ) 14598 14599 #define IDeckLinkTimecode_v7_6_Release(This) \ 14600 ( (This)->lpVtbl -> Release(This) ) 14601 14602 14603 #define IDeckLinkTimecode_v7_6_GetBCD(This) \ 14604 ( (This)->lpVtbl -> GetBCD(This) ) 14605 14606 #define IDeckLinkTimecode_v7_6_GetComponents(This,hours,minutes,seconds,frames) \ 14607 ( (This)->lpVtbl -> GetComponents(This,hours,minutes,seconds,frames) ) 14608 14609 #define IDeckLinkTimecode_v7_6_GetString(This,timecode) \ 14610 ( (This)->lpVtbl -> GetString(This,timecode) ) 14611 14612 #define IDeckLinkTimecode_v7_6_GetFlags(This) \ 14613 ( (This)->lpVtbl -> GetFlags(This) ) 14614 14615 #endif /* COBJMACROS */ 14616 14617 14618 #endif /* C style interface */ 14619 14620 14621 14622 14623 #endif /* __IDeckLinkTimecode_v7_6_INTERFACE_DEFINED__ */ 14624 14625 14626 #ifndef __IDeckLinkVideoFrame_v7_6_INTERFACE_DEFINED__ 14627 #define __IDeckLinkVideoFrame_v7_6_INTERFACE_DEFINED__ 14628 14629 /* interface IDeckLinkVideoFrame_v7_6 */ 14630 /* [helpstring][local][uuid][object] */ 14631 14632 14633 EXTERN_C const IID IID_IDeckLinkVideoFrame_v7_6; 14634 14635 #if defined(__cplusplus) && !defined(CINTERFACE) 14636 14637 MIDL_INTERFACE("A8D8238E-6B18-4196-99E1-5AF717B83D32") 14638 IDeckLinkVideoFrame_v7_6 : public IUnknown 14639 { 14640 public: 14641 virtual long STDMETHODCALLTYPE GetWidth( void) = 0; 14642 14643 virtual long STDMETHODCALLTYPE GetHeight( void) = 0; 14644 14645 virtual long STDMETHODCALLTYPE GetRowBytes( void) = 0; 14646 14647 virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0; 14648 14649 virtual BMDFrameFlags STDMETHODCALLTYPE GetFlags( void) = 0; 14650 14651 virtual HRESULT STDMETHODCALLTYPE GetBytes( 14652 /* [out] */ void **buffer) = 0; 14653 14654 virtual HRESULT STDMETHODCALLTYPE GetTimecode( 14655 BMDTimecodeFormat format, 14656 /* [out] */ IDeckLinkTimecode_v7_6 **timecode) = 0; 14657 14658 virtual HRESULT STDMETHODCALLTYPE GetAncillaryData( 14659 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary) = 0; 14660 14661 }; 14662 14663 14664 #else /* C style interface */ 14665 14666 typedef struct IDeckLinkVideoFrame_v7_6Vtbl 14667 { 14668 BEGIN_INTERFACE 14669 14670 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 14671 IDeckLinkVideoFrame_v7_6 * This, 14672 /* [in] */ REFIID riid, 14673 /* [annotation][iid_is][out] */ 14674 _COM_Outptr_ void **ppvObject); 14675 14676 ULONG ( STDMETHODCALLTYPE *AddRef )( 14677 IDeckLinkVideoFrame_v7_6 * This); 14678 14679 ULONG ( STDMETHODCALLTYPE *Release )( 14680 IDeckLinkVideoFrame_v7_6 * This); 14681 14682 long ( STDMETHODCALLTYPE *GetWidth )( 14683 IDeckLinkVideoFrame_v7_6 * This); 14684 14685 long ( STDMETHODCALLTYPE *GetHeight )( 14686 IDeckLinkVideoFrame_v7_6 * This); 14687 14688 long ( STDMETHODCALLTYPE *GetRowBytes )( 14689 IDeckLinkVideoFrame_v7_6 * This); 14690 14691 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( 14692 IDeckLinkVideoFrame_v7_6 * This); 14693 14694 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( 14695 IDeckLinkVideoFrame_v7_6 * This); 14696 14697 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 14698 IDeckLinkVideoFrame_v7_6 * This, 14699 /* [out] */ void **buffer); 14700 14701 HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 14702 IDeckLinkVideoFrame_v7_6 * This, 14703 BMDTimecodeFormat format, 14704 /* [out] */ IDeckLinkTimecode_v7_6 **timecode); 14705 14706 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )( 14707 IDeckLinkVideoFrame_v7_6 * This, 14708 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary); 14709 14710 END_INTERFACE 14711 } IDeckLinkVideoFrame_v7_6Vtbl; 14712 14713 interface IDeckLinkVideoFrame_v7_6 14714 { 14715 CONST_VTBL struct IDeckLinkVideoFrame_v7_6Vtbl *lpVtbl; 14716 }; 14717 14718 14719 14720 #ifdef COBJMACROS 14721 14722 14723 #define IDeckLinkVideoFrame_v7_6_QueryInterface(This,riid,ppvObject) \ 14724 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 14725 14726 #define IDeckLinkVideoFrame_v7_6_AddRef(This) \ 14727 ( (This)->lpVtbl -> AddRef(This) ) 14728 14729 #define IDeckLinkVideoFrame_v7_6_Release(This) \ 14730 ( (This)->lpVtbl -> Release(This) ) 14731 14732 14733 #define IDeckLinkVideoFrame_v7_6_GetWidth(This) \ 14734 ( (This)->lpVtbl -> GetWidth(This) ) 14735 14736 #define IDeckLinkVideoFrame_v7_6_GetHeight(This) \ 14737 ( (This)->lpVtbl -> GetHeight(This) ) 14738 14739 #define IDeckLinkVideoFrame_v7_6_GetRowBytes(This) \ 14740 ( (This)->lpVtbl -> GetRowBytes(This) ) 14741 14742 #define IDeckLinkVideoFrame_v7_6_GetPixelFormat(This) \ 14743 ( (This)->lpVtbl -> GetPixelFormat(This) ) 14744 14745 #define IDeckLinkVideoFrame_v7_6_GetFlags(This) \ 14746 ( (This)->lpVtbl -> GetFlags(This) ) 14747 14748 #define IDeckLinkVideoFrame_v7_6_GetBytes(This,buffer) \ 14749 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 14750 14751 #define IDeckLinkVideoFrame_v7_6_GetTimecode(This,format,timecode) \ 14752 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) 14753 14754 #define IDeckLinkVideoFrame_v7_6_GetAncillaryData(This,ancillary) \ 14755 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) ) 14756 14757 #endif /* COBJMACROS */ 14758 14759 14760 #endif /* C style interface */ 14761 14762 14763 14764 14765 #endif /* __IDeckLinkVideoFrame_v7_6_INTERFACE_DEFINED__ */ 14766 14767 14768 #ifndef __IDeckLinkMutableVideoFrame_v7_6_INTERFACE_DEFINED__ 14769 #define __IDeckLinkMutableVideoFrame_v7_6_INTERFACE_DEFINED__ 14770 14771 /* interface IDeckLinkMutableVideoFrame_v7_6 */ 14772 /* [helpstring][local][uuid][object] */ 14773 14774 14775 EXTERN_C const IID IID_IDeckLinkMutableVideoFrame_v7_6; 14776 14777 #if defined(__cplusplus) && !defined(CINTERFACE) 14778 14779 MIDL_INTERFACE("46FCEE00-B4E6-43D0-91C0-023A7FCEB34F") 14780 IDeckLinkMutableVideoFrame_v7_6 : public IDeckLinkVideoFrame_v7_6 14781 { 14782 public: 14783 virtual HRESULT STDMETHODCALLTYPE SetFlags( 14784 BMDFrameFlags newFlags) = 0; 14785 14786 virtual HRESULT STDMETHODCALLTYPE SetTimecode( 14787 BMDTimecodeFormat format, 14788 /* [in] */ IDeckLinkTimecode_v7_6 *timecode) = 0; 14789 14790 virtual HRESULT STDMETHODCALLTYPE SetTimecodeFromComponents( 14791 BMDTimecodeFormat format, 14792 unsigned char hours, 14793 unsigned char minutes, 14794 unsigned char seconds, 14795 unsigned char frames, 14796 BMDTimecodeFlags flags) = 0; 14797 14798 virtual HRESULT STDMETHODCALLTYPE SetAncillaryData( 14799 /* [in] */ IDeckLinkVideoFrameAncillary *ancillary) = 0; 14800 14801 }; 14802 14803 14804 #else /* C style interface */ 14805 14806 typedef struct IDeckLinkMutableVideoFrame_v7_6Vtbl 14807 { 14808 BEGIN_INTERFACE 14809 14810 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 14811 IDeckLinkMutableVideoFrame_v7_6 * This, 14812 /* [in] */ REFIID riid, 14813 /* [annotation][iid_is][out] */ 14814 _COM_Outptr_ void **ppvObject); 14815 14816 ULONG ( STDMETHODCALLTYPE *AddRef )( 14817 IDeckLinkMutableVideoFrame_v7_6 * This); 14818 14819 ULONG ( STDMETHODCALLTYPE *Release )( 14820 IDeckLinkMutableVideoFrame_v7_6 * This); 14821 14822 long ( STDMETHODCALLTYPE *GetWidth )( 14823 IDeckLinkMutableVideoFrame_v7_6 * This); 14824 14825 long ( STDMETHODCALLTYPE *GetHeight )( 14826 IDeckLinkMutableVideoFrame_v7_6 * This); 14827 14828 long ( STDMETHODCALLTYPE *GetRowBytes )( 14829 IDeckLinkMutableVideoFrame_v7_6 * This); 14830 14831 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( 14832 IDeckLinkMutableVideoFrame_v7_6 * This); 14833 14834 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( 14835 IDeckLinkMutableVideoFrame_v7_6 * This); 14836 14837 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 14838 IDeckLinkMutableVideoFrame_v7_6 * This, 14839 /* [out] */ void **buffer); 14840 14841 HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 14842 IDeckLinkMutableVideoFrame_v7_6 * This, 14843 BMDTimecodeFormat format, 14844 /* [out] */ IDeckLinkTimecode_v7_6 **timecode); 14845 14846 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )( 14847 IDeckLinkMutableVideoFrame_v7_6 * This, 14848 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary); 14849 14850 HRESULT ( STDMETHODCALLTYPE *SetFlags )( 14851 IDeckLinkMutableVideoFrame_v7_6 * This, 14852 BMDFrameFlags newFlags); 14853 14854 HRESULT ( STDMETHODCALLTYPE *SetTimecode )( 14855 IDeckLinkMutableVideoFrame_v7_6 * This, 14856 BMDTimecodeFormat format, 14857 /* [in] */ IDeckLinkTimecode_v7_6 *timecode); 14858 14859 HRESULT ( STDMETHODCALLTYPE *SetTimecodeFromComponents )( 14860 IDeckLinkMutableVideoFrame_v7_6 * This, 14861 BMDTimecodeFormat format, 14862 unsigned char hours, 14863 unsigned char minutes, 14864 unsigned char seconds, 14865 unsigned char frames, 14866 BMDTimecodeFlags flags); 14867 14868 HRESULT ( STDMETHODCALLTYPE *SetAncillaryData )( 14869 IDeckLinkMutableVideoFrame_v7_6 * This, 14870 /* [in] */ IDeckLinkVideoFrameAncillary *ancillary); 14871 14872 END_INTERFACE 14873 } IDeckLinkMutableVideoFrame_v7_6Vtbl; 14874 14875 interface IDeckLinkMutableVideoFrame_v7_6 14876 { 14877 CONST_VTBL struct IDeckLinkMutableVideoFrame_v7_6Vtbl *lpVtbl; 14878 }; 14879 14880 14881 14882 #ifdef COBJMACROS 14883 14884 14885 #define IDeckLinkMutableVideoFrame_v7_6_QueryInterface(This,riid,ppvObject) \ 14886 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 14887 14888 #define IDeckLinkMutableVideoFrame_v7_6_AddRef(This) \ 14889 ( (This)->lpVtbl -> AddRef(This) ) 14890 14891 #define IDeckLinkMutableVideoFrame_v7_6_Release(This) \ 14892 ( (This)->lpVtbl -> Release(This) ) 14893 14894 14895 #define IDeckLinkMutableVideoFrame_v7_6_GetWidth(This) \ 14896 ( (This)->lpVtbl -> GetWidth(This) ) 14897 14898 #define IDeckLinkMutableVideoFrame_v7_6_GetHeight(This) \ 14899 ( (This)->lpVtbl -> GetHeight(This) ) 14900 14901 #define IDeckLinkMutableVideoFrame_v7_6_GetRowBytes(This) \ 14902 ( (This)->lpVtbl -> GetRowBytes(This) ) 14903 14904 #define IDeckLinkMutableVideoFrame_v7_6_GetPixelFormat(This) \ 14905 ( (This)->lpVtbl -> GetPixelFormat(This) ) 14906 14907 #define IDeckLinkMutableVideoFrame_v7_6_GetFlags(This) \ 14908 ( (This)->lpVtbl -> GetFlags(This) ) 14909 14910 #define IDeckLinkMutableVideoFrame_v7_6_GetBytes(This,buffer) \ 14911 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 14912 14913 #define IDeckLinkMutableVideoFrame_v7_6_GetTimecode(This,format,timecode) \ 14914 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) 14915 14916 #define IDeckLinkMutableVideoFrame_v7_6_GetAncillaryData(This,ancillary) \ 14917 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) ) 14918 14919 14920 #define IDeckLinkMutableVideoFrame_v7_6_SetFlags(This,newFlags) \ 14921 ( (This)->lpVtbl -> SetFlags(This,newFlags) ) 14922 14923 #define IDeckLinkMutableVideoFrame_v7_6_SetTimecode(This,format,timecode) \ 14924 ( (This)->lpVtbl -> SetTimecode(This,format,timecode) ) 14925 14926 #define IDeckLinkMutableVideoFrame_v7_6_SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) \ 14927 ( (This)->lpVtbl -> SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) ) 14928 14929 #define IDeckLinkMutableVideoFrame_v7_6_SetAncillaryData(This,ancillary) \ 14930 ( (This)->lpVtbl -> SetAncillaryData(This,ancillary) ) 14931 14932 #endif /* COBJMACROS */ 14933 14934 14935 #endif /* C style interface */ 14936 14937 14938 14939 14940 #endif /* __IDeckLinkMutableVideoFrame_v7_6_INTERFACE_DEFINED__ */ 14941 14942 14943 #ifndef __IDeckLinkVideoInputFrame_v7_6_INTERFACE_DEFINED__ 14944 #define __IDeckLinkVideoInputFrame_v7_6_INTERFACE_DEFINED__ 14945 14946 /* interface IDeckLinkVideoInputFrame_v7_6 */ 14947 /* [helpstring][local][uuid][object] */ 14948 14949 14950 EXTERN_C const IID IID_IDeckLinkVideoInputFrame_v7_6; 14951 14952 #if defined(__cplusplus) && !defined(CINTERFACE) 14953 14954 MIDL_INTERFACE("9A74FA41-AE9F-47AC-8CF4-01F42DD59965") 14955 IDeckLinkVideoInputFrame_v7_6 : public IDeckLinkVideoFrame_v7_6 14956 { 14957 public: 14958 virtual HRESULT STDMETHODCALLTYPE GetStreamTime( 14959 /* [out] */ BMDTimeValue *frameTime, 14960 /* [out] */ BMDTimeValue *frameDuration, 14961 BMDTimeScale timeScale) = 0; 14962 14963 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceTimestamp( 14964 BMDTimeScale timeScale, 14965 /* [out] */ BMDTimeValue *frameTime, 14966 /* [out] */ BMDTimeValue *frameDuration) = 0; 14967 14968 }; 14969 14970 14971 #else /* C style interface */ 14972 14973 typedef struct IDeckLinkVideoInputFrame_v7_6Vtbl 14974 { 14975 BEGIN_INTERFACE 14976 14977 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 14978 IDeckLinkVideoInputFrame_v7_6 * This, 14979 /* [in] */ REFIID riid, 14980 /* [annotation][iid_is][out] */ 14981 _COM_Outptr_ void **ppvObject); 14982 14983 ULONG ( STDMETHODCALLTYPE *AddRef )( 14984 IDeckLinkVideoInputFrame_v7_6 * This); 14985 14986 ULONG ( STDMETHODCALLTYPE *Release )( 14987 IDeckLinkVideoInputFrame_v7_6 * This); 14988 14989 long ( STDMETHODCALLTYPE *GetWidth )( 14990 IDeckLinkVideoInputFrame_v7_6 * This); 14991 14992 long ( STDMETHODCALLTYPE *GetHeight )( 14993 IDeckLinkVideoInputFrame_v7_6 * This); 14994 14995 long ( STDMETHODCALLTYPE *GetRowBytes )( 14996 IDeckLinkVideoInputFrame_v7_6 * This); 14997 14998 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( 14999 IDeckLinkVideoInputFrame_v7_6 * This); 15000 15001 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( 15002 IDeckLinkVideoInputFrame_v7_6 * This); 15003 15004 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 15005 IDeckLinkVideoInputFrame_v7_6 * This, 15006 /* [out] */ void **buffer); 15007 15008 HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 15009 IDeckLinkVideoInputFrame_v7_6 * This, 15010 BMDTimecodeFormat format, 15011 /* [out] */ IDeckLinkTimecode_v7_6 **timecode); 15012 15013 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )( 15014 IDeckLinkVideoInputFrame_v7_6 * This, 15015 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary); 15016 15017 HRESULT ( STDMETHODCALLTYPE *GetStreamTime )( 15018 IDeckLinkVideoInputFrame_v7_6 * This, 15019 /* [out] */ BMDTimeValue *frameTime, 15020 /* [out] */ BMDTimeValue *frameDuration, 15021 BMDTimeScale timeScale); 15022 15023 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceTimestamp )( 15024 IDeckLinkVideoInputFrame_v7_6 * This, 15025 BMDTimeScale timeScale, 15026 /* [out] */ BMDTimeValue *frameTime, 15027 /* [out] */ BMDTimeValue *frameDuration); 15028 15029 END_INTERFACE 15030 } IDeckLinkVideoInputFrame_v7_6Vtbl; 15031 15032 interface IDeckLinkVideoInputFrame_v7_6 15033 { 15034 CONST_VTBL struct IDeckLinkVideoInputFrame_v7_6Vtbl *lpVtbl; 15035 }; 15036 15037 15038 15039 #ifdef COBJMACROS 15040 15041 15042 #define IDeckLinkVideoInputFrame_v7_6_QueryInterface(This,riid,ppvObject) \ 15043 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 15044 15045 #define IDeckLinkVideoInputFrame_v7_6_AddRef(This) \ 15046 ( (This)->lpVtbl -> AddRef(This) ) 15047 15048 #define IDeckLinkVideoInputFrame_v7_6_Release(This) \ 15049 ( (This)->lpVtbl -> Release(This) ) 15050 15051 15052 #define IDeckLinkVideoInputFrame_v7_6_GetWidth(This) \ 15053 ( (This)->lpVtbl -> GetWidth(This) ) 15054 15055 #define IDeckLinkVideoInputFrame_v7_6_GetHeight(This) \ 15056 ( (This)->lpVtbl -> GetHeight(This) ) 15057 15058 #define IDeckLinkVideoInputFrame_v7_6_GetRowBytes(This) \ 15059 ( (This)->lpVtbl -> GetRowBytes(This) ) 15060 15061 #define IDeckLinkVideoInputFrame_v7_6_GetPixelFormat(This) \ 15062 ( (This)->lpVtbl -> GetPixelFormat(This) ) 15063 15064 #define IDeckLinkVideoInputFrame_v7_6_GetFlags(This) \ 15065 ( (This)->lpVtbl -> GetFlags(This) ) 15066 15067 #define IDeckLinkVideoInputFrame_v7_6_GetBytes(This,buffer) \ 15068 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 15069 15070 #define IDeckLinkVideoInputFrame_v7_6_GetTimecode(This,format,timecode) \ 15071 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) 15072 15073 #define IDeckLinkVideoInputFrame_v7_6_GetAncillaryData(This,ancillary) \ 15074 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) ) 15075 15076 15077 #define IDeckLinkVideoInputFrame_v7_6_GetStreamTime(This,frameTime,frameDuration,timeScale) \ 15078 ( (This)->lpVtbl -> GetStreamTime(This,frameTime,frameDuration,timeScale) ) 15079 15080 #define IDeckLinkVideoInputFrame_v7_6_GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) \ 15081 ( (This)->lpVtbl -> GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) ) 15082 15083 #endif /* COBJMACROS */ 15084 15085 15086 #endif /* C style interface */ 15087 15088 15089 15090 15091 #endif /* __IDeckLinkVideoInputFrame_v7_6_INTERFACE_DEFINED__ */ 15092 15093 15094 #ifndef __IDeckLinkScreenPreviewCallback_v7_6_INTERFACE_DEFINED__ 15095 #define __IDeckLinkScreenPreviewCallback_v7_6_INTERFACE_DEFINED__ 15096 15097 /* interface IDeckLinkScreenPreviewCallback_v7_6 */ 15098 /* [helpstring][local][uuid][object] */ 15099 15100 15101 EXTERN_C const IID IID_IDeckLinkScreenPreviewCallback_v7_6; 15102 15103 #if defined(__cplusplus) && !defined(CINTERFACE) 15104 15105 MIDL_INTERFACE("373F499D-4B4D-4518-AD22-6354E5A5825E") 15106 IDeckLinkScreenPreviewCallback_v7_6 : public IUnknown 15107 { 15108 public: 15109 virtual HRESULT STDMETHODCALLTYPE DrawFrame( 15110 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0; 15111 15112 }; 15113 15114 15115 #else /* C style interface */ 15116 15117 typedef struct IDeckLinkScreenPreviewCallback_v7_6Vtbl 15118 { 15119 BEGIN_INTERFACE 15120 15121 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 15122 IDeckLinkScreenPreviewCallback_v7_6 * This, 15123 /* [in] */ REFIID riid, 15124 /* [annotation][iid_is][out] */ 15125 _COM_Outptr_ void **ppvObject); 15126 15127 ULONG ( STDMETHODCALLTYPE *AddRef )( 15128 IDeckLinkScreenPreviewCallback_v7_6 * This); 15129 15130 ULONG ( STDMETHODCALLTYPE *Release )( 15131 IDeckLinkScreenPreviewCallback_v7_6 * This); 15132 15133 HRESULT ( STDMETHODCALLTYPE *DrawFrame )( 15134 IDeckLinkScreenPreviewCallback_v7_6 * This, 15135 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame); 15136 15137 END_INTERFACE 15138 } IDeckLinkScreenPreviewCallback_v7_6Vtbl; 15139 15140 interface IDeckLinkScreenPreviewCallback_v7_6 15141 { 15142 CONST_VTBL struct IDeckLinkScreenPreviewCallback_v7_6Vtbl *lpVtbl; 15143 }; 15144 15145 15146 15147 #ifdef COBJMACROS 15148 15149 15150 #define IDeckLinkScreenPreviewCallback_v7_6_QueryInterface(This,riid,ppvObject) \ 15151 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 15152 15153 #define IDeckLinkScreenPreviewCallback_v7_6_AddRef(This) \ 15154 ( (This)->lpVtbl -> AddRef(This) ) 15155 15156 #define IDeckLinkScreenPreviewCallback_v7_6_Release(This) \ 15157 ( (This)->lpVtbl -> Release(This) ) 15158 15159 15160 #define IDeckLinkScreenPreviewCallback_v7_6_DrawFrame(This,theFrame) \ 15161 ( (This)->lpVtbl -> DrawFrame(This,theFrame) ) 15162 15163 #endif /* COBJMACROS */ 15164 15165 15166 #endif /* C style interface */ 15167 15168 15169 15170 15171 #endif /* __IDeckLinkScreenPreviewCallback_v7_6_INTERFACE_DEFINED__ */ 15172 15173 15174 #ifndef __IDeckLinkGLScreenPreviewHelper_v7_6_INTERFACE_DEFINED__ 15175 #define __IDeckLinkGLScreenPreviewHelper_v7_6_INTERFACE_DEFINED__ 15176 15177 /* interface IDeckLinkGLScreenPreviewHelper_v7_6 */ 15178 /* [helpstring][local][uuid][object] */ 15179 15180 15181 EXTERN_C const IID IID_IDeckLinkGLScreenPreviewHelper_v7_6; 15182 15183 #if defined(__cplusplus) && !defined(CINTERFACE) 15184 15185 MIDL_INTERFACE("BA575CD9-A15E-497B-B2C2-F9AFE7BE4EBA") 15186 IDeckLinkGLScreenPreviewHelper_v7_6 : public IUnknown 15187 { 15188 public: 15189 virtual HRESULT STDMETHODCALLTYPE InitializeGL( void) = 0; 15190 15191 virtual HRESULT STDMETHODCALLTYPE PaintGL( void) = 0; 15192 15193 virtual HRESULT STDMETHODCALLTYPE SetFrame( 15194 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0; 15195 15196 }; 15197 15198 15199 #else /* C style interface */ 15200 15201 typedef struct IDeckLinkGLScreenPreviewHelper_v7_6Vtbl 15202 { 15203 BEGIN_INTERFACE 15204 15205 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 15206 IDeckLinkGLScreenPreviewHelper_v7_6 * This, 15207 /* [in] */ REFIID riid, 15208 /* [annotation][iid_is][out] */ 15209 _COM_Outptr_ void **ppvObject); 15210 15211 ULONG ( STDMETHODCALLTYPE *AddRef )( 15212 IDeckLinkGLScreenPreviewHelper_v7_6 * This); 15213 15214 ULONG ( STDMETHODCALLTYPE *Release )( 15215 IDeckLinkGLScreenPreviewHelper_v7_6 * This); 15216 15217 HRESULT ( STDMETHODCALLTYPE *InitializeGL )( 15218 IDeckLinkGLScreenPreviewHelper_v7_6 * This); 15219 15220 HRESULT ( STDMETHODCALLTYPE *PaintGL )( 15221 IDeckLinkGLScreenPreviewHelper_v7_6 * This); 15222 15223 HRESULT ( STDMETHODCALLTYPE *SetFrame )( 15224 IDeckLinkGLScreenPreviewHelper_v7_6 * This, 15225 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame); 15226 15227 END_INTERFACE 15228 } IDeckLinkGLScreenPreviewHelper_v7_6Vtbl; 15229 15230 interface IDeckLinkGLScreenPreviewHelper_v7_6 15231 { 15232 CONST_VTBL struct IDeckLinkGLScreenPreviewHelper_v7_6Vtbl *lpVtbl; 15233 }; 15234 15235 15236 15237 #ifdef COBJMACROS 15238 15239 15240 #define IDeckLinkGLScreenPreviewHelper_v7_6_QueryInterface(This,riid,ppvObject) \ 15241 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 15242 15243 #define IDeckLinkGLScreenPreviewHelper_v7_6_AddRef(This) \ 15244 ( (This)->lpVtbl -> AddRef(This) ) 15245 15246 #define IDeckLinkGLScreenPreviewHelper_v7_6_Release(This) \ 15247 ( (This)->lpVtbl -> Release(This) ) 15248 15249 15250 #define IDeckLinkGLScreenPreviewHelper_v7_6_InitializeGL(This) \ 15251 ( (This)->lpVtbl -> InitializeGL(This) ) 15252 15253 #define IDeckLinkGLScreenPreviewHelper_v7_6_PaintGL(This) \ 15254 ( (This)->lpVtbl -> PaintGL(This) ) 15255 15256 #define IDeckLinkGLScreenPreviewHelper_v7_6_SetFrame(This,theFrame) \ 15257 ( (This)->lpVtbl -> SetFrame(This,theFrame) ) 15258 15259 #endif /* COBJMACROS */ 15260 15261 15262 #endif /* C style interface */ 15263 15264 15265 15266 15267 #endif /* __IDeckLinkGLScreenPreviewHelper_v7_6_INTERFACE_DEFINED__ */ 15268 15269 15270 #ifndef __IDeckLinkVideoConversion_v7_6_INTERFACE_DEFINED__ 15271 #define __IDeckLinkVideoConversion_v7_6_INTERFACE_DEFINED__ 15272 15273 /* interface IDeckLinkVideoConversion_v7_6 */ 15274 /* [helpstring][local][uuid][object] */ 15275 15276 15277 EXTERN_C const IID IID_IDeckLinkVideoConversion_v7_6; 15278 15279 #if defined(__cplusplus) && !defined(CINTERFACE) 15280 15281 MIDL_INTERFACE("3EB504C9-F97D-40FE-A158-D407D48CB53B") 15282 IDeckLinkVideoConversion_v7_6 : public IUnknown 15283 { 15284 public: 15285 virtual HRESULT STDMETHODCALLTYPE ConvertFrame( 15286 /* [in] */ IDeckLinkVideoFrame_v7_6 *srcFrame, 15287 /* [in] */ IDeckLinkVideoFrame_v7_6 *dstFrame) = 0; 15288 15289 }; 15290 15291 15292 #else /* C style interface */ 15293 15294 typedef struct IDeckLinkVideoConversion_v7_6Vtbl 15295 { 15296 BEGIN_INTERFACE 15297 15298 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 15299 IDeckLinkVideoConversion_v7_6 * This, 15300 /* [in] */ REFIID riid, 15301 /* [annotation][iid_is][out] */ 15302 _COM_Outptr_ void **ppvObject); 15303 15304 ULONG ( STDMETHODCALLTYPE *AddRef )( 15305 IDeckLinkVideoConversion_v7_6 * This); 15306 15307 ULONG ( STDMETHODCALLTYPE *Release )( 15308 IDeckLinkVideoConversion_v7_6 * This); 15309 15310 HRESULT ( STDMETHODCALLTYPE *ConvertFrame )( 15311 IDeckLinkVideoConversion_v7_6 * This, 15312 /* [in] */ IDeckLinkVideoFrame_v7_6 *srcFrame, 15313 /* [in] */ IDeckLinkVideoFrame_v7_6 *dstFrame); 15314 15315 END_INTERFACE 15316 } IDeckLinkVideoConversion_v7_6Vtbl; 15317 15318 interface IDeckLinkVideoConversion_v7_6 15319 { 15320 CONST_VTBL struct IDeckLinkVideoConversion_v7_6Vtbl *lpVtbl; 15321 }; 15322 15323 15324 15325 #ifdef COBJMACROS 15326 15327 15328 #define IDeckLinkVideoConversion_v7_6_QueryInterface(This,riid,ppvObject) \ 15329 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 15330 15331 #define IDeckLinkVideoConversion_v7_6_AddRef(This) \ 15332 ( (This)->lpVtbl -> AddRef(This) ) 15333 15334 #define IDeckLinkVideoConversion_v7_6_Release(This) \ 15335 ( (This)->lpVtbl -> Release(This) ) 15336 15337 15338 #define IDeckLinkVideoConversion_v7_6_ConvertFrame(This,srcFrame,dstFrame) \ 15339 ( (This)->lpVtbl -> ConvertFrame(This,srcFrame,dstFrame) ) 15340 15341 #endif /* COBJMACROS */ 15342 15343 15344 #endif /* C style interface */ 15345 15346 15347 15348 15349 #endif /* __IDeckLinkVideoConversion_v7_6_INTERFACE_DEFINED__ */ 15350 15351 15352 #ifndef __IDeckLinkConfiguration_v7_6_INTERFACE_DEFINED__ 15353 #define __IDeckLinkConfiguration_v7_6_INTERFACE_DEFINED__ 15354 15355 /* interface IDeckLinkConfiguration_v7_6 */ 15356 /* [helpstring][uuid][object] */ 15357 15358 15359 EXTERN_C const IID IID_IDeckLinkConfiguration_v7_6; 15360 15361 #if defined(__cplusplus) && !defined(CINTERFACE) 15362 15363 MIDL_INTERFACE("B8EAD569-B764-47F0-A73F-AE40DF6CBF10") 15364 IDeckLinkConfiguration_v7_6 : public IUnknown 15365 { 15366 public: 15367 virtual HRESULT STDMETHODCALLTYPE GetConfigurationValidator( 15368 /* [out] */ IDeckLinkConfiguration_v7_6 **configObject) = 0; 15369 15370 virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences( void) = 0; 15371 15372 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFormat( 15373 /* [in] */ BMDVideoConnection_v7_6 videoOutputConnection) = 0; 15374 15375 virtual HRESULT STDMETHODCALLTYPE IsVideoOutputActive( 15376 /* [in] */ BMDVideoConnection_v7_6 videoOutputConnection, 15377 /* [out] */ BOOL *active) = 0; 15378 15379 virtual HRESULT STDMETHODCALLTYPE SetAnalogVideoOutputFlags( 15380 /* [in] */ BMDAnalogVideoFlags analogVideoFlags) = 0; 15381 15382 virtual HRESULT STDMETHODCALLTYPE GetAnalogVideoOutputFlags( 15383 /* [out] */ BMDAnalogVideoFlags *analogVideoFlags) = 0; 15384 15385 virtual HRESULT STDMETHODCALLTYPE EnableFieldFlickerRemovalWhenPaused( 15386 /* [in] */ BOOL enable) = 0; 15387 15388 virtual HRESULT STDMETHODCALLTYPE IsEnabledFieldFlickerRemovalWhenPaused( 15389 /* [out] */ BOOL *enabled) = 0; 15390 15391 virtual HRESULT STDMETHODCALLTYPE Set444And3GBpsVideoOutput( 15392 /* [in] */ BOOL enable444VideoOutput, 15393 /* [in] */ BOOL enable3GbsOutput) = 0; 15394 15395 virtual HRESULT STDMETHODCALLTYPE Get444And3GBpsVideoOutput( 15396 /* [out] */ BOOL *is444VideoOutputEnabled, 15397 /* [out] */ BOOL *threeGbsOutputEnabled) = 0; 15398 15399 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputConversionMode( 15400 /* [in] */ BMDVideoOutputConversionMode conversionMode) = 0; 15401 15402 virtual HRESULT STDMETHODCALLTYPE GetVideoOutputConversionMode( 15403 /* [out] */ BMDVideoOutputConversionMode *conversionMode) = 0; 15404 15405 virtual HRESULT STDMETHODCALLTYPE Set_HD1080p24_to_HD1080i5994_Conversion( 15406 /* [in] */ BOOL enable) = 0; 15407 15408 virtual HRESULT STDMETHODCALLTYPE Get_HD1080p24_to_HD1080i5994_Conversion( 15409 /* [out] */ BOOL *enabled) = 0; 15410 15411 virtual HRESULT STDMETHODCALLTYPE SetVideoInputFormat( 15412 /* [in] */ BMDVideoConnection_v7_6 videoInputFormat) = 0; 15413 15414 virtual HRESULT STDMETHODCALLTYPE GetVideoInputFormat( 15415 /* [out] */ BMDVideoConnection_v7_6 *videoInputFormat) = 0; 15416 15417 virtual HRESULT STDMETHODCALLTYPE SetAnalogVideoInputFlags( 15418 /* [in] */ BMDAnalogVideoFlags analogVideoFlags) = 0; 15419 15420 virtual HRESULT STDMETHODCALLTYPE GetAnalogVideoInputFlags( 15421 /* [out] */ BMDAnalogVideoFlags *analogVideoFlags) = 0; 15422 15423 virtual HRESULT STDMETHODCALLTYPE SetVideoInputConversionMode( 15424 /* [in] */ BMDVideoInputConversionMode conversionMode) = 0; 15425 15426 virtual HRESULT STDMETHODCALLTYPE GetVideoInputConversionMode( 15427 /* [out] */ BMDVideoInputConversionMode *conversionMode) = 0; 15428 15429 virtual HRESULT STDMETHODCALLTYPE SetBlackVideoOutputDuringCapture( 15430 /* [in] */ BOOL blackOutInCapture) = 0; 15431 15432 virtual HRESULT STDMETHODCALLTYPE GetBlackVideoOutputDuringCapture( 15433 /* [out] */ BOOL *blackOutInCapture) = 0; 15434 15435 virtual HRESULT STDMETHODCALLTYPE Set32PulldownSequenceInitialTimecodeFrame( 15436 /* [in] */ unsigned int aFrameTimecode) = 0; 15437 15438 virtual HRESULT STDMETHODCALLTYPE Get32PulldownSequenceInitialTimecodeFrame( 15439 /* [out] */ unsigned int *aFrameTimecode) = 0; 15440 15441 virtual HRESULT STDMETHODCALLTYPE SetVancSourceLineMapping( 15442 /* [in] */ unsigned int activeLine1VANCsource, 15443 /* [in] */ unsigned int activeLine2VANCsource, 15444 /* [in] */ unsigned int activeLine3VANCsource) = 0; 15445 15446 virtual HRESULT STDMETHODCALLTYPE GetVancSourceLineMapping( 15447 /* [out] */ unsigned int *activeLine1VANCsource, 15448 /* [out] */ unsigned int *activeLine2VANCsource, 15449 /* [out] */ unsigned int *activeLine3VANCsource) = 0; 15450 15451 virtual HRESULT STDMETHODCALLTYPE SetAudioInputFormat( 15452 /* [in] */ BMDAudioConnection_v10_2 audioInputFormat) = 0; 15453 15454 virtual HRESULT STDMETHODCALLTYPE GetAudioInputFormat( 15455 /* [out] */ BMDAudioConnection_v10_2 *audioInputFormat) = 0; 15456 15457 }; 15458 15459 15460 #else /* C style interface */ 15461 15462 typedef struct IDeckLinkConfiguration_v7_6Vtbl 15463 { 15464 BEGIN_INTERFACE 15465 15466 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 15467 IDeckLinkConfiguration_v7_6 * This, 15468 /* [in] */ REFIID riid, 15469 /* [annotation][iid_is][out] */ 15470 _COM_Outptr_ void **ppvObject); 15471 15472 ULONG ( STDMETHODCALLTYPE *AddRef )( 15473 IDeckLinkConfiguration_v7_6 * This); 15474 15475 ULONG ( STDMETHODCALLTYPE *Release )( 15476 IDeckLinkConfiguration_v7_6 * This); 15477 15478 HRESULT ( STDMETHODCALLTYPE *GetConfigurationValidator )( 15479 IDeckLinkConfiguration_v7_6 * This, 15480 /* [out] */ IDeckLinkConfiguration_v7_6 **configObject); 15481 15482 HRESULT ( STDMETHODCALLTYPE *WriteConfigurationToPreferences )( 15483 IDeckLinkConfiguration_v7_6 * This); 15484 15485 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFormat )( 15486 IDeckLinkConfiguration_v7_6 * This, 15487 /* [in] */ BMDVideoConnection_v7_6 videoOutputConnection); 15488 15489 HRESULT ( STDMETHODCALLTYPE *IsVideoOutputActive )( 15490 IDeckLinkConfiguration_v7_6 * This, 15491 /* [in] */ BMDVideoConnection_v7_6 videoOutputConnection, 15492 /* [out] */ BOOL *active); 15493 15494 HRESULT ( STDMETHODCALLTYPE *SetAnalogVideoOutputFlags )( 15495 IDeckLinkConfiguration_v7_6 * This, 15496 /* [in] */ BMDAnalogVideoFlags analogVideoFlags); 15497 15498 HRESULT ( STDMETHODCALLTYPE *GetAnalogVideoOutputFlags )( 15499 IDeckLinkConfiguration_v7_6 * This, 15500 /* [out] */ BMDAnalogVideoFlags *analogVideoFlags); 15501 15502 HRESULT ( STDMETHODCALLTYPE *EnableFieldFlickerRemovalWhenPaused )( 15503 IDeckLinkConfiguration_v7_6 * This, 15504 /* [in] */ BOOL enable); 15505 15506 HRESULT ( STDMETHODCALLTYPE *IsEnabledFieldFlickerRemovalWhenPaused )( 15507 IDeckLinkConfiguration_v7_6 * This, 15508 /* [out] */ BOOL *enabled); 15509 15510 HRESULT ( STDMETHODCALLTYPE *Set444And3GBpsVideoOutput )( 15511 IDeckLinkConfiguration_v7_6 * This, 15512 /* [in] */ BOOL enable444VideoOutput, 15513 /* [in] */ BOOL enable3GbsOutput); 15514 15515 HRESULT ( STDMETHODCALLTYPE *Get444And3GBpsVideoOutput )( 15516 IDeckLinkConfiguration_v7_6 * This, 15517 /* [out] */ BOOL *is444VideoOutputEnabled, 15518 /* [out] */ BOOL *threeGbsOutputEnabled); 15519 15520 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputConversionMode )( 15521 IDeckLinkConfiguration_v7_6 * This, 15522 /* [in] */ BMDVideoOutputConversionMode conversionMode); 15523 15524 HRESULT ( STDMETHODCALLTYPE *GetVideoOutputConversionMode )( 15525 IDeckLinkConfiguration_v7_6 * This, 15526 /* [out] */ BMDVideoOutputConversionMode *conversionMode); 15527 15528 HRESULT ( STDMETHODCALLTYPE *Set_HD1080p24_to_HD1080i5994_Conversion )( 15529 IDeckLinkConfiguration_v7_6 * This, 15530 /* [in] */ BOOL enable); 15531 15532 HRESULT ( STDMETHODCALLTYPE *Get_HD1080p24_to_HD1080i5994_Conversion )( 15533 IDeckLinkConfiguration_v7_6 * This, 15534 /* [out] */ BOOL *enabled); 15535 15536 HRESULT ( STDMETHODCALLTYPE *SetVideoInputFormat )( 15537 IDeckLinkConfiguration_v7_6 * This, 15538 /* [in] */ BMDVideoConnection_v7_6 videoInputFormat); 15539 15540 HRESULT ( STDMETHODCALLTYPE *GetVideoInputFormat )( 15541 IDeckLinkConfiguration_v7_6 * This, 15542 /* [out] */ BMDVideoConnection_v7_6 *videoInputFormat); 15543 15544 HRESULT ( STDMETHODCALLTYPE *SetAnalogVideoInputFlags )( 15545 IDeckLinkConfiguration_v7_6 * This, 15546 /* [in] */ BMDAnalogVideoFlags analogVideoFlags); 15547 15548 HRESULT ( STDMETHODCALLTYPE *GetAnalogVideoInputFlags )( 15549 IDeckLinkConfiguration_v7_6 * This, 15550 /* [out] */ BMDAnalogVideoFlags *analogVideoFlags); 15551 15552 HRESULT ( STDMETHODCALLTYPE *SetVideoInputConversionMode )( 15553 IDeckLinkConfiguration_v7_6 * This, 15554 /* [in] */ BMDVideoInputConversionMode conversionMode); 15555 15556 HRESULT ( STDMETHODCALLTYPE *GetVideoInputConversionMode )( 15557 IDeckLinkConfiguration_v7_6 * This, 15558 /* [out] */ BMDVideoInputConversionMode *conversionMode); 15559 15560 HRESULT ( STDMETHODCALLTYPE *SetBlackVideoOutputDuringCapture )( 15561 IDeckLinkConfiguration_v7_6 * This, 15562 /* [in] */ BOOL blackOutInCapture); 15563 15564 HRESULT ( STDMETHODCALLTYPE *GetBlackVideoOutputDuringCapture )( 15565 IDeckLinkConfiguration_v7_6 * This, 15566 /* [out] */ BOOL *blackOutInCapture); 15567 15568 HRESULT ( STDMETHODCALLTYPE *Set32PulldownSequenceInitialTimecodeFrame )( 15569 IDeckLinkConfiguration_v7_6 * This, 15570 /* [in] */ unsigned int aFrameTimecode); 15571 15572 HRESULT ( STDMETHODCALLTYPE *Get32PulldownSequenceInitialTimecodeFrame )( 15573 IDeckLinkConfiguration_v7_6 * This, 15574 /* [out] */ unsigned int *aFrameTimecode); 15575 15576 HRESULT ( STDMETHODCALLTYPE *SetVancSourceLineMapping )( 15577 IDeckLinkConfiguration_v7_6 * This, 15578 /* [in] */ unsigned int activeLine1VANCsource, 15579 /* [in] */ unsigned int activeLine2VANCsource, 15580 /* [in] */ unsigned int activeLine3VANCsource); 15581 15582 HRESULT ( STDMETHODCALLTYPE *GetVancSourceLineMapping )( 15583 IDeckLinkConfiguration_v7_6 * This, 15584 /* [out] */ unsigned int *activeLine1VANCsource, 15585 /* [out] */ unsigned int *activeLine2VANCsource, 15586 /* [out] */ unsigned int *activeLine3VANCsource); 15587 15588 HRESULT ( STDMETHODCALLTYPE *SetAudioInputFormat )( 15589 IDeckLinkConfiguration_v7_6 * This, 15590 /* [in] */ BMDAudioConnection_v10_2 audioInputFormat); 15591 15592 HRESULT ( STDMETHODCALLTYPE *GetAudioInputFormat )( 15593 IDeckLinkConfiguration_v7_6 * This, 15594 /* [out] */ BMDAudioConnection_v10_2 *audioInputFormat); 15595 15596 END_INTERFACE 15597 } IDeckLinkConfiguration_v7_6Vtbl; 15598 15599 interface IDeckLinkConfiguration_v7_6 15600 { 15601 CONST_VTBL struct IDeckLinkConfiguration_v7_6Vtbl *lpVtbl; 15602 }; 15603 15604 15605 15606 #ifdef COBJMACROS 15607 15608 15609 #define IDeckLinkConfiguration_v7_6_QueryInterface(This,riid,ppvObject) \ 15610 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 15611 15612 #define IDeckLinkConfiguration_v7_6_AddRef(This) \ 15613 ( (This)->lpVtbl -> AddRef(This) ) 15614 15615 #define IDeckLinkConfiguration_v7_6_Release(This) \ 15616 ( (This)->lpVtbl -> Release(This) ) 15617 15618 15619 #define IDeckLinkConfiguration_v7_6_GetConfigurationValidator(This,configObject) \ 15620 ( (This)->lpVtbl -> GetConfigurationValidator(This,configObject) ) 15621 15622 #define IDeckLinkConfiguration_v7_6_WriteConfigurationToPreferences(This) \ 15623 ( (This)->lpVtbl -> WriteConfigurationToPreferences(This) ) 15624 15625 #define IDeckLinkConfiguration_v7_6_SetVideoOutputFormat(This,videoOutputConnection) \ 15626 ( (This)->lpVtbl -> SetVideoOutputFormat(This,videoOutputConnection) ) 15627 15628 #define IDeckLinkConfiguration_v7_6_IsVideoOutputActive(This,videoOutputConnection,active) \ 15629 ( (This)->lpVtbl -> IsVideoOutputActive(This,videoOutputConnection,active) ) 15630 15631 #define IDeckLinkConfiguration_v7_6_SetAnalogVideoOutputFlags(This,analogVideoFlags) \ 15632 ( (This)->lpVtbl -> SetAnalogVideoOutputFlags(This,analogVideoFlags) ) 15633 15634 #define IDeckLinkConfiguration_v7_6_GetAnalogVideoOutputFlags(This,analogVideoFlags) \ 15635 ( (This)->lpVtbl -> GetAnalogVideoOutputFlags(This,analogVideoFlags) ) 15636 15637 #define IDeckLinkConfiguration_v7_6_EnableFieldFlickerRemovalWhenPaused(This,enable) \ 15638 ( (This)->lpVtbl -> EnableFieldFlickerRemovalWhenPaused(This,enable) ) 15639 15640 #define IDeckLinkConfiguration_v7_6_IsEnabledFieldFlickerRemovalWhenPaused(This,enabled) \ 15641 ( (This)->lpVtbl -> IsEnabledFieldFlickerRemovalWhenPaused(This,enabled) ) 15642 15643 #define IDeckLinkConfiguration_v7_6_Set444And3GBpsVideoOutput(This,enable444VideoOutput,enable3GbsOutput) \ 15644 ( (This)->lpVtbl -> Set444And3GBpsVideoOutput(This,enable444VideoOutput,enable3GbsOutput) ) 15645 15646 #define IDeckLinkConfiguration_v7_6_Get444And3GBpsVideoOutput(This,is444VideoOutputEnabled,threeGbsOutputEnabled) \ 15647 ( (This)->lpVtbl -> Get444And3GBpsVideoOutput(This,is444VideoOutputEnabled,threeGbsOutputEnabled) ) 15648 15649 #define IDeckLinkConfiguration_v7_6_SetVideoOutputConversionMode(This,conversionMode) \ 15650 ( (This)->lpVtbl -> SetVideoOutputConversionMode(This,conversionMode) ) 15651 15652 #define IDeckLinkConfiguration_v7_6_GetVideoOutputConversionMode(This,conversionMode) \ 15653 ( (This)->lpVtbl -> GetVideoOutputConversionMode(This,conversionMode) ) 15654 15655 #define IDeckLinkConfiguration_v7_6_Set_HD1080p24_to_HD1080i5994_Conversion(This,enable) \ 15656 ( (This)->lpVtbl -> Set_HD1080p24_to_HD1080i5994_Conversion(This,enable) ) 15657 15658 #define IDeckLinkConfiguration_v7_6_Get_HD1080p24_to_HD1080i5994_Conversion(This,enabled) \ 15659 ( (This)->lpVtbl -> Get_HD1080p24_to_HD1080i5994_Conversion(This,enabled) ) 15660 15661 #define IDeckLinkConfiguration_v7_6_SetVideoInputFormat(This,videoInputFormat) \ 15662 ( (This)->lpVtbl -> SetVideoInputFormat(This,videoInputFormat) ) 15663 15664 #define IDeckLinkConfiguration_v7_6_GetVideoInputFormat(This,videoInputFormat) \ 15665 ( (This)->lpVtbl -> GetVideoInputFormat(This,videoInputFormat) ) 15666 15667 #define IDeckLinkConfiguration_v7_6_SetAnalogVideoInputFlags(This,analogVideoFlags) \ 15668 ( (This)->lpVtbl -> SetAnalogVideoInputFlags(This,analogVideoFlags) ) 15669 15670 #define IDeckLinkConfiguration_v7_6_GetAnalogVideoInputFlags(This,analogVideoFlags) \ 15671 ( (This)->lpVtbl -> GetAnalogVideoInputFlags(This,analogVideoFlags) ) 15672 15673 #define IDeckLinkConfiguration_v7_6_SetVideoInputConversionMode(This,conversionMode) \ 15674 ( (This)->lpVtbl -> SetVideoInputConversionMode(This,conversionMode) ) 15675 15676 #define IDeckLinkConfiguration_v7_6_GetVideoInputConversionMode(This,conversionMode) \ 15677 ( (This)->lpVtbl -> GetVideoInputConversionMode(This,conversionMode) ) 15678 15679 #define IDeckLinkConfiguration_v7_6_SetBlackVideoOutputDuringCapture(This,blackOutInCapture) \ 15680 ( (This)->lpVtbl -> SetBlackVideoOutputDuringCapture(This,blackOutInCapture) ) 15681 15682 #define IDeckLinkConfiguration_v7_6_GetBlackVideoOutputDuringCapture(This,blackOutInCapture) \ 15683 ( (This)->lpVtbl -> GetBlackVideoOutputDuringCapture(This,blackOutInCapture) ) 15684 15685 #define IDeckLinkConfiguration_v7_6_Set32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) \ 15686 ( (This)->lpVtbl -> Set32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) ) 15687 15688 #define IDeckLinkConfiguration_v7_6_Get32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) \ 15689 ( (This)->lpVtbl -> Get32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) ) 15690 15691 #define IDeckLinkConfiguration_v7_6_SetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) \ 15692 ( (This)->lpVtbl -> SetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) ) 15693 15694 #define IDeckLinkConfiguration_v7_6_GetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) \ 15695 ( (This)->lpVtbl -> GetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) ) 15696 15697 #define IDeckLinkConfiguration_v7_6_SetAudioInputFormat(This,audioInputFormat) \ 15698 ( (This)->lpVtbl -> SetAudioInputFormat(This,audioInputFormat) ) 15699 15700 #define IDeckLinkConfiguration_v7_6_GetAudioInputFormat(This,audioInputFormat) \ 15701 ( (This)->lpVtbl -> GetAudioInputFormat(This,audioInputFormat) ) 15702 15703 #endif /* COBJMACROS */ 15704 15705 15706 #endif /* C style interface */ 15707 15708 15709 15710 15711 #endif /* __IDeckLinkConfiguration_v7_6_INTERFACE_DEFINED__ */ 15712 15713 15714 #ifndef __IDeckLinkVideoOutputCallback_v7_6_INTERFACE_DEFINED__ 15715 #define __IDeckLinkVideoOutputCallback_v7_6_INTERFACE_DEFINED__ 15716 15717 /* interface IDeckLinkVideoOutputCallback_v7_6 */ 15718 /* [helpstring][uuid][object] */ 15719 15720 15721 EXTERN_C const IID IID_IDeckLinkVideoOutputCallback_v7_6; 15722 15723 #if defined(__cplusplus) && !defined(CINTERFACE) 15724 15725 MIDL_INTERFACE("E763A626-4A3C-49D1-BF13-E7AD3692AE52") 15726 IDeckLinkVideoOutputCallback_v7_6 : public IUnknown 15727 { 15728 public: 15729 virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted( 15730 /* [in] */ IDeckLinkVideoFrame_v7_6 *completedFrame, 15731 /* [in] */ BMDOutputFrameCompletionResult result) = 0; 15732 15733 virtual HRESULT STDMETHODCALLTYPE ScheduledPlaybackHasStopped( void) = 0; 15734 15735 }; 15736 15737 15738 #else /* C style interface */ 15739 15740 typedef struct IDeckLinkVideoOutputCallback_v7_6Vtbl 15741 { 15742 BEGIN_INTERFACE 15743 15744 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 15745 IDeckLinkVideoOutputCallback_v7_6 * This, 15746 /* [in] */ REFIID riid, 15747 /* [annotation][iid_is][out] */ 15748 _COM_Outptr_ void **ppvObject); 15749 15750 ULONG ( STDMETHODCALLTYPE *AddRef )( 15751 IDeckLinkVideoOutputCallback_v7_6 * This); 15752 15753 ULONG ( STDMETHODCALLTYPE *Release )( 15754 IDeckLinkVideoOutputCallback_v7_6 * This); 15755 15756 HRESULT ( STDMETHODCALLTYPE *ScheduledFrameCompleted )( 15757 IDeckLinkVideoOutputCallback_v7_6 * This, 15758 /* [in] */ IDeckLinkVideoFrame_v7_6 *completedFrame, 15759 /* [in] */ BMDOutputFrameCompletionResult result); 15760 15761 HRESULT ( STDMETHODCALLTYPE *ScheduledPlaybackHasStopped )( 15762 IDeckLinkVideoOutputCallback_v7_6 * This); 15763 15764 END_INTERFACE 15765 } IDeckLinkVideoOutputCallback_v7_6Vtbl; 15766 15767 interface IDeckLinkVideoOutputCallback_v7_6 15768 { 15769 CONST_VTBL struct IDeckLinkVideoOutputCallback_v7_6Vtbl *lpVtbl; 15770 }; 15771 15772 15773 15774 #ifdef COBJMACROS 15775 15776 15777 #define IDeckLinkVideoOutputCallback_v7_6_QueryInterface(This,riid,ppvObject) \ 15778 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 15779 15780 #define IDeckLinkVideoOutputCallback_v7_6_AddRef(This) \ 15781 ( (This)->lpVtbl -> AddRef(This) ) 15782 15783 #define IDeckLinkVideoOutputCallback_v7_6_Release(This) \ 15784 ( (This)->lpVtbl -> Release(This) ) 15785 15786 15787 #define IDeckLinkVideoOutputCallback_v7_6_ScheduledFrameCompleted(This,completedFrame,result) \ 15788 ( (This)->lpVtbl -> ScheduledFrameCompleted(This,completedFrame,result) ) 15789 15790 #define IDeckLinkVideoOutputCallback_v7_6_ScheduledPlaybackHasStopped(This) \ 15791 ( (This)->lpVtbl -> ScheduledPlaybackHasStopped(This) ) 15792 15793 #endif /* COBJMACROS */ 15794 15795 15796 #endif /* C style interface */ 15797 15798 15799 15800 15801 #endif /* __IDeckLinkVideoOutputCallback_v7_6_INTERFACE_DEFINED__ */ 15802 15803 15804 #ifndef __IDeckLinkInputCallback_v7_6_INTERFACE_DEFINED__ 15805 #define __IDeckLinkInputCallback_v7_6_INTERFACE_DEFINED__ 15806 15807 /* interface IDeckLinkInputCallback_v7_6 */ 15808 /* [helpstring][uuid][object] */ 15809 15810 15811 EXTERN_C const IID IID_IDeckLinkInputCallback_v7_6; 15812 15813 #if defined(__cplusplus) && !defined(CINTERFACE) 15814 15815 MIDL_INTERFACE("31D28EE7-88B6-4CB1-897A-CDBF79A26414") 15816 IDeckLinkInputCallback_v7_6 : public IUnknown 15817 { 15818 public: 15819 virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged( 15820 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents, 15821 /* [in] */ IDeckLinkDisplayMode_v7_6 *newDisplayMode, 15822 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0; 15823 15824 virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived( 15825 /* [in] */ IDeckLinkVideoInputFrame_v7_6 *videoFrame, 15826 /* [in] */ IDeckLinkAudioInputPacket *audioPacket) = 0; 15827 15828 }; 15829 15830 15831 #else /* C style interface */ 15832 15833 typedef struct IDeckLinkInputCallback_v7_6Vtbl 15834 { 15835 BEGIN_INTERFACE 15836 15837 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 15838 IDeckLinkInputCallback_v7_6 * This, 15839 /* [in] */ REFIID riid, 15840 /* [annotation][iid_is][out] */ 15841 _COM_Outptr_ void **ppvObject); 15842 15843 ULONG ( STDMETHODCALLTYPE *AddRef )( 15844 IDeckLinkInputCallback_v7_6 * This); 15845 15846 ULONG ( STDMETHODCALLTYPE *Release )( 15847 IDeckLinkInputCallback_v7_6 * This); 15848 15849 HRESULT ( STDMETHODCALLTYPE *VideoInputFormatChanged )( 15850 IDeckLinkInputCallback_v7_6 * This, 15851 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents, 15852 /* [in] */ IDeckLinkDisplayMode_v7_6 *newDisplayMode, 15853 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags); 15854 15855 HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )( 15856 IDeckLinkInputCallback_v7_6 * This, 15857 /* [in] */ IDeckLinkVideoInputFrame_v7_6 *videoFrame, 15858 /* [in] */ IDeckLinkAudioInputPacket *audioPacket); 15859 15860 END_INTERFACE 15861 } IDeckLinkInputCallback_v7_6Vtbl; 15862 15863 interface IDeckLinkInputCallback_v7_6 15864 { 15865 CONST_VTBL struct IDeckLinkInputCallback_v7_6Vtbl *lpVtbl; 15866 }; 15867 15868 15869 15870 #ifdef COBJMACROS 15871 15872 15873 #define IDeckLinkInputCallback_v7_6_QueryInterface(This,riid,ppvObject) \ 15874 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 15875 15876 #define IDeckLinkInputCallback_v7_6_AddRef(This) \ 15877 ( (This)->lpVtbl -> AddRef(This) ) 15878 15879 #define IDeckLinkInputCallback_v7_6_Release(This) \ 15880 ( (This)->lpVtbl -> Release(This) ) 15881 15882 15883 #define IDeckLinkInputCallback_v7_6_VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) \ 15884 ( (This)->lpVtbl -> VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) ) 15885 15886 #define IDeckLinkInputCallback_v7_6_VideoInputFrameArrived(This,videoFrame,audioPacket) \ 15887 ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) ) 15888 15889 #endif /* COBJMACROS */ 15890 15891 15892 #endif /* C style interface */ 15893 15894 15895 15896 15897 #endif /* __IDeckLinkInputCallback_v7_6_INTERFACE_DEFINED__ */ 15898 15899 15900 EXTERN_C const CLSID CLSID_CDeckLinkGLScreenPreviewHelper_v7_6; 15901 15902 #ifdef __cplusplus 15903 15904 class DECLSPEC_UUID("D398CEE7-4434-4CA3-9BA6-5AE34556B905") 15905 CDeckLinkGLScreenPreviewHelper_v7_6; 15906 #endif 15907 15908 EXTERN_C const CLSID CLSID_CDeckLinkVideoConversion_v7_6; 15909 15910 #ifdef __cplusplus 15911 15912 class DECLSPEC_UUID("FFA84F77-73BE-4FB7-B03E-B5E44B9F759B") 15913 CDeckLinkVideoConversion_v7_6; 15914 #endif 15915 15916 #ifndef __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__ 15917 #define __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__ 15918 15919 /* interface IDeckLinkInputCallback_v7_3 */ 15920 /* [helpstring][uuid][object] */ 15921 15922 15923 EXTERN_C const IID IID_IDeckLinkInputCallback_v7_3; 15924 15925 #if defined(__cplusplus) && !defined(CINTERFACE) 15926 15927 MIDL_INTERFACE("FD6F311D-4D00-444B-9ED4-1F25B5730AD0") 15928 IDeckLinkInputCallback_v7_3 : public IUnknown 15929 { 15930 public: 15931 virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged( 15932 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents, 15933 /* [in] */ IDeckLinkDisplayMode_v7_6 *newDisplayMode, 15934 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0; 15935 15936 virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived( 15937 /* [in] */ IDeckLinkVideoInputFrame_v7_3 *videoFrame, 15938 /* [in] */ IDeckLinkAudioInputPacket *audioPacket) = 0; 15939 15940 }; 15941 15942 15943 #else /* C style interface */ 15944 15945 typedef struct IDeckLinkInputCallback_v7_3Vtbl 15946 { 15947 BEGIN_INTERFACE 15948 15949 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 15950 IDeckLinkInputCallback_v7_3 * This, 15951 /* [in] */ REFIID riid, 15952 /* [annotation][iid_is][out] */ 15953 _COM_Outptr_ void **ppvObject); 15954 15955 ULONG ( STDMETHODCALLTYPE *AddRef )( 15956 IDeckLinkInputCallback_v7_3 * This); 15957 15958 ULONG ( STDMETHODCALLTYPE *Release )( 15959 IDeckLinkInputCallback_v7_3 * This); 15960 15961 HRESULT ( STDMETHODCALLTYPE *VideoInputFormatChanged )( 15962 IDeckLinkInputCallback_v7_3 * This, 15963 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents, 15964 /* [in] */ IDeckLinkDisplayMode_v7_6 *newDisplayMode, 15965 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags); 15966 15967 HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )( 15968 IDeckLinkInputCallback_v7_3 * This, 15969 /* [in] */ IDeckLinkVideoInputFrame_v7_3 *videoFrame, 15970 /* [in] */ IDeckLinkAudioInputPacket *audioPacket); 15971 15972 END_INTERFACE 15973 } IDeckLinkInputCallback_v7_3Vtbl; 15974 15975 interface IDeckLinkInputCallback_v7_3 15976 { 15977 CONST_VTBL struct IDeckLinkInputCallback_v7_3Vtbl *lpVtbl; 15978 }; 15979 15980 15981 15982 #ifdef COBJMACROS 15983 15984 15985 #define IDeckLinkInputCallback_v7_3_QueryInterface(This,riid,ppvObject) \ 15986 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 15987 15988 #define IDeckLinkInputCallback_v7_3_AddRef(This) \ 15989 ( (This)->lpVtbl -> AddRef(This) ) 15990 15991 #define IDeckLinkInputCallback_v7_3_Release(This) \ 15992 ( (This)->lpVtbl -> Release(This) ) 15993 15994 15995 #define IDeckLinkInputCallback_v7_3_VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) \ 15996 ( (This)->lpVtbl -> VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) ) 15997 15998 #define IDeckLinkInputCallback_v7_3_VideoInputFrameArrived(This,videoFrame,audioPacket) \ 15999 ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) ) 16000 16001 #endif /* COBJMACROS */ 16002 16003 16004 #endif /* C style interface */ 16005 16006 16007 16008 16009 #endif /* __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__ */ 16010 16011 16012 #ifndef __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__ 16013 #define __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__ 16014 16015 /* interface IDeckLinkOutput_v7_3 */ 16016 /* [helpstring][local][uuid][object] */ 16017 16018 16019 EXTERN_C const IID IID_IDeckLinkOutput_v7_3; 16020 16021 #if defined(__cplusplus) && !defined(CINTERFACE) 16022 16023 MIDL_INTERFACE("271C65E3-C323-4344-A30F-D908BCB20AA3") 16024 IDeckLinkOutput_v7_3 : public IUnknown 16025 { 16026 public: 16027 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( 16028 BMDDisplayMode displayMode, 16029 BMDPixelFormat pixelFormat, 16030 /* [out] */ BMDDisplayModeSupport_v10_11 *result) = 0; 16031 16032 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( 16033 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0; 16034 16035 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( 16036 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; 16037 16038 virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput( 16039 BMDDisplayMode displayMode, 16040 BMDVideoOutputFlags flags) = 0; 16041 16042 virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0; 16043 16044 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator( 16045 /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0; 16046 16047 virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame( 16048 int width, 16049 int height, 16050 int rowBytes, 16051 BMDPixelFormat pixelFormat, 16052 BMDFrameFlags flags, 16053 /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame) = 0; 16054 16055 virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData( 16056 BMDPixelFormat pixelFormat, 16057 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer) = 0; 16058 16059 virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync( 16060 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0; 16061 16062 virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame( 16063 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame, 16064 BMDTimeValue displayTime, 16065 BMDTimeValue displayDuration, 16066 BMDTimeScale timeScale) = 0; 16067 16068 virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback( 16069 /* [in] */ IDeckLinkVideoOutputCallback *theCallback) = 0; 16070 16071 virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount( 16072 /* [out] */ unsigned int *bufferedFrameCount) = 0; 16073 16074 virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput( 16075 BMDAudioSampleRate sampleRate, 16076 BMDAudioSampleType sampleType, 16077 unsigned int channelCount, 16078 BMDAudioOutputStreamType streamType) = 0; 16079 16080 virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0; 16081 16082 virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync( 16083 /* [in] */ void *buffer, 16084 unsigned int sampleFrameCount, 16085 /* [out] */ unsigned int *sampleFramesWritten) = 0; 16086 16087 virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0; 16088 16089 virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0; 16090 16091 virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples( 16092 /* [in] */ void *buffer, 16093 unsigned int sampleFrameCount, 16094 BMDTimeValue streamTime, 16095 BMDTimeScale timeScale, 16096 /* [out] */ unsigned int *sampleFramesWritten) = 0; 16097 16098 virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount( 16099 /* [out] */ unsigned int *bufferedSampleFrameCount) = 0; 16100 16101 virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0; 16102 16103 virtual HRESULT STDMETHODCALLTYPE SetAudioCallback( 16104 /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0; 16105 16106 virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback( 16107 BMDTimeValue playbackStartTime, 16108 BMDTimeScale timeScale, 16109 double playbackSpeed) = 0; 16110 16111 virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback( 16112 BMDTimeValue stopPlaybackAtTime, 16113 /* [out] */ BMDTimeValue *actualStopTime, 16114 BMDTimeScale timeScale) = 0; 16115 16116 virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning( 16117 /* [out] */ BOOL *active) = 0; 16118 16119 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( 16120 BMDTimeScale desiredTimeScale, 16121 /* [out] */ BMDTimeValue *elapsedTimeSinceSchedulerBegan) = 0; 16122 16123 }; 16124 16125 16126 #else /* C style interface */ 16127 16128 typedef struct IDeckLinkOutput_v7_3Vtbl 16129 { 16130 BEGIN_INTERFACE 16131 16132 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 16133 IDeckLinkOutput_v7_3 * This, 16134 /* [in] */ REFIID riid, 16135 /* [annotation][iid_is][out] */ 16136 _COM_Outptr_ void **ppvObject); 16137 16138 ULONG ( STDMETHODCALLTYPE *AddRef )( 16139 IDeckLinkOutput_v7_3 * This); 16140 16141 ULONG ( STDMETHODCALLTYPE *Release )( 16142 IDeckLinkOutput_v7_3 * This); 16143 16144 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( 16145 IDeckLinkOutput_v7_3 * This, 16146 BMDDisplayMode displayMode, 16147 BMDPixelFormat pixelFormat, 16148 /* [out] */ BMDDisplayModeSupport_v10_11 *result); 16149 16150 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( 16151 IDeckLinkOutput_v7_3 * This, 16152 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator); 16153 16154 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )( 16155 IDeckLinkOutput_v7_3 * This, 16156 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback); 16157 16158 HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )( 16159 IDeckLinkOutput_v7_3 * This, 16160 BMDDisplayMode displayMode, 16161 BMDVideoOutputFlags flags); 16162 16163 HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )( 16164 IDeckLinkOutput_v7_3 * This); 16165 16166 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )( 16167 IDeckLinkOutput_v7_3 * This, 16168 /* [in] */ IDeckLinkMemoryAllocator *theAllocator); 16169 16170 HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )( 16171 IDeckLinkOutput_v7_3 * This, 16172 int width, 16173 int height, 16174 int rowBytes, 16175 BMDPixelFormat pixelFormat, 16176 BMDFrameFlags flags, 16177 /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame); 16178 16179 HRESULT ( STDMETHODCALLTYPE *CreateAncillaryData )( 16180 IDeckLinkOutput_v7_3 * This, 16181 BMDPixelFormat pixelFormat, 16182 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer); 16183 16184 HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )( 16185 IDeckLinkOutput_v7_3 * This, 16186 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame); 16187 16188 HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )( 16189 IDeckLinkOutput_v7_3 * This, 16190 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame, 16191 BMDTimeValue displayTime, 16192 BMDTimeValue displayDuration, 16193 BMDTimeScale timeScale); 16194 16195 HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )( 16196 IDeckLinkOutput_v7_3 * This, 16197 /* [in] */ IDeckLinkVideoOutputCallback *theCallback); 16198 16199 HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )( 16200 IDeckLinkOutput_v7_3 * This, 16201 /* [out] */ unsigned int *bufferedFrameCount); 16202 16203 HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )( 16204 IDeckLinkOutput_v7_3 * This, 16205 BMDAudioSampleRate sampleRate, 16206 BMDAudioSampleType sampleType, 16207 unsigned int channelCount, 16208 BMDAudioOutputStreamType streamType); 16209 16210 HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )( 16211 IDeckLinkOutput_v7_3 * This); 16212 16213 HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )( 16214 IDeckLinkOutput_v7_3 * This, 16215 /* [in] */ void *buffer, 16216 unsigned int sampleFrameCount, 16217 /* [out] */ unsigned int *sampleFramesWritten); 16218 16219 HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )( 16220 IDeckLinkOutput_v7_3 * This); 16221 16222 HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )( 16223 IDeckLinkOutput_v7_3 * This); 16224 16225 HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )( 16226 IDeckLinkOutput_v7_3 * This, 16227 /* [in] */ void *buffer, 16228 unsigned int sampleFrameCount, 16229 BMDTimeValue streamTime, 16230 BMDTimeScale timeScale, 16231 /* [out] */ unsigned int *sampleFramesWritten); 16232 16233 HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )( 16234 IDeckLinkOutput_v7_3 * This, 16235 /* [out] */ unsigned int *bufferedSampleFrameCount); 16236 16237 HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )( 16238 IDeckLinkOutput_v7_3 * This); 16239 16240 HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )( 16241 IDeckLinkOutput_v7_3 * This, 16242 /* [in] */ IDeckLinkAudioOutputCallback *theCallback); 16243 16244 HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )( 16245 IDeckLinkOutput_v7_3 * This, 16246 BMDTimeValue playbackStartTime, 16247 BMDTimeScale timeScale, 16248 double playbackSpeed); 16249 16250 HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )( 16251 IDeckLinkOutput_v7_3 * This, 16252 BMDTimeValue stopPlaybackAtTime, 16253 /* [out] */ BMDTimeValue *actualStopTime, 16254 BMDTimeScale timeScale); 16255 16256 HRESULT ( STDMETHODCALLTYPE *IsScheduledPlaybackRunning )( 16257 IDeckLinkOutput_v7_3 * This, 16258 /* [out] */ BOOL *active); 16259 16260 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( 16261 IDeckLinkOutput_v7_3 * This, 16262 BMDTimeScale desiredTimeScale, 16263 /* [out] */ BMDTimeValue *elapsedTimeSinceSchedulerBegan); 16264 16265 END_INTERFACE 16266 } IDeckLinkOutput_v7_3Vtbl; 16267 16268 interface IDeckLinkOutput_v7_3 16269 { 16270 CONST_VTBL struct IDeckLinkOutput_v7_3Vtbl *lpVtbl; 16271 }; 16272 16273 16274 16275 #ifdef COBJMACROS 16276 16277 16278 #define IDeckLinkOutput_v7_3_QueryInterface(This,riid,ppvObject) \ 16279 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 16280 16281 #define IDeckLinkOutput_v7_3_AddRef(This) \ 16282 ( (This)->lpVtbl -> AddRef(This) ) 16283 16284 #define IDeckLinkOutput_v7_3_Release(This) \ 16285 ( (This)->lpVtbl -> Release(This) ) 16286 16287 16288 #define IDeckLinkOutput_v7_3_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \ 16289 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) ) 16290 16291 #define IDeckLinkOutput_v7_3_GetDisplayModeIterator(This,iterator) \ 16292 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) 16293 16294 #define IDeckLinkOutput_v7_3_SetScreenPreviewCallback(This,previewCallback) \ 16295 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) ) 16296 16297 #define IDeckLinkOutput_v7_3_EnableVideoOutput(This,displayMode,flags) \ 16298 ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode,flags) ) 16299 16300 #define IDeckLinkOutput_v7_3_DisableVideoOutput(This) \ 16301 ( (This)->lpVtbl -> DisableVideoOutput(This) ) 16302 16303 #define IDeckLinkOutput_v7_3_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \ 16304 ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) ) 16305 16306 #define IDeckLinkOutput_v7_3_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \ 16307 ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) ) 16308 16309 #define IDeckLinkOutput_v7_3_CreateAncillaryData(This,pixelFormat,outBuffer) \ 16310 ( (This)->lpVtbl -> CreateAncillaryData(This,pixelFormat,outBuffer) ) 16311 16312 #define IDeckLinkOutput_v7_3_DisplayVideoFrameSync(This,theFrame) \ 16313 ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) ) 16314 16315 #define IDeckLinkOutput_v7_3_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \ 16316 ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) ) 16317 16318 #define IDeckLinkOutput_v7_3_SetScheduledFrameCompletionCallback(This,theCallback) \ 16319 ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) ) 16320 16321 #define IDeckLinkOutput_v7_3_GetBufferedVideoFrameCount(This,bufferedFrameCount) \ 16322 ( (This)->lpVtbl -> GetBufferedVideoFrameCount(This,bufferedFrameCount) ) 16323 16324 #define IDeckLinkOutput_v7_3_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) \ 16325 ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) ) 16326 16327 #define IDeckLinkOutput_v7_3_DisableAudioOutput(This) \ 16328 ( (This)->lpVtbl -> DisableAudioOutput(This) ) 16329 16330 #define IDeckLinkOutput_v7_3_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \ 16331 ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) ) 16332 16333 #define IDeckLinkOutput_v7_3_BeginAudioPreroll(This) \ 16334 ( (This)->lpVtbl -> BeginAudioPreroll(This) ) 16335 16336 #define IDeckLinkOutput_v7_3_EndAudioPreroll(This) \ 16337 ( (This)->lpVtbl -> EndAudioPreroll(This) ) 16338 16339 #define IDeckLinkOutput_v7_3_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \ 16340 ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) ) 16341 16342 #define IDeckLinkOutput_v7_3_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) \ 16343 ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) ) 16344 16345 #define IDeckLinkOutput_v7_3_FlushBufferedAudioSamples(This) \ 16346 ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) ) 16347 16348 #define IDeckLinkOutput_v7_3_SetAudioCallback(This,theCallback) \ 16349 ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) ) 16350 16351 #define IDeckLinkOutput_v7_3_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \ 16352 ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) ) 16353 16354 #define IDeckLinkOutput_v7_3_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \ 16355 ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) ) 16356 16357 #define IDeckLinkOutput_v7_3_IsScheduledPlaybackRunning(This,active) \ 16358 ( (This)->lpVtbl -> IsScheduledPlaybackRunning(This,active) ) 16359 16360 #define IDeckLinkOutput_v7_3_GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) \ 16361 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) ) 16362 16363 #endif /* COBJMACROS */ 16364 16365 16366 #endif /* C style interface */ 16367 16368 16369 16370 16371 #endif /* __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__ */ 16372 16373 16374 #ifndef __IDeckLinkInput_v7_3_INTERFACE_DEFINED__ 16375 #define __IDeckLinkInput_v7_3_INTERFACE_DEFINED__ 16376 16377 /* interface IDeckLinkInput_v7_3 */ 16378 /* [helpstring][uuid][object] */ 16379 16380 16381 EXTERN_C const IID IID_IDeckLinkInput_v7_3; 16382 16383 #if defined(__cplusplus) && !defined(CINTERFACE) 16384 16385 MIDL_INTERFACE("4973F012-9925-458C-871C-18774CDBBECB") 16386 IDeckLinkInput_v7_3 : public IUnknown 16387 { 16388 public: 16389 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( 16390 BMDDisplayMode displayMode, 16391 BMDPixelFormat pixelFormat, 16392 /* [out] */ BMDDisplayModeSupport_v10_11 *result) = 0; 16393 16394 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( 16395 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0; 16396 16397 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( 16398 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; 16399 16400 virtual HRESULT STDMETHODCALLTYPE EnableVideoInput( 16401 BMDDisplayMode displayMode, 16402 BMDPixelFormat pixelFormat, 16403 BMDVideoInputFlags flags) = 0; 16404 16405 virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0; 16406 16407 virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount( 16408 /* [out] */ unsigned int *availableFrameCount) = 0; 16409 16410 virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( 16411 BMDAudioSampleRate sampleRate, 16412 BMDAudioSampleType sampleType, 16413 unsigned int channelCount) = 0; 16414 16415 virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0; 16416 16417 virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount( 16418 /* [out] */ unsigned int *availableSampleFrameCount) = 0; 16419 16420 virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0; 16421 16422 virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0; 16423 16424 virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0; 16425 16426 virtual HRESULT STDMETHODCALLTYPE FlushStreams( void) = 0; 16427 16428 virtual HRESULT STDMETHODCALLTYPE SetCallback( 16429 /* [in] */ IDeckLinkInputCallback_v7_3 *theCallback) = 0; 16430 16431 }; 16432 16433 16434 #else /* C style interface */ 16435 16436 typedef struct IDeckLinkInput_v7_3Vtbl 16437 { 16438 BEGIN_INTERFACE 16439 16440 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 16441 IDeckLinkInput_v7_3 * This, 16442 /* [in] */ REFIID riid, 16443 /* [annotation][iid_is][out] */ 16444 _COM_Outptr_ void **ppvObject); 16445 16446 ULONG ( STDMETHODCALLTYPE *AddRef )( 16447 IDeckLinkInput_v7_3 * This); 16448 16449 ULONG ( STDMETHODCALLTYPE *Release )( 16450 IDeckLinkInput_v7_3 * This); 16451 16452 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( 16453 IDeckLinkInput_v7_3 * This, 16454 BMDDisplayMode displayMode, 16455 BMDPixelFormat pixelFormat, 16456 /* [out] */ BMDDisplayModeSupport_v10_11 *result); 16457 16458 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( 16459 IDeckLinkInput_v7_3 * This, 16460 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator); 16461 16462 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )( 16463 IDeckLinkInput_v7_3 * This, 16464 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback); 16465 16466 HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )( 16467 IDeckLinkInput_v7_3 * This, 16468 BMDDisplayMode displayMode, 16469 BMDPixelFormat pixelFormat, 16470 BMDVideoInputFlags flags); 16471 16472 HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )( 16473 IDeckLinkInput_v7_3 * This); 16474 16475 HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )( 16476 IDeckLinkInput_v7_3 * This, 16477 /* [out] */ unsigned int *availableFrameCount); 16478 16479 HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )( 16480 IDeckLinkInput_v7_3 * This, 16481 BMDAudioSampleRate sampleRate, 16482 BMDAudioSampleType sampleType, 16483 unsigned int channelCount); 16484 16485 HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )( 16486 IDeckLinkInput_v7_3 * This); 16487 16488 HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )( 16489 IDeckLinkInput_v7_3 * This, 16490 /* [out] */ unsigned int *availableSampleFrameCount); 16491 16492 HRESULT ( STDMETHODCALLTYPE *StartStreams )( 16493 IDeckLinkInput_v7_3 * This); 16494 16495 HRESULT ( STDMETHODCALLTYPE *StopStreams )( 16496 IDeckLinkInput_v7_3 * This); 16497 16498 HRESULT ( STDMETHODCALLTYPE *PauseStreams )( 16499 IDeckLinkInput_v7_3 * This); 16500 16501 HRESULT ( STDMETHODCALLTYPE *FlushStreams )( 16502 IDeckLinkInput_v7_3 * This); 16503 16504 HRESULT ( STDMETHODCALLTYPE *SetCallback )( 16505 IDeckLinkInput_v7_3 * This, 16506 /* [in] */ IDeckLinkInputCallback_v7_3 *theCallback); 16507 16508 END_INTERFACE 16509 } IDeckLinkInput_v7_3Vtbl; 16510 16511 interface IDeckLinkInput_v7_3 16512 { 16513 CONST_VTBL struct IDeckLinkInput_v7_3Vtbl *lpVtbl; 16514 }; 16515 16516 16517 16518 #ifdef COBJMACROS 16519 16520 16521 #define IDeckLinkInput_v7_3_QueryInterface(This,riid,ppvObject) \ 16522 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 16523 16524 #define IDeckLinkInput_v7_3_AddRef(This) \ 16525 ( (This)->lpVtbl -> AddRef(This) ) 16526 16527 #define IDeckLinkInput_v7_3_Release(This) \ 16528 ( (This)->lpVtbl -> Release(This) ) 16529 16530 16531 #define IDeckLinkInput_v7_3_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \ 16532 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) ) 16533 16534 #define IDeckLinkInput_v7_3_GetDisplayModeIterator(This,iterator) \ 16535 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) 16536 16537 #define IDeckLinkInput_v7_3_SetScreenPreviewCallback(This,previewCallback) \ 16538 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) ) 16539 16540 #define IDeckLinkInput_v7_3_EnableVideoInput(This,displayMode,pixelFormat,flags) \ 16541 ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) ) 16542 16543 #define IDeckLinkInput_v7_3_DisableVideoInput(This) \ 16544 ( (This)->lpVtbl -> DisableVideoInput(This) ) 16545 16546 #define IDeckLinkInput_v7_3_GetAvailableVideoFrameCount(This,availableFrameCount) \ 16547 ( (This)->lpVtbl -> GetAvailableVideoFrameCount(This,availableFrameCount) ) 16548 16549 #define IDeckLinkInput_v7_3_EnableAudioInput(This,sampleRate,sampleType,channelCount) \ 16550 ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) ) 16551 16552 #define IDeckLinkInput_v7_3_DisableAudioInput(This) \ 16553 ( (This)->lpVtbl -> DisableAudioInput(This) ) 16554 16555 #define IDeckLinkInput_v7_3_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \ 16556 ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) ) 16557 16558 #define IDeckLinkInput_v7_3_StartStreams(This) \ 16559 ( (This)->lpVtbl -> StartStreams(This) ) 16560 16561 #define IDeckLinkInput_v7_3_StopStreams(This) \ 16562 ( (This)->lpVtbl -> StopStreams(This) ) 16563 16564 #define IDeckLinkInput_v7_3_PauseStreams(This) \ 16565 ( (This)->lpVtbl -> PauseStreams(This) ) 16566 16567 #define IDeckLinkInput_v7_3_FlushStreams(This) \ 16568 ( (This)->lpVtbl -> FlushStreams(This) ) 16569 16570 #define IDeckLinkInput_v7_3_SetCallback(This,theCallback) \ 16571 ( (This)->lpVtbl -> SetCallback(This,theCallback) ) 16572 16573 #endif /* COBJMACROS */ 16574 16575 16576 #endif /* C style interface */ 16577 16578 16579 16580 16581 #endif /* __IDeckLinkInput_v7_3_INTERFACE_DEFINED__ */ 16582 16583 16584 #ifndef __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__ 16585 #define __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__ 16586 16587 /* interface IDeckLinkVideoInputFrame_v7_3 */ 16588 /* [helpstring][local][uuid][object] */ 16589 16590 16591 EXTERN_C const IID IID_IDeckLinkVideoInputFrame_v7_3; 16592 16593 #if defined(__cplusplus) && !defined(CINTERFACE) 16594 16595 MIDL_INTERFACE("CF317790-2894-11DE-8C30-0800200C9A66") 16596 IDeckLinkVideoInputFrame_v7_3 : public IDeckLinkVideoFrame_v7_6 16597 { 16598 public: 16599 virtual HRESULT STDMETHODCALLTYPE GetStreamTime( 16600 /* [out] */ BMDTimeValue *frameTime, 16601 /* [out] */ BMDTimeValue *frameDuration, 16602 BMDTimeScale timeScale) = 0; 16603 16604 }; 16605 16606 16607 #else /* C style interface */ 16608 16609 typedef struct IDeckLinkVideoInputFrame_v7_3Vtbl 16610 { 16611 BEGIN_INTERFACE 16612 16613 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 16614 IDeckLinkVideoInputFrame_v7_3 * This, 16615 /* [in] */ REFIID riid, 16616 /* [annotation][iid_is][out] */ 16617 _COM_Outptr_ void **ppvObject); 16618 16619 ULONG ( STDMETHODCALLTYPE *AddRef )( 16620 IDeckLinkVideoInputFrame_v7_3 * This); 16621 16622 ULONG ( STDMETHODCALLTYPE *Release )( 16623 IDeckLinkVideoInputFrame_v7_3 * This); 16624 16625 long ( STDMETHODCALLTYPE *GetWidth )( 16626 IDeckLinkVideoInputFrame_v7_3 * This); 16627 16628 long ( STDMETHODCALLTYPE *GetHeight )( 16629 IDeckLinkVideoInputFrame_v7_3 * This); 16630 16631 long ( STDMETHODCALLTYPE *GetRowBytes )( 16632 IDeckLinkVideoInputFrame_v7_3 * This); 16633 16634 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( 16635 IDeckLinkVideoInputFrame_v7_3 * This); 16636 16637 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( 16638 IDeckLinkVideoInputFrame_v7_3 * This); 16639 16640 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 16641 IDeckLinkVideoInputFrame_v7_3 * This, 16642 /* [out] */ void **buffer); 16643 16644 HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 16645 IDeckLinkVideoInputFrame_v7_3 * This, 16646 BMDTimecodeFormat format, 16647 /* [out] */ IDeckLinkTimecode_v7_6 **timecode); 16648 16649 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )( 16650 IDeckLinkVideoInputFrame_v7_3 * This, 16651 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary); 16652 16653 HRESULT ( STDMETHODCALLTYPE *GetStreamTime )( 16654 IDeckLinkVideoInputFrame_v7_3 * This, 16655 /* [out] */ BMDTimeValue *frameTime, 16656 /* [out] */ BMDTimeValue *frameDuration, 16657 BMDTimeScale timeScale); 16658 16659 END_INTERFACE 16660 } IDeckLinkVideoInputFrame_v7_3Vtbl; 16661 16662 interface IDeckLinkVideoInputFrame_v7_3 16663 { 16664 CONST_VTBL struct IDeckLinkVideoInputFrame_v7_3Vtbl *lpVtbl; 16665 }; 16666 16667 16668 16669 #ifdef COBJMACROS 16670 16671 16672 #define IDeckLinkVideoInputFrame_v7_3_QueryInterface(This,riid,ppvObject) \ 16673 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 16674 16675 #define IDeckLinkVideoInputFrame_v7_3_AddRef(This) \ 16676 ( (This)->lpVtbl -> AddRef(This) ) 16677 16678 #define IDeckLinkVideoInputFrame_v7_3_Release(This) \ 16679 ( (This)->lpVtbl -> Release(This) ) 16680 16681 16682 #define IDeckLinkVideoInputFrame_v7_3_GetWidth(This) \ 16683 ( (This)->lpVtbl -> GetWidth(This) ) 16684 16685 #define IDeckLinkVideoInputFrame_v7_3_GetHeight(This) \ 16686 ( (This)->lpVtbl -> GetHeight(This) ) 16687 16688 #define IDeckLinkVideoInputFrame_v7_3_GetRowBytes(This) \ 16689 ( (This)->lpVtbl -> GetRowBytes(This) ) 16690 16691 #define IDeckLinkVideoInputFrame_v7_3_GetPixelFormat(This) \ 16692 ( (This)->lpVtbl -> GetPixelFormat(This) ) 16693 16694 #define IDeckLinkVideoInputFrame_v7_3_GetFlags(This) \ 16695 ( (This)->lpVtbl -> GetFlags(This) ) 16696 16697 #define IDeckLinkVideoInputFrame_v7_3_GetBytes(This,buffer) \ 16698 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 16699 16700 #define IDeckLinkVideoInputFrame_v7_3_GetTimecode(This,format,timecode) \ 16701 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) 16702 16703 #define IDeckLinkVideoInputFrame_v7_3_GetAncillaryData(This,ancillary) \ 16704 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) ) 16705 16706 16707 #define IDeckLinkVideoInputFrame_v7_3_GetStreamTime(This,frameTime,frameDuration,timeScale) \ 16708 ( (This)->lpVtbl -> GetStreamTime(This,frameTime,frameDuration,timeScale) ) 16709 16710 #endif /* COBJMACROS */ 16711 16712 16713 #endif /* C style interface */ 16714 16715 16716 16717 16718 #endif /* __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__ */ 16719 16720 16721 #ifndef __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__ 16722 #define __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__ 16723 16724 /* interface IDeckLinkDisplayModeIterator_v7_1 */ 16725 /* [helpstring][uuid][object] */ 16726 16727 16728 EXTERN_C const IID IID_IDeckLinkDisplayModeIterator_v7_1; 16729 16730 #if defined(__cplusplus) && !defined(CINTERFACE) 16731 16732 MIDL_INTERFACE("B28131B6-59AC-4857-B5AC-CD75D5883E2F") 16733 IDeckLinkDisplayModeIterator_v7_1 : public IUnknown 16734 { 16735 public: 16736 virtual HRESULT STDMETHODCALLTYPE Next( 16737 /* [out] */ IDeckLinkDisplayMode_v7_1 **deckLinkDisplayMode) = 0; 16738 16739 }; 16740 16741 16742 #else /* C style interface */ 16743 16744 typedef struct IDeckLinkDisplayModeIterator_v7_1Vtbl 16745 { 16746 BEGIN_INTERFACE 16747 16748 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 16749 IDeckLinkDisplayModeIterator_v7_1 * This, 16750 /* [in] */ REFIID riid, 16751 /* [annotation][iid_is][out] */ 16752 _COM_Outptr_ void **ppvObject); 16753 16754 ULONG ( STDMETHODCALLTYPE *AddRef )( 16755 IDeckLinkDisplayModeIterator_v7_1 * This); 16756 16757 ULONG ( STDMETHODCALLTYPE *Release )( 16758 IDeckLinkDisplayModeIterator_v7_1 * This); 16759 16760 HRESULT ( STDMETHODCALLTYPE *Next )( 16761 IDeckLinkDisplayModeIterator_v7_1 * This, 16762 /* [out] */ IDeckLinkDisplayMode_v7_1 **deckLinkDisplayMode); 16763 16764 END_INTERFACE 16765 } IDeckLinkDisplayModeIterator_v7_1Vtbl; 16766 16767 interface IDeckLinkDisplayModeIterator_v7_1 16768 { 16769 CONST_VTBL struct IDeckLinkDisplayModeIterator_v7_1Vtbl *lpVtbl; 16770 }; 16771 16772 16773 16774 #ifdef COBJMACROS 16775 16776 16777 #define IDeckLinkDisplayModeIterator_v7_1_QueryInterface(This,riid,ppvObject) \ 16778 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 16779 16780 #define IDeckLinkDisplayModeIterator_v7_1_AddRef(This) \ 16781 ( (This)->lpVtbl -> AddRef(This) ) 16782 16783 #define IDeckLinkDisplayModeIterator_v7_1_Release(This) \ 16784 ( (This)->lpVtbl -> Release(This) ) 16785 16786 16787 #define IDeckLinkDisplayModeIterator_v7_1_Next(This,deckLinkDisplayMode) \ 16788 ( (This)->lpVtbl -> Next(This,deckLinkDisplayMode) ) 16789 16790 #endif /* COBJMACROS */ 16791 16792 16793 #endif /* C style interface */ 16794 16795 16796 16797 16798 #endif /* __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__ */ 16799 16800 16801 #ifndef __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__ 16802 #define __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__ 16803 16804 /* interface IDeckLinkDisplayMode_v7_1 */ 16805 /* [helpstring][uuid][object] */ 16806 16807 16808 EXTERN_C const IID IID_IDeckLinkDisplayMode_v7_1; 16809 16810 #if defined(__cplusplus) && !defined(CINTERFACE) 16811 16812 MIDL_INTERFACE("AF0CD6D5-8376-435E-8433-54F9DD530AC3") 16813 IDeckLinkDisplayMode_v7_1 : public IUnknown 16814 { 16815 public: 16816 virtual HRESULT STDMETHODCALLTYPE GetName( 16817 /* [out] */ BSTR *name) = 0; 16818 16819 virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode( void) = 0; 16820 16821 virtual long STDMETHODCALLTYPE GetWidth( void) = 0; 16822 16823 virtual long STDMETHODCALLTYPE GetHeight( void) = 0; 16824 16825 virtual HRESULT STDMETHODCALLTYPE GetFrameRate( 16826 /* [out] */ BMDTimeValue *frameDuration, 16827 /* [out] */ BMDTimeScale *timeScale) = 0; 16828 16829 }; 16830 16831 16832 #else /* C style interface */ 16833 16834 typedef struct IDeckLinkDisplayMode_v7_1Vtbl 16835 { 16836 BEGIN_INTERFACE 16837 16838 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 16839 IDeckLinkDisplayMode_v7_1 * This, 16840 /* [in] */ REFIID riid, 16841 /* [annotation][iid_is][out] */ 16842 _COM_Outptr_ void **ppvObject); 16843 16844 ULONG ( STDMETHODCALLTYPE *AddRef )( 16845 IDeckLinkDisplayMode_v7_1 * This); 16846 16847 ULONG ( STDMETHODCALLTYPE *Release )( 16848 IDeckLinkDisplayMode_v7_1 * This); 16849 16850 HRESULT ( STDMETHODCALLTYPE *GetName )( 16851 IDeckLinkDisplayMode_v7_1 * This, 16852 /* [out] */ BSTR *name); 16853 16854 BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )( 16855 IDeckLinkDisplayMode_v7_1 * This); 16856 16857 long ( STDMETHODCALLTYPE *GetWidth )( 16858 IDeckLinkDisplayMode_v7_1 * This); 16859 16860 long ( STDMETHODCALLTYPE *GetHeight )( 16861 IDeckLinkDisplayMode_v7_1 * This); 16862 16863 HRESULT ( STDMETHODCALLTYPE *GetFrameRate )( 16864 IDeckLinkDisplayMode_v7_1 * This, 16865 /* [out] */ BMDTimeValue *frameDuration, 16866 /* [out] */ BMDTimeScale *timeScale); 16867 16868 END_INTERFACE 16869 } IDeckLinkDisplayMode_v7_1Vtbl; 16870 16871 interface IDeckLinkDisplayMode_v7_1 16872 { 16873 CONST_VTBL struct IDeckLinkDisplayMode_v7_1Vtbl *lpVtbl; 16874 }; 16875 16876 16877 16878 #ifdef COBJMACROS 16879 16880 16881 #define IDeckLinkDisplayMode_v7_1_QueryInterface(This,riid,ppvObject) \ 16882 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 16883 16884 #define IDeckLinkDisplayMode_v7_1_AddRef(This) \ 16885 ( (This)->lpVtbl -> AddRef(This) ) 16886 16887 #define IDeckLinkDisplayMode_v7_1_Release(This) \ 16888 ( (This)->lpVtbl -> Release(This) ) 16889 16890 16891 #define IDeckLinkDisplayMode_v7_1_GetName(This,name) \ 16892 ( (This)->lpVtbl -> GetName(This,name) ) 16893 16894 #define IDeckLinkDisplayMode_v7_1_GetDisplayMode(This) \ 16895 ( (This)->lpVtbl -> GetDisplayMode(This) ) 16896 16897 #define IDeckLinkDisplayMode_v7_1_GetWidth(This) \ 16898 ( (This)->lpVtbl -> GetWidth(This) ) 16899 16900 #define IDeckLinkDisplayMode_v7_1_GetHeight(This) \ 16901 ( (This)->lpVtbl -> GetHeight(This) ) 16902 16903 #define IDeckLinkDisplayMode_v7_1_GetFrameRate(This,frameDuration,timeScale) \ 16904 ( (This)->lpVtbl -> GetFrameRate(This,frameDuration,timeScale) ) 16905 16906 #endif /* COBJMACROS */ 16907 16908 16909 #endif /* C style interface */ 16910 16911 16912 16913 16914 #endif /* __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__ */ 16915 16916 16917 #ifndef __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__ 16918 #define __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__ 16919 16920 /* interface IDeckLinkVideoFrame_v7_1 */ 16921 /* [helpstring][local][uuid][object] */ 16922 16923 16924 EXTERN_C const IID IID_IDeckLinkVideoFrame_v7_1; 16925 16926 #if defined(__cplusplus) && !defined(CINTERFACE) 16927 16928 MIDL_INTERFACE("333F3A10-8C2D-43CF-B79D-46560FEEA1CE") 16929 IDeckLinkVideoFrame_v7_1 : public IUnknown 16930 { 16931 public: 16932 virtual long STDMETHODCALLTYPE GetWidth( void) = 0; 16933 16934 virtual long STDMETHODCALLTYPE GetHeight( void) = 0; 16935 16936 virtual long STDMETHODCALLTYPE GetRowBytes( void) = 0; 16937 16938 virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0; 16939 16940 virtual BMDFrameFlags STDMETHODCALLTYPE GetFlags( void) = 0; 16941 16942 virtual HRESULT STDMETHODCALLTYPE GetBytes( 16943 void **buffer) = 0; 16944 16945 }; 16946 16947 16948 #else /* C style interface */ 16949 16950 typedef struct IDeckLinkVideoFrame_v7_1Vtbl 16951 { 16952 BEGIN_INTERFACE 16953 16954 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 16955 IDeckLinkVideoFrame_v7_1 * This, 16956 /* [in] */ REFIID riid, 16957 /* [annotation][iid_is][out] */ 16958 _COM_Outptr_ void **ppvObject); 16959 16960 ULONG ( STDMETHODCALLTYPE *AddRef )( 16961 IDeckLinkVideoFrame_v7_1 * This); 16962 16963 ULONG ( STDMETHODCALLTYPE *Release )( 16964 IDeckLinkVideoFrame_v7_1 * This); 16965 16966 long ( STDMETHODCALLTYPE *GetWidth )( 16967 IDeckLinkVideoFrame_v7_1 * This); 16968 16969 long ( STDMETHODCALLTYPE *GetHeight )( 16970 IDeckLinkVideoFrame_v7_1 * This); 16971 16972 long ( STDMETHODCALLTYPE *GetRowBytes )( 16973 IDeckLinkVideoFrame_v7_1 * This); 16974 16975 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( 16976 IDeckLinkVideoFrame_v7_1 * This); 16977 16978 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( 16979 IDeckLinkVideoFrame_v7_1 * This); 16980 16981 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 16982 IDeckLinkVideoFrame_v7_1 * This, 16983 void **buffer); 16984 16985 END_INTERFACE 16986 } IDeckLinkVideoFrame_v7_1Vtbl; 16987 16988 interface IDeckLinkVideoFrame_v7_1 16989 { 16990 CONST_VTBL struct IDeckLinkVideoFrame_v7_1Vtbl *lpVtbl; 16991 }; 16992 16993 16994 16995 #ifdef COBJMACROS 16996 16997 16998 #define IDeckLinkVideoFrame_v7_1_QueryInterface(This,riid,ppvObject) \ 16999 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 17000 17001 #define IDeckLinkVideoFrame_v7_1_AddRef(This) \ 17002 ( (This)->lpVtbl -> AddRef(This) ) 17003 17004 #define IDeckLinkVideoFrame_v7_1_Release(This) \ 17005 ( (This)->lpVtbl -> Release(This) ) 17006 17007 17008 #define IDeckLinkVideoFrame_v7_1_GetWidth(This) \ 17009 ( (This)->lpVtbl -> GetWidth(This) ) 17010 17011 #define IDeckLinkVideoFrame_v7_1_GetHeight(This) \ 17012 ( (This)->lpVtbl -> GetHeight(This) ) 17013 17014 #define IDeckLinkVideoFrame_v7_1_GetRowBytes(This) \ 17015 ( (This)->lpVtbl -> GetRowBytes(This) ) 17016 17017 #define IDeckLinkVideoFrame_v7_1_GetPixelFormat(This) \ 17018 ( (This)->lpVtbl -> GetPixelFormat(This) ) 17019 17020 #define IDeckLinkVideoFrame_v7_1_GetFlags(This) \ 17021 ( (This)->lpVtbl -> GetFlags(This) ) 17022 17023 #define IDeckLinkVideoFrame_v7_1_GetBytes(This,buffer) \ 17024 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 17025 17026 #endif /* COBJMACROS */ 17027 17028 17029 #endif /* C style interface */ 17030 17031 17032 17033 17034 #endif /* __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__ */ 17035 17036 17037 #ifndef __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__ 17038 #define __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__ 17039 17040 /* interface IDeckLinkVideoInputFrame_v7_1 */ 17041 /* [helpstring][local][uuid][object] */ 17042 17043 17044 EXTERN_C const IID IID_IDeckLinkVideoInputFrame_v7_1; 17045 17046 #if defined(__cplusplus) && !defined(CINTERFACE) 17047 17048 MIDL_INTERFACE("C8B41D95-8848-40EE-9B37-6E3417FB114B") 17049 IDeckLinkVideoInputFrame_v7_1 : public IDeckLinkVideoFrame_v7_1 17050 { 17051 public: 17052 virtual HRESULT STDMETHODCALLTYPE GetFrameTime( 17053 BMDTimeValue *frameTime, 17054 BMDTimeValue *frameDuration, 17055 BMDTimeScale timeScale) = 0; 17056 17057 }; 17058 17059 17060 #else /* C style interface */ 17061 17062 typedef struct IDeckLinkVideoInputFrame_v7_1Vtbl 17063 { 17064 BEGIN_INTERFACE 17065 17066 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 17067 IDeckLinkVideoInputFrame_v7_1 * This, 17068 /* [in] */ REFIID riid, 17069 /* [annotation][iid_is][out] */ 17070 _COM_Outptr_ void **ppvObject); 17071 17072 ULONG ( STDMETHODCALLTYPE *AddRef )( 17073 IDeckLinkVideoInputFrame_v7_1 * This); 17074 17075 ULONG ( STDMETHODCALLTYPE *Release )( 17076 IDeckLinkVideoInputFrame_v7_1 * This); 17077 17078 long ( STDMETHODCALLTYPE *GetWidth )( 17079 IDeckLinkVideoInputFrame_v7_1 * This); 17080 17081 long ( STDMETHODCALLTYPE *GetHeight )( 17082 IDeckLinkVideoInputFrame_v7_1 * This); 17083 17084 long ( STDMETHODCALLTYPE *GetRowBytes )( 17085 IDeckLinkVideoInputFrame_v7_1 * This); 17086 17087 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( 17088 IDeckLinkVideoInputFrame_v7_1 * This); 17089 17090 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( 17091 IDeckLinkVideoInputFrame_v7_1 * This); 17092 17093 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 17094 IDeckLinkVideoInputFrame_v7_1 * This, 17095 void **buffer); 17096 17097 HRESULT ( STDMETHODCALLTYPE *GetFrameTime )( 17098 IDeckLinkVideoInputFrame_v7_1 * This, 17099 BMDTimeValue *frameTime, 17100 BMDTimeValue *frameDuration, 17101 BMDTimeScale timeScale); 17102 17103 END_INTERFACE 17104 } IDeckLinkVideoInputFrame_v7_1Vtbl; 17105 17106 interface IDeckLinkVideoInputFrame_v7_1 17107 { 17108 CONST_VTBL struct IDeckLinkVideoInputFrame_v7_1Vtbl *lpVtbl; 17109 }; 17110 17111 17112 17113 #ifdef COBJMACROS 17114 17115 17116 #define IDeckLinkVideoInputFrame_v7_1_QueryInterface(This,riid,ppvObject) \ 17117 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 17118 17119 #define IDeckLinkVideoInputFrame_v7_1_AddRef(This) \ 17120 ( (This)->lpVtbl -> AddRef(This) ) 17121 17122 #define IDeckLinkVideoInputFrame_v7_1_Release(This) \ 17123 ( (This)->lpVtbl -> Release(This) ) 17124 17125 17126 #define IDeckLinkVideoInputFrame_v7_1_GetWidth(This) \ 17127 ( (This)->lpVtbl -> GetWidth(This) ) 17128 17129 #define IDeckLinkVideoInputFrame_v7_1_GetHeight(This) \ 17130 ( (This)->lpVtbl -> GetHeight(This) ) 17131 17132 #define IDeckLinkVideoInputFrame_v7_1_GetRowBytes(This) \ 17133 ( (This)->lpVtbl -> GetRowBytes(This) ) 17134 17135 #define IDeckLinkVideoInputFrame_v7_1_GetPixelFormat(This) \ 17136 ( (This)->lpVtbl -> GetPixelFormat(This) ) 17137 17138 #define IDeckLinkVideoInputFrame_v7_1_GetFlags(This) \ 17139 ( (This)->lpVtbl -> GetFlags(This) ) 17140 17141 #define IDeckLinkVideoInputFrame_v7_1_GetBytes(This,buffer) \ 17142 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 17143 17144 17145 #define IDeckLinkVideoInputFrame_v7_1_GetFrameTime(This,frameTime,frameDuration,timeScale) \ 17146 ( (This)->lpVtbl -> GetFrameTime(This,frameTime,frameDuration,timeScale) ) 17147 17148 #endif /* COBJMACROS */ 17149 17150 17151 #endif /* C style interface */ 17152 17153 17154 17155 17156 #endif /* __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__ */ 17157 17158 17159 #ifndef __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__ 17160 #define __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__ 17161 17162 /* interface IDeckLinkAudioInputPacket_v7_1 */ 17163 /* [helpstring][local][uuid][object] */ 17164 17165 17166 EXTERN_C const IID IID_IDeckLinkAudioInputPacket_v7_1; 17167 17168 #if defined(__cplusplus) && !defined(CINTERFACE) 17169 17170 MIDL_INTERFACE("C86DE4F6-A29F-42E3-AB3A-1363E29F0788") 17171 IDeckLinkAudioInputPacket_v7_1 : public IUnknown 17172 { 17173 public: 17174 virtual long STDMETHODCALLTYPE GetSampleCount( void) = 0; 17175 17176 virtual HRESULT STDMETHODCALLTYPE GetBytes( 17177 void **buffer) = 0; 17178 17179 virtual HRESULT STDMETHODCALLTYPE GetAudioPacketTime( 17180 BMDTimeValue *packetTime, 17181 BMDTimeScale timeScale) = 0; 17182 17183 }; 17184 17185 17186 #else /* C style interface */ 17187 17188 typedef struct IDeckLinkAudioInputPacket_v7_1Vtbl 17189 { 17190 BEGIN_INTERFACE 17191 17192 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 17193 IDeckLinkAudioInputPacket_v7_1 * This, 17194 /* [in] */ REFIID riid, 17195 /* [annotation][iid_is][out] */ 17196 _COM_Outptr_ void **ppvObject); 17197 17198 ULONG ( STDMETHODCALLTYPE *AddRef )( 17199 IDeckLinkAudioInputPacket_v7_1 * This); 17200 17201 ULONG ( STDMETHODCALLTYPE *Release )( 17202 IDeckLinkAudioInputPacket_v7_1 * This); 17203 17204 long ( STDMETHODCALLTYPE *GetSampleCount )( 17205 IDeckLinkAudioInputPacket_v7_1 * This); 17206 17207 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 17208 IDeckLinkAudioInputPacket_v7_1 * This, 17209 void **buffer); 17210 17211 HRESULT ( STDMETHODCALLTYPE *GetAudioPacketTime )( 17212 IDeckLinkAudioInputPacket_v7_1 * This, 17213 BMDTimeValue *packetTime, 17214 BMDTimeScale timeScale); 17215 17216 END_INTERFACE 17217 } IDeckLinkAudioInputPacket_v7_1Vtbl; 17218 17219 interface IDeckLinkAudioInputPacket_v7_1 17220 { 17221 CONST_VTBL struct IDeckLinkAudioInputPacket_v7_1Vtbl *lpVtbl; 17222 }; 17223 17224 17225 17226 #ifdef COBJMACROS 17227 17228 17229 #define IDeckLinkAudioInputPacket_v7_1_QueryInterface(This,riid,ppvObject) \ 17230 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 17231 17232 #define IDeckLinkAudioInputPacket_v7_1_AddRef(This) \ 17233 ( (This)->lpVtbl -> AddRef(This) ) 17234 17235 #define IDeckLinkAudioInputPacket_v7_1_Release(This) \ 17236 ( (This)->lpVtbl -> Release(This) ) 17237 17238 17239 #define IDeckLinkAudioInputPacket_v7_1_GetSampleCount(This) \ 17240 ( (This)->lpVtbl -> GetSampleCount(This) ) 17241 17242 #define IDeckLinkAudioInputPacket_v7_1_GetBytes(This,buffer) \ 17243 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 17244 17245 #define IDeckLinkAudioInputPacket_v7_1_GetAudioPacketTime(This,packetTime,timeScale) \ 17246 ( (This)->lpVtbl -> GetAudioPacketTime(This,packetTime,timeScale) ) 17247 17248 #endif /* COBJMACROS */ 17249 17250 17251 #endif /* C style interface */ 17252 17253 17254 17255 17256 #endif /* __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__ */ 17257 17258 17259 #ifndef __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__ 17260 #define __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__ 17261 17262 /* interface IDeckLinkVideoOutputCallback_v7_1 */ 17263 /* [helpstring][uuid][object] */ 17264 17265 17266 EXTERN_C const IID IID_IDeckLinkVideoOutputCallback_v7_1; 17267 17268 #if defined(__cplusplus) && !defined(CINTERFACE) 17269 17270 MIDL_INTERFACE("EBD01AFA-E4B0-49C6-A01D-EDB9D1B55FD9") 17271 IDeckLinkVideoOutputCallback_v7_1 : public IUnknown 17272 { 17273 public: 17274 virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted( 17275 /* [in] */ IDeckLinkVideoFrame_v7_1 *completedFrame, 17276 /* [in] */ BMDOutputFrameCompletionResult result) = 0; 17277 17278 }; 17279 17280 17281 #else /* C style interface */ 17282 17283 typedef struct IDeckLinkVideoOutputCallback_v7_1Vtbl 17284 { 17285 BEGIN_INTERFACE 17286 17287 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 17288 IDeckLinkVideoOutputCallback_v7_1 * This, 17289 /* [in] */ REFIID riid, 17290 /* [annotation][iid_is][out] */ 17291 _COM_Outptr_ void **ppvObject); 17292 17293 ULONG ( STDMETHODCALLTYPE *AddRef )( 17294 IDeckLinkVideoOutputCallback_v7_1 * This); 17295 17296 ULONG ( STDMETHODCALLTYPE *Release )( 17297 IDeckLinkVideoOutputCallback_v7_1 * This); 17298 17299 HRESULT ( STDMETHODCALLTYPE *ScheduledFrameCompleted )( 17300 IDeckLinkVideoOutputCallback_v7_1 * This, 17301 /* [in] */ IDeckLinkVideoFrame_v7_1 *completedFrame, 17302 /* [in] */ BMDOutputFrameCompletionResult result); 17303 17304 END_INTERFACE 17305 } IDeckLinkVideoOutputCallback_v7_1Vtbl; 17306 17307 interface IDeckLinkVideoOutputCallback_v7_1 17308 { 17309 CONST_VTBL struct IDeckLinkVideoOutputCallback_v7_1Vtbl *lpVtbl; 17310 }; 17311 17312 17313 17314 #ifdef COBJMACROS 17315 17316 17317 #define IDeckLinkVideoOutputCallback_v7_1_QueryInterface(This,riid,ppvObject) \ 17318 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 17319 17320 #define IDeckLinkVideoOutputCallback_v7_1_AddRef(This) \ 17321 ( (This)->lpVtbl -> AddRef(This) ) 17322 17323 #define IDeckLinkVideoOutputCallback_v7_1_Release(This) \ 17324 ( (This)->lpVtbl -> Release(This) ) 17325 17326 17327 #define IDeckLinkVideoOutputCallback_v7_1_ScheduledFrameCompleted(This,completedFrame,result) \ 17328 ( (This)->lpVtbl -> ScheduledFrameCompleted(This,completedFrame,result) ) 17329 17330 #endif /* COBJMACROS */ 17331 17332 17333 #endif /* C style interface */ 17334 17335 17336 17337 17338 #endif /* __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__ */ 17339 17340 17341 #ifndef __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__ 17342 #define __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__ 17343 17344 /* interface IDeckLinkInputCallback_v7_1 */ 17345 /* [helpstring][uuid][object] */ 17346 17347 17348 EXTERN_C const IID IID_IDeckLinkInputCallback_v7_1; 17349 17350 #if defined(__cplusplus) && !defined(CINTERFACE) 17351 17352 MIDL_INTERFACE("7F94F328-5ED4-4E9F-9729-76A86BDC99CC") 17353 IDeckLinkInputCallback_v7_1 : public IUnknown 17354 { 17355 public: 17356 virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived( 17357 /* [in] */ IDeckLinkVideoInputFrame_v7_1 *videoFrame, 17358 /* [in] */ IDeckLinkAudioInputPacket_v7_1 *audioPacket) = 0; 17359 17360 }; 17361 17362 17363 #else /* C style interface */ 17364 17365 typedef struct IDeckLinkInputCallback_v7_1Vtbl 17366 { 17367 BEGIN_INTERFACE 17368 17369 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 17370 IDeckLinkInputCallback_v7_1 * This, 17371 /* [in] */ REFIID riid, 17372 /* [annotation][iid_is][out] */ 17373 _COM_Outptr_ void **ppvObject); 17374 17375 ULONG ( STDMETHODCALLTYPE *AddRef )( 17376 IDeckLinkInputCallback_v7_1 * This); 17377 17378 ULONG ( STDMETHODCALLTYPE *Release )( 17379 IDeckLinkInputCallback_v7_1 * This); 17380 17381 HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )( 17382 IDeckLinkInputCallback_v7_1 * This, 17383 /* [in] */ IDeckLinkVideoInputFrame_v7_1 *videoFrame, 17384 /* [in] */ IDeckLinkAudioInputPacket_v7_1 *audioPacket); 17385 17386 END_INTERFACE 17387 } IDeckLinkInputCallback_v7_1Vtbl; 17388 17389 interface IDeckLinkInputCallback_v7_1 17390 { 17391 CONST_VTBL struct IDeckLinkInputCallback_v7_1Vtbl *lpVtbl; 17392 }; 17393 17394 17395 17396 #ifdef COBJMACROS 17397 17398 17399 #define IDeckLinkInputCallback_v7_1_QueryInterface(This,riid,ppvObject) \ 17400 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 17401 17402 #define IDeckLinkInputCallback_v7_1_AddRef(This) \ 17403 ( (This)->lpVtbl -> AddRef(This) ) 17404 17405 #define IDeckLinkInputCallback_v7_1_Release(This) \ 17406 ( (This)->lpVtbl -> Release(This) ) 17407 17408 17409 #define IDeckLinkInputCallback_v7_1_VideoInputFrameArrived(This,videoFrame,audioPacket) \ 17410 ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) ) 17411 17412 #endif /* COBJMACROS */ 17413 17414 17415 #endif /* C style interface */ 17416 17417 17418 17419 17420 #endif /* __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__ */ 17421 17422 17423 #ifndef __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__ 17424 #define __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__ 17425 17426 /* interface IDeckLinkOutput_v7_1 */ 17427 /* [helpstring][local][uuid][object] */ 17428 17429 17430 EXTERN_C const IID IID_IDeckLinkOutput_v7_1; 17431 17432 #if defined(__cplusplus) && !defined(CINTERFACE) 17433 17434 MIDL_INTERFACE("AE5B3E9B-4E1E-4535-B6E8-480FF52F6CE5") 17435 IDeckLinkOutput_v7_1 : public IUnknown 17436 { 17437 public: 17438 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( 17439 BMDDisplayMode displayMode, 17440 BMDPixelFormat pixelFormat, 17441 /* [out] */ BMDDisplayModeSupport_v10_11 *result) = 0; 17442 17443 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( 17444 /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator) = 0; 17445 17446 virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput( 17447 BMDDisplayMode displayMode) = 0; 17448 17449 virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0; 17450 17451 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator( 17452 /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0; 17453 17454 virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame( 17455 int width, 17456 int height, 17457 int rowBytes, 17458 BMDPixelFormat pixelFormat, 17459 BMDFrameFlags flags, 17460 IDeckLinkVideoFrame_v7_1 **outFrame) = 0; 17461 17462 virtual HRESULT STDMETHODCALLTYPE CreateVideoFrameFromBuffer( 17463 void *buffer, 17464 int width, 17465 int height, 17466 int rowBytes, 17467 BMDPixelFormat pixelFormat, 17468 BMDFrameFlags flags, 17469 IDeckLinkVideoFrame_v7_1 **outFrame) = 0; 17470 17471 virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync( 17472 IDeckLinkVideoFrame_v7_1 *theFrame) = 0; 17473 17474 virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame( 17475 IDeckLinkVideoFrame_v7_1 *theFrame, 17476 BMDTimeValue displayTime, 17477 BMDTimeValue displayDuration, 17478 BMDTimeScale timeScale) = 0; 17479 17480 virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback( 17481 /* [in] */ IDeckLinkVideoOutputCallback_v7_1 *theCallback) = 0; 17482 17483 virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput( 17484 BMDAudioSampleRate sampleRate, 17485 BMDAudioSampleType sampleType, 17486 unsigned int channelCount) = 0; 17487 17488 virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0; 17489 17490 virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync( 17491 void *buffer, 17492 unsigned int sampleFrameCount, 17493 /* [out] */ unsigned int *sampleFramesWritten) = 0; 17494 17495 virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0; 17496 17497 virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0; 17498 17499 virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples( 17500 void *buffer, 17501 unsigned int sampleFrameCount, 17502 BMDTimeValue streamTime, 17503 BMDTimeScale timeScale, 17504 /* [out] */ unsigned int *sampleFramesWritten) = 0; 17505 17506 virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount( 17507 /* [out] */ unsigned int *bufferedSampleCount) = 0; 17508 17509 virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0; 17510 17511 virtual HRESULT STDMETHODCALLTYPE SetAudioCallback( 17512 /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0; 17513 17514 virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback( 17515 BMDTimeValue playbackStartTime, 17516 BMDTimeScale timeScale, 17517 double playbackSpeed) = 0; 17518 17519 virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback( 17520 BMDTimeValue stopPlaybackAtTime, 17521 BMDTimeValue *actualStopTime, 17522 BMDTimeScale timeScale) = 0; 17523 17524 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( 17525 BMDTimeScale desiredTimeScale, 17526 BMDTimeValue *elapsedTimeSinceSchedulerBegan) = 0; 17527 17528 }; 17529 17530 17531 #else /* C style interface */ 17532 17533 typedef struct IDeckLinkOutput_v7_1Vtbl 17534 { 17535 BEGIN_INTERFACE 17536 17537 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 17538 IDeckLinkOutput_v7_1 * This, 17539 /* [in] */ REFIID riid, 17540 /* [annotation][iid_is][out] */ 17541 _COM_Outptr_ void **ppvObject); 17542 17543 ULONG ( STDMETHODCALLTYPE *AddRef )( 17544 IDeckLinkOutput_v7_1 * This); 17545 17546 ULONG ( STDMETHODCALLTYPE *Release )( 17547 IDeckLinkOutput_v7_1 * This); 17548 17549 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( 17550 IDeckLinkOutput_v7_1 * This, 17551 BMDDisplayMode displayMode, 17552 BMDPixelFormat pixelFormat, 17553 /* [out] */ BMDDisplayModeSupport_v10_11 *result); 17554 17555 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( 17556 IDeckLinkOutput_v7_1 * This, 17557 /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator); 17558 17559 HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )( 17560 IDeckLinkOutput_v7_1 * This, 17561 BMDDisplayMode displayMode); 17562 17563 HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )( 17564 IDeckLinkOutput_v7_1 * This); 17565 17566 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )( 17567 IDeckLinkOutput_v7_1 * This, 17568 /* [in] */ IDeckLinkMemoryAllocator *theAllocator); 17569 17570 HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )( 17571 IDeckLinkOutput_v7_1 * This, 17572 int width, 17573 int height, 17574 int rowBytes, 17575 BMDPixelFormat pixelFormat, 17576 BMDFrameFlags flags, 17577 IDeckLinkVideoFrame_v7_1 **outFrame); 17578 17579 HRESULT ( STDMETHODCALLTYPE *CreateVideoFrameFromBuffer )( 17580 IDeckLinkOutput_v7_1 * This, 17581 void *buffer, 17582 int width, 17583 int height, 17584 int rowBytes, 17585 BMDPixelFormat pixelFormat, 17586 BMDFrameFlags flags, 17587 IDeckLinkVideoFrame_v7_1 **outFrame); 17588 17589 HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )( 17590 IDeckLinkOutput_v7_1 * This, 17591 IDeckLinkVideoFrame_v7_1 *theFrame); 17592 17593 HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )( 17594 IDeckLinkOutput_v7_1 * This, 17595 IDeckLinkVideoFrame_v7_1 *theFrame, 17596 BMDTimeValue displayTime, 17597 BMDTimeValue displayDuration, 17598 BMDTimeScale timeScale); 17599 17600 HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )( 17601 IDeckLinkOutput_v7_1 * This, 17602 /* [in] */ IDeckLinkVideoOutputCallback_v7_1 *theCallback); 17603 17604 HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )( 17605 IDeckLinkOutput_v7_1 * This, 17606 BMDAudioSampleRate sampleRate, 17607 BMDAudioSampleType sampleType, 17608 unsigned int channelCount); 17609 17610 HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )( 17611 IDeckLinkOutput_v7_1 * This); 17612 17613 HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )( 17614 IDeckLinkOutput_v7_1 * This, 17615 void *buffer, 17616 unsigned int sampleFrameCount, 17617 /* [out] */ unsigned int *sampleFramesWritten); 17618 17619 HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )( 17620 IDeckLinkOutput_v7_1 * This); 17621 17622 HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )( 17623 IDeckLinkOutput_v7_1 * This); 17624 17625 HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )( 17626 IDeckLinkOutput_v7_1 * This, 17627 void *buffer, 17628 unsigned int sampleFrameCount, 17629 BMDTimeValue streamTime, 17630 BMDTimeScale timeScale, 17631 /* [out] */ unsigned int *sampleFramesWritten); 17632 17633 HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )( 17634 IDeckLinkOutput_v7_1 * This, 17635 /* [out] */ unsigned int *bufferedSampleCount); 17636 17637 HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )( 17638 IDeckLinkOutput_v7_1 * This); 17639 17640 HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )( 17641 IDeckLinkOutput_v7_1 * This, 17642 /* [in] */ IDeckLinkAudioOutputCallback *theCallback); 17643 17644 HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )( 17645 IDeckLinkOutput_v7_1 * This, 17646 BMDTimeValue playbackStartTime, 17647 BMDTimeScale timeScale, 17648 double playbackSpeed); 17649 17650 HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )( 17651 IDeckLinkOutput_v7_1 * This, 17652 BMDTimeValue stopPlaybackAtTime, 17653 BMDTimeValue *actualStopTime, 17654 BMDTimeScale timeScale); 17655 17656 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( 17657 IDeckLinkOutput_v7_1 * This, 17658 BMDTimeScale desiredTimeScale, 17659 BMDTimeValue *elapsedTimeSinceSchedulerBegan); 17660 17661 END_INTERFACE 17662 } IDeckLinkOutput_v7_1Vtbl; 17663 17664 interface IDeckLinkOutput_v7_1 17665 { 17666 CONST_VTBL struct IDeckLinkOutput_v7_1Vtbl *lpVtbl; 17667 }; 17668 17669 17670 17671 #ifdef COBJMACROS 17672 17673 17674 #define IDeckLinkOutput_v7_1_QueryInterface(This,riid,ppvObject) \ 17675 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 17676 17677 #define IDeckLinkOutput_v7_1_AddRef(This) \ 17678 ( (This)->lpVtbl -> AddRef(This) ) 17679 17680 #define IDeckLinkOutput_v7_1_Release(This) \ 17681 ( (This)->lpVtbl -> Release(This) ) 17682 17683 17684 #define IDeckLinkOutput_v7_1_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \ 17685 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) ) 17686 17687 #define IDeckLinkOutput_v7_1_GetDisplayModeIterator(This,iterator) \ 17688 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) 17689 17690 #define IDeckLinkOutput_v7_1_EnableVideoOutput(This,displayMode) \ 17691 ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode) ) 17692 17693 #define IDeckLinkOutput_v7_1_DisableVideoOutput(This) \ 17694 ( (This)->lpVtbl -> DisableVideoOutput(This) ) 17695 17696 #define IDeckLinkOutput_v7_1_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \ 17697 ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) ) 17698 17699 #define IDeckLinkOutput_v7_1_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \ 17700 ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) ) 17701 17702 #define IDeckLinkOutput_v7_1_CreateVideoFrameFromBuffer(This,buffer,width,height,rowBytes,pixelFormat,flags,outFrame) \ 17703 ( (This)->lpVtbl -> CreateVideoFrameFromBuffer(This,buffer,width,height,rowBytes,pixelFormat,flags,outFrame) ) 17704 17705 #define IDeckLinkOutput_v7_1_DisplayVideoFrameSync(This,theFrame) \ 17706 ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) ) 17707 17708 #define IDeckLinkOutput_v7_1_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \ 17709 ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) ) 17710 17711 #define IDeckLinkOutput_v7_1_SetScheduledFrameCompletionCallback(This,theCallback) \ 17712 ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) ) 17713 17714 #define IDeckLinkOutput_v7_1_EnableAudioOutput(This,sampleRate,sampleType,channelCount) \ 17715 ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount) ) 17716 17717 #define IDeckLinkOutput_v7_1_DisableAudioOutput(This) \ 17718 ( (This)->lpVtbl -> DisableAudioOutput(This) ) 17719 17720 #define IDeckLinkOutput_v7_1_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \ 17721 ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) ) 17722 17723 #define IDeckLinkOutput_v7_1_BeginAudioPreroll(This) \ 17724 ( (This)->lpVtbl -> BeginAudioPreroll(This) ) 17725 17726 #define IDeckLinkOutput_v7_1_EndAudioPreroll(This) \ 17727 ( (This)->lpVtbl -> EndAudioPreroll(This) ) 17728 17729 #define IDeckLinkOutput_v7_1_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \ 17730 ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) ) 17731 17732 #define IDeckLinkOutput_v7_1_GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) \ 17733 ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) ) 17734 17735 #define IDeckLinkOutput_v7_1_FlushBufferedAudioSamples(This) \ 17736 ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) ) 17737 17738 #define IDeckLinkOutput_v7_1_SetAudioCallback(This,theCallback) \ 17739 ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) ) 17740 17741 #define IDeckLinkOutput_v7_1_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \ 17742 ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) ) 17743 17744 #define IDeckLinkOutput_v7_1_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \ 17745 ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) ) 17746 17747 #define IDeckLinkOutput_v7_1_GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) \ 17748 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) ) 17749 17750 #endif /* COBJMACROS */ 17751 17752 17753 #endif /* C style interface */ 17754 17755 17756 17757 17758 #endif /* __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__ */ 17759 17760 17761 #ifndef __IDeckLinkInput_v7_1_INTERFACE_DEFINED__ 17762 #define __IDeckLinkInput_v7_1_INTERFACE_DEFINED__ 17763 17764 /* interface IDeckLinkInput_v7_1 */ 17765 /* [helpstring][uuid][object] */ 17766 17767 17768 EXTERN_C const IID IID_IDeckLinkInput_v7_1; 17769 17770 #if defined(__cplusplus) && !defined(CINTERFACE) 17771 17772 MIDL_INTERFACE("2B54EDEF-5B32-429F-BA11-BB990596EACD") 17773 IDeckLinkInput_v7_1 : public IUnknown 17774 { 17775 public: 17776 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( 17777 BMDDisplayMode displayMode, 17778 BMDPixelFormat pixelFormat, 17779 /* [out] */ BMDDisplayModeSupport_v10_11 *result) = 0; 17780 17781 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( 17782 /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator) = 0; 17783 17784 virtual HRESULT STDMETHODCALLTYPE EnableVideoInput( 17785 BMDDisplayMode displayMode, 17786 BMDPixelFormat pixelFormat, 17787 BMDVideoInputFlags flags) = 0; 17788 17789 virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0; 17790 17791 virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( 17792 BMDAudioSampleRate sampleRate, 17793 BMDAudioSampleType sampleType, 17794 unsigned int channelCount) = 0; 17795 17796 virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0; 17797 17798 virtual HRESULT STDMETHODCALLTYPE ReadAudioSamples( 17799 void *buffer, 17800 unsigned int sampleFrameCount, 17801 /* [out] */ unsigned int *sampleFramesRead, 17802 /* [out] */ BMDTimeValue *audioPacketTime, 17803 BMDTimeScale timeScale) = 0; 17804 17805 virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount( 17806 /* [out] */ unsigned int *bufferedSampleCount) = 0; 17807 17808 virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0; 17809 17810 virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0; 17811 17812 virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0; 17813 17814 virtual HRESULT STDMETHODCALLTYPE SetCallback( 17815 /* [in] */ IDeckLinkInputCallback_v7_1 *theCallback) = 0; 17816 17817 }; 17818 17819 17820 #else /* C style interface */ 17821 17822 typedef struct IDeckLinkInput_v7_1Vtbl 17823 { 17824 BEGIN_INTERFACE 17825 17826 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 17827 IDeckLinkInput_v7_1 * This, 17828 /* [in] */ REFIID riid, 17829 /* [annotation][iid_is][out] */ 17830 _COM_Outptr_ void **ppvObject); 17831 17832 ULONG ( STDMETHODCALLTYPE *AddRef )( 17833 IDeckLinkInput_v7_1 * This); 17834 17835 ULONG ( STDMETHODCALLTYPE *Release )( 17836 IDeckLinkInput_v7_1 * This); 17837 17838 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( 17839 IDeckLinkInput_v7_1 * This, 17840 BMDDisplayMode displayMode, 17841 BMDPixelFormat pixelFormat, 17842 /* [out] */ BMDDisplayModeSupport_v10_11 *result); 17843 17844 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( 17845 IDeckLinkInput_v7_1 * This, 17846 /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator); 17847 17848 HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )( 17849 IDeckLinkInput_v7_1 * This, 17850 BMDDisplayMode displayMode, 17851 BMDPixelFormat pixelFormat, 17852 BMDVideoInputFlags flags); 17853 17854 HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )( 17855 IDeckLinkInput_v7_1 * This); 17856 17857 HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )( 17858 IDeckLinkInput_v7_1 * This, 17859 BMDAudioSampleRate sampleRate, 17860 BMDAudioSampleType sampleType, 17861 unsigned int channelCount); 17862 17863 HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )( 17864 IDeckLinkInput_v7_1 * This); 17865 17866 HRESULT ( STDMETHODCALLTYPE *ReadAudioSamples )( 17867 IDeckLinkInput_v7_1 * This, 17868 void *buffer, 17869 unsigned int sampleFrameCount, 17870 /* [out] */ unsigned int *sampleFramesRead, 17871 /* [out] */ BMDTimeValue *audioPacketTime, 17872 BMDTimeScale timeScale); 17873 17874 HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )( 17875 IDeckLinkInput_v7_1 * This, 17876 /* [out] */ unsigned int *bufferedSampleCount); 17877 17878 HRESULT ( STDMETHODCALLTYPE *StartStreams )( 17879 IDeckLinkInput_v7_1 * This); 17880 17881 HRESULT ( STDMETHODCALLTYPE *StopStreams )( 17882 IDeckLinkInput_v7_1 * This); 17883 17884 HRESULT ( STDMETHODCALLTYPE *PauseStreams )( 17885 IDeckLinkInput_v7_1 * This); 17886 17887 HRESULT ( STDMETHODCALLTYPE *SetCallback )( 17888 IDeckLinkInput_v7_1 * This, 17889 /* [in] */ IDeckLinkInputCallback_v7_1 *theCallback); 17890 17891 END_INTERFACE 17892 } IDeckLinkInput_v7_1Vtbl; 17893 17894 interface IDeckLinkInput_v7_1 17895 { 17896 CONST_VTBL struct IDeckLinkInput_v7_1Vtbl *lpVtbl; 17897 }; 17898 17899 17900 17901 #ifdef COBJMACROS 17902 17903 17904 #define IDeckLinkInput_v7_1_QueryInterface(This,riid,ppvObject) \ 17905 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 17906 17907 #define IDeckLinkInput_v7_1_AddRef(This) \ 17908 ( (This)->lpVtbl -> AddRef(This) ) 17909 17910 #define IDeckLinkInput_v7_1_Release(This) \ 17911 ( (This)->lpVtbl -> Release(This) ) 17912 17913 17914 #define IDeckLinkInput_v7_1_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \ 17915 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) ) 17916 17917 #define IDeckLinkInput_v7_1_GetDisplayModeIterator(This,iterator) \ 17918 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) 17919 17920 #define IDeckLinkInput_v7_1_EnableVideoInput(This,displayMode,pixelFormat,flags) \ 17921 ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) ) 17922 17923 #define IDeckLinkInput_v7_1_DisableVideoInput(This) \ 17924 ( (This)->lpVtbl -> DisableVideoInput(This) ) 17925 17926 #define IDeckLinkInput_v7_1_EnableAudioInput(This,sampleRate,sampleType,channelCount) \ 17927 ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) ) 17928 17929 #define IDeckLinkInput_v7_1_DisableAudioInput(This) \ 17930 ( (This)->lpVtbl -> DisableAudioInput(This) ) 17931 17932 #define IDeckLinkInput_v7_1_ReadAudioSamples(This,buffer,sampleFrameCount,sampleFramesRead,audioPacketTime,timeScale) \ 17933 ( (This)->lpVtbl -> ReadAudioSamples(This,buffer,sampleFrameCount,sampleFramesRead,audioPacketTime,timeScale) ) 17934 17935 #define IDeckLinkInput_v7_1_GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) \ 17936 ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) ) 17937 17938 #define IDeckLinkInput_v7_1_StartStreams(This) \ 17939 ( (This)->lpVtbl -> StartStreams(This) ) 17940 17941 #define IDeckLinkInput_v7_1_StopStreams(This) \ 17942 ( (This)->lpVtbl -> StopStreams(This) ) 17943 17944 #define IDeckLinkInput_v7_1_PauseStreams(This) \ 17945 ( (This)->lpVtbl -> PauseStreams(This) ) 17946 17947 #define IDeckLinkInput_v7_1_SetCallback(This,theCallback) \ 17948 ( (This)->lpVtbl -> SetCallback(This,theCallback) ) 17949 17950 #endif /* COBJMACROS */ 17951 17952 17953 #endif /* C style interface */ 17954 17955 17956 17957 17958 #endif /* __IDeckLinkInput_v7_1_INTERFACE_DEFINED__ */ 17959 17960 #endif /* __DeckLinkAPI_LIBRARY_DEFINED__ */ 17961 17962 /* Additional Prototypes for ALL interfaces */ 17963 17964 /* end of Additional Prototypes */ 17965 17966 /* Functions */ 17967 17968 extern "C" { 17969 17970 IDeckLinkIterator* CreateDeckLinkIteratorInstance (void); 17971 17972 } 17973 17974 #ifdef __cplusplus 17975 } 17976 #endif 17977 17978 #endif 17979 17980 17981