1 2 3 /* this ALWAYS GENERATED file contains the definitions for the interfaces */ 4 5 6 /* File created by MIDL compiler version 8.00.0603 */ 7 /* at Wed Jan 25 17:42:19 2017 8 */ 9 /* Compiler settings for ..\..\..\..\..\..\blackmagic\SDK\Win\include\DeckLinkAPI.idl: 10 Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.00.0603 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_h__ 38 #define __DeckLinkAPI_h_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 __IDeckLinkEncoderInput_FWD_DEFINED__ 267 #define __IDeckLinkEncoderInput_FWD_DEFINED__ 268 typedef interface IDeckLinkEncoderInput IDeckLinkEncoderInput; 269 270 #endif /* __IDeckLinkEncoderInput_FWD_DEFINED__ */ 271 272 273 #ifndef __IDeckLinkVideoFrame_FWD_DEFINED__ 274 #define __IDeckLinkVideoFrame_FWD_DEFINED__ 275 typedef interface IDeckLinkVideoFrame IDeckLinkVideoFrame; 276 277 #endif /* __IDeckLinkVideoFrame_FWD_DEFINED__ */ 278 279 280 #ifndef __IDeckLinkMutableVideoFrame_FWD_DEFINED__ 281 #define __IDeckLinkMutableVideoFrame_FWD_DEFINED__ 282 typedef interface IDeckLinkMutableVideoFrame IDeckLinkMutableVideoFrame; 283 284 #endif /* __IDeckLinkMutableVideoFrame_FWD_DEFINED__ */ 285 286 287 #ifndef __IDeckLinkVideoFrame3DExtensions_FWD_DEFINED__ 288 #define __IDeckLinkVideoFrame3DExtensions_FWD_DEFINED__ 289 typedef interface IDeckLinkVideoFrame3DExtensions IDeckLinkVideoFrame3DExtensions; 290 291 #endif /* __IDeckLinkVideoFrame3DExtensions_FWD_DEFINED__ */ 292 293 294 #ifndef __IDeckLinkVideoFrameMetadataExtensions_FWD_DEFINED__ 295 #define __IDeckLinkVideoFrameMetadataExtensions_FWD_DEFINED__ 296 typedef interface IDeckLinkVideoFrameMetadataExtensions IDeckLinkVideoFrameMetadataExtensions; 297 298 #endif /* __IDeckLinkVideoFrameMetadataExtensions_FWD_DEFINED__ */ 299 300 301 #ifndef __IDeckLinkVideoInputFrame_FWD_DEFINED__ 302 #define __IDeckLinkVideoInputFrame_FWD_DEFINED__ 303 typedef interface IDeckLinkVideoInputFrame IDeckLinkVideoInputFrame; 304 305 #endif /* __IDeckLinkVideoInputFrame_FWD_DEFINED__ */ 306 307 308 #ifndef __IDeckLinkVideoFrameAncillary_FWD_DEFINED__ 309 #define __IDeckLinkVideoFrameAncillary_FWD_DEFINED__ 310 typedef interface IDeckLinkVideoFrameAncillary IDeckLinkVideoFrameAncillary; 311 312 #endif /* __IDeckLinkVideoFrameAncillary_FWD_DEFINED__ */ 313 314 315 #ifndef __IDeckLinkEncoderPacket_FWD_DEFINED__ 316 #define __IDeckLinkEncoderPacket_FWD_DEFINED__ 317 typedef interface IDeckLinkEncoderPacket IDeckLinkEncoderPacket; 318 319 #endif /* __IDeckLinkEncoderPacket_FWD_DEFINED__ */ 320 321 322 #ifndef __IDeckLinkEncoderVideoPacket_FWD_DEFINED__ 323 #define __IDeckLinkEncoderVideoPacket_FWD_DEFINED__ 324 typedef interface IDeckLinkEncoderVideoPacket IDeckLinkEncoderVideoPacket; 325 326 #endif /* __IDeckLinkEncoderVideoPacket_FWD_DEFINED__ */ 327 328 329 #ifndef __IDeckLinkEncoderAudioPacket_FWD_DEFINED__ 330 #define __IDeckLinkEncoderAudioPacket_FWD_DEFINED__ 331 typedef interface IDeckLinkEncoderAudioPacket IDeckLinkEncoderAudioPacket; 332 333 #endif /* __IDeckLinkEncoderAudioPacket_FWD_DEFINED__ */ 334 335 336 #ifndef __IDeckLinkH265NALPacket_FWD_DEFINED__ 337 #define __IDeckLinkH265NALPacket_FWD_DEFINED__ 338 typedef interface IDeckLinkH265NALPacket IDeckLinkH265NALPacket; 339 340 #endif /* __IDeckLinkH265NALPacket_FWD_DEFINED__ */ 341 342 343 #ifndef __IDeckLinkAudioInputPacket_FWD_DEFINED__ 344 #define __IDeckLinkAudioInputPacket_FWD_DEFINED__ 345 typedef interface IDeckLinkAudioInputPacket IDeckLinkAudioInputPacket; 346 347 #endif /* __IDeckLinkAudioInputPacket_FWD_DEFINED__ */ 348 349 350 #ifndef __IDeckLinkScreenPreviewCallback_FWD_DEFINED__ 351 #define __IDeckLinkScreenPreviewCallback_FWD_DEFINED__ 352 typedef interface IDeckLinkScreenPreviewCallback IDeckLinkScreenPreviewCallback; 353 354 #endif /* __IDeckLinkScreenPreviewCallback_FWD_DEFINED__ */ 355 356 357 #ifndef __IDeckLinkGLScreenPreviewHelper_FWD_DEFINED__ 358 #define __IDeckLinkGLScreenPreviewHelper_FWD_DEFINED__ 359 typedef interface IDeckLinkGLScreenPreviewHelper IDeckLinkGLScreenPreviewHelper; 360 361 #endif /* __IDeckLinkGLScreenPreviewHelper_FWD_DEFINED__ */ 362 363 364 #ifndef __IDeckLinkDX9ScreenPreviewHelper_FWD_DEFINED__ 365 #define __IDeckLinkDX9ScreenPreviewHelper_FWD_DEFINED__ 366 typedef interface IDeckLinkDX9ScreenPreviewHelper IDeckLinkDX9ScreenPreviewHelper; 367 368 #endif /* __IDeckLinkDX9ScreenPreviewHelper_FWD_DEFINED__ */ 369 370 371 #ifndef __IDeckLinkNotificationCallback_FWD_DEFINED__ 372 #define __IDeckLinkNotificationCallback_FWD_DEFINED__ 373 typedef interface IDeckLinkNotificationCallback IDeckLinkNotificationCallback; 374 375 #endif /* __IDeckLinkNotificationCallback_FWD_DEFINED__ */ 376 377 378 #ifndef __IDeckLinkNotification_FWD_DEFINED__ 379 #define __IDeckLinkNotification_FWD_DEFINED__ 380 typedef interface IDeckLinkNotification IDeckLinkNotification; 381 382 #endif /* __IDeckLinkNotification_FWD_DEFINED__ */ 383 384 385 #ifndef __IDeckLinkAttributes_FWD_DEFINED__ 386 #define __IDeckLinkAttributes_FWD_DEFINED__ 387 typedef interface IDeckLinkAttributes IDeckLinkAttributes; 388 389 #endif /* __IDeckLinkAttributes_FWD_DEFINED__ */ 390 391 392 #ifndef __IDeckLinkStatus_FWD_DEFINED__ 393 #define __IDeckLinkStatus_FWD_DEFINED__ 394 typedef interface IDeckLinkStatus IDeckLinkStatus; 395 396 #endif /* __IDeckLinkStatus_FWD_DEFINED__ */ 397 398 399 #ifndef __IDeckLinkKeyer_FWD_DEFINED__ 400 #define __IDeckLinkKeyer_FWD_DEFINED__ 401 typedef interface IDeckLinkKeyer IDeckLinkKeyer; 402 403 #endif /* __IDeckLinkKeyer_FWD_DEFINED__ */ 404 405 406 #ifndef __IDeckLinkVideoConversion_FWD_DEFINED__ 407 #define __IDeckLinkVideoConversion_FWD_DEFINED__ 408 typedef interface IDeckLinkVideoConversion IDeckLinkVideoConversion; 409 410 #endif /* __IDeckLinkVideoConversion_FWD_DEFINED__ */ 411 412 413 #ifndef __IDeckLinkDeviceNotificationCallback_FWD_DEFINED__ 414 #define __IDeckLinkDeviceNotificationCallback_FWD_DEFINED__ 415 typedef interface IDeckLinkDeviceNotificationCallback IDeckLinkDeviceNotificationCallback; 416 417 #endif /* __IDeckLinkDeviceNotificationCallback_FWD_DEFINED__ */ 418 419 420 #ifndef __IDeckLinkDiscovery_FWD_DEFINED__ 421 #define __IDeckLinkDiscovery_FWD_DEFINED__ 422 typedef interface IDeckLinkDiscovery IDeckLinkDiscovery; 423 424 #endif /* __IDeckLinkDiscovery_FWD_DEFINED__ */ 425 426 427 #ifndef __CDeckLinkIterator_FWD_DEFINED__ 428 #define __CDeckLinkIterator_FWD_DEFINED__ 429 430 #ifdef __cplusplus 431 typedef class CDeckLinkIterator CDeckLinkIterator; 432 #else 433 typedef struct CDeckLinkIterator CDeckLinkIterator; 434 #endif /* __cplusplus */ 435 436 #endif /* __CDeckLinkIterator_FWD_DEFINED__ */ 437 438 439 #ifndef __CDeckLinkAPIInformation_FWD_DEFINED__ 440 #define __CDeckLinkAPIInformation_FWD_DEFINED__ 441 442 #ifdef __cplusplus 443 typedef class CDeckLinkAPIInformation CDeckLinkAPIInformation; 444 #else 445 typedef struct CDeckLinkAPIInformation CDeckLinkAPIInformation; 446 #endif /* __cplusplus */ 447 448 #endif /* __CDeckLinkAPIInformation_FWD_DEFINED__ */ 449 450 451 #ifndef __CDeckLinkGLScreenPreviewHelper_FWD_DEFINED__ 452 #define __CDeckLinkGLScreenPreviewHelper_FWD_DEFINED__ 453 454 #ifdef __cplusplus 455 typedef class CDeckLinkGLScreenPreviewHelper CDeckLinkGLScreenPreviewHelper; 456 #else 457 typedef struct CDeckLinkGLScreenPreviewHelper CDeckLinkGLScreenPreviewHelper; 458 #endif /* __cplusplus */ 459 460 #endif /* __CDeckLinkGLScreenPreviewHelper_FWD_DEFINED__ */ 461 462 463 #ifndef __CDeckLinkDX9ScreenPreviewHelper_FWD_DEFINED__ 464 #define __CDeckLinkDX9ScreenPreviewHelper_FWD_DEFINED__ 465 466 #ifdef __cplusplus 467 typedef class CDeckLinkDX9ScreenPreviewHelper CDeckLinkDX9ScreenPreviewHelper; 468 #else 469 typedef struct CDeckLinkDX9ScreenPreviewHelper CDeckLinkDX9ScreenPreviewHelper; 470 #endif /* __cplusplus */ 471 472 #endif /* __CDeckLinkDX9ScreenPreviewHelper_FWD_DEFINED__ */ 473 474 475 #ifndef __CDeckLinkVideoConversion_FWD_DEFINED__ 476 #define __CDeckLinkVideoConversion_FWD_DEFINED__ 477 478 #ifdef __cplusplus 479 typedef class CDeckLinkVideoConversion CDeckLinkVideoConversion; 480 #else 481 typedef struct CDeckLinkVideoConversion CDeckLinkVideoConversion; 482 #endif /* __cplusplus */ 483 484 #endif /* __CDeckLinkVideoConversion_FWD_DEFINED__ */ 485 486 487 #ifndef __CDeckLinkDiscovery_FWD_DEFINED__ 488 #define __CDeckLinkDiscovery_FWD_DEFINED__ 489 490 #ifdef __cplusplus 491 typedef class CDeckLinkDiscovery CDeckLinkDiscovery; 492 #else 493 typedef struct CDeckLinkDiscovery CDeckLinkDiscovery; 494 #endif /* __cplusplus */ 495 496 #endif /* __CDeckLinkDiscovery_FWD_DEFINED__ */ 497 498 499 #ifndef __IDeckLinkEncoderConfiguration_v10_5_FWD_DEFINED__ 500 #define __IDeckLinkEncoderConfiguration_v10_5_FWD_DEFINED__ 501 typedef interface IDeckLinkEncoderConfiguration_v10_5 IDeckLinkEncoderConfiguration_v10_5; 502 503 #endif /* __IDeckLinkEncoderConfiguration_v10_5_FWD_DEFINED__ */ 504 505 506 #ifndef __IDeckLinkConfiguration_v10_4_FWD_DEFINED__ 507 #define __IDeckLinkConfiguration_v10_4_FWD_DEFINED__ 508 typedef interface IDeckLinkConfiguration_v10_4 IDeckLinkConfiguration_v10_4; 509 510 #endif /* __IDeckLinkConfiguration_v10_4_FWD_DEFINED__ */ 511 512 513 #ifndef __IDeckLinkConfiguration_v10_2_FWD_DEFINED__ 514 #define __IDeckLinkConfiguration_v10_2_FWD_DEFINED__ 515 typedef interface IDeckLinkConfiguration_v10_2 IDeckLinkConfiguration_v10_2; 516 517 #endif /* __IDeckLinkConfiguration_v10_2_FWD_DEFINED__ */ 518 519 520 #ifndef __IDeckLinkOutput_v9_9_FWD_DEFINED__ 521 #define __IDeckLinkOutput_v9_9_FWD_DEFINED__ 522 typedef interface IDeckLinkOutput_v9_9 IDeckLinkOutput_v9_9; 523 524 #endif /* __IDeckLinkOutput_v9_9_FWD_DEFINED__ */ 525 526 527 #ifndef __IDeckLinkInput_v9_2_FWD_DEFINED__ 528 #define __IDeckLinkInput_v9_2_FWD_DEFINED__ 529 typedef interface IDeckLinkInput_v9_2 IDeckLinkInput_v9_2; 530 531 #endif /* __IDeckLinkInput_v9_2_FWD_DEFINED__ */ 532 533 534 #ifndef __IDeckLinkDeckControlStatusCallback_v8_1_FWD_DEFINED__ 535 #define __IDeckLinkDeckControlStatusCallback_v8_1_FWD_DEFINED__ 536 typedef interface IDeckLinkDeckControlStatusCallback_v8_1 IDeckLinkDeckControlStatusCallback_v8_1; 537 538 #endif /* __IDeckLinkDeckControlStatusCallback_v8_1_FWD_DEFINED__ */ 539 540 541 #ifndef __IDeckLinkDeckControl_v8_1_FWD_DEFINED__ 542 #define __IDeckLinkDeckControl_v8_1_FWD_DEFINED__ 543 typedef interface IDeckLinkDeckControl_v8_1 IDeckLinkDeckControl_v8_1; 544 545 #endif /* __IDeckLinkDeckControl_v8_1_FWD_DEFINED__ */ 546 547 548 #ifndef __IDeckLink_v8_0_FWD_DEFINED__ 549 #define __IDeckLink_v8_0_FWD_DEFINED__ 550 typedef interface IDeckLink_v8_0 IDeckLink_v8_0; 551 552 #endif /* __IDeckLink_v8_0_FWD_DEFINED__ */ 553 554 555 #ifndef __IDeckLinkIterator_v8_0_FWD_DEFINED__ 556 #define __IDeckLinkIterator_v8_0_FWD_DEFINED__ 557 typedef interface IDeckLinkIterator_v8_0 IDeckLinkIterator_v8_0; 558 559 #endif /* __IDeckLinkIterator_v8_0_FWD_DEFINED__ */ 560 561 562 #ifndef __CDeckLinkIterator_v8_0_FWD_DEFINED__ 563 #define __CDeckLinkIterator_v8_0_FWD_DEFINED__ 564 565 #ifdef __cplusplus 566 typedef class CDeckLinkIterator_v8_0 CDeckLinkIterator_v8_0; 567 #else 568 typedef struct CDeckLinkIterator_v8_0 CDeckLinkIterator_v8_0; 569 #endif /* __cplusplus */ 570 571 #endif /* __CDeckLinkIterator_v8_0_FWD_DEFINED__ */ 572 573 574 #ifndef __IDeckLinkDeckControl_v7_9_FWD_DEFINED__ 575 #define __IDeckLinkDeckControl_v7_9_FWD_DEFINED__ 576 typedef interface IDeckLinkDeckControl_v7_9 IDeckLinkDeckControl_v7_9; 577 578 #endif /* __IDeckLinkDeckControl_v7_9_FWD_DEFINED__ */ 579 580 581 #ifndef __IDeckLinkDisplayModeIterator_v7_6_FWD_DEFINED__ 582 #define __IDeckLinkDisplayModeIterator_v7_6_FWD_DEFINED__ 583 typedef interface IDeckLinkDisplayModeIterator_v7_6 IDeckLinkDisplayModeIterator_v7_6; 584 585 #endif /* __IDeckLinkDisplayModeIterator_v7_6_FWD_DEFINED__ */ 586 587 588 #ifndef __IDeckLinkDisplayMode_v7_6_FWD_DEFINED__ 589 #define __IDeckLinkDisplayMode_v7_6_FWD_DEFINED__ 590 typedef interface IDeckLinkDisplayMode_v7_6 IDeckLinkDisplayMode_v7_6; 591 592 #endif /* __IDeckLinkDisplayMode_v7_6_FWD_DEFINED__ */ 593 594 595 #ifndef __IDeckLinkOutput_v7_6_FWD_DEFINED__ 596 #define __IDeckLinkOutput_v7_6_FWD_DEFINED__ 597 typedef interface IDeckLinkOutput_v7_6 IDeckLinkOutput_v7_6; 598 599 #endif /* __IDeckLinkOutput_v7_6_FWD_DEFINED__ */ 600 601 602 #ifndef __IDeckLinkInput_v7_6_FWD_DEFINED__ 603 #define __IDeckLinkInput_v7_6_FWD_DEFINED__ 604 typedef interface IDeckLinkInput_v7_6 IDeckLinkInput_v7_6; 605 606 #endif /* __IDeckLinkInput_v7_6_FWD_DEFINED__ */ 607 608 609 #ifndef __IDeckLinkTimecode_v7_6_FWD_DEFINED__ 610 #define __IDeckLinkTimecode_v7_6_FWD_DEFINED__ 611 typedef interface IDeckLinkTimecode_v7_6 IDeckLinkTimecode_v7_6; 612 613 #endif /* __IDeckLinkTimecode_v7_6_FWD_DEFINED__ */ 614 615 616 #ifndef __IDeckLinkVideoFrame_v7_6_FWD_DEFINED__ 617 #define __IDeckLinkVideoFrame_v7_6_FWD_DEFINED__ 618 typedef interface IDeckLinkVideoFrame_v7_6 IDeckLinkVideoFrame_v7_6; 619 620 #endif /* __IDeckLinkVideoFrame_v7_6_FWD_DEFINED__ */ 621 622 623 #ifndef __IDeckLinkMutableVideoFrame_v7_6_FWD_DEFINED__ 624 #define __IDeckLinkMutableVideoFrame_v7_6_FWD_DEFINED__ 625 typedef interface IDeckLinkMutableVideoFrame_v7_6 IDeckLinkMutableVideoFrame_v7_6; 626 627 #endif /* __IDeckLinkMutableVideoFrame_v7_6_FWD_DEFINED__ */ 628 629 630 #ifndef __IDeckLinkVideoInputFrame_v7_6_FWD_DEFINED__ 631 #define __IDeckLinkVideoInputFrame_v7_6_FWD_DEFINED__ 632 typedef interface IDeckLinkVideoInputFrame_v7_6 IDeckLinkVideoInputFrame_v7_6; 633 634 #endif /* __IDeckLinkVideoInputFrame_v7_6_FWD_DEFINED__ */ 635 636 637 #ifndef __IDeckLinkScreenPreviewCallback_v7_6_FWD_DEFINED__ 638 #define __IDeckLinkScreenPreviewCallback_v7_6_FWD_DEFINED__ 639 typedef interface IDeckLinkScreenPreviewCallback_v7_6 IDeckLinkScreenPreviewCallback_v7_6; 640 641 #endif /* __IDeckLinkScreenPreviewCallback_v7_6_FWD_DEFINED__ */ 642 643 644 #ifndef __IDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__ 645 #define __IDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__ 646 typedef interface IDeckLinkGLScreenPreviewHelper_v7_6 IDeckLinkGLScreenPreviewHelper_v7_6; 647 648 #endif /* __IDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__ */ 649 650 651 #ifndef __IDeckLinkVideoConversion_v7_6_FWD_DEFINED__ 652 #define __IDeckLinkVideoConversion_v7_6_FWD_DEFINED__ 653 typedef interface IDeckLinkVideoConversion_v7_6 IDeckLinkVideoConversion_v7_6; 654 655 #endif /* __IDeckLinkVideoConversion_v7_6_FWD_DEFINED__ */ 656 657 658 #ifndef __IDeckLinkConfiguration_v7_6_FWD_DEFINED__ 659 #define __IDeckLinkConfiguration_v7_6_FWD_DEFINED__ 660 typedef interface IDeckLinkConfiguration_v7_6 IDeckLinkConfiguration_v7_6; 661 662 #endif /* __IDeckLinkConfiguration_v7_6_FWD_DEFINED__ */ 663 664 665 #ifndef __IDeckLinkVideoOutputCallback_v7_6_FWD_DEFINED__ 666 #define __IDeckLinkVideoOutputCallback_v7_6_FWD_DEFINED__ 667 typedef interface IDeckLinkVideoOutputCallback_v7_6 IDeckLinkVideoOutputCallback_v7_6; 668 669 #endif /* __IDeckLinkVideoOutputCallback_v7_6_FWD_DEFINED__ */ 670 671 672 #ifndef __IDeckLinkInputCallback_v7_6_FWD_DEFINED__ 673 #define __IDeckLinkInputCallback_v7_6_FWD_DEFINED__ 674 typedef interface IDeckLinkInputCallback_v7_6 IDeckLinkInputCallback_v7_6; 675 676 #endif /* __IDeckLinkInputCallback_v7_6_FWD_DEFINED__ */ 677 678 679 #ifndef __CDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__ 680 #define __CDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__ 681 682 #ifdef __cplusplus 683 typedef class CDeckLinkGLScreenPreviewHelper_v7_6 CDeckLinkGLScreenPreviewHelper_v7_6; 684 #else 685 typedef struct CDeckLinkGLScreenPreviewHelper_v7_6 CDeckLinkGLScreenPreviewHelper_v7_6; 686 #endif /* __cplusplus */ 687 688 #endif /* __CDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__ */ 689 690 691 #ifndef __CDeckLinkVideoConversion_v7_6_FWD_DEFINED__ 692 #define __CDeckLinkVideoConversion_v7_6_FWD_DEFINED__ 693 694 #ifdef __cplusplus 695 typedef class CDeckLinkVideoConversion_v7_6 CDeckLinkVideoConversion_v7_6; 696 #else 697 typedef struct CDeckLinkVideoConversion_v7_6 CDeckLinkVideoConversion_v7_6; 698 #endif /* __cplusplus */ 699 700 #endif /* __CDeckLinkVideoConversion_v7_6_FWD_DEFINED__ */ 701 702 703 #ifndef __IDeckLinkInputCallback_v7_3_FWD_DEFINED__ 704 #define __IDeckLinkInputCallback_v7_3_FWD_DEFINED__ 705 typedef interface IDeckLinkInputCallback_v7_3 IDeckLinkInputCallback_v7_3; 706 707 #endif /* __IDeckLinkInputCallback_v7_3_FWD_DEFINED__ */ 708 709 710 #ifndef __IDeckLinkOutput_v7_3_FWD_DEFINED__ 711 #define __IDeckLinkOutput_v7_3_FWD_DEFINED__ 712 typedef interface IDeckLinkOutput_v7_3 IDeckLinkOutput_v7_3; 713 714 #endif /* __IDeckLinkOutput_v7_3_FWD_DEFINED__ */ 715 716 717 #ifndef __IDeckLinkInput_v7_3_FWD_DEFINED__ 718 #define __IDeckLinkInput_v7_3_FWD_DEFINED__ 719 typedef interface IDeckLinkInput_v7_3 IDeckLinkInput_v7_3; 720 721 #endif /* __IDeckLinkInput_v7_3_FWD_DEFINED__ */ 722 723 724 #ifndef __IDeckLinkVideoInputFrame_v7_3_FWD_DEFINED__ 725 #define __IDeckLinkVideoInputFrame_v7_3_FWD_DEFINED__ 726 typedef interface IDeckLinkVideoInputFrame_v7_3 IDeckLinkVideoInputFrame_v7_3; 727 728 #endif /* __IDeckLinkVideoInputFrame_v7_3_FWD_DEFINED__ */ 729 730 731 #ifndef __IDeckLinkDisplayModeIterator_v7_1_FWD_DEFINED__ 732 #define __IDeckLinkDisplayModeIterator_v7_1_FWD_DEFINED__ 733 typedef interface IDeckLinkDisplayModeIterator_v7_1 IDeckLinkDisplayModeIterator_v7_1; 734 735 #endif /* __IDeckLinkDisplayModeIterator_v7_1_FWD_DEFINED__ */ 736 737 738 #ifndef __IDeckLinkDisplayMode_v7_1_FWD_DEFINED__ 739 #define __IDeckLinkDisplayMode_v7_1_FWD_DEFINED__ 740 typedef interface IDeckLinkDisplayMode_v7_1 IDeckLinkDisplayMode_v7_1; 741 742 #endif /* __IDeckLinkDisplayMode_v7_1_FWD_DEFINED__ */ 743 744 745 #ifndef __IDeckLinkVideoFrame_v7_1_FWD_DEFINED__ 746 #define __IDeckLinkVideoFrame_v7_1_FWD_DEFINED__ 747 typedef interface IDeckLinkVideoFrame_v7_1 IDeckLinkVideoFrame_v7_1; 748 749 #endif /* __IDeckLinkVideoFrame_v7_1_FWD_DEFINED__ */ 750 751 752 #ifndef __IDeckLinkVideoInputFrame_v7_1_FWD_DEFINED__ 753 #define __IDeckLinkVideoInputFrame_v7_1_FWD_DEFINED__ 754 typedef interface IDeckLinkVideoInputFrame_v7_1 IDeckLinkVideoInputFrame_v7_1; 755 756 #endif /* __IDeckLinkVideoInputFrame_v7_1_FWD_DEFINED__ */ 757 758 759 #ifndef __IDeckLinkAudioInputPacket_v7_1_FWD_DEFINED__ 760 #define __IDeckLinkAudioInputPacket_v7_1_FWD_DEFINED__ 761 typedef interface IDeckLinkAudioInputPacket_v7_1 IDeckLinkAudioInputPacket_v7_1; 762 763 #endif /* __IDeckLinkAudioInputPacket_v7_1_FWD_DEFINED__ */ 764 765 766 #ifndef __IDeckLinkVideoOutputCallback_v7_1_FWD_DEFINED__ 767 #define __IDeckLinkVideoOutputCallback_v7_1_FWD_DEFINED__ 768 typedef interface IDeckLinkVideoOutputCallback_v7_1 IDeckLinkVideoOutputCallback_v7_1; 769 770 #endif /* __IDeckLinkVideoOutputCallback_v7_1_FWD_DEFINED__ */ 771 772 773 #ifndef __IDeckLinkInputCallback_v7_1_FWD_DEFINED__ 774 #define __IDeckLinkInputCallback_v7_1_FWD_DEFINED__ 775 typedef interface IDeckLinkInputCallback_v7_1 IDeckLinkInputCallback_v7_1; 776 777 #endif /* __IDeckLinkInputCallback_v7_1_FWD_DEFINED__ */ 778 779 780 #ifndef __IDeckLinkOutput_v7_1_FWD_DEFINED__ 781 #define __IDeckLinkOutput_v7_1_FWD_DEFINED__ 782 typedef interface IDeckLinkOutput_v7_1 IDeckLinkOutput_v7_1; 783 784 #endif /* __IDeckLinkOutput_v7_1_FWD_DEFINED__ */ 785 786 787 #ifndef __IDeckLinkInput_v7_1_FWD_DEFINED__ 788 #define __IDeckLinkInput_v7_1_FWD_DEFINED__ 789 typedef interface IDeckLinkInput_v7_1 IDeckLinkInput_v7_1; 790 791 #endif /* __IDeckLinkInput_v7_1_FWD_DEFINED__ */ 792 793 794 /* header files for imported files */ 795 #include "unknwn.h" 796 797 #ifdef __cplusplus 798 extern "C"{ 799 #endif 800 801 802 803 #ifndef __DeckLinkAPI_LIBRARY_DEFINED__ 804 #define __DeckLinkAPI_LIBRARY_DEFINED__ 805 806 /* library DeckLinkAPI */ 807 /* [helpstring][version][uuid] */ 808 809 typedef LONGLONG BMDTimeValue; 810 811 typedef LONGLONG BMDTimeScale; 812 813 typedef unsigned int BMDTimecodeBCD; 814 815 typedef unsigned int BMDTimecodeUserBits; 816 817 typedef unsigned int BMDTimecodeFlags; 818 #if 0 819 typedef enum _BMDTimecodeFlags BMDTimecodeFlags; 820 821 #endif 822 /* [v1_enum] */ 823 enum _BMDTimecodeFlags 824 { 825 bmdTimecodeFlagDefault = 0, 826 bmdTimecodeIsDropFrame = ( 1 << 0 ) , 827 bmdTimecodeFieldMark = ( 1 << 1 ) , 828 bmdTimecodeColorFrame = ( 1 << 2 ) 829 } ; 830 typedef /* [v1_enum] */ 831 enum _BMDVideoConnection 832 { 833 bmdVideoConnectionSDI = ( 1 << 0 ) , 834 bmdVideoConnectionHDMI = ( 1 << 1 ) , 835 bmdVideoConnectionOpticalSDI = ( 1 << 2 ) , 836 bmdVideoConnectionComponent = ( 1 << 3 ) , 837 bmdVideoConnectionComposite = ( 1 << 4 ) , 838 bmdVideoConnectionSVideo = ( 1 << 5 ) 839 } BMDVideoConnection; 840 841 typedef /* [v1_enum] */ 842 enum _BMDAudioConnection 843 { 844 bmdAudioConnectionEmbedded = ( 1 << 0 ) , 845 bmdAudioConnectionAESEBU = ( 1 << 1 ) , 846 bmdAudioConnectionAnalog = ( 1 << 2 ) , 847 bmdAudioConnectionAnalogXLR = ( 1 << 3 ) , 848 bmdAudioConnectionAnalogRCA = ( 1 << 4 ) , 849 bmdAudioConnectionMicrophone = ( 1 << 5 ) , 850 bmdAudioConnectionHeadphones = ( 1 << 6 ) 851 } BMDAudioConnection; 852 853 typedef /* [v1_enum] */ 854 enum _BMDDeckControlConnection 855 { 856 bmdDeckControlConnectionRS422Remote1 = ( 1 << 0 ) , 857 bmdDeckControlConnectionRS422Remote2 = ( 1 << 1 ) 858 } BMDDeckControlConnection; 859 860 861 typedef unsigned int BMDDisplayModeFlags; 862 #if 0 863 typedef enum _BMDDisplayModeFlags BMDDisplayModeFlags; 864 865 #endif 866 typedef /* [v1_enum] */ 867 enum _BMDDisplayMode 868 { 869 bmdModeNTSC = 0x6e747363, 870 bmdModeNTSC2398 = 0x6e743233, 871 bmdModePAL = 0x70616c20, 872 bmdModeNTSCp = 0x6e747370, 873 bmdModePALp = 0x70616c70, 874 bmdModeHD1080p2398 = 0x32337073, 875 bmdModeHD1080p24 = 0x32347073, 876 bmdModeHD1080p25 = 0x48703235, 877 bmdModeHD1080p2997 = 0x48703239, 878 bmdModeHD1080p30 = 0x48703330, 879 bmdModeHD1080i50 = 0x48693530, 880 bmdModeHD1080i5994 = 0x48693539, 881 bmdModeHD1080i6000 = 0x48693630, 882 bmdModeHD1080p50 = 0x48703530, 883 bmdModeHD1080p5994 = 0x48703539, 884 bmdModeHD1080p6000 = 0x48703630, 885 bmdModeHD720p50 = 0x68703530, 886 bmdModeHD720p5994 = 0x68703539, 887 bmdModeHD720p60 = 0x68703630, 888 bmdMode2k2398 = 0x326b3233, 889 bmdMode2k24 = 0x326b3234, 890 bmdMode2k25 = 0x326b3235, 891 bmdMode2kDCI2398 = 0x32643233, 892 bmdMode2kDCI24 = 0x32643234, 893 bmdMode2kDCI25 = 0x32643235, 894 bmdMode4K2160p2398 = 0x346b3233, 895 bmdMode4K2160p24 = 0x346b3234, 896 bmdMode4K2160p25 = 0x346b3235, 897 bmdMode4K2160p2997 = 0x346b3239, 898 bmdMode4K2160p30 = 0x346b3330, 899 bmdMode4K2160p50 = 0x346b3530, 900 bmdMode4K2160p5994 = 0x346b3539, 901 bmdMode4K2160p60 = 0x346b3630, 902 bmdMode4kDCI2398 = 0x34643233, 903 bmdMode4kDCI24 = 0x34643234, 904 bmdMode4kDCI25 = 0x34643235, 905 bmdModeUnknown = 0x69756e6b 906 } BMDDisplayMode; 907 908 typedef /* [v1_enum] */ 909 enum _BMDFieldDominance 910 { 911 bmdUnknownFieldDominance = 0, 912 bmdLowerFieldFirst = 0x6c6f7772, 913 bmdUpperFieldFirst = 0x75707072, 914 bmdProgressiveFrame = 0x70726f67, 915 bmdProgressiveSegmentedFrame = 0x70736620 916 } BMDFieldDominance; 917 918 typedef /* [v1_enum] */ 919 enum _BMDPixelFormat 920 { 921 bmdFormat8BitYUV = 0x32767579, 922 bmdFormat10BitYUV = 0x76323130, 923 bmdFormat8BitARGB = 32, 924 bmdFormat8BitBGRA = 0x42475241, 925 bmdFormat10BitRGB = 0x72323130, 926 bmdFormat12BitRGB = 0x52313242, 927 bmdFormat12BitRGBLE = 0x5231324c, 928 bmdFormat10BitRGBXLE = 0x5231306c, 929 bmdFormat10BitRGBX = 0x52313062, 930 bmdFormatH265 = 0x68657631, 931 bmdFormatDNxHR = 0x41566468 932 } BMDPixelFormat; 933 934 /* [v1_enum] */ 935 enum _BMDDisplayModeFlags 936 { 937 bmdDisplayModeSupports3D = ( 1 << 0 ) , 938 bmdDisplayModeColorspaceRec601 = ( 1 << 1 ) , 939 bmdDisplayModeColorspaceRec709 = ( 1 << 2 ) 940 } ; 941 942 943 #if 0 944 #endif 945 946 #if 0 947 #endif 948 typedef /* [v1_enum] */ 949 enum _BMDDeckLinkConfigurationID 950 { 951 bmdDeckLinkConfigSwapSerialRxTx = 0x73737274, 952 bmdDeckLinkConfigUse1080pNotPsF = 0x6670726f, 953 bmdDeckLinkConfigHDMI3DPackingFormat = 0x33647066, 954 bmdDeckLinkConfigBypass = 0x62797073, 955 bmdDeckLinkConfigClockTimingAdjustment = 0x63746164, 956 bmdDeckLinkConfigDuplexMode = 0x64757078, 957 bmdDeckLinkConfigAnalogAudioConsumerLevels = 0x6161636c, 958 bmdDeckLinkConfigFieldFlickerRemoval = 0x66646672, 959 bmdDeckLinkConfigHD1080p24ToHD1080i5994Conversion = 0x746f3539, 960 bmdDeckLinkConfig444SDIVideoOutput = 0x3434346f, 961 bmdDeckLinkConfigBlackVideoOutputDuringCapture = 0x62766f63, 962 bmdDeckLinkConfigLowLatencyVideoOutput = 0x6c6c766f, 963 bmdDeckLinkConfigDownConversionOnAllAnalogOutput = 0x6361616f, 964 bmdDeckLinkConfigSMPTELevelAOutput = 0x736d7461, 965 bmdDeckLinkConfigVideoOutputConnection = 0x766f636e, 966 bmdDeckLinkConfigVideoOutputConversionMode = 0x766f636d, 967 bmdDeckLinkConfigAnalogVideoOutputFlags = 0x61766f66, 968 bmdDeckLinkConfigReferenceInputTimingOffset = 0x676c6f74, 969 bmdDeckLinkConfigVideoOutputIdleOperation = 0x766f696f, 970 bmdDeckLinkConfigDefaultVideoOutputMode = 0x64766f6d, 971 bmdDeckLinkConfigDefaultVideoOutputModeFlags = 0x64766f66, 972 bmdDeckLinkConfigSDIOutputLinkConfiguration = 0x736f6c63, 973 bmdDeckLinkConfigVideoOutputComponentLumaGain = 0x6f636c67, 974 bmdDeckLinkConfigVideoOutputComponentChromaBlueGain = 0x6f636362, 975 bmdDeckLinkConfigVideoOutputComponentChromaRedGain = 0x6f636372, 976 bmdDeckLinkConfigVideoOutputCompositeLumaGain = 0x6f696c67, 977 bmdDeckLinkConfigVideoOutputCompositeChromaGain = 0x6f696367, 978 bmdDeckLinkConfigVideoOutputSVideoLumaGain = 0x6f736c67, 979 bmdDeckLinkConfigVideoOutputSVideoChromaGain = 0x6f736367, 980 bmdDeckLinkConfigVideoInputScanning = 0x76697363, 981 bmdDeckLinkConfigUseDedicatedLTCInput = 0x646c7463, 982 bmdDeckLinkConfigSDIInput3DPayloadOverride = 0x33646473, 983 bmdDeckLinkConfigVideoInputConnection = 0x7669636e, 984 bmdDeckLinkConfigAnalogVideoInputFlags = 0x61766966, 985 bmdDeckLinkConfigVideoInputConversionMode = 0x7669636d, 986 bmdDeckLinkConfig32PulldownSequenceInitialTimecodeFrame = 0x70646966, 987 bmdDeckLinkConfigVANCSourceLine1Mapping = 0x76736c31, 988 bmdDeckLinkConfigVANCSourceLine2Mapping = 0x76736c32, 989 bmdDeckLinkConfigVANCSourceLine3Mapping = 0x76736c33, 990 bmdDeckLinkConfigCapturePassThroughMode = 0x6370746d, 991 bmdDeckLinkConfigVideoInputComponentLumaGain = 0x69636c67, 992 bmdDeckLinkConfigVideoInputComponentChromaBlueGain = 0x69636362, 993 bmdDeckLinkConfigVideoInputComponentChromaRedGain = 0x69636372, 994 bmdDeckLinkConfigVideoInputCompositeLumaGain = 0x69696c67, 995 bmdDeckLinkConfigVideoInputCompositeChromaGain = 0x69696367, 996 bmdDeckLinkConfigVideoInputSVideoLumaGain = 0x69736c67, 997 bmdDeckLinkConfigVideoInputSVideoChromaGain = 0x69736367, 998 bmdDeckLinkConfigMicrophonePhantomPower = 0x6d706870, 999 bmdDeckLinkConfigAudioInputConnection = 0x6169636e, 1000 bmdDeckLinkConfigAnalogAudioInputScaleChannel1 = 0x61697331, 1001 bmdDeckLinkConfigAnalogAudioInputScaleChannel2 = 0x61697332, 1002 bmdDeckLinkConfigAnalogAudioInputScaleChannel3 = 0x61697333, 1003 bmdDeckLinkConfigAnalogAudioInputScaleChannel4 = 0x61697334, 1004 bmdDeckLinkConfigDigitalAudioInputScale = 0x64616973, 1005 bmdDeckLinkConfigMicrophoneInputGain = 0x6d696367, 1006 bmdDeckLinkConfigAudioOutputAESAnalogSwitch = 0x616f6161, 1007 bmdDeckLinkConfigAnalogAudioOutputScaleChannel1 = 0x616f7331, 1008 bmdDeckLinkConfigAnalogAudioOutputScaleChannel2 = 0x616f7332, 1009 bmdDeckLinkConfigAnalogAudioOutputScaleChannel3 = 0x616f7333, 1010 bmdDeckLinkConfigAnalogAudioOutputScaleChannel4 = 0x616f7334, 1011 bmdDeckLinkConfigDigitalAudioOutputScale = 0x64616f73, 1012 bmdDeckLinkConfigHeadphoneVolume = 0x68766f6c, 1013 bmdDeckLinkConfigDeviceInformationLabel = 0x64696c61, 1014 bmdDeckLinkConfigDeviceInformationSerialNumber = 0x6469736e, 1015 bmdDeckLinkConfigDeviceInformationCompany = 0x6469636f, 1016 bmdDeckLinkConfigDeviceInformationPhone = 0x64697068, 1017 bmdDeckLinkConfigDeviceInformationEmail = 0x6469656d, 1018 bmdDeckLinkConfigDeviceInformationDate = 0x64696461, 1019 bmdDeckLinkConfigDeckControlConnection = 0x6463636f 1020 } BMDDeckLinkConfigurationID; 1021 1022 typedef /* [v1_enum] */ 1023 enum _BMDDeckLinkEncoderConfigurationID 1024 { 1025 bmdDeckLinkEncoderConfigPreferredBitDepth = 0x65706272, 1026 bmdDeckLinkEncoderConfigFrameCodingMode = 0x6566636d, 1027 bmdDeckLinkEncoderConfigH265TargetBitrate = 0x68746272, 1028 bmdDeckLinkEncoderConfigDNxHRCompressionID = 0x64636964, 1029 bmdDeckLinkEncoderConfigDNxHRLevel = 0x646c6576, 1030 bmdDeckLinkEncoderConfigMPEG4SampleDescription = 0x73747345, 1031 bmdDeckLinkEncoderConfigMPEG4CodecSpecificDesc = 0x65736473 1032 } BMDDeckLinkEncoderConfigurationID; 1033 1034 1035 1036 typedef unsigned int BMDDeckControlStatusFlags; 1037 typedef unsigned int BMDDeckControlExportModeOpsFlags; 1038 #if 0 1039 typedef enum _BMDDeckControlStatusFlags BMDDeckControlStatusFlags; 1040 1041 typedef enum _BMDDeckControlExportModeOpsFlags BMDDeckControlExportModeOpsFlags; 1042 1043 #endif 1044 typedef /* [v1_enum] */ 1045 enum _BMDDeckControlMode 1046 { 1047 bmdDeckControlNotOpened = 0x6e746f70, 1048 bmdDeckControlVTRControlMode = 0x76747263, 1049 bmdDeckControlExportMode = 0x6578706d, 1050 bmdDeckControlCaptureMode = 0x6361706d 1051 } BMDDeckControlMode; 1052 1053 typedef /* [v1_enum] */ 1054 enum _BMDDeckControlEvent 1055 { 1056 bmdDeckControlAbortedEvent = 0x61627465, 1057 bmdDeckControlPrepareForExportEvent = 0x70666565, 1058 bmdDeckControlExportCompleteEvent = 0x65786365, 1059 bmdDeckControlPrepareForCaptureEvent = 0x70666365, 1060 bmdDeckControlCaptureCompleteEvent = 0x63636576 1061 } BMDDeckControlEvent; 1062 1063 typedef /* [v1_enum] */ 1064 enum _BMDDeckControlVTRControlState 1065 { 1066 bmdDeckControlNotInVTRControlMode = 0x6e76636d, 1067 bmdDeckControlVTRControlPlaying = 0x76747270, 1068 bmdDeckControlVTRControlRecording = 0x76747272, 1069 bmdDeckControlVTRControlStill = 0x76747261, 1070 bmdDeckControlVTRControlShuttleForward = 0x76747366, 1071 bmdDeckControlVTRControlShuttleReverse = 0x76747372, 1072 bmdDeckControlVTRControlJogForward = 0x76746a66, 1073 bmdDeckControlVTRControlJogReverse = 0x76746a72, 1074 bmdDeckControlVTRControlStopped = 0x7674726f 1075 } BMDDeckControlVTRControlState; 1076 1077 /* [v1_enum] */ 1078 enum _BMDDeckControlStatusFlags 1079 { 1080 bmdDeckControlStatusDeckConnected = ( 1 << 0 ) , 1081 bmdDeckControlStatusRemoteMode = ( 1 << 1 ) , 1082 bmdDeckControlStatusRecordInhibited = ( 1 << 2 ) , 1083 bmdDeckControlStatusCassetteOut = ( 1 << 3 ) 1084 } ; 1085 /* [v1_enum] */ 1086 enum _BMDDeckControlExportModeOpsFlags 1087 { 1088 bmdDeckControlExportModeInsertVideo = ( 1 << 0 ) , 1089 bmdDeckControlExportModeInsertAudio1 = ( 1 << 1 ) , 1090 bmdDeckControlExportModeInsertAudio2 = ( 1 << 2 ) , 1091 bmdDeckControlExportModeInsertAudio3 = ( 1 << 3 ) , 1092 bmdDeckControlExportModeInsertAudio4 = ( 1 << 4 ) , 1093 bmdDeckControlExportModeInsertAudio5 = ( 1 << 5 ) , 1094 bmdDeckControlExportModeInsertAudio6 = ( 1 << 6 ) , 1095 bmdDeckControlExportModeInsertAudio7 = ( 1 << 7 ) , 1096 bmdDeckControlExportModeInsertAudio8 = ( 1 << 8 ) , 1097 bmdDeckControlExportModeInsertAudio9 = ( 1 << 9 ) , 1098 bmdDeckControlExportModeInsertAudio10 = ( 1 << 10 ) , 1099 bmdDeckControlExportModeInsertAudio11 = ( 1 << 11 ) , 1100 bmdDeckControlExportModeInsertAudio12 = ( 1 << 12 ) , 1101 bmdDeckControlExportModeInsertTimeCode = ( 1 << 13 ) , 1102 bmdDeckControlExportModeInsertAssemble = ( 1 << 14 ) , 1103 bmdDeckControlExportModeInsertPreview = ( 1 << 15 ) , 1104 bmdDeckControlUseManualExport = ( 1 << 16 ) 1105 } ; 1106 typedef /* [v1_enum] */ 1107 enum _BMDDeckControlError 1108 { 1109 bmdDeckControlNoError = 0x6e6f6572, 1110 bmdDeckControlModeError = 0x6d6f6572, 1111 bmdDeckControlMissedInPointError = 0x6d696572, 1112 bmdDeckControlDeckTimeoutError = 0x64746572, 1113 bmdDeckControlCommandFailedError = 0x63666572, 1114 bmdDeckControlDeviceAlreadyOpenedError = 0x64616c6f, 1115 bmdDeckControlFailedToOpenDeviceError = 0x66646572, 1116 bmdDeckControlInLocalModeError = 0x6c6d6572, 1117 bmdDeckControlEndOfTapeError = 0x65746572, 1118 bmdDeckControlUserAbortError = 0x75616572, 1119 bmdDeckControlNoTapeInDeckError = 0x6e746572, 1120 bmdDeckControlNoVideoFromCardError = 0x6e766663, 1121 bmdDeckControlNoCommunicationError = 0x6e636f6d, 1122 bmdDeckControlBufferTooSmallError = 0x6274736d, 1123 bmdDeckControlBadChecksumError = 0x63686b73, 1124 bmdDeckControlUnknownError = 0x756e6572 1125 } BMDDeckControlError; 1126 1127 1128 1129 #if 0 1130 #endif 1131 typedef /* [v1_enum] */ 1132 enum _BMDStreamingDeviceMode 1133 { 1134 bmdStreamingDeviceIdle = 0x69646c65, 1135 bmdStreamingDeviceEncoding = 0x656e636f, 1136 bmdStreamingDeviceStopping = 0x73746f70, 1137 bmdStreamingDeviceUnknown = 0x6d756e6b 1138 } BMDStreamingDeviceMode; 1139 1140 typedef /* [v1_enum] */ 1141 enum _BMDStreamingEncodingFrameRate 1142 { 1143 bmdStreamingEncodedFrameRate50i = 0x65353069, 1144 bmdStreamingEncodedFrameRate5994i = 0x65353969, 1145 bmdStreamingEncodedFrameRate60i = 0x65363069, 1146 bmdStreamingEncodedFrameRate2398p = 0x65323370, 1147 bmdStreamingEncodedFrameRate24p = 0x65323470, 1148 bmdStreamingEncodedFrameRate25p = 0x65323570, 1149 bmdStreamingEncodedFrameRate2997p = 0x65323970, 1150 bmdStreamingEncodedFrameRate30p = 0x65333070, 1151 bmdStreamingEncodedFrameRate50p = 0x65353070, 1152 bmdStreamingEncodedFrameRate5994p = 0x65353970, 1153 bmdStreamingEncodedFrameRate60p = 0x65363070 1154 } BMDStreamingEncodingFrameRate; 1155 1156 typedef /* [v1_enum] */ 1157 enum _BMDStreamingEncodingSupport 1158 { 1159 bmdStreamingEncodingModeNotSupported = 0, 1160 bmdStreamingEncodingModeSupported = ( bmdStreamingEncodingModeNotSupported + 1 ) , 1161 bmdStreamingEncodingModeSupportedWithChanges = ( bmdStreamingEncodingModeSupported + 1 ) 1162 } BMDStreamingEncodingSupport; 1163 1164 typedef /* [v1_enum] */ 1165 enum _BMDStreamingVideoCodec 1166 { 1167 bmdStreamingVideoCodecH264 = 0x48323634 1168 } BMDStreamingVideoCodec; 1169 1170 typedef /* [v1_enum] */ 1171 enum _BMDStreamingH264Profile 1172 { 1173 bmdStreamingH264ProfileHigh = 0x68696768, 1174 bmdStreamingH264ProfileMain = 0x6d61696e, 1175 bmdStreamingH264ProfileBaseline = 0x62617365 1176 } BMDStreamingH264Profile; 1177 1178 typedef /* [v1_enum] */ 1179 enum _BMDStreamingH264Level 1180 { 1181 bmdStreamingH264Level12 = 0x6c763132, 1182 bmdStreamingH264Level13 = 0x6c763133, 1183 bmdStreamingH264Level2 = 0x6c763220, 1184 bmdStreamingH264Level21 = 0x6c763231, 1185 bmdStreamingH264Level22 = 0x6c763232, 1186 bmdStreamingH264Level3 = 0x6c763320, 1187 bmdStreamingH264Level31 = 0x6c763331, 1188 bmdStreamingH264Level32 = 0x6c763332, 1189 bmdStreamingH264Level4 = 0x6c763420, 1190 bmdStreamingH264Level41 = 0x6c763431, 1191 bmdStreamingH264Level42 = 0x6c763432 1192 } BMDStreamingH264Level; 1193 1194 typedef /* [v1_enum] */ 1195 enum _BMDStreamingH264EntropyCoding 1196 { 1197 bmdStreamingH264EntropyCodingCAVLC = 0x45564c43, 1198 bmdStreamingH264EntropyCodingCABAC = 0x45424143 1199 } BMDStreamingH264EntropyCoding; 1200 1201 typedef /* [v1_enum] */ 1202 enum _BMDStreamingAudioCodec 1203 { 1204 bmdStreamingAudioCodecAAC = 0x41414320 1205 } BMDStreamingAudioCodec; 1206 1207 typedef /* [v1_enum] */ 1208 enum _BMDStreamingEncodingModePropertyID 1209 { 1210 bmdStreamingEncodingPropertyVideoFrameRate = 0x76667274, 1211 bmdStreamingEncodingPropertyVideoBitRateKbps = 0x76627274, 1212 bmdStreamingEncodingPropertyH264Profile = 0x68707266, 1213 bmdStreamingEncodingPropertyH264Level = 0x686c766c, 1214 bmdStreamingEncodingPropertyH264EntropyCoding = 0x68656e74, 1215 bmdStreamingEncodingPropertyH264HasBFrames = 0x68426672, 1216 bmdStreamingEncodingPropertyAudioCodec = 0x61636463, 1217 bmdStreamingEncodingPropertyAudioSampleRate = 0x61737274, 1218 bmdStreamingEncodingPropertyAudioChannelCount = 0x61636863, 1219 bmdStreamingEncodingPropertyAudioBitRateKbps = 0x61627274 1220 } BMDStreamingEncodingModePropertyID; 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 typedef unsigned int BMDFrameFlags; 1234 typedef unsigned int BMDVideoInputFlags; 1235 typedef unsigned int BMDVideoInputFormatChangedEvents; 1236 typedef unsigned int BMDDetectedVideoInputFormatFlags; 1237 typedef unsigned int BMDDeckLinkCapturePassthroughMode; 1238 typedef unsigned int BMDAnalogVideoFlags; 1239 typedef unsigned int BMDDeviceBusyState; 1240 #if 0 1241 typedef enum _BMDFrameFlags BMDFrameFlags; 1242 1243 typedef enum _BMDVideoInputFlags BMDVideoInputFlags; 1244 1245 typedef enum _BMDVideoInputFormatChangedEvents BMDVideoInputFormatChangedEvents; 1246 1247 typedef enum _BMDDetectedVideoInputFormatFlags BMDDetectedVideoInputFormatFlags; 1248 1249 typedef enum _BMDDeckLinkCapturePassthroughMode BMDDeckLinkCapturePassthroughMode; 1250 1251 typedef enum _BMDAnalogVideoFlags BMDAnalogVideoFlags; 1252 1253 typedef enum _BMDDeviceBusyState BMDDeviceBusyState; 1254 1255 #endif 1256 typedef /* [v1_enum] */ 1257 enum _BMDVideoOutputFlags 1258 { 1259 bmdVideoOutputFlagDefault = 0, 1260 bmdVideoOutputVANC = ( 1 << 0 ) , 1261 bmdVideoOutputVITC = ( 1 << 1 ) , 1262 bmdVideoOutputRP188 = ( 1 << 2 ) , 1263 bmdVideoOutputDualStream3D = ( 1 << 4 ) 1264 } BMDVideoOutputFlags; 1265 1266 typedef /* [v1_enum] */ 1267 enum _BMDPacketType 1268 { 1269 bmdPacketTypeStreamInterruptedMarker = 0x73696e74, 1270 bmdPacketTypeStreamData = 0x73646174 1271 } BMDPacketType; 1272 1273 /* [v1_enum] */ 1274 enum _BMDFrameFlags 1275 { 1276 bmdFrameFlagDefault = 0, 1277 bmdFrameFlagFlipVertical = ( 1 << 0 ) , 1278 bmdFrameContainsHDRMetadata = ( 1 << 1 ) , 1279 bmdFrameHasNoInputSource = ( 1 << 31 ) 1280 } ; 1281 /* [v1_enum] */ 1282 enum _BMDVideoInputFlags 1283 { 1284 bmdVideoInputFlagDefault = 0, 1285 bmdVideoInputEnableFormatDetection = ( 1 << 0 ) , 1286 bmdVideoInputDualStream3D = ( 1 << 1 ) 1287 } ; 1288 /* [v1_enum] */ 1289 enum _BMDVideoInputFormatChangedEvents 1290 { 1291 bmdVideoInputDisplayModeChanged = ( 1 << 0 ) , 1292 bmdVideoInputFieldDominanceChanged = ( 1 << 1 ) , 1293 bmdVideoInputColorspaceChanged = ( 1 << 2 ) 1294 } ; 1295 /* [v1_enum] */ 1296 enum _BMDDetectedVideoInputFormatFlags 1297 { 1298 bmdDetectedVideoInputYCbCr422 = ( 1 << 0 ) , 1299 bmdDetectedVideoInputRGB444 = ( 1 << 1 ) , 1300 bmdDetectedVideoInputDualStream3D = ( 1 << 2 ) 1301 } ; 1302 /* [v1_enum] */ 1303 enum _BMDDeckLinkCapturePassthroughMode 1304 { 1305 bmdDeckLinkCapturePassthroughModeDisabled = 0x70646973, 1306 bmdDeckLinkCapturePassthroughModeDirect = 0x70646972, 1307 bmdDeckLinkCapturePassthroughModeCleanSwitch = 0x70636c6e 1308 } ; 1309 typedef /* [v1_enum] */ 1310 enum _BMDOutputFrameCompletionResult 1311 { 1312 bmdOutputFrameCompleted = 0, 1313 bmdOutputFrameDisplayedLate = ( bmdOutputFrameCompleted + 1 ) , 1314 bmdOutputFrameDropped = ( bmdOutputFrameDisplayedLate + 1 ) , 1315 bmdOutputFrameFlushed = ( bmdOutputFrameDropped + 1 ) 1316 } BMDOutputFrameCompletionResult; 1317 1318 typedef /* [v1_enum] */ 1319 enum _BMDReferenceStatus 1320 { 1321 bmdReferenceNotSupportedByHardware = ( 1 << 0 ) , 1322 bmdReferenceLocked = ( 1 << 1 ) 1323 } BMDReferenceStatus; 1324 1325 typedef /* [v1_enum] */ 1326 enum _BMDAudioFormat 1327 { 1328 bmdAudioFormatPCM = 0x6c70636d 1329 } BMDAudioFormat; 1330 1331 typedef /* [v1_enum] */ 1332 enum _BMDAudioSampleRate 1333 { 1334 bmdAudioSampleRate48kHz = 48000 1335 } BMDAudioSampleRate; 1336 1337 typedef /* [v1_enum] */ 1338 enum _BMDAudioSampleType 1339 { 1340 bmdAudioSampleType16bitInteger = 16, 1341 bmdAudioSampleType32bitInteger = 32 1342 } BMDAudioSampleType; 1343 1344 typedef /* [v1_enum] */ 1345 enum _BMDAudioOutputStreamType 1346 { 1347 bmdAudioOutputStreamContinuous = 0, 1348 bmdAudioOutputStreamContinuousDontResample = ( bmdAudioOutputStreamContinuous + 1 ) , 1349 bmdAudioOutputStreamTimestamped = ( bmdAudioOutputStreamContinuousDontResample + 1 ) 1350 } BMDAudioOutputStreamType; 1351 1352 typedef /* [v1_enum] */ 1353 enum _BMDDisplayModeSupport 1354 { 1355 bmdDisplayModeNotSupported = 0, 1356 bmdDisplayModeSupported = ( bmdDisplayModeNotSupported + 1 ) , 1357 bmdDisplayModeSupportedWithConversion = ( bmdDisplayModeSupported + 1 ) 1358 } BMDDisplayModeSupport; 1359 1360 typedef /* [v1_enum] */ 1361 enum _BMDTimecodeFormat 1362 { 1363 bmdTimecodeRP188VITC1 = 0x72707631, 1364 bmdTimecodeRP188VITC2 = 0x72703132, 1365 bmdTimecodeRP188LTC = 0x72706c74, 1366 bmdTimecodeRP188Any = 0x72703138, 1367 bmdTimecodeVITC = 0x76697463, 1368 bmdTimecodeVITCField2 = 0x76697432, 1369 bmdTimecodeSerial = 0x73657269 1370 } BMDTimecodeFormat; 1371 1372 /* [v1_enum] */ 1373 enum _BMDAnalogVideoFlags 1374 { 1375 bmdAnalogVideoFlagCompositeSetup75 = ( 1 << 0 ) , 1376 bmdAnalogVideoFlagComponentBetacamLevels = ( 1 << 1 ) 1377 } ; 1378 typedef /* [v1_enum] */ 1379 enum _BMDAudioOutputAnalogAESSwitch 1380 { 1381 bmdAudioOutputSwitchAESEBU = 0x61657320, 1382 bmdAudioOutputSwitchAnalog = 0x616e6c67 1383 } BMDAudioOutputAnalogAESSwitch; 1384 1385 typedef /* [v1_enum] */ 1386 enum _BMDVideoOutputConversionMode 1387 { 1388 bmdNoVideoOutputConversion = 0x6e6f6e65, 1389 bmdVideoOutputLetterboxDownconversion = 0x6c746278, 1390 bmdVideoOutputAnamorphicDownconversion = 0x616d7068, 1391 bmdVideoOutputHD720toHD1080Conversion = 0x37323063, 1392 bmdVideoOutputHardwareLetterboxDownconversion = 0x48576c62, 1393 bmdVideoOutputHardwareAnamorphicDownconversion = 0x4857616d, 1394 bmdVideoOutputHardwareCenterCutDownconversion = 0x48576363, 1395 bmdVideoOutputHardware720p1080pCrossconversion = 0x78636170, 1396 bmdVideoOutputHardwareAnamorphic720pUpconversion = 0x75613770, 1397 bmdVideoOutputHardwareAnamorphic1080iUpconversion = 0x75613169, 1398 bmdVideoOutputHardwareAnamorphic149To720pUpconversion = 0x75343770, 1399 bmdVideoOutputHardwareAnamorphic149To1080iUpconversion = 0x75343169, 1400 bmdVideoOutputHardwarePillarbox720pUpconversion = 0x75703770, 1401 bmdVideoOutputHardwarePillarbox1080iUpconversion = 0x75703169 1402 } BMDVideoOutputConversionMode; 1403 1404 typedef /* [v1_enum] */ 1405 enum _BMDVideoInputConversionMode 1406 { 1407 bmdNoVideoInputConversion = 0x6e6f6e65, 1408 bmdVideoInputLetterboxDownconversionFromHD1080 = 0x31306c62, 1409 bmdVideoInputAnamorphicDownconversionFromHD1080 = 0x3130616d, 1410 bmdVideoInputLetterboxDownconversionFromHD720 = 0x37326c62, 1411 bmdVideoInputAnamorphicDownconversionFromHD720 = 0x3732616d, 1412 bmdVideoInputLetterboxUpconversion = 0x6c627570, 1413 bmdVideoInputAnamorphicUpconversion = 0x616d7570 1414 } BMDVideoInputConversionMode; 1415 1416 typedef /* [v1_enum] */ 1417 enum _BMDVideo3DPackingFormat 1418 { 1419 bmdVideo3DPackingSidebySideHalf = 0x73627368, 1420 bmdVideo3DPackingLinebyLine = 0x6c62796c, 1421 bmdVideo3DPackingTopAndBottom = 0x7461626f, 1422 bmdVideo3DPackingFramePacking = 0x6672706b, 1423 bmdVideo3DPackingLeftOnly = 0x6c656674, 1424 bmdVideo3DPackingRightOnly = 0x72696768 1425 } BMDVideo3DPackingFormat; 1426 1427 typedef /* [v1_enum] */ 1428 enum _BMDIdleVideoOutputOperation 1429 { 1430 bmdIdleVideoOutputBlack = 0x626c6163, 1431 bmdIdleVideoOutputLastFrame = 0x6c616661 1432 } BMDIdleVideoOutputOperation; 1433 1434 typedef /* [v1_enum] */ 1435 enum _BMDVideoEncoderFrameCodingMode 1436 { 1437 bmdVideoEncoderFrameCodingModeInter = 0x696e7465, 1438 bmdVideoEncoderFrameCodingModeIntra = 0x696e7472 1439 } BMDVideoEncoderFrameCodingMode; 1440 1441 typedef /* [v1_enum] */ 1442 enum _BMDDNxHRLevel 1443 { 1444 bmdDNxHRLevelSQ = 0x646e7371, 1445 bmdDNxHRLevelLB = 0x646e6c62, 1446 bmdDNxHRLevelHQ = 0x646e6871, 1447 bmdDNxHRLevelHQX = 0x64687178, 1448 bmdDNxHRLevel444 = 0x64343434 1449 } BMDDNxHRLevel; 1450 1451 typedef /* [v1_enum] */ 1452 enum _BMDLinkConfiguration 1453 { 1454 bmdLinkConfigurationSingleLink = 0x6c63736c, 1455 bmdLinkConfigurationDualLink = 0x6c63646c, 1456 bmdLinkConfigurationQuadLink = 0x6c63716c 1457 } BMDLinkConfiguration; 1458 1459 typedef /* [v1_enum] */ 1460 enum _BMDDeviceInterface 1461 { 1462 bmdDeviceInterfacePCI = 0x70636920, 1463 bmdDeviceInterfaceUSB = 0x75736220, 1464 bmdDeviceInterfaceThunderbolt = 0x7468756e 1465 } BMDDeviceInterface; 1466 1467 typedef /* [v1_enum] */ 1468 enum _BMDDeckLinkFrameMetadataID 1469 { 1470 bmdDeckLinkFrameMetadataHDRElectroOpticalTransferFunc = 0x656f7466, 1471 bmdDeckLinkFrameMetadataHDRDisplayPrimariesRedX = 0x68647278, 1472 bmdDeckLinkFrameMetadataHDRDisplayPrimariesRedY = 0x68647279, 1473 bmdDeckLinkFrameMetadataHDRDisplayPrimariesGreenX = 0x68646778, 1474 bmdDeckLinkFrameMetadataHDRDisplayPrimariesGreenY = 0x68646779, 1475 bmdDeckLinkFrameMetadataHDRDisplayPrimariesBlueX = 0x68646278, 1476 bmdDeckLinkFrameMetadataHDRDisplayPrimariesBlueY = 0x68646279, 1477 bmdDeckLinkFrameMetadataHDRWhitePointX = 0x68647778, 1478 bmdDeckLinkFrameMetadataHDRWhitePointY = 0x68647779, 1479 bmdDeckLinkFrameMetadataHDRMaxDisplayMasteringLuminance = 0x68646d6c, 1480 bmdDeckLinkFrameMetadataHDRMinDisplayMasteringLuminance = 0x686d696c, 1481 bmdDeckLinkFrameMetadataHDRMaximumContentLightLevel = 0x6d636c6c, 1482 bmdDeckLinkFrameMetadataHDRMaximumFrameAverageLightLevel = 0x66616c6c 1483 } BMDDeckLinkFrameMetadataID; 1484 1485 typedef /* [v1_enum] */ 1486 enum _BMDDuplexMode 1487 { 1488 bmdDuplexModeFull = 0x66647570, 1489 bmdDuplexModeHalf = 0x68647570 1490 } BMDDuplexMode; 1491 1492 typedef /* [v1_enum] */ 1493 enum _BMDDeckLinkAttributeID 1494 { 1495 BMDDeckLinkSupportsInternalKeying = 0x6b657969, 1496 BMDDeckLinkSupportsExternalKeying = 0x6b657965, 1497 BMDDeckLinkSupportsHDKeying = 0x6b657968, 1498 BMDDeckLinkSupportsInputFormatDetection = 0x696e6664, 1499 BMDDeckLinkHasReferenceInput = 0x6872696e, 1500 BMDDeckLinkHasSerialPort = 0x68737074, 1501 BMDDeckLinkHasAnalogVideoOutputGain = 0x61766f67, 1502 BMDDeckLinkCanOnlyAdjustOverallVideoOutputGain = 0x6f766f67, 1503 BMDDeckLinkHasVideoInputAntiAliasingFilter = 0x6161666c, 1504 BMDDeckLinkHasBypass = 0x62797073, 1505 BMDDeckLinkSupportsClockTimingAdjustment = 0x63746164, 1506 BMDDeckLinkSupportsFullDuplex = 0x66647570, 1507 BMDDeckLinkSupportsFullFrameReferenceInputTimingOffset = 0x6672696e, 1508 BMDDeckLinkSupportsSMPTELevelAOutput = 0x6c766c61, 1509 BMDDeckLinkSupportsDualLinkSDI = 0x73646c73, 1510 BMDDeckLinkSupportsQuadLinkSDI = 0x73716c73, 1511 BMDDeckLinkSupportsIdleOutput = 0x69646f75, 1512 BMDDeckLinkHasLTCTimecodeInput = 0x686c7463, 1513 BMDDeckLinkSupportsDuplexModeConfiguration = 0x64757078, 1514 BMDDeckLinkSupportsHDRMetadata = 0x6864726d, 1515 BMDDeckLinkMaximumAudioChannels = 0x6d616368, 1516 BMDDeckLinkMaximumAnalogAudioChannels = 0x61616368, 1517 BMDDeckLinkNumberOfSubDevices = 0x6e736264, 1518 BMDDeckLinkSubDeviceIndex = 0x73756269, 1519 BMDDeckLinkPersistentID = 0x70656964, 1520 BMDDeckLinkDeviceGroupID = 0x64676964, 1521 BMDDeckLinkTopologicalID = 0x746f6964, 1522 BMDDeckLinkVideoOutputConnections = 0x766f636e, 1523 BMDDeckLinkVideoInputConnections = 0x7669636e, 1524 BMDDeckLinkAudioOutputConnections = 0x616f636e, 1525 BMDDeckLinkAudioInputConnections = 0x6169636e, 1526 BMDDeckLinkVideoIOSupport = 0x76696f73, 1527 BMDDeckLinkDeckControlConnections = 0x6463636e, 1528 BMDDeckLinkDeviceInterface = 0x64627573, 1529 BMDDeckLinkAudioInputRCAChannelCount = 0x61697263, 1530 BMDDeckLinkAudioInputXLRChannelCount = 0x61697863, 1531 BMDDeckLinkAudioOutputRCAChannelCount = 0x616f7263, 1532 BMDDeckLinkAudioOutputXLRChannelCount = 0x616f7863, 1533 BMDDeckLinkPairedDevicePersistentID = 0x70706964, 1534 BMDDeckLinkVideoInputGainMinimum = 0x7669676d, 1535 BMDDeckLinkVideoInputGainMaximum = 0x76696778, 1536 BMDDeckLinkVideoOutputGainMinimum = 0x766f676d, 1537 BMDDeckLinkVideoOutputGainMaximum = 0x766f6778, 1538 BMDDeckLinkMicrophoneInputGainMinimum = 0x6d69676d, 1539 BMDDeckLinkMicrophoneInputGainMaximum = 0x6d696778, 1540 BMDDeckLinkSerialPortDeviceName = 0x736c706e, 1541 BMDDeckLinkVendorName = 0x766e6472, 1542 BMDDeckLinkDisplayName = 0x6473706e, 1543 BMDDeckLinkModelName = 0x6d646c6e, 1544 BMDDeckLinkDeviceHandle = 0x64657668 1545 } BMDDeckLinkAttributeID; 1546 1547 typedef /* [v1_enum] */ 1548 enum _BMDDeckLinkAPIInformationID 1549 { 1550 BMDDeckLinkAPIVersion = 0x76657273 1551 } BMDDeckLinkAPIInformationID; 1552 1553 typedef /* [v1_enum] */ 1554 enum _BMDDeckLinkStatusID 1555 { 1556 bmdDeckLinkStatusDetectedVideoInputMode = 0x6476696d, 1557 bmdDeckLinkStatusDetectedVideoInputFlags = 0x64766966, 1558 bmdDeckLinkStatusCurrentVideoInputMode = 0x6376696d, 1559 bmdDeckLinkStatusCurrentVideoInputPixelFormat = 0x63766970, 1560 bmdDeckLinkStatusCurrentVideoInputFlags = 0x63766966, 1561 bmdDeckLinkStatusCurrentVideoOutputMode = 0x63766f6d, 1562 bmdDeckLinkStatusCurrentVideoOutputFlags = 0x63766f66, 1563 bmdDeckLinkStatusPCIExpressLinkWidth = 0x70776964, 1564 bmdDeckLinkStatusPCIExpressLinkSpeed = 0x706c6e6b, 1565 bmdDeckLinkStatusLastVideoOutputPixelFormat = 0x6f706978, 1566 bmdDeckLinkStatusReferenceSignalMode = 0x7265666d, 1567 bmdDeckLinkStatusReferenceSignalFlags = 0x72656666, 1568 bmdDeckLinkStatusDuplexMode = 0x64757078, 1569 bmdDeckLinkStatusBusy = 0x62757379, 1570 bmdDeckLinkStatusVideoInputSignalLocked = 0x7669736c, 1571 bmdDeckLinkStatusReferenceSignalLocked = 0x7265666c 1572 } BMDDeckLinkStatusID; 1573 1574 typedef /* [v1_enum] */ 1575 enum _BMDDeckLinkVideoStatusFlags 1576 { 1577 bmdDeckLinkVideoStatusPsF = ( 1 << 0 ) , 1578 bmdDeckLinkVideoStatusDualStream3D = ( 1 << 1 ) 1579 } BMDDeckLinkVideoStatusFlags; 1580 1581 typedef /* [v1_enum] */ 1582 enum _BMDDuplexStatus 1583 { 1584 bmdDuplexStatusFullDuplex = 0x66647570, 1585 bmdDuplexStatusHalfDuplex = 0x68647570, 1586 bmdDuplexStatusSimplex = 0x73706c78, 1587 bmdDuplexStatusInactive = 0x696e6163 1588 } BMDDuplexStatus; 1589 1590 /* [v1_enum] */ 1591 enum _BMDDeviceBusyState 1592 { 1593 bmdDeviceCaptureBusy = ( 1 << 0 ) , 1594 bmdDevicePlaybackBusy = ( 1 << 1 ) , 1595 bmdDeviceSerialPortBusy = ( 1 << 2 ) 1596 } ; 1597 typedef /* [v1_enum] */ 1598 enum _BMDVideoIOSupport 1599 { 1600 bmdDeviceSupportsCapture = ( 1 << 0 ) , 1601 bmdDeviceSupportsPlayback = ( 1 << 1 ) 1602 } BMDVideoIOSupport; 1603 1604 typedef /* [v1_enum] */ 1605 enum _BMD3DPreviewFormat 1606 { 1607 bmd3DPreviewFormatDefault = 0x64656661, 1608 bmd3DPreviewFormatLeftOnly = 0x6c656674, 1609 bmd3DPreviewFormatRightOnly = 0x72696768, 1610 bmd3DPreviewFormatSideBySide = 0x73696465, 1611 bmd3DPreviewFormatTopBottom = 0x746f7062 1612 } BMD3DPreviewFormat; 1613 1614 typedef /* [v1_enum] */ 1615 enum _BMDNotifications 1616 { 1617 bmdPreferencesChanged = 0x70726566, 1618 bmdStatusChanged = 0x73746174 1619 } BMDNotifications; 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 typedef /* [v1_enum] */ 1654 enum _BMDDeckLinkAttributeID_v10_6 1655 { 1656 BMDDeckLinkSupportsDesktopDisplay_v10_6 = 0x65787464 1657 } BMDDeckLinkAttributeID_v10_6; 1658 1659 typedef /* [v1_enum] */ 1660 enum _BMDIdleVideoOutputOperation_v10_6 1661 { 1662 bmdIdleVideoOutputDesktop_v10_6 = 0x6465736b 1663 } BMDIdleVideoOutputOperation_v10_6; 1664 1665 typedef /* [v1_enum] */ 1666 enum _BMDDeckLinkAttributeID_v10_5 1667 { 1668 BMDDeckLinkDeviceBusyState_v10_5 = 0x64627374 1669 } BMDDeckLinkAttributeID_v10_5; 1670 1671 1672 typedef /* [v1_enum] */ 1673 enum _BMDDeckLinkConfigurationID_v10_4 1674 { 1675 bmdDeckLinkConfigSingleLinkVideoOutput_v10_4 = 0x73676c6f 1676 } BMDDeckLinkConfigurationID_v10_4; 1677 1678 1679 typedef /* [v1_enum] */ 1680 enum _BMDDeckLinkConfigurationID_v10_2 1681 { 1682 bmdDeckLinkConfig3GBpsVideoOutput_v10_2 = 0x33676273 1683 } BMDDeckLinkConfigurationID_v10_2; 1684 1685 typedef /* [v1_enum] */ 1686 enum _BMDAudioConnection_v10_2 1687 { 1688 bmdAudioConnectionEmbedded_v10_2 = 0x656d6264, 1689 bmdAudioConnectionAESEBU_v10_2 = 0x61657320, 1690 bmdAudioConnectionAnalog_v10_2 = 0x616e6c67, 1691 bmdAudioConnectionAnalogXLR_v10_2 = 0x61786c72, 1692 bmdAudioConnectionAnalogRCA_v10_2 = 0x61726361 1693 } BMDAudioConnection_v10_2; 1694 1695 1696 typedef /* [v1_enum] */ 1697 enum _BMDDeckControlVTRControlState_v8_1 1698 { 1699 bmdDeckControlNotInVTRControlMode_v8_1 = 0x6e76636d, 1700 bmdDeckControlVTRControlPlaying_v8_1 = 0x76747270, 1701 bmdDeckControlVTRControlRecording_v8_1 = 0x76747272, 1702 bmdDeckControlVTRControlStill_v8_1 = 0x76747261, 1703 bmdDeckControlVTRControlSeeking_v8_1 = 0x76747273, 1704 bmdDeckControlVTRControlStopped_v8_1 = 0x7674726f 1705 } BMDDeckControlVTRControlState_v8_1; 1706 1707 1708 1709 typedef /* [v1_enum] */ 1710 enum _BMDVideoConnection_v7_6 1711 { 1712 bmdVideoConnectionSDI_v7_6 = 0x73646920, 1713 bmdVideoConnectionHDMI_v7_6 = 0x68646d69, 1714 bmdVideoConnectionOpticalSDI_v7_6 = 0x6f707469, 1715 bmdVideoConnectionComponent_v7_6 = 0x63706e74, 1716 bmdVideoConnectionComposite_v7_6 = 0x636d7374, 1717 bmdVideoConnectionSVideo_v7_6 = 0x73766964 1718 } BMDVideoConnection_v7_6; 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 EXTERN_C const IID LIBID_DeckLinkAPI; 1743 1744 #ifndef __IDeckLinkTimecode_INTERFACE_DEFINED__ 1745 #define __IDeckLinkTimecode_INTERFACE_DEFINED__ 1746 1747 /* interface IDeckLinkTimecode */ 1748 /* [helpstring][uuid][object] */ 1749 1750 1751 EXTERN_C const IID IID_IDeckLinkTimecode; 1752 1753 #if defined(__cplusplus) && !defined(CINTERFACE) 1754 1755 MIDL_INTERFACE("BC6CFBD3-8317-4325-AC1C-1216391E9340") 1756 IDeckLinkTimecode : public IUnknown 1757 { 1758 public: 1759 virtual BMDTimecodeBCD STDMETHODCALLTYPE GetBCD( void) = 0; 1760 1761 virtual HRESULT STDMETHODCALLTYPE GetComponents( 1762 /* [out] */ unsigned char *hours, 1763 /* [out] */ unsigned char *minutes, 1764 /* [out] */ unsigned char *seconds, 1765 /* [out] */ unsigned char *frames) = 0; 1766 1767 virtual HRESULT STDMETHODCALLTYPE GetString( 1768 /* [out] */ BSTR *timecode) = 0; 1769 1770 virtual BMDTimecodeFlags STDMETHODCALLTYPE GetFlags( void) = 0; 1771 1772 virtual HRESULT STDMETHODCALLTYPE GetTimecodeUserBits( 1773 /* [out] */ BMDTimecodeUserBits *userBits) = 0; 1774 1775 }; 1776 1777 1778 #else /* C style interface */ 1779 1780 typedef struct IDeckLinkTimecodeVtbl 1781 { 1782 BEGIN_INTERFACE 1783 1784 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 1785 IDeckLinkTimecode * This, 1786 /* [in] */ REFIID riid, 1787 /* [annotation][iid_is][out] */ 1788 _COM_Outptr_ void **ppvObject); 1789 1790 ULONG ( STDMETHODCALLTYPE *AddRef )( 1791 IDeckLinkTimecode * This); 1792 1793 ULONG ( STDMETHODCALLTYPE *Release )( 1794 IDeckLinkTimecode * This); 1795 1796 BMDTimecodeBCD ( STDMETHODCALLTYPE *GetBCD )( 1797 IDeckLinkTimecode * This); 1798 1799 HRESULT ( STDMETHODCALLTYPE *GetComponents )( 1800 IDeckLinkTimecode * This, 1801 /* [out] */ unsigned char *hours, 1802 /* [out] */ unsigned char *minutes, 1803 /* [out] */ unsigned char *seconds, 1804 /* [out] */ unsigned char *frames); 1805 1806 HRESULT ( STDMETHODCALLTYPE *GetString )( 1807 IDeckLinkTimecode * This, 1808 /* [out] */ BSTR *timecode); 1809 1810 BMDTimecodeFlags ( STDMETHODCALLTYPE *GetFlags )( 1811 IDeckLinkTimecode * This); 1812 1813 HRESULT ( STDMETHODCALLTYPE *GetTimecodeUserBits )( 1814 IDeckLinkTimecode * This, 1815 /* [out] */ BMDTimecodeUserBits *userBits); 1816 1817 END_INTERFACE 1818 } IDeckLinkTimecodeVtbl; 1819 1820 interface IDeckLinkTimecode 1821 { 1822 CONST_VTBL struct IDeckLinkTimecodeVtbl *lpVtbl; 1823 }; 1824 1825 1826 1827 #ifdef COBJMACROS 1828 1829 1830 #define IDeckLinkTimecode_QueryInterface(This,riid,ppvObject) \ 1831 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 1832 1833 #define IDeckLinkTimecode_AddRef(This) \ 1834 ( (This)->lpVtbl -> AddRef(This) ) 1835 1836 #define IDeckLinkTimecode_Release(This) \ 1837 ( (This)->lpVtbl -> Release(This) ) 1838 1839 1840 #define IDeckLinkTimecode_GetBCD(This) \ 1841 ( (This)->lpVtbl -> GetBCD(This) ) 1842 1843 #define IDeckLinkTimecode_GetComponents(This,hours,minutes,seconds,frames) \ 1844 ( (This)->lpVtbl -> GetComponents(This,hours,minutes,seconds,frames) ) 1845 1846 #define IDeckLinkTimecode_GetString(This,timecode) \ 1847 ( (This)->lpVtbl -> GetString(This,timecode) ) 1848 1849 #define IDeckLinkTimecode_GetFlags(This) \ 1850 ( (This)->lpVtbl -> GetFlags(This) ) 1851 1852 #define IDeckLinkTimecode_GetTimecodeUserBits(This,userBits) \ 1853 ( (This)->lpVtbl -> GetTimecodeUserBits(This,userBits) ) 1854 1855 #endif /* COBJMACROS */ 1856 1857 1858 #endif /* C style interface */ 1859 1860 1861 1862 1863 #endif /* __IDeckLinkTimecode_INTERFACE_DEFINED__ */ 1864 1865 1866 #ifndef __IDeckLinkDisplayModeIterator_INTERFACE_DEFINED__ 1867 #define __IDeckLinkDisplayModeIterator_INTERFACE_DEFINED__ 1868 1869 /* interface IDeckLinkDisplayModeIterator */ 1870 /* [helpstring][uuid][object] */ 1871 1872 1873 EXTERN_C const IID IID_IDeckLinkDisplayModeIterator; 1874 1875 #if defined(__cplusplus) && !defined(CINTERFACE) 1876 1877 MIDL_INTERFACE("9C88499F-F601-4021-B80B-032E4EB41C35") 1878 IDeckLinkDisplayModeIterator : public IUnknown 1879 { 1880 public: 1881 virtual HRESULT STDMETHODCALLTYPE Next( 1882 /* [out] */ IDeckLinkDisplayMode **deckLinkDisplayMode) = 0; 1883 1884 }; 1885 1886 1887 #else /* C style interface */ 1888 1889 typedef struct IDeckLinkDisplayModeIteratorVtbl 1890 { 1891 BEGIN_INTERFACE 1892 1893 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 1894 IDeckLinkDisplayModeIterator * This, 1895 /* [in] */ REFIID riid, 1896 /* [annotation][iid_is][out] */ 1897 _COM_Outptr_ void **ppvObject); 1898 1899 ULONG ( STDMETHODCALLTYPE *AddRef )( 1900 IDeckLinkDisplayModeIterator * This); 1901 1902 ULONG ( STDMETHODCALLTYPE *Release )( 1903 IDeckLinkDisplayModeIterator * This); 1904 1905 HRESULT ( STDMETHODCALLTYPE *Next )( 1906 IDeckLinkDisplayModeIterator * This, 1907 /* [out] */ IDeckLinkDisplayMode **deckLinkDisplayMode); 1908 1909 END_INTERFACE 1910 } IDeckLinkDisplayModeIteratorVtbl; 1911 1912 interface IDeckLinkDisplayModeIterator 1913 { 1914 CONST_VTBL struct IDeckLinkDisplayModeIteratorVtbl *lpVtbl; 1915 }; 1916 1917 1918 1919 #ifdef COBJMACROS 1920 1921 1922 #define IDeckLinkDisplayModeIterator_QueryInterface(This,riid,ppvObject) \ 1923 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 1924 1925 #define IDeckLinkDisplayModeIterator_AddRef(This) \ 1926 ( (This)->lpVtbl -> AddRef(This) ) 1927 1928 #define IDeckLinkDisplayModeIterator_Release(This) \ 1929 ( (This)->lpVtbl -> Release(This) ) 1930 1931 1932 #define IDeckLinkDisplayModeIterator_Next(This,deckLinkDisplayMode) \ 1933 ( (This)->lpVtbl -> Next(This,deckLinkDisplayMode) ) 1934 1935 #endif /* COBJMACROS */ 1936 1937 1938 #endif /* C style interface */ 1939 1940 1941 1942 1943 #endif /* __IDeckLinkDisplayModeIterator_INTERFACE_DEFINED__ */ 1944 1945 1946 #ifndef __IDeckLinkDisplayMode_INTERFACE_DEFINED__ 1947 #define __IDeckLinkDisplayMode_INTERFACE_DEFINED__ 1948 1949 /* interface IDeckLinkDisplayMode */ 1950 /* [helpstring][uuid][object] */ 1951 1952 1953 EXTERN_C const IID IID_IDeckLinkDisplayMode; 1954 1955 #if defined(__cplusplus) && !defined(CINTERFACE) 1956 1957 MIDL_INTERFACE("3EB2C1AB-0A3D-4523-A3AD-F40D7FB14E78") 1958 IDeckLinkDisplayMode : public IUnknown 1959 { 1960 public: 1961 virtual HRESULT STDMETHODCALLTYPE GetName( 1962 /* [out] */ BSTR *name) = 0; 1963 1964 virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode( void) = 0; 1965 1966 virtual long STDMETHODCALLTYPE GetWidth( void) = 0; 1967 1968 virtual long STDMETHODCALLTYPE GetHeight( void) = 0; 1969 1970 virtual HRESULT STDMETHODCALLTYPE GetFrameRate( 1971 /* [out] */ BMDTimeValue *frameDuration, 1972 /* [out] */ BMDTimeScale *timeScale) = 0; 1973 1974 virtual BMDFieldDominance STDMETHODCALLTYPE GetFieldDominance( void) = 0; 1975 1976 virtual BMDDisplayModeFlags STDMETHODCALLTYPE GetFlags( void) = 0; 1977 1978 }; 1979 1980 1981 #else /* C style interface */ 1982 1983 typedef struct IDeckLinkDisplayModeVtbl 1984 { 1985 BEGIN_INTERFACE 1986 1987 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 1988 IDeckLinkDisplayMode * This, 1989 /* [in] */ REFIID riid, 1990 /* [annotation][iid_is][out] */ 1991 _COM_Outptr_ void **ppvObject); 1992 1993 ULONG ( STDMETHODCALLTYPE *AddRef )( 1994 IDeckLinkDisplayMode * This); 1995 1996 ULONG ( STDMETHODCALLTYPE *Release )( 1997 IDeckLinkDisplayMode * This); 1998 1999 HRESULT ( STDMETHODCALLTYPE *GetName )( 2000 IDeckLinkDisplayMode * This, 2001 /* [out] */ BSTR *name); 2002 2003 BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )( 2004 IDeckLinkDisplayMode * This); 2005 2006 long ( STDMETHODCALLTYPE *GetWidth )( 2007 IDeckLinkDisplayMode * This); 2008 2009 long ( STDMETHODCALLTYPE *GetHeight )( 2010 IDeckLinkDisplayMode * This); 2011 2012 HRESULT ( STDMETHODCALLTYPE *GetFrameRate )( 2013 IDeckLinkDisplayMode * This, 2014 /* [out] */ BMDTimeValue *frameDuration, 2015 /* [out] */ BMDTimeScale *timeScale); 2016 2017 BMDFieldDominance ( STDMETHODCALLTYPE *GetFieldDominance )( 2018 IDeckLinkDisplayMode * This); 2019 2020 BMDDisplayModeFlags ( STDMETHODCALLTYPE *GetFlags )( 2021 IDeckLinkDisplayMode * This); 2022 2023 END_INTERFACE 2024 } IDeckLinkDisplayModeVtbl; 2025 2026 interface IDeckLinkDisplayMode 2027 { 2028 CONST_VTBL struct IDeckLinkDisplayModeVtbl *lpVtbl; 2029 }; 2030 2031 2032 2033 #ifdef COBJMACROS 2034 2035 2036 #define IDeckLinkDisplayMode_QueryInterface(This,riid,ppvObject) \ 2037 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 2038 2039 #define IDeckLinkDisplayMode_AddRef(This) \ 2040 ( (This)->lpVtbl -> AddRef(This) ) 2041 2042 #define IDeckLinkDisplayMode_Release(This) \ 2043 ( (This)->lpVtbl -> Release(This) ) 2044 2045 2046 #define IDeckLinkDisplayMode_GetName(This,name) \ 2047 ( (This)->lpVtbl -> GetName(This,name) ) 2048 2049 #define IDeckLinkDisplayMode_GetDisplayMode(This) \ 2050 ( (This)->lpVtbl -> GetDisplayMode(This) ) 2051 2052 #define IDeckLinkDisplayMode_GetWidth(This) \ 2053 ( (This)->lpVtbl -> GetWidth(This) ) 2054 2055 #define IDeckLinkDisplayMode_GetHeight(This) \ 2056 ( (This)->lpVtbl -> GetHeight(This) ) 2057 2058 #define IDeckLinkDisplayMode_GetFrameRate(This,frameDuration,timeScale) \ 2059 ( (This)->lpVtbl -> GetFrameRate(This,frameDuration,timeScale) ) 2060 2061 #define IDeckLinkDisplayMode_GetFieldDominance(This) \ 2062 ( (This)->lpVtbl -> GetFieldDominance(This) ) 2063 2064 #define IDeckLinkDisplayMode_GetFlags(This) \ 2065 ( (This)->lpVtbl -> GetFlags(This) ) 2066 2067 #endif /* COBJMACROS */ 2068 2069 2070 #endif /* C style interface */ 2071 2072 2073 2074 2075 #endif /* __IDeckLinkDisplayMode_INTERFACE_DEFINED__ */ 2076 2077 2078 #ifndef __IDeckLink_INTERFACE_DEFINED__ 2079 #define __IDeckLink_INTERFACE_DEFINED__ 2080 2081 /* interface IDeckLink */ 2082 /* [helpstring][uuid][object] */ 2083 2084 2085 EXTERN_C const IID IID_IDeckLink; 2086 2087 #if defined(__cplusplus) && !defined(CINTERFACE) 2088 2089 MIDL_INTERFACE("C418FBDD-0587-48ED-8FE5-640F0A14AF91") 2090 IDeckLink : public IUnknown 2091 { 2092 public: 2093 virtual HRESULT STDMETHODCALLTYPE GetModelName( 2094 /* [out] */ BSTR *modelName) = 0; 2095 2096 virtual HRESULT STDMETHODCALLTYPE GetDisplayName( 2097 /* [out] */ BSTR *displayName) = 0; 2098 2099 }; 2100 2101 2102 #else /* C style interface */ 2103 2104 typedef struct IDeckLinkVtbl 2105 { 2106 BEGIN_INTERFACE 2107 2108 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 2109 IDeckLink * This, 2110 /* [in] */ REFIID riid, 2111 /* [annotation][iid_is][out] */ 2112 _COM_Outptr_ void **ppvObject); 2113 2114 ULONG ( STDMETHODCALLTYPE *AddRef )( 2115 IDeckLink * This); 2116 2117 ULONG ( STDMETHODCALLTYPE *Release )( 2118 IDeckLink * This); 2119 2120 HRESULT ( STDMETHODCALLTYPE *GetModelName )( 2121 IDeckLink * This, 2122 /* [out] */ BSTR *modelName); 2123 2124 HRESULT ( STDMETHODCALLTYPE *GetDisplayName )( 2125 IDeckLink * This, 2126 /* [out] */ BSTR *displayName); 2127 2128 END_INTERFACE 2129 } IDeckLinkVtbl; 2130 2131 interface IDeckLink 2132 { 2133 CONST_VTBL struct IDeckLinkVtbl *lpVtbl; 2134 }; 2135 2136 2137 2138 #ifdef COBJMACROS 2139 2140 2141 #define IDeckLink_QueryInterface(This,riid,ppvObject) \ 2142 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 2143 2144 #define IDeckLink_AddRef(This) \ 2145 ( (This)->lpVtbl -> AddRef(This) ) 2146 2147 #define IDeckLink_Release(This) \ 2148 ( (This)->lpVtbl -> Release(This) ) 2149 2150 2151 #define IDeckLink_GetModelName(This,modelName) \ 2152 ( (This)->lpVtbl -> GetModelName(This,modelName) ) 2153 2154 #define IDeckLink_GetDisplayName(This,displayName) \ 2155 ( (This)->lpVtbl -> GetDisplayName(This,displayName) ) 2156 2157 #endif /* COBJMACROS */ 2158 2159 2160 #endif /* C style interface */ 2161 2162 2163 2164 2165 #endif /* __IDeckLink_INTERFACE_DEFINED__ */ 2166 2167 2168 #ifndef __IDeckLinkConfiguration_INTERFACE_DEFINED__ 2169 #define __IDeckLinkConfiguration_INTERFACE_DEFINED__ 2170 2171 /* interface IDeckLinkConfiguration */ 2172 /* [helpstring][local][uuid][object] */ 2173 2174 2175 EXTERN_C const IID IID_IDeckLinkConfiguration; 2176 2177 #if defined(__cplusplus) && !defined(CINTERFACE) 2178 2179 MIDL_INTERFACE("CB71734A-FE37-4E8D-8E13-802133A1C3F2") 2180 IDeckLinkConfiguration : public IUnknown 2181 { 2182 public: 2183 virtual HRESULT STDMETHODCALLTYPE SetFlag( 2184 /* [in] */ BMDDeckLinkConfigurationID cfgID, 2185 /* [in] */ BOOL value) = 0; 2186 2187 virtual HRESULT STDMETHODCALLTYPE GetFlag( 2188 /* [in] */ BMDDeckLinkConfigurationID cfgID, 2189 /* [out] */ BOOL *value) = 0; 2190 2191 virtual HRESULT STDMETHODCALLTYPE SetInt( 2192 /* [in] */ BMDDeckLinkConfigurationID cfgID, 2193 /* [in] */ LONGLONG value) = 0; 2194 2195 virtual HRESULT STDMETHODCALLTYPE GetInt( 2196 /* [in] */ BMDDeckLinkConfigurationID cfgID, 2197 /* [out] */ LONGLONG *value) = 0; 2198 2199 virtual HRESULT STDMETHODCALLTYPE SetFloat( 2200 /* [in] */ BMDDeckLinkConfigurationID cfgID, 2201 /* [in] */ double value) = 0; 2202 2203 virtual HRESULT STDMETHODCALLTYPE GetFloat( 2204 /* [in] */ BMDDeckLinkConfigurationID cfgID, 2205 /* [out] */ double *value) = 0; 2206 2207 virtual HRESULT STDMETHODCALLTYPE SetString( 2208 /* [in] */ BMDDeckLinkConfigurationID cfgID, 2209 /* [in] */ BSTR value) = 0; 2210 2211 virtual HRESULT STDMETHODCALLTYPE GetString( 2212 /* [in] */ BMDDeckLinkConfigurationID cfgID, 2213 /* [out] */ BSTR *value) = 0; 2214 2215 virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences( void) = 0; 2216 2217 }; 2218 2219 2220 #else /* C style interface */ 2221 2222 typedef struct IDeckLinkConfigurationVtbl 2223 { 2224 BEGIN_INTERFACE 2225 2226 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 2227 IDeckLinkConfiguration * This, 2228 /* [in] */ REFIID riid, 2229 /* [annotation][iid_is][out] */ 2230 _COM_Outptr_ void **ppvObject); 2231 2232 ULONG ( STDMETHODCALLTYPE *AddRef )( 2233 IDeckLinkConfiguration * This); 2234 2235 ULONG ( STDMETHODCALLTYPE *Release )( 2236 IDeckLinkConfiguration * This); 2237 2238 HRESULT ( STDMETHODCALLTYPE *SetFlag )( 2239 IDeckLinkConfiguration * This, 2240 /* [in] */ BMDDeckLinkConfigurationID cfgID, 2241 /* [in] */ BOOL value); 2242 2243 HRESULT ( STDMETHODCALLTYPE *GetFlag )( 2244 IDeckLinkConfiguration * This, 2245 /* [in] */ BMDDeckLinkConfigurationID cfgID, 2246 /* [out] */ BOOL *value); 2247 2248 HRESULT ( STDMETHODCALLTYPE *SetInt )( 2249 IDeckLinkConfiguration * This, 2250 /* [in] */ BMDDeckLinkConfigurationID cfgID, 2251 /* [in] */ LONGLONG value); 2252 2253 HRESULT ( STDMETHODCALLTYPE *GetInt )( 2254 IDeckLinkConfiguration * This, 2255 /* [in] */ BMDDeckLinkConfigurationID cfgID, 2256 /* [out] */ LONGLONG *value); 2257 2258 HRESULT ( STDMETHODCALLTYPE *SetFloat )( 2259 IDeckLinkConfiguration * This, 2260 /* [in] */ BMDDeckLinkConfigurationID cfgID, 2261 /* [in] */ double value); 2262 2263 HRESULT ( STDMETHODCALLTYPE *GetFloat )( 2264 IDeckLinkConfiguration * This, 2265 /* [in] */ BMDDeckLinkConfigurationID cfgID, 2266 /* [out] */ double *value); 2267 2268 HRESULT ( STDMETHODCALLTYPE *SetString )( 2269 IDeckLinkConfiguration * This, 2270 /* [in] */ BMDDeckLinkConfigurationID cfgID, 2271 /* [in] */ BSTR value); 2272 2273 HRESULT ( STDMETHODCALLTYPE *GetString )( 2274 IDeckLinkConfiguration * This, 2275 /* [in] */ BMDDeckLinkConfigurationID cfgID, 2276 /* [out] */ BSTR *value); 2277 2278 HRESULT ( STDMETHODCALLTYPE *WriteConfigurationToPreferences )( 2279 IDeckLinkConfiguration * This); 2280 2281 END_INTERFACE 2282 } IDeckLinkConfigurationVtbl; 2283 2284 interface IDeckLinkConfiguration 2285 { 2286 CONST_VTBL struct IDeckLinkConfigurationVtbl *lpVtbl; 2287 }; 2288 2289 2290 2291 #ifdef COBJMACROS 2292 2293 2294 #define IDeckLinkConfiguration_QueryInterface(This,riid,ppvObject) \ 2295 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 2296 2297 #define IDeckLinkConfiguration_AddRef(This) \ 2298 ( (This)->lpVtbl -> AddRef(This) ) 2299 2300 #define IDeckLinkConfiguration_Release(This) \ 2301 ( (This)->lpVtbl -> Release(This) ) 2302 2303 2304 #define IDeckLinkConfiguration_SetFlag(This,cfgID,value) \ 2305 ( (This)->lpVtbl -> SetFlag(This,cfgID,value) ) 2306 2307 #define IDeckLinkConfiguration_GetFlag(This,cfgID,value) \ 2308 ( (This)->lpVtbl -> GetFlag(This,cfgID,value) ) 2309 2310 #define IDeckLinkConfiguration_SetInt(This,cfgID,value) \ 2311 ( (This)->lpVtbl -> SetInt(This,cfgID,value) ) 2312 2313 #define IDeckLinkConfiguration_GetInt(This,cfgID,value) \ 2314 ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) 2315 2316 #define IDeckLinkConfiguration_SetFloat(This,cfgID,value) \ 2317 ( (This)->lpVtbl -> SetFloat(This,cfgID,value) ) 2318 2319 #define IDeckLinkConfiguration_GetFloat(This,cfgID,value) \ 2320 ( (This)->lpVtbl -> GetFloat(This,cfgID,value) ) 2321 2322 #define IDeckLinkConfiguration_SetString(This,cfgID,value) \ 2323 ( (This)->lpVtbl -> SetString(This,cfgID,value) ) 2324 2325 #define IDeckLinkConfiguration_GetString(This,cfgID,value) \ 2326 ( (This)->lpVtbl -> GetString(This,cfgID,value) ) 2327 2328 #define IDeckLinkConfiguration_WriteConfigurationToPreferences(This) \ 2329 ( (This)->lpVtbl -> WriteConfigurationToPreferences(This) ) 2330 2331 #endif /* COBJMACROS */ 2332 2333 2334 #endif /* C style interface */ 2335 2336 2337 2338 2339 #endif /* __IDeckLinkConfiguration_INTERFACE_DEFINED__ */ 2340 2341 2342 #ifndef __IDeckLinkEncoderConfiguration_INTERFACE_DEFINED__ 2343 #define __IDeckLinkEncoderConfiguration_INTERFACE_DEFINED__ 2344 2345 /* interface IDeckLinkEncoderConfiguration */ 2346 /* [helpstring][local][uuid][object] */ 2347 2348 2349 EXTERN_C const IID IID_IDeckLinkEncoderConfiguration; 2350 2351 #if defined(__cplusplus) && !defined(CINTERFACE) 2352 2353 MIDL_INTERFACE("138050E5-C60A-4552-BF3F-0F358049327E") 2354 IDeckLinkEncoderConfiguration : public IUnknown 2355 { 2356 public: 2357 virtual HRESULT STDMETHODCALLTYPE SetFlag( 2358 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2359 /* [in] */ BOOL value) = 0; 2360 2361 virtual HRESULT STDMETHODCALLTYPE GetFlag( 2362 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2363 /* [out] */ BOOL *value) = 0; 2364 2365 virtual HRESULT STDMETHODCALLTYPE SetInt( 2366 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2367 /* [in] */ LONGLONG value) = 0; 2368 2369 virtual HRESULT STDMETHODCALLTYPE GetInt( 2370 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2371 /* [out] */ LONGLONG *value) = 0; 2372 2373 virtual HRESULT STDMETHODCALLTYPE SetFloat( 2374 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2375 /* [in] */ double value) = 0; 2376 2377 virtual HRESULT STDMETHODCALLTYPE GetFloat( 2378 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2379 /* [out] */ double *value) = 0; 2380 2381 virtual HRESULT STDMETHODCALLTYPE SetString( 2382 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2383 /* [in] */ BSTR value) = 0; 2384 2385 virtual HRESULT STDMETHODCALLTYPE GetString( 2386 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2387 /* [out] */ BSTR *value) = 0; 2388 2389 virtual HRESULT STDMETHODCALLTYPE GetBytes( 2390 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2391 /* [out] */ void *buffer, 2392 /* [out][in] */ unsigned int *bufferSize) = 0; 2393 2394 }; 2395 2396 2397 #else /* C style interface */ 2398 2399 typedef struct IDeckLinkEncoderConfigurationVtbl 2400 { 2401 BEGIN_INTERFACE 2402 2403 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 2404 IDeckLinkEncoderConfiguration * This, 2405 /* [in] */ REFIID riid, 2406 /* [annotation][iid_is][out] */ 2407 _COM_Outptr_ void **ppvObject); 2408 2409 ULONG ( STDMETHODCALLTYPE *AddRef )( 2410 IDeckLinkEncoderConfiguration * This); 2411 2412 ULONG ( STDMETHODCALLTYPE *Release )( 2413 IDeckLinkEncoderConfiguration * This); 2414 2415 HRESULT ( STDMETHODCALLTYPE *SetFlag )( 2416 IDeckLinkEncoderConfiguration * This, 2417 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2418 /* [in] */ BOOL value); 2419 2420 HRESULT ( STDMETHODCALLTYPE *GetFlag )( 2421 IDeckLinkEncoderConfiguration * This, 2422 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2423 /* [out] */ BOOL *value); 2424 2425 HRESULT ( STDMETHODCALLTYPE *SetInt )( 2426 IDeckLinkEncoderConfiguration * This, 2427 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2428 /* [in] */ LONGLONG value); 2429 2430 HRESULT ( STDMETHODCALLTYPE *GetInt )( 2431 IDeckLinkEncoderConfiguration * This, 2432 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2433 /* [out] */ LONGLONG *value); 2434 2435 HRESULT ( STDMETHODCALLTYPE *SetFloat )( 2436 IDeckLinkEncoderConfiguration * This, 2437 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2438 /* [in] */ double value); 2439 2440 HRESULT ( STDMETHODCALLTYPE *GetFloat )( 2441 IDeckLinkEncoderConfiguration * This, 2442 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2443 /* [out] */ double *value); 2444 2445 HRESULT ( STDMETHODCALLTYPE *SetString )( 2446 IDeckLinkEncoderConfiguration * This, 2447 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2448 /* [in] */ BSTR value); 2449 2450 HRESULT ( STDMETHODCALLTYPE *GetString )( 2451 IDeckLinkEncoderConfiguration * This, 2452 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2453 /* [out] */ BSTR *value); 2454 2455 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 2456 IDeckLinkEncoderConfiguration * This, 2457 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 2458 /* [out] */ void *buffer, 2459 /* [out][in] */ unsigned int *bufferSize); 2460 2461 END_INTERFACE 2462 } IDeckLinkEncoderConfigurationVtbl; 2463 2464 interface IDeckLinkEncoderConfiguration 2465 { 2466 CONST_VTBL struct IDeckLinkEncoderConfigurationVtbl *lpVtbl; 2467 }; 2468 2469 2470 2471 #ifdef COBJMACROS 2472 2473 2474 #define IDeckLinkEncoderConfiguration_QueryInterface(This,riid,ppvObject) \ 2475 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 2476 2477 #define IDeckLinkEncoderConfiguration_AddRef(This) \ 2478 ( (This)->lpVtbl -> AddRef(This) ) 2479 2480 #define IDeckLinkEncoderConfiguration_Release(This) \ 2481 ( (This)->lpVtbl -> Release(This) ) 2482 2483 2484 #define IDeckLinkEncoderConfiguration_SetFlag(This,cfgID,value) \ 2485 ( (This)->lpVtbl -> SetFlag(This,cfgID,value) ) 2486 2487 #define IDeckLinkEncoderConfiguration_GetFlag(This,cfgID,value) \ 2488 ( (This)->lpVtbl -> GetFlag(This,cfgID,value) ) 2489 2490 #define IDeckLinkEncoderConfiguration_SetInt(This,cfgID,value) \ 2491 ( (This)->lpVtbl -> SetInt(This,cfgID,value) ) 2492 2493 #define IDeckLinkEncoderConfiguration_GetInt(This,cfgID,value) \ 2494 ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) 2495 2496 #define IDeckLinkEncoderConfiguration_SetFloat(This,cfgID,value) \ 2497 ( (This)->lpVtbl -> SetFloat(This,cfgID,value) ) 2498 2499 #define IDeckLinkEncoderConfiguration_GetFloat(This,cfgID,value) \ 2500 ( (This)->lpVtbl -> GetFloat(This,cfgID,value) ) 2501 2502 #define IDeckLinkEncoderConfiguration_SetString(This,cfgID,value) \ 2503 ( (This)->lpVtbl -> SetString(This,cfgID,value) ) 2504 2505 #define IDeckLinkEncoderConfiguration_GetString(This,cfgID,value) \ 2506 ( (This)->lpVtbl -> GetString(This,cfgID,value) ) 2507 2508 #define IDeckLinkEncoderConfiguration_GetBytes(This,cfgID,buffer,bufferSize) \ 2509 ( (This)->lpVtbl -> GetBytes(This,cfgID,buffer,bufferSize) ) 2510 2511 #endif /* COBJMACROS */ 2512 2513 2514 #endif /* C style interface */ 2515 2516 2517 2518 2519 #endif /* __IDeckLinkEncoderConfiguration_INTERFACE_DEFINED__ */ 2520 2521 2522 #ifndef __IDeckLinkDeckControlStatusCallback_INTERFACE_DEFINED__ 2523 #define __IDeckLinkDeckControlStatusCallback_INTERFACE_DEFINED__ 2524 2525 /* interface IDeckLinkDeckControlStatusCallback */ 2526 /* [helpstring][uuid][object] */ 2527 2528 2529 EXTERN_C const IID IID_IDeckLinkDeckControlStatusCallback; 2530 2531 #if defined(__cplusplus) && !defined(CINTERFACE) 2532 2533 MIDL_INTERFACE("53436FFB-B434-4906-BADC-AE3060FFE8EF") 2534 IDeckLinkDeckControlStatusCallback : public IUnknown 2535 { 2536 public: 2537 virtual HRESULT STDMETHODCALLTYPE TimecodeUpdate( 2538 /* [in] */ BMDTimecodeBCD currentTimecode) = 0; 2539 2540 virtual HRESULT STDMETHODCALLTYPE VTRControlStateChanged( 2541 /* [in] */ BMDDeckControlVTRControlState newState, 2542 /* [in] */ BMDDeckControlError error) = 0; 2543 2544 virtual HRESULT STDMETHODCALLTYPE DeckControlEventReceived( 2545 /* [in] */ BMDDeckControlEvent event, 2546 /* [in] */ BMDDeckControlError error) = 0; 2547 2548 virtual HRESULT STDMETHODCALLTYPE DeckControlStatusChanged( 2549 /* [in] */ BMDDeckControlStatusFlags flags, 2550 /* [in] */ unsigned int mask) = 0; 2551 2552 }; 2553 2554 2555 #else /* C style interface */ 2556 2557 typedef struct IDeckLinkDeckControlStatusCallbackVtbl 2558 { 2559 BEGIN_INTERFACE 2560 2561 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 2562 IDeckLinkDeckControlStatusCallback * This, 2563 /* [in] */ REFIID riid, 2564 /* [annotation][iid_is][out] */ 2565 _COM_Outptr_ void **ppvObject); 2566 2567 ULONG ( STDMETHODCALLTYPE *AddRef )( 2568 IDeckLinkDeckControlStatusCallback * This); 2569 2570 ULONG ( STDMETHODCALLTYPE *Release )( 2571 IDeckLinkDeckControlStatusCallback * This); 2572 2573 HRESULT ( STDMETHODCALLTYPE *TimecodeUpdate )( 2574 IDeckLinkDeckControlStatusCallback * This, 2575 /* [in] */ BMDTimecodeBCD currentTimecode); 2576 2577 HRESULT ( STDMETHODCALLTYPE *VTRControlStateChanged )( 2578 IDeckLinkDeckControlStatusCallback * This, 2579 /* [in] */ BMDDeckControlVTRControlState newState, 2580 /* [in] */ BMDDeckControlError error); 2581 2582 HRESULT ( STDMETHODCALLTYPE *DeckControlEventReceived )( 2583 IDeckLinkDeckControlStatusCallback * This, 2584 /* [in] */ BMDDeckControlEvent event, 2585 /* [in] */ BMDDeckControlError error); 2586 2587 HRESULT ( STDMETHODCALLTYPE *DeckControlStatusChanged )( 2588 IDeckLinkDeckControlStatusCallback * This, 2589 /* [in] */ BMDDeckControlStatusFlags flags, 2590 /* [in] */ unsigned int mask); 2591 2592 END_INTERFACE 2593 } IDeckLinkDeckControlStatusCallbackVtbl; 2594 2595 interface IDeckLinkDeckControlStatusCallback 2596 { 2597 CONST_VTBL struct IDeckLinkDeckControlStatusCallbackVtbl *lpVtbl; 2598 }; 2599 2600 2601 2602 #ifdef COBJMACROS 2603 2604 2605 #define IDeckLinkDeckControlStatusCallback_QueryInterface(This,riid,ppvObject) \ 2606 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 2607 2608 #define IDeckLinkDeckControlStatusCallback_AddRef(This) \ 2609 ( (This)->lpVtbl -> AddRef(This) ) 2610 2611 #define IDeckLinkDeckControlStatusCallback_Release(This) \ 2612 ( (This)->lpVtbl -> Release(This) ) 2613 2614 2615 #define IDeckLinkDeckControlStatusCallback_TimecodeUpdate(This,currentTimecode) \ 2616 ( (This)->lpVtbl -> TimecodeUpdate(This,currentTimecode) ) 2617 2618 #define IDeckLinkDeckControlStatusCallback_VTRControlStateChanged(This,newState,error) \ 2619 ( (This)->lpVtbl -> VTRControlStateChanged(This,newState,error) ) 2620 2621 #define IDeckLinkDeckControlStatusCallback_DeckControlEventReceived(This,event,error) \ 2622 ( (This)->lpVtbl -> DeckControlEventReceived(This,event,error) ) 2623 2624 #define IDeckLinkDeckControlStatusCallback_DeckControlStatusChanged(This,flags,mask) \ 2625 ( (This)->lpVtbl -> DeckControlStatusChanged(This,flags,mask) ) 2626 2627 #endif /* COBJMACROS */ 2628 2629 2630 #endif /* C style interface */ 2631 2632 2633 2634 2635 #endif /* __IDeckLinkDeckControlStatusCallback_INTERFACE_DEFINED__ */ 2636 2637 2638 #ifndef __IDeckLinkDeckControl_INTERFACE_DEFINED__ 2639 #define __IDeckLinkDeckControl_INTERFACE_DEFINED__ 2640 2641 /* interface IDeckLinkDeckControl */ 2642 /* [helpstring][uuid][object] */ 2643 2644 2645 EXTERN_C const IID IID_IDeckLinkDeckControl; 2646 2647 #if defined(__cplusplus) && !defined(CINTERFACE) 2648 2649 MIDL_INTERFACE("8E1C3ACE-19C7-4E00-8B92-D80431D958BE") 2650 IDeckLinkDeckControl : public IUnknown 2651 { 2652 public: 2653 virtual HRESULT STDMETHODCALLTYPE Open( 2654 /* [in] */ BMDTimeScale timeScale, 2655 /* [in] */ BMDTimeValue timeValue, 2656 /* [in] */ BOOL timecodeIsDropFrame, 2657 /* [out] */ BMDDeckControlError *error) = 0; 2658 2659 virtual HRESULT STDMETHODCALLTYPE Close( 2660 /* [in] */ BOOL standbyOn) = 0; 2661 2662 virtual HRESULT STDMETHODCALLTYPE GetCurrentState( 2663 /* [out] */ BMDDeckControlMode *mode, 2664 /* [out] */ BMDDeckControlVTRControlState *vtrControlState, 2665 /* [out] */ BMDDeckControlStatusFlags *flags) = 0; 2666 2667 virtual HRESULT STDMETHODCALLTYPE SetStandby( 2668 /* [in] */ BOOL standbyOn) = 0; 2669 2670 virtual HRESULT STDMETHODCALLTYPE SendCommand( 2671 /* [in] */ unsigned char *inBuffer, 2672 /* [in] */ unsigned int inBufferSize, 2673 /* [out] */ unsigned char *outBuffer, 2674 /* [out] */ unsigned int *outDataSize, 2675 /* [in] */ unsigned int outBufferSize, 2676 /* [out] */ BMDDeckControlError *error) = 0; 2677 2678 virtual HRESULT STDMETHODCALLTYPE Play( 2679 /* [out] */ BMDDeckControlError *error) = 0; 2680 2681 virtual HRESULT STDMETHODCALLTYPE Stop( 2682 /* [out] */ BMDDeckControlError *error) = 0; 2683 2684 virtual HRESULT STDMETHODCALLTYPE TogglePlayStop( 2685 /* [out] */ BMDDeckControlError *error) = 0; 2686 2687 virtual HRESULT STDMETHODCALLTYPE Eject( 2688 /* [out] */ BMDDeckControlError *error) = 0; 2689 2690 virtual HRESULT STDMETHODCALLTYPE GoToTimecode( 2691 /* [in] */ BMDTimecodeBCD timecode, 2692 /* [out] */ BMDDeckControlError *error) = 0; 2693 2694 virtual HRESULT STDMETHODCALLTYPE FastForward( 2695 /* [in] */ BOOL viewTape, 2696 /* [out] */ BMDDeckControlError *error) = 0; 2697 2698 virtual HRESULT STDMETHODCALLTYPE Rewind( 2699 /* [in] */ BOOL viewTape, 2700 /* [out] */ BMDDeckControlError *error) = 0; 2701 2702 virtual HRESULT STDMETHODCALLTYPE StepForward( 2703 /* [out] */ BMDDeckControlError *error) = 0; 2704 2705 virtual HRESULT STDMETHODCALLTYPE StepBack( 2706 /* [out] */ BMDDeckControlError *error) = 0; 2707 2708 virtual HRESULT STDMETHODCALLTYPE Jog( 2709 /* [in] */ double rate, 2710 /* [out] */ BMDDeckControlError *error) = 0; 2711 2712 virtual HRESULT STDMETHODCALLTYPE Shuttle( 2713 /* [in] */ double rate, 2714 /* [out] */ BMDDeckControlError *error) = 0; 2715 2716 virtual HRESULT STDMETHODCALLTYPE GetTimecodeString( 2717 /* [out] */ BSTR *currentTimeCode, 2718 /* [out] */ BMDDeckControlError *error) = 0; 2719 2720 virtual HRESULT STDMETHODCALLTYPE GetTimecode( 2721 /* [out] */ IDeckLinkTimecode **currentTimecode, 2722 /* [out] */ BMDDeckControlError *error) = 0; 2723 2724 virtual HRESULT STDMETHODCALLTYPE GetTimecodeBCD( 2725 /* [out] */ BMDTimecodeBCD *currentTimecode, 2726 /* [out] */ BMDDeckControlError *error) = 0; 2727 2728 virtual HRESULT STDMETHODCALLTYPE SetPreroll( 2729 /* [in] */ unsigned int prerollSeconds) = 0; 2730 2731 virtual HRESULT STDMETHODCALLTYPE GetPreroll( 2732 /* [out] */ unsigned int *prerollSeconds) = 0; 2733 2734 virtual HRESULT STDMETHODCALLTYPE SetExportOffset( 2735 /* [in] */ int exportOffsetFields) = 0; 2736 2737 virtual HRESULT STDMETHODCALLTYPE GetExportOffset( 2738 /* [out] */ int *exportOffsetFields) = 0; 2739 2740 virtual HRESULT STDMETHODCALLTYPE GetManualExportOffset( 2741 /* [out] */ int *deckManualExportOffsetFields) = 0; 2742 2743 virtual HRESULT STDMETHODCALLTYPE SetCaptureOffset( 2744 /* [in] */ int captureOffsetFields) = 0; 2745 2746 virtual HRESULT STDMETHODCALLTYPE GetCaptureOffset( 2747 /* [out] */ int *captureOffsetFields) = 0; 2748 2749 virtual HRESULT STDMETHODCALLTYPE StartExport( 2750 /* [in] */ BMDTimecodeBCD inTimecode, 2751 /* [in] */ BMDTimecodeBCD outTimecode, 2752 /* [in] */ BMDDeckControlExportModeOpsFlags exportModeOps, 2753 /* [out] */ BMDDeckControlError *error) = 0; 2754 2755 virtual HRESULT STDMETHODCALLTYPE StartCapture( 2756 /* [in] */ BOOL useVITC, 2757 /* [in] */ BMDTimecodeBCD inTimecode, 2758 /* [in] */ BMDTimecodeBCD outTimecode, 2759 /* [out] */ BMDDeckControlError *error) = 0; 2760 2761 virtual HRESULT STDMETHODCALLTYPE GetDeviceID( 2762 /* [out] */ unsigned short *deviceId, 2763 /* [out] */ BMDDeckControlError *error) = 0; 2764 2765 virtual HRESULT STDMETHODCALLTYPE Abort( void) = 0; 2766 2767 virtual HRESULT STDMETHODCALLTYPE CrashRecordStart( 2768 /* [out] */ BMDDeckControlError *error) = 0; 2769 2770 virtual HRESULT STDMETHODCALLTYPE CrashRecordStop( 2771 /* [out] */ BMDDeckControlError *error) = 0; 2772 2773 virtual HRESULT STDMETHODCALLTYPE SetCallback( 2774 /* [in] */ IDeckLinkDeckControlStatusCallback *callback) = 0; 2775 2776 }; 2777 2778 2779 #else /* C style interface */ 2780 2781 typedef struct IDeckLinkDeckControlVtbl 2782 { 2783 BEGIN_INTERFACE 2784 2785 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 2786 IDeckLinkDeckControl * This, 2787 /* [in] */ REFIID riid, 2788 /* [annotation][iid_is][out] */ 2789 _COM_Outptr_ void **ppvObject); 2790 2791 ULONG ( STDMETHODCALLTYPE *AddRef )( 2792 IDeckLinkDeckControl * This); 2793 2794 ULONG ( STDMETHODCALLTYPE *Release )( 2795 IDeckLinkDeckControl * This); 2796 2797 HRESULT ( STDMETHODCALLTYPE *Open )( 2798 IDeckLinkDeckControl * This, 2799 /* [in] */ BMDTimeScale timeScale, 2800 /* [in] */ BMDTimeValue timeValue, 2801 /* [in] */ BOOL timecodeIsDropFrame, 2802 /* [out] */ BMDDeckControlError *error); 2803 2804 HRESULT ( STDMETHODCALLTYPE *Close )( 2805 IDeckLinkDeckControl * This, 2806 /* [in] */ BOOL standbyOn); 2807 2808 HRESULT ( STDMETHODCALLTYPE *GetCurrentState )( 2809 IDeckLinkDeckControl * This, 2810 /* [out] */ BMDDeckControlMode *mode, 2811 /* [out] */ BMDDeckControlVTRControlState *vtrControlState, 2812 /* [out] */ BMDDeckControlStatusFlags *flags); 2813 2814 HRESULT ( STDMETHODCALLTYPE *SetStandby )( 2815 IDeckLinkDeckControl * This, 2816 /* [in] */ BOOL standbyOn); 2817 2818 HRESULT ( STDMETHODCALLTYPE *SendCommand )( 2819 IDeckLinkDeckControl * This, 2820 /* [in] */ unsigned char *inBuffer, 2821 /* [in] */ unsigned int inBufferSize, 2822 /* [out] */ unsigned char *outBuffer, 2823 /* [out] */ unsigned int *outDataSize, 2824 /* [in] */ unsigned int outBufferSize, 2825 /* [out] */ BMDDeckControlError *error); 2826 2827 HRESULT ( STDMETHODCALLTYPE *Play )( 2828 IDeckLinkDeckControl * This, 2829 /* [out] */ BMDDeckControlError *error); 2830 2831 HRESULT ( STDMETHODCALLTYPE *Stop )( 2832 IDeckLinkDeckControl * This, 2833 /* [out] */ BMDDeckControlError *error); 2834 2835 HRESULT ( STDMETHODCALLTYPE *TogglePlayStop )( 2836 IDeckLinkDeckControl * This, 2837 /* [out] */ BMDDeckControlError *error); 2838 2839 HRESULT ( STDMETHODCALLTYPE *Eject )( 2840 IDeckLinkDeckControl * This, 2841 /* [out] */ BMDDeckControlError *error); 2842 2843 HRESULT ( STDMETHODCALLTYPE *GoToTimecode )( 2844 IDeckLinkDeckControl * This, 2845 /* [in] */ BMDTimecodeBCD timecode, 2846 /* [out] */ BMDDeckControlError *error); 2847 2848 HRESULT ( STDMETHODCALLTYPE *FastForward )( 2849 IDeckLinkDeckControl * This, 2850 /* [in] */ BOOL viewTape, 2851 /* [out] */ BMDDeckControlError *error); 2852 2853 HRESULT ( STDMETHODCALLTYPE *Rewind )( 2854 IDeckLinkDeckControl * This, 2855 /* [in] */ BOOL viewTape, 2856 /* [out] */ BMDDeckControlError *error); 2857 2858 HRESULT ( STDMETHODCALLTYPE *StepForward )( 2859 IDeckLinkDeckControl * This, 2860 /* [out] */ BMDDeckControlError *error); 2861 2862 HRESULT ( STDMETHODCALLTYPE *StepBack )( 2863 IDeckLinkDeckControl * This, 2864 /* [out] */ BMDDeckControlError *error); 2865 2866 HRESULT ( STDMETHODCALLTYPE *Jog )( 2867 IDeckLinkDeckControl * This, 2868 /* [in] */ double rate, 2869 /* [out] */ BMDDeckControlError *error); 2870 2871 HRESULT ( STDMETHODCALLTYPE *Shuttle )( 2872 IDeckLinkDeckControl * This, 2873 /* [in] */ double rate, 2874 /* [out] */ BMDDeckControlError *error); 2875 2876 HRESULT ( STDMETHODCALLTYPE *GetTimecodeString )( 2877 IDeckLinkDeckControl * This, 2878 /* [out] */ BSTR *currentTimeCode, 2879 /* [out] */ BMDDeckControlError *error); 2880 2881 HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 2882 IDeckLinkDeckControl * This, 2883 /* [out] */ IDeckLinkTimecode **currentTimecode, 2884 /* [out] */ BMDDeckControlError *error); 2885 2886 HRESULT ( STDMETHODCALLTYPE *GetTimecodeBCD )( 2887 IDeckLinkDeckControl * This, 2888 /* [out] */ BMDTimecodeBCD *currentTimecode, 2889 /* [out] */ BMDDeckControlError *error); 2890 2891 HRESULT ( STDMETHODCALLTYPE *SetPreroll )( 2892 IDeckLinkDeckControl * This, 2893 /* [in] */ unsigned int prerollSeconds); 2894 2895 HRESULT ( STDMETHODCALLTYPE *GetPreroll )( 2896 IDeckLinkDeckControl * This, 2897 /* [out] */ unsigned int *prerollSeconds); 2898 2899 HRESULT ( STDMETHODCALLTYPE *SetExportOffset )( 2900 IDeckLinkDeckControl * This, 2901 /* [in] */ int exportOffsetFields); 2902 2903 HRESULT ( STDMETHODCALLTYPE *GetExportOffset )( 2904 IDeckLinkDeckControl * This, 2905 /* [out] */ int *exportOffsetFields); 2906 2907 HRESULT ( STDMETHODCALLTYPE *GetManualExportOffset )( 2908 IDeckLinkDeckControl * This, 2909 /* [out] */ int *deckManualExportOffsetFields); 2910 2911 HRESULT ( STDMETHODCALLTYPE *SetCaptureOffset )( 2912 IDeckLinkDeckControl * This, 2913 /* [in] */ int captureOffsetFields); 2914 2915 HRESULT ( STDMETHODCALLTYPE *GetCaptureOffset )( 2916 IDeckLinkDeckControl * This, 2917 /* [out] */ int *captureOffsetFields); 2918 2919 HRESULT ( STDMETHODCALLTYPE *StartExport )( 2920 IDeckLinkDeckControl * This, 2921 /* [in] */ BMDTimecodeBCD inTimecode, 2922 /* [in] */ BMDTimecodeBCD outTimecode, 2923 /* [in] */ BMDDeckControlExportModeOpsFlags exportModeOps, 2924 /* [out] */ BMDDeckControlError *error); 2925 2926 HRESULT ( STDMETHODCALLTYPE *StartCapture )( 2927 IDeckLinkDeckControl * This, 2928 /* [in] */ BOOL useVITC, 2929 /* [in] */ BMDTimecodeBCD inTimecode, 2930 /* [in] */ BMDTimecodeBCD outTimecode, 2931 /* [out] */ BMDDeckControlError *error); 2932 2933 HRESULT ( STDMETHODCALLTYPE *GetDeviceID )( 2934 IDeckLinkDeckControl * This, 2935 /* [out] */ unsigned short *deviceId, 2936 /* [out] */ BMDDeckControlError *error); 2937 2938 HRESULT ( STDMETHODCALLTYPE *Abort )( 2939 IDeckLinkDeckControl * This); 2940 2941 HRESULT ( STDMETHODCALLTYPE *CrashRecordStart )( 2942 IDeckLinkDeckControl * This, 2943 /* [out] */ BMDDeckControlError *error); 2944 2945 HRESULT ( STDMETHODCALLTYPE *CrashRecordStop )( 2946 IDeckLinkDeckControl * This, 2947 /* [out] */ BMDDeckControlError *error); 2948 2949 HRESULT ( STDMETHODCALLTYPE *SetCallback )( 2950 IDeckLinkDeckControl * This, 2951 /* [in] */ IDeckLinkDeckControlStatusCallback *callback); 2952 2953 END_INTERFACE 2954 } IDeckLinkDeckControlVtbl; 2955 2956 interface IDeckLinkDeckControl 2957 { 2958 CONST_VTBL struct IDeckLinkDeckControlVtbl *lpVtbl; 2959 }; 2960 2961 2962 2963 #ifdef COBJMACROS 2964 2965 2966 #define IDeckLinkDeckControl_QueryInterface(This,riid,ppvObject) \ 2967 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 2968 2969 #define IDeckLinkDeckControl_AddRef(This) \ 2970 ( (This)->lpVtbl -> AddRef(This) ) 2971 2972 #define IDeckLinkDeckControl_Release(This) \ 2973 ( (This)->lpVtbl -> Release(This) ) 2974 2975 2976 #define IDeckLinkDeckControl_Open(This,timeScale,timeValue,timecodeIsDropFrame,error) \ 2977 ( (This)->lpVtbl -> Open(This,timeScale,timeValue,timecodeIsDropFrame,error) ) 2978 2979 #define IDeckLinkDeckControl_Close(This,standbyOn) \ 2980 ( (This)->lpVtbl -> Close(This,standbyOn) ) 2981 2982 #define IDeckLinkDeckControl_GetCurrentState(This,mode,vtrControlState,flags) \ 2983 ( (This)->lpVtbl -> GetCurrentState(This,mode,vtrControlState,flags) ) 2984 2985 #define IDeckLinkDeckControl_SetStandby(This,standbyOn) \ 2986 ( (This)->lpVtbl -> SetStandby(This,standbyOn) ) 2987 2988 #define IDeckLinkDeckControl_SendCommand(This,inBuffer,inBufferSize,outBuffer,outDataSize,outBufferSize,error) \ 2989 ( (This)->lpVtbl -> SendCommand(This,inBuffer,inBufferSize,outBuffer,outDataSize,outBufferSize,error) ) 2990 2991 #define IDeckLinkDeckControl_Play(This,error) \ 2992 ( (This)->lpVtbl -> Play(This,error) ) 2993 2994 #define IDeckLinkDeckControl_Stop(This,error) \ 2995 ( (This)->lpVtbl -> Stop(This,error) ) 2996 2997 #define IDeckLinkDeckControl_TogglePlayStop(This,error) \ 2998 ( (This)->lpVtbl -> TogglePlayStop(This,error) ) 2999 3000 #define IDeckLinkDeckControl_Eject(This,error) \ 3001 ( (This)->lpVtbl -> Eject(This,error) ) 3002 3003 #define IDeckLinkDeckControl_GoToTimecode(This,timecode,error) \ 3004 ( (This)->lpVtbl -> GoToTimecode(This,timecode,error) ) 3005 3006 #define IDeckLinkDeckControl_FastForward(This,viewTape,error) \ 3007 ( (This)->lpVtbl -> FastForward(This,viewTape,error) ) 3008 3009 #define IDeckLinkDeckControl_Rewind(This,viewTape,error) \ 3010 ( (This)->lpVtbl -> Rewind(This,viewTape,error) ) 3011 3012 #define IDeckLinkDeckControl_StepForward(This,error) \ 3013 ( (This)->lpVtbl -> StepForward(This,error) ) 3014 3015 #define IDeckLinkDeckControl_StepBack(This,error) \ 3016 ( (This)->lpVtbl -> StepBack(This,error) ) 3017 3018 #define IDeckLinkDeckControl_Jog(This,rate,error) \ 3019 ( (This)->lpVtbl -> Jog(This,rate,error) ) 3020 3021 #define IDeckLinkDeckControl_Shuttle(This,rate,error) \ 3022 ( (This)->lpVtbl -> Shuttle(This,rate,error) ) 3023 3024 #define IDeckLinkDeckControl_GetTimecodeString(This,currentTimeCode,error) \ 3025 ( (This)->lpVtbl -> GetTimecodeString(This,currentTimeCode,error) ) 3026 3027 #define IDeckLinkDeckControl_GetTimecode(This,currentTimecode,error) \ 3028 ( (This)->lpVtbl -> GetTimecode(This,currentTimecode,error) ) 3029 3030 #define IDeckLinkDeckControl_GetTimecodeBCD(This,currentTimecode,error) \ 3031 ( (This)->lpVtbl -> GetTimecodeBCD(This,currentTimecode,error) ) 3032 3033 #define IDeckLinkDeckControl_SetPreroll(This,prerollSeconds) \ 3034 ( (This)->lpVtbl -> SetPreroll(This,prerollSeconds) ) 3035 3036 #define IDeckLinkDeckControl_GetPreroll(This,prerollSeconds) \ 3037 ( (This)->lpVtbl -> GetPreroll(This,prerollSeconds) ) 3038 3039 #define IDeckLinkDeckControl_SetExportOffset(This,exportOffsetFields) \ 3040 ( (This)->lpVtbl -> SetExportOffset(This,exportOffsetFields) ) 3041 3042 #define IDeckLinkDeckControl_GetExportOffset(This,exportOffsetFields) \ 3043 ( (This)->lpVtbl -> GetExportOffset(This,exportOffsetFields) ) 3044 3045 #define IDeckLinkDeckControl_GetManualExportOffset(This,deckManualExportOffsetFields) \ 3046 ( (This)->lpVtbl -> GetManualExportOffset(This,deckManualExportOffsetFields) ) 3047 3048 #define IDeckLinkDeckControl_SetCaptureOffset(This,captureOffsetFields) \ 3049 ( (This)->lpVtbl -> SetCaptureOffset(This,captureOffsetFields) ) 3050 3051 #define IDeckLinkDeckControl_GetCaptureOffset(This,captureOffsetFields) \ 3052 ( (This)->lpVtbl -> GetCaptureOffset(This,captureOffsetFields) ) 3053 3054 #define IDeckLinkDeckControl_StartExport(This,inTimecode,outTimecode,exportModeOps,error) \ 3055 ( (This)->lpVtbl -> StartExport(This,inTimecode,outTimecode,exportModeOps,error) ) 3056 3057 #define IDeckLinkDeckControl_StartCapture(This,useVITC,inTimecode,outTimecode,error) \ 3058 ( (This)->lpVtbl -> StartCapture(This,useVITC,inTimecode,outTimecode,error) ) 3059 3060 #define IDeckLinkDeckControl_GetDeviceID(This,deviceId,error) \ 3061 ( (This)->lpVtbl -> GetDeviceID(This,deviceId,error) ) 3062 3063 #define IDeckLinkDeckControl_Abort(This) \ 3064 ( (This)->lpVtbl -> Abort(This) ) 3065 3066 #define IDeckLinkDeckControl_CrashRecordStart(This,error) \ 3067 ( (This)->lpVtbl -> CrashRecordStart(This,error) ) 3068 3069 #define IDeckLinkDeckControl_CrashRecordStop(This,error) \ 3070 ( (This)->lpVtbl -> CrashRecordStop(This,error) ) 3071 3072 #define IDeckLinkDeckControl_SetCallback(This,callback) \ 3073 ( (This)->lpVtbl -> SetCallback(This,callback) ) 3074 3075 #endif /* COBJMACROS */ 3076 3077 3078 #endif /* C style interface */ 3079 3080 3081 3082 3083 #endif /* __IDeckLinkDeckControl_INTERFACE_DEFINED__ */ 3084 3085 3086 #ifndef __IBMDStreamingDeviceNotificationCallback_INTERFACE_DEFINED__ 3087 #define __IBMDStreamingDeviceNotificationCallback_INTERFACE_DEFINED__ 3088 3089 /* interface IBMDStreamingDeviceNotificationCallback */ 3090 /* [helpstring][uuid][object] */ 3091 3092 3093 EXTERN_C const IID IID_IBMDStreamingDeviceNotificationCallback; 3094 3095 #if defined(__cplusplus) && !defined(CINTERFACE) 3096 3097 MIDL_INTERFACE("F9531D64-3305-4B29-A387-7F74BB0D0E84") 3098 IBMDStreamingDeviceNotificationCallback : public IUnknown 3099 { 3100 public: 3101 virtual HRESULT STDMETHODCALLTYPE StreamingDeviceArrived( 3102 /* [in] */ IDeckLink *device) = 0; 3103 3104 virtual HRESULT STDMETHODCALLTYPE StreamingDeviceRemoved( 3105 /* [in] */ IDeckLink *device) = 0; 3106 3107 virtual HRESULT STDMETHODCALLTYPE StreamingDeviceModeChanged( 3108 /* [in] */ IDeckLink *device, 3109 /* [in] */ BMDStreamingDeviceMode mode) = 0; 3110 3111 }; 3112 3113 3114 #else /* C style interface */ 3115 3116 typedef struct IBMDStreamingDeviceNotificationCallbackVtbl 3117 { 3118 BEGIN_INTERFACE 3119 3120 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 3121 IBMDStreamingDeviceNotificationCallback * This, 3122 /* [in] */ REFIID riid, 3123 /* [annotation][iid_is][out] */ 3124 _COM_Outptr_ void **ppvObject); 3125 3126 ULONG ( STDMETHODCALLTYPE *AddRef )( 3127 IBMDStreamingDeviceNotificationCallback * This); 3128 3129 ULONG ( STDMETHODCALLTYPE *Release )( 3130 IBMDStreamingDeviceNotificationCallback * This); 3131 3132 HRESULT ( STDMETHODCALLTYPE *StreamingDeviceArrived )( 3133 IBMDStreamingDeviceNotificationCallback * This, 3134 /* [in] */ IDeckLink *device); 3135 3136 HRESULT ( STDMETHODCALLTYPE *StreamingDeviceRemoved )( 3137 IBMDStreamingDeviceNotificationCallback * This, 3138 /* [in] */ IDeckLink *device); 3139 3140 HRESULT ( STDMETHODCALLTYPE *StreamingDeviceModeChanged )( 3141 IBMDStreamingDeviceNotificationCallback * This, 3142 /* [in] */ IDeckLink *device, 3143 /* [in] */ BMDStreamingDeviceMode mode); 3144 3145 END_INTERFACE 3146 } IBMDStreamingDeviceNotificationCallbackVtbl; 3147 3148 interface IBMDStreamingDeviceNotificationCallback 3149 { 3150 CONST_VTBL struct IBMDStreamingDeviceNotificationCallbackVtbl *lpVtbl; 3151 }; 3152 3153 3154 3155 #ifdef COBJMACROS 3156 3157 3158 #define IBMDStreamingDeviceNotificationCallback_QueryInterface(This,riid,ppvObject) \ 3159 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 3160 3161 #define IBMDStreamingDeviceNotificationCallback_AddRef(This) \ 3162 ( (This)->lpVtbl -> AddRef(This) ) 3163 3164 #define IBMDStreamingDeviceNotificationCallback_Release(This) \ 3165 ( (This)->lpVtbl -> Release(This) ) 3166 3167 3168 #define IBMDStreamingDeviceNotificationCallback_StreamingDeviceArrived(This,device) \ 3169 ( (This)->lpVtbl -> StreamingDeviceArrived(This,device) ) 3170 3171 #define IBMDStreamingDeviceNotificationCallback_StreamingDeviceRemoved(This,device) \ 3172 ( (This)->lpVtbl -> StreamingDeviceRemoved(This,device) ) 3173 3174 #define IBMDStreamingDeviceNotificationCallback_StreamingDeviceModeChanged(This,device,mode) \ 3175 ( (This)->lpVtbl -> StreamingDeviceModeChanged(This,device,mode) ) 3176 3177 #endif /* COBJMACROS */ 3178 3179 3180 #endif /* C style interface */ 3181 3182 3183 3184 3185 #endif /* __IBMDStreamingDeviceNotificationCallback_INTERFACE_DEFINED__ */ 3186 3187 3188 #ifndef __IBMDStreamingH264InputCallback_INTERFACE_DEFINED__ 3189 #define __IBMDStreamingH264InputCallback_INTERFACE_DEFINED__ 3190 3191 /* interface IBMDStreamingH264InputCallback */ 3192 /* [helpstring][uuid][object] */ 3193 3194 3195 EXTERN_C const IID IID_IBMDStreamingH264InputCallback; 3196 3197 #if defined(__cplusplus) && !defined(CINTERFACE) 3198 3199 MIDL_INTERFACE("823C475F-55AE-46F9-890C-537CC5CEDCCA") 3200 IBMDStreamingH264InputCallback : public IUnknown 3201 { 3202 public: 3203 virtual HRESULT STDMETHODCALLTYPE H264NALPacketArrived( 3204 /* [in] */ IBMDStreamingH264NALPacket *nalPacket) = 0; 3205 3206 virtual HRESULT STDMETHODCALLTYPE H264AudioPacketArrived( 3207 /* [in] */ IBMDStreamingAudioPacket *audioPacket) = 0; 3208 3209 virtual HRESULT STDMETHODCALLTYPE MPEG2TSPacketArrived( 3210 /* [in] */ IBMDStreamingMPEG2TSPacket *tsPacket) = 0; 3211 3212 virtual HRESULT STDMETHODCALLTYPE H264VideoInputConnectorScanningChanged( void) = 0; 3213 3214 virtual HRESULT STDMETHODCALLTYPE H264VideoInputConnectorChanged( void) = 0; 3215 3216 virtual HRESULT STDMETHODCALLTYPE H264VideoInputModeChanged( void) = 0; 3217 3218 }; 3219 3220 3221 #else /* C style interface */ 3222 3223 typedef struct IBMDStreamingH264InputCallbackVtbl 3224 { 3225 BEGIN_INTERFACE 3226 3227 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 3228 IBMDStreamingH264InputCallback * This, 3229 /* [in] */ REFIID riid, 3230 /* [annotation][iid_is][out] */ 3231 _COM_Outptr_ void **ppvObject); 3232 3233 ULONG ( STDMETHODCALLTYPE *AddRef )( 3234 IBMDStreamingH264InputCallback * This); 3235 3236 ULONG ( STDMETHODCALLTYPE *Release )( 3237 IBMDStreamingH264InputCallback * This); 3238 3239 HRESULT ( STDMETHODCALLTYPE *H264NALPacketArrived )( 3240 IBMDStreamingH264InputCallback * This, 3241 /* [in] */ IBMDStreamingH264NALPacket *nalPacket); 3242 3243 HRESULT ( STDMETHODCALLTYPE *H264AudioPacketArrived )( 3244 IBMDStreamingH264InputCallback * This, 3245 /* [in] */ IBMDStreamingAudioPacket *audioPacket); 3246 3247 HRESULT ( STDMETHODCALLTYPE *MPEG2TSPacketArrived )( 3248 IBMDStreamingH264InputCallback * This, 3249 /* [in] */ IBMDStreamingMPEG2TSPacket *tsPacket); 3250 3251 HRESULT ( STDMETHODCALLTYPE *H264VideoInputConnectorScanningChanged )( 3252 IBMDStreamingH264InputCallback * This); 3253 3254 HRESULT ( STDMETHODCALLTYPE *H264VideoInputConnectorChanged )( 3255 IBMDStreamingH264InputCallback * This); 3256 3257 HRESULT ( STDMETHODCALLTYPE *H264VideoInputModeChanged )( 3258 IBMDStreamingH264InputCallback * This); 3259 3260 END_INTERFACE 3261 } IBMDStreamingH264InputCallbackVtbl; 3262 3263 interface IBMDStreamingH264InputCallback 3264 { 3265 CONST_VTBL struct IBMDStreamingH264InputCallbackVtbl *lpVtbl; 3266 }; 3267 3268 3269 3270 #ifdef COBJMACROS 3271 3272 3273 #define IBMDStreamingH264InputCallback_QueryInterface(This,riid,ppvObject) \ 3274 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 3275 3276 #define IBMDStreamingH264InputCallback_AddRef(This) \ 3277 ( (This)->lpVtbl -> AddRef(This) ) 3278 3279 #define IBMDStreamingH264InputCallback_Release(This) \ 3280 ( (This)->lpVtbl -> Release(This) ) 3281 3282 3283 #define IBMDStreamingH264InputCallback_H264NALPacketArrived(This,nalPacket) \ 3284 ( (This)->lpVtbl -> H264NALPacketArrived(This,nalPacket) ) 3285 3286 #define IBMDStreamingH264InputCallback_H264AudioPacketArrived(This,audioPacket) \ 3287 ( (This)->lpVtbl -> H264AudioPacketArrived(This,audioPacket) ) 3288 3289 #define IBMDStreamingH264InputCallback_MPEG2TSPacketArrived(This,tsPacket) \ 3290 ( (This)->lpVtbl -> MPEG2TSPacketArrived(This,tsPacket) ) 3291 3292 #define IBMDStreamingH264InputCallback_H264VideoInputConnectorScanningChanged(This) \ 3293 ( (This)->lpVtbl -> H264VideoInputConnectorScanningChanged(This) ) 3294 3295 #define IBMDStreamingH264InputCallback_H264VideoInputConnectorChanged(This) \ 3296 ( (This)->lpVtbl -> H264VideoInputConnectorChanged(This) ) 3297 3298 #define IBMDStreamingH264InputCallback_H264VideoInputModeChanged(This) \ 3299 ( (This)->lpVtbl -> H264VideoInputModeChanged(This) ) 3300 3301 #endif /* COBJMACROS */ 3302 3303 3304 #endif /* C style interface */ 3305 3306 3307 3308 3309 #endif /* __IBMDStreamingH264InputCallback_INTERFACE_DEFINED__ */ 3310 3311 3312 #ifndef __IBMDStreamingDiscovery_INTERFACE_DEFINED__ 3313 #define __IBMDStreamingDiscovery_INTERFACE_DEFINED__ 3314 3315 /* interface IBMDStreamingDiscovery */ 3316 /* [helpstring][uuid][object] */ 3317 3318 3319 EXTERN_C const IID IID_IBMDStreamingDiscovery; 3320 3321 #if defined(__cplusplus) && !defined(CINTERFACE) 3322 3323 MIDL_INTERFACE("2C837444-F989-4D87-901A-47C8A36D096D") 3324 IBMDStreamingDiscovery : public IUnknown 3325 { 3326 public: 3327 virtual HRESULT STDMETHODCALLTYPE InstallDeviceNotifications( 3328 /* [in] */ IBMDStreamingDeviceNotificationCallback *theCallback) = 0; 3329 3330 virtual HRESULT STDMETHODCALLTYPE UninstallDeviceNotifications( void) = 0; 3331 3332 }; 3333 3334 3335 #else /* C style interface */ 3336 3337 typedef struct IBMDStreamingDiscoveryVtbl 3338 { 3339 BEGIN_INTERFACE 3340 3341 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 3342 IBMDStreamingDiscovery * This, 3343 /* [in] */ REFIID riid, 3344 /* [annotation][iid_is][out] */ 3345 _COM_Outptr_ void **ppvObject); 3346 3347 ULONG ( STDMETHODCALLTYPE *AddRef )( 3348 IBMDStreamingDiscovery * This); 3349 3350 ULONG ( STDMETHODCALLTYPE *Release )( 3351 IBMDStreamingDiscovery * This); 3352 3353 HRESULT ( STDMETHODCALLTYPE *InstallDeviceNotifications )( 3354 IBMDStreamingDiscovery * This, 3355 /* [in] */ IBMDStreamingDeviceNotificationCallback *theCallback); 3356 3357 HRESULT ( STDMETHODCALLTYPE *UninstallDeviceNotifications )( 3358 IBMDStreamingDiscovery * This); 3359 3360 END_INTERFACE 3361 } IBMDStreamingDiscoveryVtbl; 3362 3363 interface IBMDStreamingDiscovery 3364 { 3365 CONST_VTBL struct IBMDStreamingDiscoveryVtbl *lpVtbl; 3366 }; 3367 3368 3369 3370 #ifdef COBJMACROS 3371 3372 3373 #define IBMDStreamingDiscovery_QueryInterface(This,riid,ppvObject) \ 3374 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 3375 3376 #define IBMDStreamingDiscovery_AddRef(This) \ 3377 ( (This)->lpVtbl -> AddRef(This) ) 3378 3379 #define IBMDStreamingDiscovery_Release(This) \ 3380 ( (This)->lpVtbl -> Release(This) ) 3381 3382 3383 #define IBMDStreamingDiscovery_InstallDeviceNotifications(This,theCallback) \ 3384 ( (This)->lpVtbl -> InstallDeviceNotifications(This,theCallback) ) 3385 3386 #define IBMDStreamingDiscovery_UninstallDeviceNotifications(This) \ 3387 ( (This)->lpVtbl -> UninstallDeviceNotifications(This) ) 3388 3389 #endif /* COBJMACROS */ 3390 3391 3392 #endif /* C style interface */ 3393 3394 3395 3396 3397 #endif /* __IBMDStreamingDiscovery_INTERFACE_DEFINED__ */ 3398 3399 3400 #ifndef __IBMDStreamingVideoEncodingMode_INTERFACE_DEFINED__ 3401 #define __IBMDStreamingVideoEncodingMode_INTERFACE_DEFINED__ 3402 3403 /* interface IBMDStreamingVideoEncodingMode */ 3404 /* [helpstring][uuid][object] */ 3405 3406 3407 EXTERN_C const IID IID_IBMDStreamingVideoEncodingMode; 3408 3409 #if defined(__cplusplus) && !defined(CINTERFACE) 3410 3411 MIDL_INTERFACE("1AB8035B-CD13-458D-B6DF-5E8F7C2141D9") 3412 IBMDStreamingVideoEncodingMode : public IUnknown 3413 { 3414 public: 3415 virtual HRESULT STDMETHODCALLTYPE GetName( 3416 /* [out] */ BSTR *name) = 0; 3417 3418 virtual unsigned int STDMETHODCALLTYPE GetPresetID( void) = 0; 3419 3420 virtual unsigned int STDMETHODCALLTYPE GetSourcePositionX( void) = 0; 3421 3422 virtual unsigned int STDMETHODCALLTYPE GetSourcePositionY( void) = 0; 3423 3424 virtual unsigned int STDMETHODCALLTYPE GetSourceWidth( void) = 0; 3425 3426 virtual unsigned int STDMETHODCALLTYPE GetSourceHeight( void) = 0; 3427 3428 virtual unsigned int STDMETHODCALLTYPE GetDestWidth( void) = 0; 3429 3430 virtual unsigned int STDMETHODCALLTYPE GetDestHeight( void) = 0; 3431 3432 virtual HRESULT STDMETHODCALLTYPE GetFlag( 3433 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 3434 /* [out] */ BOOL *value) = 0; 3435 3436 virtual HRESULT STDMETHODCALLTYPE GetInt( 3437 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 3438 /* [out] */ LONGLONG *value) = 0; 3439 3440 virtual HRESULT STDMETHODCALLTYPE GetFloat( 3441 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 3442 /* [out] */ double *value) = 0; 3443 3444 virtual HRESULT STDMETHODCALLTYPE GetString( 3445 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 3446 /* [out] */ BSTR *value) = 0; 3447 3448 virtual HRESULT STDMETHODCALLTYPE CreateMutableVideoEncodingMode( 3449 /* [out] */ IBMDStreamingMutableVideoEncodingMode **newEncodingMode) = 0; 3450 3451 }; 3452 3453 3454 #else /* C style interface */ 3455 3456 typedef struct IBMDStreamingVideoEncodingModeVtbl 3457 { 3458 BEGIN_INTERFACE 3459 3460 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 3461 IBMDStreamingVideoEncodingMode * This, 3462 /* [in] */ REFIID riid, 3463 /* [annotation][iid_is][out] */ 3464 _COM_Outptr_ void **ppvObject); 3465 3466 ULONG ( STDMETHODCALLTYPE *AddRef )( 3467 IBMDStreamingVideoEncodingMode * This); 3468 3469 ULONG ( STDMETHODCALLTYPE *Release )( 3470 IBMDStreamingVideoEncodingMode * This); 3471 3472 HRESULT ( STDMETHODCALLTYPE *GetName )( 3473 IBMDStreamingVideoEncodingMode * This, 3474 /* [out] */ BSTR *name); 3475 3476 unsigned int ( STDMETHODCALLTYPE *GetPresetID )( 3477 IBMDStreamingVideoEncodingMode * This); 3478 3479 unsigned int ( STDMETHODCALLTYPE *GetSourcePositionX )( 3480 IBMDStreamingVideoEncodingMode * This); 3481 3482 unsigned int ( STDMETHODCALLTYPE *GetSourcePositionY )( 3483 IBMDStreamingVideoEncodingMode * This); 3484 3485 unsigned int ( STDMETHODCALLTYPE *GetSourceWidth )( 3486 IBMDStreamingVideoEncodingMode * This); 3487 3488 unsigned int ( STDMETHODCALLTYPE *GetSourceHeight )( 3489 IBMDStreamingVideoEncodingMode * This); 3490 3491 unsigned int ( STDMETHODCALLTYPE *GetDestWidth )( 3492 IBMDStreamingVideoEncodingMode * This); 3493 3494 unsigned int ( STDMETHODCALLTYPE *GetDestHeight )( 3495 IBMDStreamingVideoEncodingMode * This); 3496 3497 HRESULT ( STDMETHODCALLTYPE *GetFlag )( 3498 IBMDStreamingVideoEncodingMode * This, 3499 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 3500 /* [out] */ BOOL *value); 3501 3502 HRESULT ( STDMETHODCALLTYPE *GetInt )( 3503 IBMDStreamingVideoEncodingMode * This, 3504 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 3505 /* [out] */ LONGLONG *value); 3506 3507 HRESULT ( STDMETHODCALLTYPE *GetFloat )( 3508 IBMDStreamingVideoEncodingMode * This, 3509 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 3510 /* [out] */ double *value); 3511 3512 HRESULT ( STDMETHODCALLTYPE *GetString )( 3513 IBMDStreamingVideoEncodingMode * This, 3514 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 3515 /* [out] */ BSTR *value); 3516 3517 HRESULT ( STDMETHODCALLTYPE *CreateMutableVideoEncodingMode )( 3518 IBMDStreamingVideoEncodingMode * This, 3519 /* [out] */ IBMDStreamingMutableVideoEncodingMode **newEncodingMode); 3520 3521 END_INTERFACE 3522 } IBMDStreamingVideoEncodingModeVtbl; 3523 3524 interface IBMDStreamingVideoEncodingMode 3525 { 3526 CONST_VTBL struct IBMDStreamingVideoEncodingModeVtbl *lpVtbl; 3527 }; 3528 3529 3530 3531 #ifdef COBJMACROS 3532 3533 3534 #define IBMDStreamingVideoEncodingMode_QueryInterface(This,riid,ppvObject) \ 3535 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 3536 3537 #define IBMDStreamingVideoEncodingMode_AddRef(This) \ 3538 ( (This)->lpVtbl -> AddRef(This) ) 3539 3540 #define IBMDStreamingVideoEncodingMode_Release(This) \ 3541 ( (This)->lpVtbl -> Release(This) ) 3542 3543 3544 #define IBMDStreamingVideoEncodingMode_GetName(This,name) \ 3545 ( (This)->lpVtbl -> GetName(This,name) ) 3546 3547 #define IBMDStreamingVideoEncodingMode_GetPresetID(This) \ 3548 ( (This)->lpVtbl -> GetPresetID(This) ) 3549 3550 #define IBMDStreamingVideoEncodingMode_GetSourcePositionX(This) \ 3551 ( (This)->lpVtbl -> GetSourcePositionX(This) ) 3552 3553 #define IBMDStreamingVideoEncodingMode_GetSourcePositionY(This) \ 3554 ( (This)->lpVtbl -> GetSourcePositionY(This) ) 3555 3556 #define IBMDStreamingVideoEncodingMode_GetSourceWidth(This) \ 3557 ( (This)->lpVtbl -> GetSourceWidth(This) ) 3558 3559 #define IBMDStreamingVideoEncodingMode_GetSourceHeight(This) \ 3560 ( (This)->lpVtbl -> GetSourceHeight(This) ) 3561 3562 #define IBMDStreamingVideoEncodingMode_GetDestWidth(This) \ 3563 ( (This)->lpVtbl -> GetDestWidth(This) ) 3564 3565 #define IBMDStreamingVideoEncodingMode_GetDestHeight(This) \ 3566 ( (This)->lpVtbl -> GetDestHeight(This) ) 3567 3568 #define IBMDStreamingVideoEncodingMode_GetFlag(This,cfgID,value) \ 3569 ( (This)->lpVtbl -> GetFlag(This,cfgID,value) ) 3570 3571 #define IBMDStreamingVideoEncodingMode_GetInt(This,cfgID,value) \ 3572 ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) 3573 3574 #define IBMDStreamingVideoEncodingMode_GetFloat(This,cfgID,value) \ 3575 ( (This)->lpVtbl -> GetFloat(This,cfgID,value) ) 3576 3577 #define IBMDStreamingVideoEncodingMode_GetString(This,cfgID,value) \ 3578 ( (This)->lpVtbl -> GetString(This,cfgID,value) ) 3579 3580 #define IBMDStreamingVideoEncodingMode_CreateMutableVideoEncodingMode(This,newEncodingMode) \ 3581 ( (This)->lpVtbl -> CreateMutableVideoEncodingMode(This,newEncodingMode) ) 3582 3583 #endif /* COBJMACROS */ 3584 3585 3586 #endif /* C style interface */ 3587 3588 3589 3590 3591 #endif /* __IBMDStreamingVideoEncodingMode_INTERFACE_DEFINED__ */ 3592 3593 3594 #ifndef __IBMDStreamingMutableVideoEncodingMode_INTERFACE_DEFINED__ 3595 #define __IBMDStreamingMutableVideoEncodingMode_INTERFACE_DEFINED__ 3596 3597 /* interface IBMDStreamingMutableVideoEncodingMode */ 3598 /* [helpstring][uuid][object] */ 3599 3600 3601 EXTERN_C const IID IID_IBMDStreamingMutableVideoEncodingMode; 3602 3603 #if defined(__cplusplus) && !defined(CINTERFACE) 3604 3605 MIDL_INTERFACE("19BF7D90-1E0A-400D-B2C6-FFC4E78AD49D") 3606 IBMDStreamingMutableVideoEncodingMode : public IBMDStreamingVideoEncodingMode 3607 { 3608 public: 3609 virtual HRESULT STDMETHODCALLTYPE SetSourceRect( 3610 /* [in] */ unsigned int posX, 3611 /* [in] */ unsigned int posY, 3612 /* [in] */ unsigned int width, 3613 /* [in] */ unsigned int height) = 0; 3614 3615 virtual HRESULT STDMETHODCALLTYPE SetDestSize( 3616 /* [in] */ unsigned int width, 3617 /* [in] */ unsigned int height) = 0; 3618 3619 virtual HRESULT STDMETHODCALLTYPE SetFlag( 3620 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 3621 /* [in] */ BOOL value) = 0; 3622 3623 virtual HRESULT STDMETHODCALLTYPE SetInt( 3624 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 3625 /* [in] */ LONGLONG value) = 0; 3626 3627 virtual HRESULT STDMETHODCALLTYPE SetFloat( 3628 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 3629 /* [in] */ double value) = 0; 3630 3631 virtual HRESULT STDMETHODCALLTYPE SetString( 3632 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 3633 /* [in] */ BSTR value) = 0; 3634 3635 }; 3636 3637 3638 #else /* C style interface */ 3639 3640 typedef struct IBMDStreamingMutableVideoEncodingModeVtbl 3641 { 3642 BEGIN_INTERFACE 3643 3644 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 3645 IBMDStreamingMutableVideoEncodingMode * This, 3646 /* [in] */ REFIID riid, 3647 /* [annotation][iid_is][out] */ 3648 _COM_Outptr_ void **ppvObject); 3649 3650 ULONG ( STDMETHODCALLTYPE *AddRef )( 3651 IBMDStreamingMutableVideoEncodingMode * This); 3652 3653 ULONG ( STDMETHODCALLTYPE *Release )( 3654 IBMDStreamingMutableVideoEncodingMode * This); 3655 3656 HRESULT ( STDMETHODCALLTYPE *GetName )( 3657 IBMDStreamingMutableVideoEncodingMode * This, 3658 /* [out] */ BSTR *name); 3659 3660 unsigned int ( STDMETHODCALLTYPE *GetPresetID )( 3661 IBMDStreamingMutableVideoEncodingMode * This); 3662 3663 unsigned int ( STDMETHODCALLTYPE *GetSourcePositionX )( 3664 IBMDStreamingMutableVideoEncodingMode * This); 3665 3666 unsigned int ( STDMETHODCALLTYPE *GetSourcePositionY )( 3667 IBMDStreamingMutableVideoEncodingMode * This); 3668 3669 unsigned int ( STDMETHODCALLTYPE *GetSourceWidth )( 3670 IBMDStreamingMutableVideoEncodingMode * This); 3671 3672 unsigned int ( STDMETHODCALLTYPE *GetSourceHeight )( 3673 IBMDStreamingMutableVideoEncodingMode * This); 3674 3675 unsigned int ( STDMETHODCALLTYPE *GetDestWidth )( 3676 IBMDStreamingMutableVideoEncodingMode * This); 3677 3678 unsigned int ( STDMETHODCALLTYPE *GetDestHeight )( 3679 IBMDStreamingMutableVideoEncodingMode * This); 3680 3681 HRESULT ( STDMETHODCALLTYPE *GetFlag )( 3682 IBMDStreamingMutableVideoEncodingMode * This, 3683 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 3684 /* [out] */ BOOL *value); 3685 3686 HRESULT ( STDMETHODCALLTYPE *GetInt )( 3687 IBMDStreamingMutableVideoEncodingMode * This, 3688 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 3689 /* [out] */ LONGLONG *value); 3690 3691 HRESULT ( STDMETHODCALLTYPE *GetFloat )( 3692 IBMDStreamingMutableVideoEncodingMode * This, 3693 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 3694 /* [out] */ double *value); 3695 3696 HRESULT ( STDMETHODCALLTYPE *GetString )( 3697 IBMDStreamingMutableVideoEncodingMode * This, 3698 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 3699 /* [out] */ BSTR *value); 3700 3701 HRESULT ( STDMETHODCALLTYPE *CreateMutableVideoEncodingMode )( 3702 IBMDStreamingMutableVideoEncodingMode * This, 3703 /* [out] */ IBMDStreamingMutableVideoEncodingMode **newEncodingMode); 3704 3705 HRESULT ( STDMETHODCALLTYPE *SetSourceRect )( 3706 IBMDStreamingMutableVideoEncodingMode * This, 3707 /* [in] */ unsigned int posX, 3708 /* [in] */ unsigned int posY, 3709 /* [in] */ unsigned int width, 3710 /* [in] */ unsigned int height); 3711 3712 HRESULT ( STDMETHODCALLTYPE *SetDestSize )( 3713 IBMDStreamingMutableVideoEncodingMode * This, 3714 /* [in] */ unsigned int width, 3715 /* [in] */ unsigned int height); 3716 3717 HRESULT ( STDMETHODCALLTYPE *SetFlag )( 3718 IBMDStreamingMutableVideoEncodingMode * This, 3719 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 3720 /* [in] */ BOOL value); 3721 3722 HRESULT ( STDMETHODCALLTYPE *SetInt )( 3723 IBMDStreamingMutableVideoEncodingMode * This, 3724 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 3725 /* [in] */ LONGLONG value); 3726 3727 HRESULT ( STDMETHODCALLTYPE *SetFloat )( 3728 IBMDStreamingMutableVideoEncodingMode * This, 3729 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 3730 /* [in] */ double value); 3731 3732 HRESULT ( STDMETHODCALLTYPE *SetString )( 3733 IBMDStreamingMutableVideoEncodingMode * This, 3734 /* [in] */ BMDStreamingEncodingModePropertyID cfgID, 3735 /* [in] */ BSTR value); 3736 3737 END_INTERFACE 3738 } IBMDStreamingMutableVideoEncodingModeVtbl; 3739 3740 interface IBMDStreamingMutableVideoEncodingMode 3741 { 3742 CONST_VTBL struct IBMDStreamingMutableVideoEncodingModeVtbl *lpVtbl; 3743 }; 3744 3745 3746 3747 #ifdef COBJMACROS 3748 3749 3750 #define IBMDStreamingMutableVideoEncodingMode_QueryInterface(This,riid,ppvObject) \ 3751 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 3752 3753 #define IBMDStreamingMutableVideoEncodingMode_AddRef(This) \ 3754 ( (This)->lpVtbl -> AddRef(This) ) 3755 3756 #define IBMDStreamingMutableVideoEncodingMode_Release(This) \ 3757 ( (This)->lpVtbl -> Release(This) ) 3758 3759 3760 #define IBMDStreamingMutableVideoEncodingMode_GetName(This,name) \ 3761 ( (This)->lpVtbl -> GetName(This,name) ) 3762 3763 #define IBMDStreamingMutableVideoEncodingMode_GetPresetID(This) \ 3764 ( (This)->lpVtbl -> GetPresetID(This) ) 3765 3766 #define IBMDStreamingMutableVideoEncodingMode_GetSourcePositionX(This) \ 3767 ( (This)->lpVtbl -> GetSourcePositionX(This) ) 3768 3769 #define IBMDStreamingMutableVideoEncodingMode_GetSourcePositionY(This) \ 3770 ( (This)->lpVtbl -> GetSourcePositionY(This) ) 3771 3772 #define IBMDStreamingMutableVideoEncodingMode_GetSourceWidth(This) \ 3773 ( (This)->lpVtbl -> GetSourceWidth(This) ) 3774 3775 #define IBMDStreamingMutableVideoEncodingMode_GetSourceHeight(This) \ 3776 ( (This)->lpVtbl -> GetSourceHeight(This) ) 3777 3778 #define IBMDStreamingMutableVideoEncodingMode_GetDestWidth(This) \ 3779 ( (This)->lpVtbl -> GetDestWidth(This) ) 3780 3781 #define IBMDStreamingMutableVideoEncodingMode_GetDestHeight(This) \ 3782 ( (This)->lpVtbl -> GetDestHeight(This) ) 3783 3784 #define IBMDStreamingMutableVideoEncodingMode_GetFlag(This,cfgID,value) \ 3785 ( (This)->lpVtbl -> GetFlag(This,cfgID,value) ) 3786 3787 #define IBMDStreamingMutableVideoEncodingMode_GetInt(This,cfgID,value) \ 3788 ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) 3789 3790 #define IBMDStreamingMutableVideoEncodingMode_GetFloat(This,cfgID,value) \ 3791 ( (This)->lpVtbl -> GetFloat(This,cfgID,value) ) 3792 3793 #define IBMDStreamingMutableVideoEncodingMode_GetString(This,cfgID,value) \ 3794 ( (This)->lpVtbl -> GetString(This,cfgID,value) ) 3795 3796 #define IBMDStreamingMutableVideoEncodingMode_CreateMutableVideoEncodingMode(This,newEncodingMode) \ 3797 ( (This)->lpVtbl -> CreateMutableVideoEncodingMode(This,newEncodingMode) ) 3798 3799 3800 #define IBMDStreamingMutableVideoEncodingMode_SetSourceRect(This,posX,posY,width,height) \ 3801 ( (This)->lpVtbl -> SetSourceRect(This,posX,posY,width,height) ) 3802 3803 #define IBMDStreamingMutableVideoEncodingMode_SetDestSize(This,width,height) \ 3804 ( (This)->lpVtbl -> SetDestSize(This,width,height) ) 3805 3806 #define IBMDStreamingMutableVideoEncodingMode_SetFlag(This,cfgID,value) \ 3807 ( (This)->lpVtbl -> SetFlag(This,cfgID,value) ) 3808 3809 #define IBMDStreamingMutableVideoEncodingMode_SetInt(This,cfgID,value) \ 3810 ( (This)->lpVtbl -> SetInt(This,cfgID,value) ) 3811 3812 #define IBMDStreamingMutableVideoEncodingMode_SetFloat(This,cfgID,value) \ 3813 ( (This)->lpVtbl -> SetFloat(This,cfgID,value) ) 3814 3815 #define IBMDStreamingMutableVideoEncodingMode_SetString(This,cfgID,value) \ 3816 ( (This)->lpVtbl -> SetString(This,cfgID,value) ) 3817 3818 #endif /* COBJMACROS */ 3819 3820 3821 #endif /* C style interface */ 3822 3823 3824 3825 3826 #endif /* __IBMDStreamingMutableVideoEncodingMode_INTERFACE_DEFINED__ */ 3827 3828 3829 #ifndef __IBMDStreamingVideoEncodingModePresetIterator_INTERFACE_DEFINED__ 3830 #define __IBMDStreamingVideoEncodingModePresetIterator_INTERFACE_DEFINED__ 3831 3832 /* interface IBMDStreamingVideoEncodingModePresetIterator */ 3833 /* [helpstring][uuid][object] */ 3834 3835 3836 EXTERN_C const IID IID_IBMDStreamingVideoEncodingModePresetIterator; 3837 3838 #if defined(__cplusplus) && !defined(CINTERFACE) 3839 3840 MIDL_INTERFACE("7AC731A3-C950-4AD0-804A-8377AA51C6C4") 3841 IBMDStreamingVideoEncodingModePresetIterator : public IUnknown 3842 { 3843 public: 3844 virtual HRESULT STDMETHODCALLTYPE Next( 3845 /* [out] */ IBMDStreamingVideoEncodingMode **videoEncodingMode) = 0; 3846 3847 }; 3848 3849 3850 #else /* C style interface */ 3851 3852 typedef struct IBMDStreamingVideoEncodingModePresetIteratorVtbl 3853 { 3854 BEGIN_INTERFACE 3855 3856 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 3857 IBMDStreamingVideoEncodingModePresetIterator * This, 3858 /* [in] */ REFIID riid, 3859 /* [annotation][iid_is][out] */ 3860 _COM_Outptr_ void **ppvObject); 3861 3862 ULONG ( STDMETHODCALLTYPE *AddRef )( 3863 IBMDStreamingVideoEncodingModePresetIterator * This); 3864 3865 ULONG ( STDMETHODCALLTYPE *Release )( 3866 IBMDStreamingVideoEncodingModePresetIterator * This); 3867 3868 HRESULT ( STDMETHODCALLTYPE *Next )( 3869 IBMDStreamingVideoEncodingModePresetIterator * This, 3870 /* [out] */ IBMDStreamingVideoEncodingMode **videoEncodingMode); 3871 3872 END_INTERFACE 3873 } IBMDStreamingVideoEncodingModePresetIteratorVtbl; 3874 3875 interface IBMDStreamingVideoEncodingModePresetIterator 3876 { 3877 CONST_VTBL struct IBMDStreamingVideoEncodingModePresetIteratorVtbl *lpVtbl; 3878 }; 3879 3880 3881 3882 #ifdef COBJMACROS 3883 3884 3885 #define IBMDStreamingVideoEncodingModePresetIterator_QueryInterface(This,riid,ppvObject) \ 3886 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 3887 3888 #define IBMDStreamingVideoEncodingModePresetIterator_AddRef(This) \ 3889 ( (This)->lpVtbl -> AddRef(This) ) 3890 3891 #define IBMDStreamingVideoEncodingModePresetIterator_Release(This) \ 3892 ( (This)->lpVtbl -> Release(This) ) 3893 3894 3895 #define IBMDStreamingVideoEncodingModePresetIterator_Next(This,videoEncodingMode) \ 3896 ( (This)->lpVtbl -> Next(This,videoEncodingMode) ) 3897 3898 #endif /* COBJMACROS */ 3899 3900 3901 #endif /* C style interface */ 3902 3903 3904 3905 3906 #endif /* __IBMDStreamingVideoEncodingModePresetIterator_INTERFACE_DEFINED__ */ 3907 3908 3909 #ifndef __IBMDStreamingDeviceInput_INTERFACE_DEFINED__ 3910 #define __IBMDStreamingDeviceInput_INTERFACE_DEFINED__ 3911 3912 /* interface IBMDStreamingDeviceInput */ 3913 /* [helpstring][uuid][object] */ 3914 3915 3916 EXTERN_C const IID IID_IBMDStreamingDeviceInput; 3917 3918 #if defined(__cplusplus) && !defined(CINTERFACE) 3919 3920 MIDL_INTERFACE("24B6B6EC-1727-44BB-9818-34FF086ACF98") 3921 IBMDStreamingDeviceInput : public IUnknown 3922 { 3923 public: 3924 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoInputMode( 3925 /* [in] */ BMDDisplayMode inputMode, 3926 /* [out] */ BOOL *result) = 0; 3927 3928 virtual HRESULT STDMETHODCALLTYPE GetVideoInputModeIterator( 3929 /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0; 3930 3931 virtual HRESULT STDMETHODCALLTYPE SetVideoInputMode( 3932 /* [in] */ BMDDisplayMode inputMode) = 0; 3933 3934 virtual HRESULT STDMETHODCALLTYPE GetCurrentDetectedVideoInputMode( 3935 /* [out] */ BMDDisplayMode *detectedMode) = 0; 3936 3937 virtual HRESULT STDMETHODCALLTYPE GetVideoEncodingMode( 3938 /* [out] */ IBMDStreamingVideoEncodingMode **encodingMode) = 0; 3939 3940 virtual HRESULT STDMETHODCALLTYPE GetVideoEncodingModePresetIterator( 3941 /* [in] */ BMDDisplayMode inputMode, 3942 /* [out] */ IBMDStreamingVideoEncodingModePresetIterator **iterator) = 0; 3943 3944 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoEncodingMode( 3945 /* [in] */ BMDDisplayMode inputMode, 3946 /* [in] */ IBMDStreamingVideoEncodingMode *encodingMode, 3947 /* [out] */ BMDStreamingEncodingSupport *result, 3948 /* [out] */ IBMDStreamingVideoEncodingMode **changedEncodingMode) = 0; 3949 3950 virtual HRESULT STDMETHODCALLTYPE SetVideoEncodingMode( 3951 /* [in] */ IBMDStreamingVideoEncodingMode *encodingMode) = 0; 3952 3953 virtual HRESULT STDMETHODCALLTYPE StartCapture( void) = 0; 3954 3955 virtual HRESULT STDMETHODCALLTYPE StopCapture( void) = 0; 3956 3957 virtual HRESULT STDMETHODCALLTYPE SetCallback( 3958 /* [in] */ IUnknown *theCallback) = 0; 3959 3960 }; 3961 3962 3963 #else /* C style interface */ 3964 3965 typedef struct IBMDStreamingDeviceInputVtbl 3966 { 3967 BEGIN_INTERFACE 3968 3969 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 3970 IBMDStreamingDeviceInput * This, 3971 /* [in] */ REFIID riid, 3972 /* [annotation][iid_is][out] */ 3973 _COM_Outptr_ void **ppvObject); 3974 3975 ULONG ( STDMETHODCALLTYPE *AddRef )( 3976 IBMDStreamingDeviceInput * This); 3977 3978 ULONG ( STDMETHODCALLTYPE *Release )( 3979 IBMDStreamingDeviceInput * This); 3980 3981 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoInputMode )( 3982 IBMDStreamingDeviceInput * This, 3983 /* [in] */ BMDDisplayMode inputMode, 3984 /* [out] */ BOOL *result); 3985 3986 HRESULT ( STDMETHODCALLTYPE *GetVideoInputModeIterator )( 3987 IBMDStreamingDeviceInput * This, 3988 /* [out] */ IDeckLinkDisplayModeIterator **iterator); 3989 3990 HRESULT ( STDMETHODCALLTYPE *SetVideoInputMode )( 3991 IBMDStreamingDeviceInput * This, 3992 /* [in] */ BMDDisplayMode inputMode); 3993 3994 HRESULT ( STDMETHODCALLTYPE *GetCurrentDetectedVideoInputMode )( 3995 IBMDStreamingDeviceInput * This, 3996 /* [out] */ BMDDisplayMode *detectedMode); 3997 3998 HRESULT ( STDMETHODCALLTYPE *GetVideoEncodingMode )( 3999 IBMDStreamingDeviceInput * This, 4000 /* [out] */ IBMDStreamingVideoEncodingMode **encodingMode); 4001 4002 HRESULT ( STDMETHODCALLTYPE *GetVideoEncodingModePresetIterator )( 4003 IBMDStreamingDeviceInput * This, 4004 /* [in] */ BMDDisplayMode inputMode, 4005 /* [out] */ IBMDStreamingVideoEncodingModePresetIterator **iterator); 4006 4007 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoEncodingMode )( 4008 IBMDStreamingDeviceInput * This, 4009 /* [in] */ BMDDisplayMode inputMode, 4010 /* [in] */ IBMDStreamingVideoEncodingMode *encodingMode, 4011 /* [out] */ BMDStreamingEncodingSupport *result, 4012 /* [out] */ IBMDStreamingVideoEncodingMode **changedEncodingMode); 4013 4014 HRESULT ( STDMETHODCALLTYPE *SetVideoEncodingMode )( 4015 IBMDStreamingDeviceInput * This, 4016 /* [in] */ IBMDStreamingVideoEncodingMode *encodingMode); 4017 4018 HRESULT ( STDMETHODCALLTYPE *StartCapture )( 4019 IBMDStreamingDeviceInput * This); 4020 4021 HRESULT ( STDMETHODCALLTYPE *StopCapture )( 4022 IBMDStreamingDeviceInput * This); 4023 4024 HRESULT ( STDMETHODCALLTYPE *SetCallback )( 4025 IBMDStreamingDeviceInput * This, 4026 /* [in] */ IUnknown *theCallback); 4027 4028 END_INTERFACE 4029 } IBMDStreamingDeviceInputVtbl; 4030 4031 interface IBMDStreamingDeviceInput 4032 { 4033 CONST_VTBL struct IBMDStreamingDeviceInputVtbl *lpVtbl; 4034 }; 4035 4036 4037 4038 #ifdef COBJMACROS 4039 4040 4041 #define IBMDStreamingDeviceInput_QueryInterface(This,riid,ppvObject) \ 4042 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 4043 4044 #define IBMDStreamingDeviceInput_AddRef(This) \ 4045 ( (This)->lpVtbl -> AddRef(This) ) 4046 4047 #define IBMDStreamingDeviceInput_Release(This) \ 4048 ( (This)->lpVtbl -> Release(This) ) 4049 4050 4051 #define IBMDStreamingDeviceInput_DoesSupportVideoInputMode(This,inputMode,result) \ 4052 ( (This)->lpVtbl -> DoesSupportVideoInputMode(This,inputMode,result) ) 4053 4054 #define IBMDStreamingDeviceInput_GetVideoInputModeIterator(This,iterator) \ 4055 ( (This)->lpVtbl -> GetVideoInputModeIterator(This,iterator) ) 4056 4057 #define IBMDStreamingDeviceInput_SetVideoInputMode(This,inputMode) \ 4058 ( (This)->lpVtbl -> SetVideoInputMode(This,inputMode) ) 4059 4060 #define IBMDStreamingDeviceInput_GetCurrentDetectedVideoInputMode(This,detectedMode) \ 4061 ( (This)->lpVtbl -> GetCurrentDetectedVideoInputMode(This,detectedMode) ) 4062 4063 #define IBMDStreamingDeviceInput_GetVideoEncodingMode(This,encodingMode) \ 4064 ( (This)->lpVtbl -> GetVideoEncodingMode(This,encodingMode) ) 4065 4066 #define IBMDStreamingDeviceInput_GetVideoEncodingModePresetIterator(This,inputMode,iterator) \ 4067 ( (This)->lpVtbl -> GetVideoEncodingModePresetIterator(This,inputMode,iterator) ) 4068 4069 #define IBMDStreamingDeviceInput_DoesSupportVideoEncodingMode(This,inputMode,encodingMode,result,changedEncodingMode) \ 4070 ( (This)->lpVtbl -> DoesSupportVideoEncodingMode(This,inputMode,encodingMode,result,changedEncodingMode) ) 4071 4072 #define IBMDStreamingDeviceInput_SetVideoEncodingMode(This,encodingMode) \ 4073 ( (This)->lpVtbl -> SetVideoEncodingMode(This,encodingMode) ) 4074 4075 #define IBMDStreamingDeviceInput_StartCapture(This) \ 4076 ( (This)->lpVtbl -> StartCapture(This) ) 4077 4078 #define IBMDStreamingDeviceInput_StopCapture(This) \ 4079 ( (This)->lpVtbl -> StopCapture(This) ) 4080 4081 #define IBMDStreamingDeviceInput_SetCallback(This,theCallback) \ 4082 ( (This)->lpVtbl -> SetCallback(This,theCallback) ) 4083 4084 #endif /* COBJMACROS */ 4085 4086 4087 #endif /* C style interface */ 4088 4089 4090 4091 4092 #endif /* __IBMDStreamingDeviceInput_INTERFACE_DEFINED__ */ 4093 4094 4095 #ifndef __IBMDStreamingH264NALPacket_INTERFACE_DEFINED__ 4096 #define __IBMDStreamingH264NALPacket_INTERFACE_DEFINED__ 4097 4098 /* interface IBMDStreamingH264NALPacket */ 4099 /* [helpstring][uuid][object] */ 4100 4101 4102 EXTERN_C const IID IID_IBMDStreamingH264NALPacket; 4103 4104 #if defined(__cplusplus) && !defined(CINTERFACE) 4105 4106 MIDL_INTERFACE("E260E955-14BE-4395-9775-9F02CC0A9D89") 4107 IBMDStreamingH264NALPacket : public IUnknown 4108 { 4109 public: 4110 virtual long STDMETHODCALLTYPE GetPayloadSize( void) = 0; 4111 4112 virtual HRESULT STDMETHODCALLTYPE GetBytes( 4113 /* [out] */ void **buffer) = 0; 4114 4115 virtual HRESULT STDMETHODCALLTYPE GetBytesWithSizePrefix( 4116 /* [out] */ void **buffer) = 0; 4117 4118 virtual HRESULT STDMETHODCALLTYPE GetDisplayTime( 4119 /* [in] */ ULONGLONG requestedTimeScale, 4120 /* [out] */ ULONGLONG *displayTime) = 0; 4121 4122 virtual HRESULT STDMETHODCALLTYPE GetPacketIndex( 4123 /* [out] */ unsigned int *packetIndex) = 0; 4124 4125 }; 4126 4127 4128 #else /* C style interface */ 4129 4130 typedef struct IBMDStreamingH264NALPacketVtbl 4131 { 4132 BEGIN_INTERFACE 4133 4134 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 4135 IBMDStreamingH264NALPacket * This, 4136 /* [in] */ REFIID riid, 4137 /* [annotation][iid_is][out] */ 4138 _COM_Outptr_ void **ppvObject); 4139 4140 ULONG ( STDMETHODCALLTYPE *AddRef )( 4141 IBMDStreamingH264NALPacket * This); 4142 4143 ULONG ( STDMETHODCALLTYPE *Release )( 4144 IBMDStreamingH264NALPacket * This); 4145 4146 long ( STDMETHODCALLTYPE *GetPayloadSize )( 4147 IBMDStreamingH264NALPacket * This); 4148 4149 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 4150 IBMDStreamingH264NALPacket * This, 4151 /* [out] */ void **buffer); 4152 4153 HRESULT ( STDMETHODCALLTYPE *GetBytesWithSizePrefix )( 4154 IBMDStreamingH264NALPacket * This, 4155 /* [out] */ void **buffer); 4156 4157 HRESULT ( STDMETHODCALLTYPE *GetDisplayTime )( 4158 IBMDStreamingH264NALPacket * This, 4159 /* [in] */ ULONGLONG requestedTimeScale, 4160 /* [out] */ ULONGLONG *displayTime); 4161 4162 HRESULT ( STDMETHODCALLTYPE *GetPacketIndex )( 4163 IBMDStreamingH264NALPacket * This, 4164 /* [out] */ unsigned int *packetIndex); 4165 4166 END_INTERFACE 4167 } IBMDStreamingH264NALPacketVtbl; 4168 4169 interface IBMDStreamingH264NALPacket 4170 { 4171 CONST_VTBL struct IBMDStreamingH264NALPacketVtbl *lpVtbl; 4172 }; 4173 4174 4175 4176 #ifdef COBJMACROS 4177 4178 4179 #define IBMDStreamingH264NALPacket_QueryInterface(This,riid,ppvObject) \ 4180 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 4181 4182 #define IBMDStreamingH264NALPacket_AddRef(This) \ 4183 ( (This)->lpVtbl -> AddRef(This) ) 4184 4185 #define IBMDStreamingH264NALPacket_Release(This) \ 4186 ( (This)->lpVtbl -> Release(This) ) 4187 4188 4189 #define IBMDStreamingH264NALPacket_GetPayloadSize(This) \ 4190 ( (This)->lpVtbl -> GetPayloadSize(This) ) 4191 4192 #define IBMDStreamingH264NALPacket_GetBytes(This,buffer) \ 4193 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 4194 4195 #define IBMDStreamingH264NALPacket_GetBytesWithSizePrefix(This,buffer) \ 4196 ( (This)->lpVtbl -> GetBytesWithSizePrefix(This,buffer) ) 4197 4198 #define IBMDStreamingH264NALPacket_GetDisplayTime(This,requestedTimeScale,displayTime) \ 4199 ( (This)->lpVtbl -> GetDisplayTime(This,requestedTimeScale,displayTime) ) 4200 4201 #define IBMDStreamingH264NALPacket_GetPacketIndex(This,packetIndex) \ 4202 ( (This)->lpVtbl -> GetPacketIndex(This,packetIndex) ) 4203 4204 #endif /* COBJMACROS */ 4205 4206 4207 #endif /* C style interface */ 4208 4209 4210 4211 4212 #endif /* __IBMDStreamingH264NALPacket_INTERFACE_DEFINED__ */ 4213 4214 4215 #ifndef __IBMDStreamingAudioPacket_INTERFACE_DEFINED__ 4216 #define __IBMDStreamingAudioPacket_INTERFACE_DEFINED__ 4217 4218 /* interface IBMDStreamingAudioPacket */ 4219 /* [helpstring][uuid][object] */ 4220 4221 4222 EXTERN_C const IID IID_IBMDStreamingAudioPacket; 4223 4224 #if defined(__cplusplus) && !defined(CINTERFACE) 4225 4226 MIDL_INTERFACE("D9EB5902-1AD2-43F4-9E2C-3CFA50B5EE19") 4227 IBMDStreamingAudioPacket : public IUnknown 4228 { 4229 public: 4230 virtual BMDStreamingAudioCodec STDMETHODCALLTYPE GetCodec( void) = 0; 4231 4232 virtual long STDMETHODCALLTYPE GetPayloadSize( void) = 0; 4233 4234 virtual HRESULT STDMETHODCALLTYPE GetBytes( 4235 /* [out] */ void **buffer) = 0; 4236 4237 virtual HRESULT STDMETHODCALLTYPE GetPlayTime( 4238 /* [in] */ ULONGLONG requestedTimeScale, 4239 /* [out] */ ULONGLONG *playTime) = 0; 4240 4241 virtual HRESULT STDMETHODCALLTYPE GetPacketIndex( 4242 /* [out] */ unsigned int *packetIndex) = 0; 4243 4244 }; 4245 4246 4247 #else /* C style interface */ 4248 4249 typedef struct IBMDStreamingAudioPacketVtbl 4250 { 4251 BEGIN_INTERFACE 4252 4253 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 4254 IBMDStreamingAudioPacket * This, 4255 /* [in] */ REFIID riid, 4256 /* [annotation][iid_is][out] */ 4257 _COM_Outptr_ void **ppvObject); 4258 4259 ULONG ( STDMETHODCALLTYPE *AddRef )( 4260 IBMDStreamingAudioPacket * This); 4261 4262 ULONG ( STDMETHODCALLTYPE *Release )( 4263 IBMDStreamingAudioPacket * This); 4264 4265 BMDStreamingAudioCodec ( STDMETHODCALLTYPE *GetCodec )( 4266 IBMDStreamingAudioPacket * This); 4267 4268 long ( STDMETHODCALLTYPE *GetPayloadSize )( 4269 IBMDStreamingAudioPacket * This); 4270 4271 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 4272 IBMDStreamingAudioPacket * This, 4273 /* [out] */ void **buffer); 4274 4275 HRESULT ( STDMETHODCALLTYPE *GetPlayTime )( 4276 IBMDStreamingAudioPacket * This, 4277 /* [in] */ ULONGLONG requestedTimeScale, 4278 /* [out] */ ULONGLONG *playTime); 4279 4280 HRESULT ( STDMETHODCALLTYPE *GetPacketIndex )( 4281 IBMDStreamingAudioPacket * This, 4282 /* [out] */ unsigned int *packetIndex); 4283 4284 END_INTERFACE 4285 } IBMDStreamingAudioPacketVtbl; 4286 4287 interface IBMDStreamingAudioPacket 4288 { 4289 CONST_VTBL struct IBMDStreamingAudioPacketVtbl *lpVtbl; 4290 }; 4291 4292 4293 4294 #ifdef COBJMACROS 4295 4296 4297 #define IBMDStreamingAudioPacket_QueryInterface(This,riid,ppvObject) \ 4298 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 4299 4300 #define IBMDStreamingAudioPacket_AddRef(This) \ 4301 ( (This)->lpVtbl -> AddRef(This) ) 4302 4303 #define IBMDStreamingAudioPacket_Release(This) \ 4304 ( (This)->lpVtbl -> Release(This) ) 4305 4306 4307 #define IBMDStreamingAudioPacket_GetCodec(This) \ 4308 ( (This)->lpVtbl -> GetCodec(This) ) 4309 4310 #define IBMDStreamingAudioPacket_GetPayloadSize(This) \ 4311 ( (This)->lpVtbl -> GetPayloadSize(This) ) 4312 4313 #define IBMDStreamingAudioPacket_GetBytes(This,buffer) \ 4314 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 4315 4316 #define IBMDStreamingAudioPacket_GetPlayTime(This,requestedTimeScale,playTime) \ 4317 ( (This)->lpVtbl -> GetPlayTime(This,requestedTimeScale,playTime) ) 4318 4319 #define IBMDStreamingAudioPacket_GetPacketIndex(This,packetIndex) \ 4320 ( (This)->lpVtbl -> GetPacketIndex(This,packetIndex) ) 4321 4322 #endif /* COBJMACROS */ 4323 4324 4325 #endif /* C style interface */ 4326 4327 4328 4329 4330 #endif /* __IBMDStreamingAudioPacket_INTERFACE_DEFINED__ */ 4331 4332 4333 #ifndef __IBMDStreamingMPEG2TSPacket_INTERFACE_DEFINED__ 4334 #define __IBMDStreamingMPEG2TSPacket_INTERFACE_DEFINED__ 4335 4336 /* interface IBMDStreamingMPEG2TSPacket */ 4337 /* [helpstring][uuid][object] */ 4338 4339 4340 EXTERN_C const IID IID_IBMDStreamingMPEG2TSPacket; 4341 4342 #if defined(__cplusplus) && !defined(CINTERFACE) 4343 4344 MIDL_INTERFACE("91810D1C-4FB3-4AAA-AE56-FA301D3DFA4C") 4345 IBMDStreamingMPEG2TSPacket : public IUnknown 4346 { 4347 public: 4348 virtual long STDMETHODCALLTYPE GetPayloadSize( void) = 0; 4349 4350 virtual HRESULT STDMETHODCALLTYPE GetBytes( 4351 /* [out] */ void **buffer) = 0; 4352 4353 }; 4354 4355 4356 #else /* C style interface */ 4357 4358 typedef struct IBMDStreamingMPEG2TSPacketVtbl 4359 { 4360 BEGIN_INTERFACE 4361 4362 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 4363 IBMDStreamingMPEG2TSPacket * This, 4364 /* [in] */ REFIID riid, 4365 /* [annotation][iid_is][out] */ 4366 _COM_Outptr_ void **ppvObject); 4367 4368 ULONG ( STDMETHODCALLTYPE *AddRef )( 4369 IBMDStreamingMPEG2TSPacket * This); 4370 4371 ULONG ( STDMETHODCALLTYPE *Release )( 4372 IBMDStreamingMPEG2TSPacket * This); 4373 4374 long ( STDMETHODCALLTYPE *GetPayloadSize )( 4375 IBMDStreamingMPEG2TSPacket * This); 4376 4377 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 4378 IBMDStreamingMPEG2TSPacket * This, 4379 /* [out] */ void **buffer); 4380 4381 END_INTERFACE 4382 } IBMDStreamingMPEG2TSPacketVtbl; 4383 4384 interface IBMDStreamingMPEG2TSPacket 4385 { 4386 CONST_VTBL struct IBMDStreamingMPEG2TSPacketVtbl *lpVtbl; 4387 }; 4388 4389 4390 4391 #ifdef COBJMACROS 4392 4393 4394 #define IBMDStreamingMPEG2TSPacket_QueryInterface(This,riid,ppvObject) \ 4395 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 4396 4397 #define IBMDStreamingMPEG2TSPacket_AddRef(This) \ 4398 ( (This)->lpVtbl -> AddRef(This) ) 4399 4400 #define IBMDStreamingMPEG2TSPacket_Release(This) \ 4401 ( (This)->lpVtbl -> Release(This) ) 4402 4403 4404 #define IBMDStreamingMPEG2TSPacket_GetPayloadSize(This) \ 4405 ( (This)->lpVtbl -> GetPayloadSize(This) ) 4406 4407 #define IBMDStreamingMPEG2TSPacket_GetBytes(This,buffer) \ 4408 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 4409 4410 #endif /* COBJMACROS */ 4411 4412 4413 #endif /* C style interface */ 4414 4415 4416 4417 4418 #endif /* __IBMDStreamingMPEG2TSPacket_INTERFACE_DEFINED__ */ 4419 4420 4421 #ifndef __IBMDStreamingH264NALParser_INTERFACE_DEFINED__ 4422 #define __IBMDStreamingH264NALParser_INTERFACE_DEFINED__ 4423 4424 /* interface IBMDStreamingH264NALParser */ 4425 /* [helpstring][uuid][object] */ 4426 4427 4428 EXTERN_C const IID IID_IBMDStreamingH264NALParser; 4429 4430 #if defined(__cplusplus) && !defined(CINTERFACE) 4431 4432 MIDL_INTERFACE("5867F18C-5BFA-4CCC-B2A7-9DFD140417D2") 4433 IBMDStreamingH264NALParser : public IUnknown 4434 { 4435 public: 4436 virtual HRESULT STDMETHODCALLTYPE IsNALSequenceParameterSet( 4437 /* [in] */ IBMDStreamingH264NALPacket *nal) = 0; 4438 4439 virtual HRESULT STDMETHODCALLTYPE IsNALPictureParameterSet( 4440 /* [in] */ IBMDStreamingH264NALPacket *nal) = 0; 4441 4442 virtual HRESULT STDMETHODCALLTYPE GetProfileAndLevelFromSPS( 4443 /* [in] */ IBMDStreamingH264NALPacket *nal, 4444 /* [out] */ unsigned int *profileIdc, 4445 /* [out] */ unsigned int *profileCompatability, 4446 /* [out] */ unsigned int *levelIdc) = 0; 4447 4448 }; 4449 4450 4451 #else /* C style interface */ 4452 4453 typedef struct IBMDStreamingH264NALParserVtbl 4454 { 4455 BEGIN_INTERFACE 4456 4457 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 4458 IBMDStreamingH264NALParser * This, 4459 /* [in] */ REFIID riid, 4460 /* [annotation][iid_is][out] */ 4461 _COM_Outptr_ void **ppvObject); 4462 4463 ULONG ( STDMETHODCALLTYPE *AddRef )( 4464 IBMDStreamingH264NALParser * This); 4465 4466 ULONG ( STDMETHODCALLTYPE *Release )( 4467 IBMDStreamingH264NALParser * This); 4468 4469 HRESULT ( STDMETHODCALLTYPE *IsNALSequenceParameterSet )( 4470 IBMDStreamingH264NALParser * This, 4471 /* [in] */ IBMDStreamingH264NALPacket *nal); 4472 4473 HRESULT ( STDMETHODCALLTYPE *IsNALPictureParameterSet )( 4474 IBMDStreamingH264NALParser * This, 4475 /* [in] */ IBMDStreamingH264NALPacket *nal); 4476 4477 HRESULT ( STDMETHODCALLTYPE *GetProfileAndLevelFromSPS )( 4478 IBMDStreamingH264NALParser * This, 4479 /* [in] */ IBMDStreamingH264NALPacket *nal, 4480 /* [out] */ unsigned int *profileIdc, 4481 /* [out] */ unsigned int *profileCompatability, 4482 /* [out] */ unsigned int *levelIdc); 4483 4484 END_INTERFACE 4485 } IBMDStreamingH264NALParserVtbl; 4486 4487 interface IBMDStreamingH264NALParser 4488 { 4489 CONST_VTBL struct IBMDStreamingH264NALParserVtbl *lpVtbl; 4490 }; 4491 4492 4493 4494 #ifdef COBJMACROS 4495 4496 4497 #define IBMDStreamingH264NALParser_QueryInterface(This,riid,ppvObject) \ 4498 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 4499 4500 #define IBMDStreamingH264NALParser_AddRef(This) \ 4501 ( (This)->lpVtbl -> AddRef(This) ) 4502 4503 #define IBMDStreamingH264NALParser_Release(This) \ 4504 ( (This)->lpVtbl -> Release(This) ) 4505 4506 4507 #define IBMDStreamingH264NALParser_IsNALSequenceParameterSet(This,nal) \ 4508 ( (This)->lpVtbl -> IsNALSequenceParameterSet(This,nal) ) 4509 4510 #define IBMDStreamingH264NALParser_IsNALPictureParameterSet(This,nal) \ 4511 ( (This)->lpVtbl -> IsNALPictureParameterSet(This,nal) ) 4512 4513 #define IBMDStreamingH264NALParser_GetProfileAndLevelFromSPS(This,nal,profileIdc,profileCompatability,levelIdc) \ 4514 ( (This)->lpVtbl -> GetProfileAndLevelFromSPS(This,nal,profileIdc,profileCompatability,levelIdc) ) 4515 4516 #endif /* COBJMACROS */ 4517 4518 4519 #endif /* C style interface */ 4520 4521 4522 4523 4524 #endif /* __IBMDStreamingH264NALParser_INTERFACE_DEFINED__ */ 4525 4526 4527 EXTERN_C const CLSID CLSID_CBMDStreamingDiscovery; 4528 4529 #ifdef __cplusplus 4530 4531 class DECLSPEC_UUID("0CAA31F6-8A26-40B0-86A4-BF58DCCA710C") 4532 CBMDStreamingDiscovery; 4533 #endif 4534 4535 EXTERN_C const CLSID CLSID_CBMDStreamingH264NALParser; 4536 4537 #ifdef __cplusplus 4538 4539 class DECLSPEC_UUID("7753EFBD-951C-407C-97A5-23C737B73B52") 4540 CBMDStreamingH264NALParser; 4541 #endif 4542 4543 #ifndef __IDeckLinkVideoOutputCallback_INTERFACE_DEFINED__ 4544 #define __IDeckLinkVideoOutputCallback_INTERFACE_DEFINED__ 4545 4546 /* interface IDeckLinkVideoOutputCallback */ 4547 /* [helpstring][uuid][object] */ 4548 4549 4550 EXTERN_C const IID IID_IDeckLinkVideoOutputCallback; 4551 4552 #if defined(__cplusplus) && !defined(CINTERFACE) 4553 4554 MIDL_INTERFACE("20AA5225-1958-47CB-820B-80A8D521A6EE") 4555 IDeckLinkVideoOutputCallback : public IUnknown 4556 { 4557 public: 4558 virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted( 4559 /* [in] */ IDeckLinkVideoFrame *completedFrame, 4560 /* [in] */ BMDOutputFrameCompletionResult result) = 0; 4561 4562 virtual HRESULT STDMETHODCALLTYPE ScheduledPlaybackHasStopped( void) = 0; 4563 4564 }; 4565 4566 4567 #else /* C style interface */ 4568 4569 typedef struct IDeckLinkVideoOutputCallbackVtbl 4570 { 4571 BEGIN_INTERFACE 4572 4573 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 4574 IDeckLinkVideoOutputCallback * This, 4575 /* [in] */ REFIID riid, 4576 /* [annotation][iid_is][out] */ 4577 _COM_Outptr_ void **ppvObject); 4578 4579 ULONG ( STDMETHODCALLTYPE *AddRef )( 4580 IDeckLinkVideoOutputCallback * This); 4581 4582 ULONG ( STDMETHODCALLTYPE *Release )( 4583 IDeckLinkVideoOutputCallback * This); 4584 4585 HRESULT ( STDMETHODCALLTYPE *ScheduledFrameCompleted )( 4586 IDeckLinkVideoOutputCallback * This, 4587 /* [in] */ IDeckLinkVideoFrame *completedFrame, 4588 /* [in] */ BMDOutputFrameCompletionResult result); 4589 4590 HRESULT ( STDMETHODCALLTYPE *ScheduledPlaybackHasStopped )( 4591 IDeckLinkVideoOutputCallback * This); 4592 4593 END_INTERFACE 4594 } IDeckLinkVideoOutputCallbackVtbl; 4595 4596 interface IDeckLinkVideoOutputCallback 4597 { 4598 CONST_VTBL struct IDeckLinkVideoOutputCallbackVtbl *lpVtbl; 4599 }; 4600 4601 4602 4603 #ifdef COBJMACROS 4604 4605 4606 #define IDeckLinkVideoOutputCallback_QueryInterface(This,riid,ppvObject) \ 4607 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 4608 4609 #define IDeckLinkVideoOutputCallback_AddRef(This) \ 4610 ( (This)->lpVtbl -> AddRef(This) ) 4611 4612 #define IDeckLinkVideoOutputCallback_Release(This) \ 4613 ( (This)->lpVtbl -> Release(This) ) 4614 4615 4616 #define IDeckLinkVideoOutputCallback_ScheduledFrameCompleted(This,completedFrame,result) \ 4617 ( (This)->lpVtbl -> ScheduledFrameCompleted(This,completedFrame,result) ) 4618 4619 #define IDeckLinkVideoOutputCallback_ScheduledPlaybackHasStopped(This) \ 4620 ( (This)->lpVtbl -> ScheduledPlaybackHasStopped(This) ) 4621 4622 #endif /* COBJMACROS */ 4623 4624 4625 #endif /* C style interface */ 4626 4627 4628 4629 4630 #endif /* __IDeckLinkVideoOutputCallback_INTERFACE_DEFINED__ */ 4631 4632 4633 #ifndef __IDeckLinkInputCallback_INTERFACE_DEFINED__ 4634 #define __IDeckLinkInputCallback_INTERFACE_DEFINED__ 4635 4636 /* interface IDeckLinkInputCallback */ 4637 /* [helpstring][uuid][object] */ 4638 4639 4640 EXTERN_C const IID IID_IDeckLinkInputCallback; 4641 4642 #if defined(__cplusplus) && !defined(CINTERFACE) 4643 4644 MIDL_INTERFACE("DD04E5EC-7415-42AB-AE4A-E80C4DFC044A") 4645 IDeckLinkInputCallback : public IUnknown 4646 { 4647 public: 4648 virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged( 4649 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents, 4650 /* [in] */ IDeckLinkDisplayMode *newDisplayMode, 4651 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0; 4652 4653 virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived( 4654 /* [in] */ IDeckLinkVideoInputFrame *videoFrame, 4655 /* [in] */ IDeckLinkAudioInputPacket *audioPacket) = 0; 4656 4657 }; 4658 4659 4660 #else /* C style interface */ 4661 4662 typedef struct IDeckLinkInputCallbackVtbl 4663 { 4664 BEGIN_INTERFACE 4665 4666 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 4667 IDeckLinkInputCallback * This, 4668 /* [in] */ REFIID riid, 4669 /* [annotation][iid_is][out] */ 4670 _COM_Outptr_ void **ppvObject); 4671 4672 ULONG ( STDMETHODCALLTYPE *AddRef )( 4673 IDeckLinkInputCallback * This); 4674 4675 ULONG ( STDMETHODCALLTYPE *Release )( 4676 IDeckLinkInputCallback * This); 4677 4678 HRESULT ( STDMETHODCALLTYPE *VideoInputFormatChanged )( 4679 IDeckLinkInputCallback * This, 4680 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents, 4681 /* [in] */ IDeckLinkDisplayMode *newDisplayMode, 4682 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags); 4683 4684 HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )( 4685 IDeckLinkInputCallback * This, 4686 /* [in] */ IDeckLinkVideoInputFrame *videoFrame, 4687 /* [in] */ IDeckLinkAudioInputPacket *audioPacket); 4688 4689 END_INTERFACE 4690 } IDeckLinkInputCallbackVtbl; 4691 4692 interface IDeckLinkInputCallback 4693 { 4694 CONST_VTBL struct IDeckLinkInputCallbackVtbl *lpVtbl; 4695 }; 4696 4697 4698 4699 #ifdef COBJMACROS 4700 4701 4702 #define IDeckLinkInputCallback_QueryInterface(This,riid,ppvObject) \ 4703 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 4704 4705 #define IDeckLinkInputCallback_AddRef(This) \ 4706 ( (This)->lpVtbl -> AddRef(This) ) 4707 4708 #define IDeckLinkInputCallback_Release(This) \ 4709 ( (This)->lpVtbl -> Release(This) ) 4710 4711 4712 #define IDeckLinkInputCallback_VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) \ 4713 ( (This)->lpVtbl -> VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) ) 4714 4715 #define IDeckLinkInputCallback_VideoInputFrameArrived(This,videoFrame,audioPacket) \ 4716 ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) ) 4717 4718 #endif /* COBJMACROS */ 4719 4720 4721 #endif /* C style interface */ 4722 4723 4724 4725 4726 #endif /* __IDeckLinkInputCallback_INTERFACE_DEFINED__ */ 4727 4728 4729 #ifndef __IDeckLinkEncoderInputCallback_INTERFACE_DEFINED__ 4730 #define __IDeckLinkEncoderInputCallback_INTERFACE_DEFINED__ 4731 4732 /* interface IDeckLinkEncoderInputCallback */ 4733 /* [helpstring][uuid][object] */ 4734 4735 4736 EXTERN_C const IID IID_IDeckLinkEncoderInputCallback; 4737 4738 #if defined(__cplusplus) && !defined(CINTERFACE) 4739 4740 MIDL_INTERFACE("ACF13E61-F4A0-4974-A6A7-59AFF6268B31") 4741 IDeckLinkEncoderInputCallback : public IUnknown 4742 { 4743 public: 4744 virtual HRESULT STDMETHODCALLTYPE VideoInputSignalChanged( 4745 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents, 4746 /* [in] */ IDeckLinkDisplayMode *newDisplayMode, 4747 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0; 4748 4749 virtual HRESULT STDMETHODCALLTYPE VideoPacketArrived( 4750 /* [in] */ IDeckLinkEncoderVideoPacket *videoPacket) = 0; 4751 4752 virtual HRESULT STDMETHODCALLTYPE AudioPacketArrived( 4753 /* [in] */ IDeckLinkEncoderAudioPacket *audioPacket) = 0; 4754 4755 }; 4756 4757 4758 #else /* C style interface */ 4759 4760 typedef struct IDeckLinkEncoderInputCallbackVtbl 4761 { 4762 BEGIN_INTERFACE 4763 4764 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 4765 IDeckLinkEncoderInputCallback * This, 4766 /* [in] */ REFIID riid, 4767 /* [annotation][iid_is][out] */ 4768 _COM_Outptr_ void **ppvObject); 4769 4770 ULONG ( STDMETHODCALLTYPE *AddRef )( 4771 IDeckLinkEncoderInputCallback * This); 4772 4773 ULONG ( STDMETHODCALLTYPE *Release )( 4774 IDeckLinkEncoderInputCallback * This); 4775 4776 HRESULT ( STDMETHODCALLTYPE *VideoInputSignalChanged )( 4777 IDeckLinkEncoderInputCallback * This, 4778 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents, 4779 /* [in] */ IDeckLinkDisplayMode *newDisplayMode, 4780 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags); 4781 4782 HRESULT ( STDMETHODCALLTYPE *VideoPacketArrived )( 4783 IDeckLinkEncoderInputCallback * This, 4784 /* [in] */ IDeckLinkEncoderVideoPacket *videoPacket); 4785 4786 HRESULT ( STDMETHODCALLTYPE *AudioPacketArrived )( 4787 IDeckLinkEncoderInputCallback * This, 4788 /* [in] */ IDeckLinkEncoderAudioPacket *audioPacket); 4789 4790 END_INTERFACE 4791 } IDeckLinkEncoderInputCallbackVtbl; 4792 4793 interface IDeckLinkEncoderInputCallback 4794 { 4795 CONST_VTBL struct IDeckLinkEncoderInputCallbackVtbl *lpVtbl; 4796 }; 4797 4798 4799 4800 #ifdef COBJMACROS 4801 4802 4803 #define IDeckLinkEncoderInputCallback_QueryInterface(This,riid,ppvObject) \ 4804 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 4805 4806 #define IDeckLinkEncoderInputCallback_AddRef(This) \ 4807 ( (This)->lpVtbl -> AddRef(This) ) 4808 4809 #define IDeckLinkEncoderInputCallback_Release(This) \ 4810 ( (This)->lpVtbl -> Release(This) ) 4811 4812 4813 #define IDeckLinkEncoderInputCallback_VideoInputSignalChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) \ 4814 ( (This)->lpVtbl -> VideoInputSignalChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) ) 4815 4816 #define IDeckLinkEncoderInputCallback_VideoPacketArrived(This,videoPacket) \ 4817 ( (This)->lpVtbl -> VideoPacketArrived(This,videoPacket) ) 4818 4819 #define IDeckLinkEncoderInputCallback_AudioPacketArrived(This,audioPacket) \ 4820 ( (This)->lpVtbl -> AudioPacketArrived(This,audioPacket) ) 4821 4822 #endif /* COBJMACROS */ 4823 4824 4825 #endif /* C style interface */ 4826 4827 4828 4829 4830 #endif /* __IDeckLinkEncoderInputCallback_INTERFACE_DEFINED__ */ 4831 4832 4833 #ifndef __IDeckLinkMemoryAllocator_INTERFACE_DEFINED__ 4834 #define __IDeckLinkMemoryAllocator_INTERFACE_DEFINED__ 4835 4836 /* interface IDeckLinkMemoryAllocator */ 4837 /* [helpstring][local][uuid][object] */ 4838 4839 4840 EXTERN_C const IID IID_IDeckLinkMemoryAllocator; 4841 4842 #if defined(__cplusplus) && !defined(CINTERFACE) 4843 4844 MIDL_INTERFACE("B36EB6E7-9D29-4AA8-92EF-843B87A289E8") 4845 IDeckLinkMemoryAllocator : public IUnknown 4846 { 4847 public: 4848 virtual HRESULT STDMETHODCALLTYPE AllocateBuffer( 4849 /* [in] */ unsigned int bufferSize, 4850 /* [out] */ void **allocatedBuffer) = 0; 4851 4852 virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer( 4853 /* [in] */ void *buffer) = 0; 4854 4855 virtual HRESULT STDMETHODCALLTYPE Commit( void) = 0; 4856 4857 virtual HRESULT STDMETHODCALLTYPE Decommit( void) = 0; 4858 4859 }; 4860 4861 4862 #else /* C style interface */ 4863 4864 typedef struct IDeckLinkMemoryAllocatorVtbl 4865 { 4866 BEGIN_INTERFACE 4867 4868 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 4869 IDeckLinkMemoryAllocator * This, 4870 /* [in] */ REFIID riid, 4871 /* [annotation][iid_is][out] */ 4872 _COM_Outptr_ void **ppvObject); 4873 4874 ULONG ( STDMETHODCALLTYPE *AddRef )( 4875 IDeckLinkMemoryAllocator * This); 4876 4877 ULONG ( STDMETHODCALLTYPE *Release )( 4878 IDeckLinkMemoryAllocator * This); 4879 4880 HRESULT ( STDMETHODCALLTYPE *AllocateBuffer )( 4881 IDeckLinkMemoryAllocator * This, 4882 /* [in] */ unsigned int bufferSize, 4883 /* [out] */ void **allocatedBuffer); 4884 4885 HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )( 4886 IDeckLinkMemoryAllocator * This, 4887 /* [in] */ void *buffer); 4888 4889 HRESULT ( STDMETHODCALLTYPE *Commit )( 4890 IDeckLinkMemoryAllocator * This); 4891 4892 HRESULT ( STDMETHODCALLTYPE *Decommit )( 4893 IDeckLinkMemoryAllocator * This); 4894 4895 END_INTERFACE 4896 } IDeckLinkMemoryAllocatorVtbl; 4897 4898 interface IDeckLinkMemoryAllocator 4899 { 4900 CONST_VTBL struct IDeckLinkMemoryAllocatorVtbl *lpVtbl; 4901 }; 4902 4903 4904 4905 #ifdef COBJMACROS 4906 4907 4908 #define IDeckLinkMemoryAllocator_QueryInterface(This,riid,ppvObject) \ 4909 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 4910 4911 #define IDeckLinkMemoryAllocator_AddRef(This) \ 4912 ( (This)->lpVtbl -> AddRef(This) ) 4913 4914 #define IDeckLinkMemoryAllocator_Release(This) \ 4915 ( (This)->lpVtbl -> Release(This) ) 4916 4917 4918 #define IDeckLinkMemoryAllocator_AllocateBuffer(This,bufferSize,allocatedBuffer) \ 4919 ( (This)->lpVtbl -> AllocateBuffer(This,bufferSize,allocatedBuffer) ) 4920 4921 #define IDeckLinkMemoryAllocator_ReleaseBuffer(This,buffer) \ 4922 ( (This)->lpVtbl -> ReleaseBuffer(This,buffer) ) 4923 4924 #define IDeckLinkMemoryAllocator_Commit(This) \ 4925 ( (This)->lpVtbl -> Commit(This) ) 4926 4927 #define IDeckLinkMemoryAllocator_Decommit(This) \ 4928 ( (This)->lpVtbl -> Decommit(This) ) 4929 4930 #endif /* COBJMACROS */ 4931 4932 4933 #endif /* C style interface */ 4934 4935 4936 4937 4938 #endif /* __IDeckLinkMemoryAllocator_INTERFACE_DEFINED__ */ 4939 4940 4941 #ifndef __IDeckLinkAudioOutputCallback_INTERFACE_DEFINED__ 4942 #define __IDeckLinkAudioOutputCallback_INTERFACE_DEFINED__ 4943 4944 /* interface IDeckLinkAudioOutputCallback */ 4945 /* [helpstring][local][uuid][object] */ 4946 4947 4948 EXTERN_C const IID IID_IDeckLinkAudioOutputCallback; 4949 4950 #if defined(__cplusplus) && !defined(CINTERFACE) 4951 4952 MIDL_INTERFACE("403C681B-7F46-4A12-B993-2BB127084EE6") 4953 IDeckLinkAudioOutputCallback : public IUnknown 4954 { 4955 public: 4956 virtual HRESULT STDMETHODCALLTYPE RenderAudioSamples( 4957 /* [in] */ BOOL preroll) = 0; 4958 4959 }; 4960 4961 4962 #else /* C style interface */ 4963 4964 typedef struct IDeckLinkAudioOutputCallbackVtbl 4965 { 4966 BEGIN_INTERFACE 4967 4968 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 4969 IDeckLinkAudioOutputCallback * This, 4970 /* [in] */ REFIID riid, 4971 /* [annotation][iid_is][out] */ 4972 _COM_Outptr_ void **ppvObject); 4973 4974 ULONG ( STDMETHODCALLTYPE *AddRef )( 4975 IDeckLinkAudioOutputCallback * This); 4976 4977 ULONG ( STDMETHODCALLTYPE *Release )( 4978 IDeckLinkAudioOutputCallback * This); 4979 4980 HRESULT ( STDMETHODCALLTYPE *RenderAudioSamples )( 4981 IDeckLinkAudioOutputCallback * This, 4982 /* [in] */ BOOL preroll); 4983 4984 END_INTERFACE 4985 } IDeckLinkAudioOutputCallbackVtbl; 4986 4987 interface IDeckLinkAudioOutputCallback 4988 { 4989 CONST_VTBL struct IDeckLinkAudioOutputCallbackVtbl *lpVtbl; 4990 }; 4991 4992 4993 4994 #ifdef COBJMACROS 4995 4996 4997 #define IDeckLinkAudioOutputCallback_QueryInterface(This,riid,ppvObject) \ 4998 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 4999 5000 #define IDeckLinkAudioOutputCallback_AddRef(This) \ 5001 ( (This)->lpVtbl -> AddRef(This) ) 5002 5003 #define IDeckLinkAudioOutputCallback_Release(This) \ 5004 ( (This)->lpVtbl -> Release(This) ) 5005 5006 5007 #define IDeckLinkAudioOutputCallback_RenderAudioSamples(This,preroll) \ 5008 ( (This)->lpVtbl -> RenderAudioSamples(This,preroll) ) 5009 5010 #endif /* COBJMACROS */ 5011 5012 5013 #endif /* C style interface */ 5014 5015 5016 5017 5018 #endif /* __IDeckLinkAudioOutputCallback_INTERFACE_DEFINED__ */ 5019 5020 5021 #ifndef __IDeckLinkIterator_INTERFACE_DEFINED__ 5022 #define __IDeckLinkIterator_INTERFACE_DEFINED__ 5023 5024 /* interface IDeckLinkIterator */ 5025 /* [helpstring][uuid][object] */ 5026 5027 5028 EXTERN_C const IID IID_IDeckLinkIterator; 5029 5030 #if defined(__cplusplus) && !defined(CINTERFACE) 5031 5032 MIDL_INTERFACE("50FB36CD-3063-4B73-BDBB-958087F2D8BA") 5033 IDeckLinkIterator : public IUnknown 5034 { 5035 public: 5036 virtual HRESULT STDMETHODCALLTYPE Next( 5037 /* [out] */ IDeckLink **deckLinkInstance) = 0; 5038 5039 }; 5040 5041 5042 #else /* C style interface */ 5043 5044 typedef struct IDeckLinkIteratorVtbl 5045 { 5046 BEGIN_INTERFACE 5047 5048 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 5049 IDeckLinkIterator * This, 5050 /* [in] */ REFIID riid, 5051 /* [annotation][iid_is][out] */ 5052 _COM_Outptr_ void **ppvObject); 5053 5054 ULONG ( STDMETHODCALLTYPE *AddRef )( 5055 IDeckLinkIterator * This); 5056 5057 ULONG ( STDMETHODCALLTYPE *Release )( 5058 IDeckLinkIterator * This); 5059 5060 HRESULT ( STDMETHODCALLTYPE *Next )( 5061 IDeckLinkIterator * This, 5062 /* [out] */ IDeckLink **deckLinkInstance); 5063 5064 END_INTERFACE 5065 } IDeckLinkIteratorVtbl; 5066 5067 interface IDeckLinkIterator 5068 { 5069 CONST_VTBL struct IDeckLinkIteratorVtbl *lpVtbl; 5070 }; 5071 5072 5073 5074 #ifdef COBJMACROS 5075 5076 5077 #define IDeckLinkIterator_QueryInterface(This,riid,ppvObject) \ 5078 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 5079 5080 #define IDeckLinkIterator_AddRef(This) \ 5081 ( (This)->lpVtbl -> AddRef(This) ) 5082 5083 #define IDeckLinkIterator_Release(This) \ 5084 ( (This)->lpVtbl -> Release(This) ) 5085 5086 5087 #define IDeckLinkIterator_Next(This,deckLinkInstance) \ 5088 ( (This)->lpVtbl -> Next(This,deckLinkInstance) ) 5089 5090 #endif /* COBJMACROS */ 5091 5092 5093 #endif /* C style interface */ 5094 5095 5096 5097 5098 #endif /* __IDeckLinkIterator_INTERFACE_DEFINED__ */ 5099 5100 5101 #ifndef __IDeckLinkAPIInformation_INTERFACE_DEFINED__ 5102 #define __IDeckLinkAPIInformation_INTERFACE_DEFINED__ 5103 5104 /* interface IDeckLinkAPIInformation */ 5105 /* [helpstring][uuid][object] */ 5106 5107 5108 EXTERN_C const IID IID_IDeckLinkAPIInformation; 5109 5110 #if defined(__cplusplus) && !defined(CINTERFACE) 5111 5112 MIDL_INTERFACE("7BEA3C68-730D-4322-AF34-8A7152B532A4") 5113 IDeckLinkAPIInformation : public IUnknown 5114 { 5115 public: 5116 virtual HRESULT STDMETHODCALLTYPE GetFlag( 5117 /* [in] */ BMDDeckLinkAPIInformationID cfgID, 5118 /* [out] */ BOOL *value) = 0; 5119 5120 virtual HRESULT STDMETHODCALLTYPE GetInt( 5121 /* [in] */ BMDDeckLinkAPIInformationID cfgID, 5122 /* [out] */ LONGLONG *value) = 0; 5123 5124 virtual HRESULT STDMETHODCALLTYPE GetFloat( 5125 /* [in] */ BMDDeckLinkAPIInformationID cfgID, 5126 /* [out] */ double *value) = 0; 5127 5128 virtual HRESULT STDMETHODCALLTYPE GetString( 5129 /* [in] */ BMDDeckLinkAPIInformationID cfgID, 5130 /* [out] */ BSTR *value) = 0; 5131 5132 }; 5133 5134 5135 #else /* C style interface */ 5136 5137 typedef struct IDeckLinkAPIInformationVtbl 5138 { 5139 BEGIN_INTERFACE 5140 5141 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 5142 IDeckLinkAPIInformation * This, 5143 /* [in] */ REFIID riid, 5144 /* [annotation][iid_is][out] */ 5145 _COM_Outptr_ void **ppvObject); 5146 5147 ULONG ( STDMETHODCALLTYPE *AddRef )( 5148 IDeckLinkAPIInformation * This); 5149 5150 ULONG ( STDMETHODCALLTYPE *Release )( 5151 IDeckLinkAPIInformation * This); 5152 5153 HRESULT ( STDMETHODCALLTYPE *GetFlag )( 5154 IDeckLinkAPIInformation * This, 5155 /* [in] */ BMDDeckLinkAPIInformationID cfgID, 5156 /* [out] */ BOOL *value); 5157 5158 HRESULT ( STDMETHODCALLTYPE *GetInt )( 5159 IDeckLinkAPIInformation * This, 5160 /* [in] */ BMDDeckLinkAPIInformationID cfgID, 5161 /* [out] */ LONGLONG *value); 5162 5163 HRESULT ( STDMETHODCALLTYPE *GetFloat )( 5164 IDeckLinkAPIInformation * This, 5165 /* [in] */ BMDDeckLinkAPIInformationID cfgID, 5166 /* [out] */ double *value); 5167 5168 HRESULT ( STDMETHODCALLTYPE *GetString )( 5169 IDeckLinkAPIInformation * This, 5170 /* [in] */ BMDDeckLinkAPIInformationID cfgID, 5171 /* [out] */ BSTR *value); 5172 5173 END_INTERFACE 5174 } IDeckLinkAPIInformationVtbl; 5175 5176 interface IDeckLinkAPIInformation 5177 { 5178 CONST_VTBL struct IDeckLinkAPIInformationVtbl *lpVtbl; 5179 }; 5180 5181 5182 5183 #ifdef COBJMACROS 5184 5185 5186 #define IDeckLinkAPIInformation_QueryInterface(This,riid,ppvObject) \ 5187 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 5188 5189 #define IDeckLinkAPIInformation_AddRef(This) \ 5190 ( (This)->lpVtbl -> AddRef(This) ) 5191 5192 #define IDeckLinkAPIInformation_Release(This) \ 5193 ( (This)->lpVtbl -> Release(This) ) 5194 5195 5196 #define IDeckLinkAPIInformation_GetFlag(This,cfgID,value) \ 5197 ( (This)->lpVtbl -> GetFlag(This,cfgID,value) ) 5198 5199 #define IDeckLinkAPIInformation_GetInt(This,cfgID,value) \ 5200 ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) 5201 5202 #define IDeckLinkAPIInformation_GetFloat(This,cfgID,value) \ 5203 ( (This)->lpVtbl -> GetFloat(This,cfgID,value) ) 5204 5205 #define IDeckLinkAPIInformation_GetString(This,cfgID,value) \ 5206 ( (This)->lpVtbl -> GetString(This,cfgID,value) ) 5207 5208 #endif /* COBJMACROS */ 5209 5210 5211 #endif /* C style interface */ 5212 5213 5214 5215 5216 #endif /* __IDeckLinkAPIInformation_INTERFACE_DEFINED__ */ 5217 5218 5219 #ifndef __IDeckLinkOutput_INTERFACE_DEFINED__ 5220 #define __IDeckLinkOutput_INTERFACE_DEFINED__ 5221 5222 /* interface IDeckLinkOutput */ 5223 /* [helpstring][local][uuid][object] */ 5224 5225 5226 EXTERN_C const IID IID_IDeckLinkOutput; 5227 5228 #if defined(__cplusplus) && !defined(CINTERFACE) 5229 5230 MIDL_INTERFACE("CC5C8A6E-3F2F-4B3A-87EA-FD78AF300564") 5231 IDeckLinkOutput : public IUnknown 5232 { 5233 public: 5234 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( 5235 /* [in] */ BMDDisplayMode displayMode, 5236 /* [in] */ BMDPixelFormat pixelFormat, 5237 /* [in] */ BMDVideoOutputFlags flags, 5238 /* [out] */ BMDDisplayModeSupport *result, 5239 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode) = 0; 5240 5241 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( 5242 /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0; 5243 5244 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( 5245 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; 5246 5247 virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput( 5248 /* [in] */ BMDDisplayMode displayMode, 5249 /* [in] */ BMDVideoOutputFlags flags) = 0; 5250 5251 virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0; 5252 5253 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator( 5254 /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0; 5255 5256 virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame( 5257 /* [in] */ int width, 5258 /* [in] */ int height, 5259 /* [in] */ int rowBytes, 5260 /* [in] */ BMDPixelFormat pixelFormat, 5261 /* [in] */ BMDFrameFlags flags, 5262 /* [out] */ IDeckLinkMutableVideoFrame **outFrame) = 0; 5263 5264 virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData( 5265 /* [in] */ BMDPixelFormat pixelFormat, 5266 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer) = 0; 5267 5268 virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync( 5269 /* [in] */ IDeckLinkVideoFrame *theFrame) = 0; 5270 5271 virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame( 5272 /* [in] */ IDeckLinkVideoFrame *theFrame, 5273 /* [in] */ BMDTimeValue displayTime, 5274 /* [in] */ BMDTimeValue displayDuration, 5275 /* [in] */ BMDTimeScale timeScale) = 0; 5276 5277 virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback( 5278 /* [in] */ IDeckLinkVideoOutputCallback *theCallback) = 0; 5279 5280 virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount( 5281 /* [out] */ unsigned int *bufferedFrameCount) = 0; 5282 5283 virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput( 5284 /* [in] */ BMDAudioSampleRate sampleRate, 5285 /* [in] */ BMDAudioSampleType sampleType, 5286 /* [in] */ unsigned int channelCount, 5287 /* [in] */ BMDAudioOutputStreamType streamType) = 0; 5288 5289 virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0; 5290 5291 virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync( 5292 /* [in] */ void *buffer, 5293 /* [in] */ unsigned int sampleFrameCount, 5294 /* [out] */ unsigned int *sampleFramesWritten) = 0; 5295 5296 virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0; 5297 5298 virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0; 5299 5300 virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples( 5301 /* [in] */ void *buffer, 5302 /* [in] */ unsigned int sampleFrameCount, 5303 /* [in] */ BMDTimeValue streamTime, 5304 /* [in] */ BMDTimeScale timeScale, 5305 /* [out] */ unsigned int *sampleFramesWritten) = 0; 5306 5307 virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount( 5308 /* [out] */ unsigned int *bufferedSampleFrameCount) = 0; 5309 5310 virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0; 5311 5312 virtual HRESULT STDMETHODCALLTYPE SetAudioCallback( 5313 /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0; 5314 5315 virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback( 5316 /* [in] */ BMDTimeValue playbackStartTime, 5317 /* [in] */ BMDTimeScale timeScale, 5318 /* [in] */ double playbackSpeed) = 0; 5319 5320 virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback( 5321 /* [in] */ BMDTimeValue stopPlaybackAtTime, 5322 /* [out] */ BMDTimeValue *actualStopTime, 5323 /* [in] */ BMDTimeScale timeScale) = 0; 5324 5325 virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning( 5326 /* [out] */ BOOL *active) = 0; 5327 5328 virtual HRESULT STDMETHODCALLTYPE GetScheduledStreamTime( 5329 /* [in] */ BMDTimeScale desiredTimeScale, 5330 /* [out] */ BMDTimeValue *streamTime, 5331 /* [out] */ double *playbackSpeed) = 0; 5332 5333 virtual HRESULT STDMETHODCALLTYPE GetReferenceStatus( 5334 /* [out] */ BMDReferenceStatus *referenceStatus) = 0; 5335 5336 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( 5337 /* [in] */ BMDTimeScale desiredTimeScale, 5338 /* [out] */ BMDTimeValue *hardwareTime, 5339 /* [out] */ BMDTimeValue *timeInFrame, 5340 /* [out] */ BMDTimeValue *ticksPerFrame) = 0; 5341 5342 virtual HRESULT STDMETHODCALLTYPE GetFrameCompletionReferenceTimestamp( 5343 /* [in] */ IDeckLinkVideoFrame *theFrame, 5344 /* [in] */ BMDTimeScale desiredTimeScale, 5345 /* [out] */ BMDTimeValue *frameCompletionTimestamp) = 0; 5346 5347 }; 5348 5349 5350 #else /* C style interface */ 5351 5352 typedef struct IDeckLinkOutputVtbl 5353 { 5354 BEGIN_INTERFACE 5355 5356 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 5357 IDeckLinkOutput * This, 5358 /* [in] */ REFIID riid, 5359 /* [annotation][iid_is][out] */ 5360 _COM_Outptr_ void **ppvObject); 5361 5362 ULONG ( STDMETHODCALLTYPE *AddRef )( 5363 IDeckLinkOutput * This); 5364 5365 ULONG ( STDMETHODCALLTYPE *Release )( 5366 IDeckLinkOutput * This); 5367 5368 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( 5369 IDeckLinkOutput * This, 5370 /* [in] */ BMDDisplayMode displayMode, 5371 /* [in] */ BMDPixelFormat pixelFormat, 5372 /* [in] */ BMDVideoOutputFlags flags, 5373 /* [out] */ BMDDisplayModeSupport *result, 5374 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode); 5375 5376 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( 5377 IDeckLinkOutput * This, 5378 /* [out] */ IDeckLinkDisplayModeIterator **iterator); 5379 5380 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )( 5381 IDeckLinkOutput * This, 5382 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback); 5383 5384 HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )( 5385 IDeckLinkOutput * This, 5386 /* [in] */ BMDDisplayMode displayMode, 5387 /* [in] */ BMDVideoOutputFlags flags); 5388 5389 HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )( 5390 IDeckLinkOutput * This); 5391 5392 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )( 5393 IDeckLinkOutput * This, 5394 /* [in] */ IDeckLinkMemoryAllocator *theAllocator); 5395 5396 HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )( 5397 IDeckLinkOutput * This, 5398 /* [in] */ int width, 5399 /* [in] */ int height, 5400 /* [in] */ int rowBytes, 5401 /* [in] */ BMDPixelFormat pixelFormat, 5402 /* [in] */ BMDFrameFlags flags, 5403 /* [out] */ IDeckLinkMutableVideoFrame **outFrame); 5404 5405 HRESULT ( STDMETHODCALLTYPE *CreateAncillaryData )( 5406 IDeckLinkOutput * This, 5407 /* [in] */ BMDPixelFormat pixelFormat, 5408 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer); 5409 5410 HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )( 5411 IDeckLinkOutput * This, 5412 /* [in] */ IDeckLinkVideoFrame *theFrame); 5413 5414 HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )( 5415 IDeckLinkOutput * This, 5416 /* [in] */ IDeckLinkVideoFrame *theFrame, 5417 /* [in] */ BMDTimeValue displayTime, 5418 /* [in] */ BMDTimeValue displayDuration, 5419 /* [in] */ BMDTimeScale timeScale); 5420 5421 HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )( 5422 IDeckLinkOutput * This, 5423 /* [in] */ IDeckLinkVideoOutputCallback *theCallback); 5424 5425 HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )( 5426 IDeckLinkOutput * This, 5427 /* [out] */ unsigned int *bufferedFrameCount); 5428 5429 HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )( 5430 IDeckLinkOutput * This, 5431 /* [in] */ BMDAudioSampleRate sampleRate, 5432 /* [in] */ BMDAudioSampleType sampleType, 5433 /* [in] */ unsigned int channelCount, 5434 /* [in] */ BMDAudioOutputStreamType streamType); 5435 5436 HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )( 5437 IDeckLinkOutput * This); 5438 5439 HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )( 5440 IDeckLinkOutput * This, 5441 /* [in] */ void *buffer, 5442 /* [in] */ unsigned int sampleFrameCount, 5443 /* [out] */ unsigned int *sampleFramesWritten); 5444 5445 HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )( 5446 IDeckLinkOutput * This); 5447 5448 HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )( 5449 IDeckLinkOutput * This); 5450 5451 HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )( 5452 IDeckLinkOutput * This, 5453 /* [in] */ void *buffer, 5454 /* [in] */ unsigned int sampleFrameCount, 5455 /* [in] */ BMDTimeValue streamTime, 5456 /* [in] */ BMDTimeScale timeScale, 5457 /* [out] */ unsigned int *sampleFramesWritten); 5458 5459 HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )( 5460 IDeckLinkOutput * This, 5461 /* [out] */ unsigned int *bufferedSampleFrameCount); 5462 5463 HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )( 5464 IDeckLinkOutput * This); 5465 5466 HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )( 5467 IDeckLinkOutput * This, 5468 /* [in] */ IDeckLinkAudioOutputCallback *theCallback); 5469 5470 HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )( 5471 IDeckLinkOutput * This, 5472 /* [in] */ BMDTimeValue playbackStartTime, 5473 /* [in] */ BMDTimeScale timeScale, 5474 /* [in] */ double playbackSpeed); 5475 5476 HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )( 5477 IDeckLinkOutput * This, 5478 /* [in] */ BMDTimeValue stopPlaybackAtTime, 5479 /* [out] */ BMDTimeValue *actualStopTime, 5480 /* [in] */ BMDTimeScale timeScale); 5481 5482 HRESULT ( STDMETHODCALLTYPE *IsScheduledPlaybackRunning )( 5483 IDeckLinkOutput * This, 5484 /* [out] */ BOOL *active); 5485 5486 HRESULT ( STDMETHODCALLTYPE *GetScheduledStreamTime )( 5487 IDeckLinkOutput * This, 5488 /* [in] */ BMDTimeScale desiredTimeScale, 5489 /* [out] */ BMDTimeValue *streamTime, 5490 /* [out] */ double *playbackSpeed); 5491 5492 HRESULT ( STDMETHODCALLTYPE *GetReferenceStatus )( 5493 IDeckLinkOutput * This, 5494 /* [out] */ BMDReferenceStatus *referenceStatus); 5495 5496 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( 5497 IDeckLinkOutput * This, 5498 /* [in] */ BMDTimeScale desiredTimeScale, 5499 /* [out] */ BMDTimeValue *hardwareTime, 5500 /* [out] */ BMDTimeValue *timeInFrame, 5501 /* [out] */ BMDTimeValue *ticksPerFrame); 5502 5503 HRESULT ( STDMETHODCALLTYPE *GetFrameCompletionReferenceTimestamp )( 5504 IDeckLinkOutput * This, 5505 /* [in] */ IDeckLinkVideoFrame *theFrame, 5506 /* [in] */ BMDTimeScale desiredTimeScale, 5507 /* [out] */ BMDTimeValue *frameCompletionTimestamp); 5508 5509 END_INTERFACE 5510 } IDeckLinkOutputVtbl; 5511 5512 interface IDeckLinkOutput 5513 { 5514 CONST_VTBL struct IDeckLinkOutputVtbl *lpVtbl; 5515 }; 5516 5517 5518 5519 #ifdef COBJMACROS 5520 5521 5522 #define IDeckLinkOutput_QueryInterface(This,riid,ppvObject) \ 5523 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 5524 5525 #define IDeckLinkOutput_AddRef(This) \ 5526 ( (This)->lpVtbl -> AddRef(This) ) 5527 5528 #define IDeckLinkOutput_Release(This) \ 5529 ( (This)->lpVtbl -> Release(This) ) 5530 5531 5532 #define IDeckLinkOutput_DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) \ 5533 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) ) 5534 5535 #define IDeckLinkOutput_GetDisplayModeIterator(This,iterator) \ 5536 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) 5537 5538 #define IDeckLinkOutput_SetScreenPreviewCallback(This,previewCallback) \ 5539 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) ) 5540 5541 #define IDeckLinkOutput_EnableVideoOutput(This,displayMode,flags) \ 5542 ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode,flags) ) 5543 5544 #define IDeckLinkOutput_DisableVideoOutput(This) \ 5545 ( (This)->lpVtbl -> DisableVideoOutput(This) ) 5546 5547 #define IDeckLinkOutput_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \ 5548 ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) ) 5549 5550 #define IDeckLinkOutput_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \ 5551 ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) ) 5552 5553 #define IDeckLinkOutput_CreateAncillaryData(This,pixelFormat,outBuffer) \ 5554 ( (This)->lpVtbl -> CreateAncillaryData(This,pixelFormat,outBuffer) ) 5555 5556 #define IDeckLinkOutput_DisplayVideoFrameSync(This,theFrame) \ 5557 ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) ) 5558 5559 #define IDeckLinkOutput_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \ 5560 ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) ) 5561 5562 #define IDeckLinkOutput_SetScheduledFrameCompletionCallback(This,theCallback) \ 5563 ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) ) 5564 5565 #define IDeckLinkOutput_GetBufferedVideoFrameCount(This,bufferedFrameCount) \ 5566 ( (This)->lpVtbl -> GetBufferedVideoFrameCount(This,bufferedFrameCount) ) 5567 5568 #define IDeckLinkOutput_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) \ 5569 ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) ) 5570 5571 #define IDeckLinkOutput_DisableAudioOutput(This) \ 5572 ( (This)->lpVtbl -> DisableAudioOutput(This) ) 5573 5574 #define IDeckLinkOutput_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \ 5575 ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) ) 5576 5577 #define IDeckLinkOutput_BeginAudioPreroll(This) \ 5578 ( (This)->lpVtbl -> BeginAudioPreroll(This) ) 5579 5580 #define IDeckLinkOutput_EndAudioPreroll(This) \ 5581 ( (This)->lpVtbl -> EndAudioPreroll(This) ) 5582 5583 #define IDeckLinkOutput_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \ 5584 ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) ) 5585 5586 #define IDeckLinkOutput_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) \ 5587 ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) ) 5588 5589 #define IDeckLinkOutput_FlushBufferedAudioSamples(This) \ 5590 ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) ) 5591 5592 #define IDeckLinkOutput_SetAudioCallback(This,theCallback) \ 5593 ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) ) 5594 5595 #define IDeckLinkOutput_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \ 5596 ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) ) 5597 5598 #define IDeckLinkOutput_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \ 5599 ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) ) 5600 5601 #define IDeckLinkOutput_IsScheduledPlaybackRunning(This,active) \ 5602 ( (This)->lpVtbl -> IsScheduledPlaybackRunning(This,active) ) 5603 5604 #define IDeckLinkOutput_GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) \ 5605 ( (This)->lpVtbl -> GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) ) 5606 5607 #define IDeckLinkOutput_GetReferenceStatus(This,referenceStatus) \ 5608 ( (This)->lpVtbl -> GetReferenceStatus(This,referenceStatus) ) 5609 5610 #define IDeckLinkOutput_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \ 5611 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) ) 5612 5613 #define IDeckLinkOutput_GetFrameCompletionReferenceTimestamp(This,theFrame,desiredTimeScale,frameCompletionTimestamp) \ 5614 ( (This)->lpVtbl -> GetFrameCompletionReferenceTimestamp(This,theFrame,desiredTimeScale,frameCompletionTimestamp) ) 5615 5616 #endif /* COBJMACROS */ 5617 5618 5619 #endif /* C style interface */ 5620 5621 5622 5623 5624 #endif /* __IDeckLinkOutput_INTERFACE_DEFINED__ */ 5625 5626 5627 #ifndef __IDeckLinkInput_INTERFACE_DEFINED__ 5628 #define __IDeckLinkInput_INTERFACE_DEFINED__ 5629 5630 /* interface IDeckLinkInput */ 5631 /* [helpstring][uuid][object] */ 5632 5633 5634 EXTERN_C const IID IID_IDeckLinkInput; 5635 5636 #if defined(__cplusplus) && !defined(CINTERFACE) 5637 5638 MIDL_INTERFACE("AF22762B-DFAC-4846-AA79-FA8883560995") 5639 IDeckLinkInput : public IUnknown 5640 { 5641 public: 5642 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( 5643 /* [in] */ BMDDisplayMode displayMode, 5644 /* [in] */ BMDPixelFormat pixelFormat, 5645 /* [in] */ BMDVideoInputFlags flags, 5646 /* [out] */ BMDDisplayModeSupport *result, 5647 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode) = 0; 5648 5649 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( 5650 /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0; 5651 5652 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( 5653 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; 5654 5655 virtual HRESULT STDMETHODCALLTYPE EnableVideoInput( 5656 /* [in] */ BMDDisplayMode displayMode, 5657 /* [in] */ BMDPixelFormat pixelFormat, 5658 /* [in] */ BMDVideoInputFlags flags) = 0; 5659 5660 virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0; 5661 5662 virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount( 5663 /* [out] */ unsigned int *availableFrameCount) = 0; 5664 5665 virtual HRESULT STDMETHODCALLTYPE SetVideoInputFrameMemoryAllocator( 5666 /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0; 5667 5668 virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( 5669 /* [in] */ BMDAudioSampleRate sampleRate, 5670 /* [in] */ BMDAudioSampleType sampleType, 5671 /* [in] */ unsigned int channelCount) = 0; 5672 5673 virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0; 5674 5675 virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount( 5676 /* [out] */ unsigned int *availableSampleFrameCount) = 0; 5677 5678 virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0; 5679 5680 virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0; 5681 5682 virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0; 5683 5684 virtual HRESULT STDMETHODCALLTYPE FlushStreams( void) = 0; 5685 5686 virtual HRESULT STDMETHODCALLTYPE SetCallback( 5687 /* [in] */ IDeckLinkInputCallback *theCallback) = 0; 5688 5689 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( 5690 /* [in] */ BMDTimeScale desiredTimeScale, 5691 /* [out] */ BMDTimeValue *hardwareTime, 5692 /* [out] */ BMDTimeValue *timeInFrame, 5693 /* [out] */ BMDTimeValue *ticksPerFrame) = 0; 5694 5695 }; 5696 5697 5698 #else /* C style interface */ 5699 5700 typedef struct IDeckLinkInputVtbl 5701 { 5702 BEGIN_INTERFACE 5703 5704 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 5705 IDeckLinkInput * This, 5706 /* [in] */ REFIID riid, 5707 /* [annotation][iid_is][out] */ 5708 _COM_Outptr_ void **ppvObject); 5709 5710 ULONG ( STDMETHODCALLTYPE *AddRef )( 5711 IDeckLinkInput * This); 5712 5713 ULONG ( STDMETHODCALLTYPE *Release )( 5714 IDeckLinkInput * This); 5715 5716 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( 5717 IDeckLinkInput * This, 5718 /* [in] */ BMDDisplayMode displayMode, 5719 /* [in] */ BMDPixelFormat pixelFormat, 5720 /* [in] */ BMDVideoInputFlags flags, 5721 /* [out] */ BMDDisplayModeSupport *result, 5722 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode); 5723 5724 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( 5725 IDeckLinkInput * This, 5726 /* [out] */ IDeckLinkDisplayModeIterator **iterator); 5727 5728 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )( 5729 IDeckLinkInput * This, 5730 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback); 5731 5732 HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )( 5733 IDeckLinkInput * This, 5734 /* [in] */ BMDDisplayMode displayMode, 5735 /* [in] */ BMDPixelFormat pixelFormat, 5736 /* [in] */ BMDVideoInputFlags flags); 5737 5738 HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )( 5739 IDeckLinkInput * This); 5740 5741 HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )( 5742 IDeckLinkInput * This, 5743 /* [out] */ unsigned int *availableFrameCount); 5744 5745 HRESULT ( STDMETHODCALLTYPE *SetVideoInputFrameMemoryAllocator )( 5746 IDeckLinkInput * This, 5747 /* [in] */ IDeckLinkMemoryAllocator *theAllocator); 5748 5749 HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )( 5750 IDeckLinkInput * This, 5751 /* [in] */ BMDAudioSampleRate sampleRate, 5752 /* [in] */ BMDAudioSampleType sampleType, 5753 /* [in] */ unsigned int channelCount); 5754 5755 HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )( 5756 IDeckLinkInput * This); 5757 5758 HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )( 5759 IDeckLinkInput * This, 5760 /* [out] */ unsigned int *availableSampleFrameCount); 5761 5762 HRESULT ( STDMETHODCALLTYPE *StartStreams )( 5763 IDeckLinkInput * This); 5764 5765 HRESULT ( STDMETHODCALLTYPE *StopStreams )( 5766 IDeckLinkInput * This); 5767 5768 HRESULT ( STDMETHODCALLTYPE *PauseStreams )( 5769 IDeckLinkInput * This); 5770 5771 HRESULT ( STDMETHODCALLTYPE *FlushStreams )( 5772 IDeckLinkInput * This); 5773 5774 HRESULT ( STDMETHODCALLTYPE *SetCallback )( 5775 IDeckLinkInput * This, 5776 /* [in] */ IDeckLinkInputCallback *theCallback); 5777 5778 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( 5779 IDeckLinkInput * This, 5780 /* [in] */ BMDTimeScale desiredTimeScale, 5781 /* [out] */ BMDTimeValue *hardwareTime, 5782 /* [out] */ BMDTimeValue *timeInFrame, 5783 /* [out] */ BMDTimeValue *ticksPerFrame); 5784 5785 END_INTERFACE 5786 } IDeckLinkInputVtbl; 5787 5788 interface IDeckLinkInput 5789 { 5790 CONST_VTBL struct IDeckLinkInputVtbl *lpVtbl; 5791 }; 5792 5793 5794 5795 #ifdef COBJMACROS 5796 5797 5798 #define IDeckLinkInput_QueryInterface(This,riid,ppvObject) \ 5799 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 5800 5801 #define IDeckLinkInput_AddRef(This) \ 5802 ( (This)->lpVtbl -> AddRef(This) ) 5803 5804 #define IDeckLinkInput_Release(This) \ 5805 ( (This)->lpVtbl -> Release(This) ) 5806 5807 5808 #define IDeckLinkInput_DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) \ 5809 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) ) 5810 5811 #define IDeckLinkInput_GetDisplayModeIterator(This,iterator) \ 5812 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) 5813 5814 #define IDeckLinkInput_SetScreenPreviewCallback(This,previewCallback) \ 5815 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) ) 5816 5817 #define IDeckLinkInput_EnableVideoInput(This,displayMode,pixelFormat,flags) \ 5818 ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) ) 5819 5820 #define IDeckLinkInput_DisableVideoInput(This) \ 5821 ( (This)->lpVtbl -> DisableVideoInput(This) ) 5822 5823 #define IDeckLinkInput_GetAvailableVideoFrameCount(This,availableFrameCount) \ 5824 ( (This)->lpVtbl -> GetAvailableVideoFrameCount(This,availableFrameCount) ) 5825 5826 #define IDeckLinkInput_SetVideoInputFrameMemoryAllocator(This,theAllocator) \ 5827 ( (This)->lpVtbl -> SetVideoInputFrameMemoryAllocator(This,theAllocator) ) 5828 5829 #define IDeckLinkInput_EnableAudioInput(This,sampleRate,sampleType,channelCount) \ 5830 ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) ) 5831 5832 #define IDeckLinkInput_DisableAudioInput(This) \ 5833 ( (This)->lpVtbl -> DisableAudioInput(This) ) 5834 5835 #define IDeckLinkInput_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \ 5836 ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) ) 5837 5838 #define IDeckLinkInput_StartStreams(This) \ 5839 ( (This)->lpVtbl -> StartStreams(This) ) 5840 5841 #define IDeckLinkInput_StopStreams(This) \ 5842 ( (This)->lpVtbl -> StopStreams(This) ) 5843 5844 #define IDeckLinkInput_PauseStreams(This) \ 5845 ( (This)->lpVtbl -> PauseStreams(This) ) 5846 5847 #define IDeckLinkInput_FlushStreams(This) \ 5848 ( (This)->lpVtbl -> FlushStreams(This) ) 5849 5850 #define IDeckLinkInput_SetCallback(This,theCallback) \ 5851 ( (This)->lpVtbl -> SetCallback(This,theCallback) ) 5852 5853 #define IDeckLinkInput_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \ 5854 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) ) 5855 5856 #endif /* COBJMACROS */ 5857 5858 5859 #endif /* C style interface */ 5860 5861 5862 5863 5864 #endif /* __IDeckLinkInput_INTERFACE_DEFINED__ */ 5865 5866 5867 #ifndef __IDeckLinkEncoderInput_INTERFACE_DEFINED__ 5868 #define __IDeckLinkEncoderInput_INTERFACE_DEFINED__ 5869 5870 /* interface IDeckLinkEncoderInput */ 5871 /* [helpstring][uuid][object] */ 5872 5873 5874 EXTERN_C const IID IID_IDeckLinkEncoderInput; 5875 5876 #if defined(__cplusplus) && !defined(CINTERFACE) 5877 5878 MIDL_INTERFACE("270587DA-6B7D-42E7-A1F0-6D853F581185") 5879 IDeckLinkEncoderInput : public IUnknown 5880 { 5881 public: 5882 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( 5883 /* [in] */ BMDDisplayMode displayMode, 5884 /* [in] */ BMDPixelFormat pixelFormat, 5885 /* [in] */ BMDVideoInputFlags flags, 5886 /* [out] */ BMDDisplayModeSupport *result, 5887 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode) = 0; 5888 5889 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( 5890 /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0; 5891 5892 virtual HRESULT STDMETHODCALLTYPE EnableVideoInput( 5893 /* [in] */ BMDDisplayMode displayMode, 5894 /* [in] */ BMDPixelFormat pixelFormat, 5895 /* [in] */ BMDVideoInputFlags flags) = 0; 5896 5897 virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0; 5898 5899 virtual HRESULT STDMETHODCALLTYPE GetAvailablePacketsCount( 5900 /* [out] */ unsigned int *availablePacketsCount) = 0; 5901 5902 virtual HRESULT STDMETHODCALLTYPE SetMemoryAllocator( 5903 /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0; 5904 5905 virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( 5906 /* [in] */ BMDAudioFormat audioFormat, 5907 /* [in] */ BMDAudioSampleRate sampleRate, 5908 /* [in] */ BMDAudioSampleType sampleType, 5909 /* [in] */ unsigned int channelCount) = 0; 5910 5911 virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0; 5912 5913 virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount( 5914 /* [out] */ unsigned int *availableSampleFrameCount) = 0; 5915 5916 virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0; 5917 5918 virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0; 5919 5920 virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0; 5921 5922 virtual HRESULT STDMETHODCALLTYPE FlushStreams( void) = 0; 5923 5924 virtual HRESULT STDMETHODCALLTYPE SetCallback( 5925 /* [in] */ IDeckLinkEncoderInputCallback *theCallback) = 0; 5926 5927 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( 5928 /* [in] */ BMDTimeScale desiredTimeScale, 5929 /* [out] */ BMDTimeValue *hardwareTime, 5930 /* [out] */ BMDTimeValue *timeInFrame, 5931 /* [out] */ BMDTimeValue *ticksPerFrame) = 0; 5932 5933 }; 5934 5935 5936 #else /* C style interface */ 5937 5938 typedef struct IDeckLinkEncoderInputVtbl 5939 { 5940 BEGIN_INTERFACE 5941 5942 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 5943 IDeckLinkEncoderInput * This, 5944 /* [in] */ REFIID riid, 5945 /* [annotation][iid_is][out] */ 5946 _COM_Outptr_ void **ppvObject); 5947 5948 ULONG ( STDMETHODCALLTYPE *AddRef )( 5949 IDeckLinkEncoderInput * This); 5950 5951 ULONG ( STDMETHODCALLTYPE *Release )( 5952 IDeckLinkEncoderInput * This); 5953 5954 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( 5955 IDeckLinkEncoderInput * This, 5956 /* [in] */ BMDDisplayMode displayMode, 5957 /* [in] */ BMDPixelFormat pixelFormat, 5958 /* [in] */ BMDVideoInputFlags flags, 5959 /* [out] */ BMDDisplayModeSupport *result, 5960 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode); 5961 5962 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( 5963 IDeckLinkEncoderInput * This, 5964 /* [out] */ IDeckLinkDisplayModeIterator **iterator); 5965 5966 HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )( 5967 IDeckLinkEncoderInput * This, 5968 /* [in] */ BMDDisplayMode displayMode, 5969 /* [in] */ BMDPixelFormat pixelFormat, 5970 /* [in] */ BMDVideoInputFlags flags); 5971 5972 HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )( 5973 IDeckLinkEncoderInput * This); 5974 5975 HRESULT ( STDMETHODCALLTYPE *GetAvailablePacketsCount )( 5976 IDeckLinkEncoderInput * This, 5977 /* [out] */ unsigned int *availablePacketsCount); 5978 5979 HRESULT ( STDMETHODCALLTYPE *SetMemoryAllocator )( 5980 IDeckLinkEncoderInput * This, 5981 /* [in] */ IDeckLinkMemoryAllocator *theAllocator); 5982 5983 HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )( 5984 IDeckLinkEncoderInput * This, 5985 /* [in] */ BMDAudioFormat audioFormat, 5986 /* [in] */ BMDAudioSampleRate sampleRate, 5987 /* [in] */ BMDAudioSampleType sampleType, 5988 /* [in] */ unsigned int channelCount); 5989 5990 HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )( 5991 IDeckLinkEncoderInput * This); 5992 5993 HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )( 5994 IDeckLinkEncoderInput * This, 5995 /* [out] */ unsigned int *availableSampleFrameCount); 5996 5997 HRESULT ( STDMETHODCALLTYPE *StartStreams )( 5998 IDeckLinkEncoderInput * This); 5999 6000 HRESULT ( STDMETHODCALLTYPE *StopStreams )( 6001 IDeckLinkEncoderInput * This); 6002 6003 HRESULT ( STDMETHODCALLTYPE *PauseStreams )( 6004 IDeckLinkEncoderInput * This); 6005 6006 HRESULT ( STDMETHODCALLTYPE *FlushStreams )( 6007 IDeckLinkEncoderInput * This); 6008 6009 HRESULT ( STDMETHODCALLTYPE *SetCallback )( 6010 IDeckLinkEncoderInput * This, 6011 /* [in] */ IDeckLinkEncoderInputCallback *theCallback); 6012 6013 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( 6014 IDeckLinkEncoderInput * This, 6015 /* [in] */ BMDTimeScale desiredTimeScale, 6016 /* [out] */ BMDTimeValue *hardwareTime, 6017 /* [out] */ BMDTimeValue *timeInFrame, 6018 /* [out] */ BMDTimeValue *ticksPerFrame); 6019 6020 END_INTERFACE 6021 } IDeckLinkEncoderInputVtbl; 6022 6023 interface IDeckLinkEncoderInput 6024 { 6025 CONST_VTBL struct IDeckLinkEncoderInputVtbl *lpVtbl; 6026 }; 6027 6028 6029 6030 #ifdef COBJMACROS 6031 6032 6033 #define IDeckLinkEncoderInput_QueryInterface(This,riid,ppvObject) \ 6034 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 6035 6036 #define IDeckLinkEncoderInput_AddRef(This) \ 6037 ( (This)->lpVtbl -> AddRef(This) ) 6038 6039 #define IDeckLinkEncoderInput_Release(This) \ 6040 ( (This)->lpVtbl -> Release(This) ) 6041 6042 6043 #define IDeckLinkEncoderInput_DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) \ 6044 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) ) 6045 6046 #define IDeckLinkEncoderInput_GetDisplayModeIterator(This,iterator) \ 6047 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) 6048 6049 #define IDeckLinkEncoderInput_EnableVideoInput(This,displayMode,pixelFormat,flags) \ 6050 ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) ) 6051 6052 #define IDeckLinkEncoderInput_DisableVideoInput(This) \ 6053 ( (This)->lpVtbl -> DisableVideoInput(This) ) 6054 6055 #define IDeckLinkEncoderInput_GetAvailablePacketsCount(This,availablePacketsCount) \ 6056 ( (This)->lpVtbl -> GetAvailablePacketsCount(This,availablePacketsCount) ) 6057 6058 #define IDeckLinkEncoderInput_SetMemoryAllocator(This,theAllocator) \ 6059 ( (This)->lpVtbl -> SetMemoryAllocator(This,theAllocator) ) 6060 6061 #define IDeckLinkEncoderInput_EnableAudioInput(This,audioFormat,sampleRate,sampleType,channelCount) \ 6062 ( (This)->lpVtbl -> EnableAudioInput(This,audioFormat,sampleRate,sampleType,channelCount) ) 6063 6064 #define IDeckLinkEncoderInput_DisableAudioInput(This) \ 6065 ( (This)->lpVtbl -> DisableAudioInput(This) ) 6066 6067 #define IDeckLinkEncoderInput_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \ 6068 ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) ) 6069 6070 #define IDeckLinkEncoderInput_StartStreams(This) \ 6071 ( (This)->lpVtbl -> StartStreams(This) ) 6072 6073 #define IDeckLinkEncoderInput_StopStreams(This) \ 6074 ( (This)->lpVtbl -> StopStreams(This) ) 6075 6076 #define IDeckLinkEncoderInput_PauseStreams(This) \ 6077 ( (This)->lpVtbl -> PauseStreams(This) ) 6078 6079 #define IDeckLinkEncoderInput_FlushStreams(This) \ 6080 ( (This)->lpVtbl -> FlushStreams(This) ) 6081 6082 #define IDeckLinkEncoderInput_SetCallback(This,theCallback) \ 6083 ( (This)->lpVtbl -> SetCallback(This,theCallback) ) 6084 6085 #define IDeckLinkEncoderInput_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \ 6086 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) ) 6087 6088 #endif /* COBJMACROS */ 6089 6090 6091 #endif /* C style interface */ 6092 6093 6094 6095 6096 #endif /* __IDeckLinkEncoderInput_INTERFACE_DEFINED__ */ 6097 6098 6099 #ifndef __IDeckLinkVideoFrame_INTERFACE_DEFINED__ 6100 #define __IDeckLinkVideoFrame_INTERFACE_DEFINED__ 6101 6102 /* interface IDeckLinkVideoFrame */ 6103 /* [helpstring][local][uuid][object] */ 6104 6105 6106 EXTERN_C const IID IID_IDeckLinkVideoFrame; 6107 6108 #if defined(__cplusplus) && !defined(CINTERFACE) 6109 6110 MIDL_INTERFACE("3F716FE0-F023-4111-BE5D-EF4414C05B17") 6111 IDeckLinkVideoFrame : public IUnknown 6112 { 6113 public: 6114 virtual long STDMETHODCALLTYPE GetWidth( void) = 0; 6115 6116 virtual long STDMETHODCALLTYPE GetHeight( void) = 0; 6117 6118 virtual long STDMETHODCALLTYPE GetRowBytes( void) = 0; 6119 6120 virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0; 6121 6122 virtual BMDFrameFlags STDMETHODCALLTYPE GetFlags( void) = 0; 6123 6124 virtual HRESULT STDMETHODCALLTYPE GetBytes( 6125 /* [out] */ void **buffer) = 0; 6126 6127 virtual HRESULT STDMETHODCALLTYPE GetTimecode( 6128 /* [in] */ BMDTimecodeFormat format, 6129 /* [out] */ IDeckLinkTimecode **timecode) = 0; 6130 6131 virtual HRESULT STDMETHODCALLTYPE GetAncillaryData( 6132 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary) = 0; 6133 6134 }; 6135 6136 6137 #else /* C style interface */ 6138 6139 typedef struct IDeckLinkVideoFrameVtbl 6140 { 6141 BEGIN_INTERFACE 6142 6143 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 6144 IDeckLinkVideoFrame * This, 6145 /* [in] */ REFIID riid, 6146 /* [annotation][iid_is][out] */ 6147 _COM_Outptr_ void **ppvObject); 6148 6149 ULONG ( STDMETHODCALLTYPE *AddRef )( 6150 IDeckLinkVideoFrame * This); 6151 6152 ULONG ( STDMETHODCALLTYPE *Release )( 6153 IDeckLinkVideoFrame * This); 6154 6155 long ( STDMETHODCALLTYPE *GetWidth )( 6156 IDeckLinkVideoFrame * This); 6157 6158 long ( STDMETHODCALLTYPE *GetHeight )( 6159 IDeckLinkVideoFrame * This); 6160 6161 long ( STDMETHODCALLTYPE *GetRowBytes )( 6162 IDeckLinkVideoFrame * This); 6163 6164 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( 6165 IDeckLinkVideoFrame * This); 6166 6167 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( 6168 IDeckLinkVideoFrame * This); 6169 6170 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 6171 IDeckLinkVideoFrame * This, 6172 /* [out] */ void **buffer); 6173 6174 HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 6175 IDeckLinkVideoFrame * This, 6176 /* [in] */ BMDTimecodeFormat format, 6177 /* [out] */ IDeckLinkTimecode **timecode); 6178 6179 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )( 6180 IDeckLinkVideoFrame * This, 6181 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary); 6182 6183 END_INTERFACE 6184 } IDeckLinkVideoFrameVtbl; 6185 6186 interface IDeckLinkVideoFrame 6187 { 6188 CONST_VTBL struct IDeckLinkVideoFrameVtbl *lpVtbl; 6189 }; 6190 6191 6192 6193 #ifdef COBJMACROS 6194 6195 6196 #define IDeckLinkVideoFrame_QueryInterface(This,riid,ppvObject) \ 6197 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 6198 6199 #define IDeckLinkVideoFrame_AddRef(This) \ 6200 ( (This)->lpVtbl -> AddRef(This) ) 6201 6202 #define IDeckLinkVideoFrame_Release(This) \ 6203 ( (This)->lpVtbl -> Release(This) ) 6204 6205 6206 #define IDeckLinkVideoFrame_GetWidth(This) \ 6207 ( (This)->lpVtbl -> GetWidth(This) ) 6208 6209 #define IDeckLinkVideoFrame_GetHeight(This) \ 6210 ( (This)->lpVtbl -> GetHeight(This) ) 6211 6212 #define IDeckLinkVideoFrame_GetRowBytes(This) \ 6213 ( (This)->lpVtbl -> GetRowBytes(This) ) 6214 6215 #define IDeckLinkVideoFrame_GetPixelFormat(This) \ 6216 ( (This)->lpVtbl -> GetPixelFormat(This) ) 6217 6218 #define IDeckLinkVideoFrame_GetFlags(This) \ 6219 ( (This)->lpVtbl -> GetFlags(This) ) 6220 6221 #define IDeckLinkVideoFrame_GetBytes(This,buffer) \ 6222 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 6223 6224 #define IDeckLinkVideoFrame_GetTimecode(This,format,timecode) \ 6225 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) 6226 6227 #define IDeckLinkVideoFrame_GetAncillaryData(This,ancillary) \ 6228 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) ) 6229 6230 #endif /* COBJMACROS */ 6231 6232 6233 #endif /* C style interface */ 6234 6235 6236 6237 6238 #endif /* __IDeckLinkVideoFrame_INTERFACE_DEFINED__ */ 6239 6240 6241 #ifndef __IDeckLinkMutableVideoFrame_INTERFACE_DEFINED__ 6242 #define __IDeckLinkMutableVideoFrame_INTERFACE_DEFINED__ 6243 6244 /* interface IDeckLinkMutableVideoFrame */ 6245 /* [helpstring][local][uuid][object] */ 6246 6247 6248 EXTERN_C const IID IID_IDeckLinkMutableVideoFrame; 6249 6250 #if defined(__cplusplus) && !defined(CINTERFACE) 6251 6252 MIDL_INTERFACE("69E2639F-40DA-4E19-B6F2-20ACE815C390") 6253 IDeckLinkMutableVideoFrame : public IDeckLinkVideoFrame 6254 { 6255 public: 6256 virtual HRESULT STDMETHODCALLTYPE SetFlags( 6257 /* [in] */ BMDFrameFlags newFlags) = 0; 6258 6259 virtual HRESULT STDMETHODCALLTYPE SetTimecode( 6260 /* [in] */ BMDTimecodeFormat format, 6261 /* [in] */ IDeckLinkTimecode *timecode) = 0; 6262 6263 virtual HRESULT STDMETHODCALLTYPE SetTimecodeFromComponents( 6264 /* [in] */ BMDTimecodeFormat format, 6265 /* [in] */ unsigned char hours, 6266 /* [in] */ unsigned char minutes, 6267 /* [in] */ unsigned char seconds, 6268 /* [in] */ unsigned char frames, 6269 /* [in] */ BMDTimecodeFlags flags) = 0; 6270 6271 virtual HRESULT STDMETHODCALLTYPE SetAncillaryData( 6272 /* [in] */ IDeckLinkVideoFrameAncillary *ancillary) = 0; 6273 6274 virtual HRESULT STDMETHODCALLTYPE SetTimecodeUserBits( 6275 /* [in] */ BMDTimecodeFormat format, 6276 /* [in] */ BMDTimecodeUserBits userBits) = 0; 6277 6278 }; 6279 6280 6281 #else /* C style interface */ 6282 6283 typedef struct IDeckLinkMutableVideoFrameVtbl 6284 { 6285 BEGIN_INTERFACE 6286 6287 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 6288 IDeckLinkMutableVideoFrame * This, 6289 /* [in] */ REFIID riid, 6290 /* [annotation][iid_is][out] */ 6291 _COM_Outptr_ void **ppvObject); 6292 6293 ULONG ( STDMETHODCALLTYPE *AddRef )( 6294 IDeckLinkMutableVideoFrame * This); 6295 6296 ULONG ( STDMETHODCALLTYPE *Release )( 6297 IDeckLinkMutableVideoFrame * This); 6298 6299 long ( STDMETHODCALLTYPE *GetWidth )( 6300 IDeckLinkMutableVideoFrame * This); 6301 6302 long ( STDMETHODCALLTYPE *GetHeight )( 6303 IDeckLinkMutableVideoFrame * This); 6304 6305 long ( STDMETHODCALLTYPE *GetRowBytes )( 6306 IDeckLinkMutableVideoFrame * This); 6307 6308 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( 6309 IDeckLinkMutableVideoFrame * This); 6310 6311 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( 6312 IDeckLinkMutableVideoFrame * This); 6313 6314 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 6315 IDeckLinkMutableVideoFrame * This, 6316 /* [out] */ void **buffer); 6317 6318 HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 6319 IDeckLinkMutableVideoFrame * This, 6320 /* [in] */ BMDTimecodeFormat format, 6321 /* [out] */ IDeckLinkTimecode **timecode); 6322 6323 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )( 6324 IDeckLinkMutableVideoFrame * This, 6325 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary); 6326 6327 HRESULT ( STDMETHODCALLTYPE *SetFlags )( 6328 IDeckLinkMutableVideoFrame * This, 6329 /* [in] */ BMDFrameFlags newFlags); 6330 6331 HRESULT ( STDMETHODCALLTYPE *SetTimecode )( 6332 IDeckLinkMutableVideoFrame * This, 6333 /* [in] */ BMDTimecodeFormat format, 6334 /* [in] */ IDeckLinkTimecode *timecode); 6335 6336 HRESULT ( STDMETHODCALLTYPE *SetTimecodeFromComponents )( 6337 IDeckLinkMutableVideoFrame * This, 6338 /* [in] */ BMDTimecodeFormat format, 6339 /* [in] */ unsigned char hours, 6340 /* [in] */ unsigned char minutes, 6341 /* [in] */ unsigned char seconds, 6342 /* [in] */ unsigned char frames, 6343 /* [in] */ BMDTimecodeFlags flags); 6344 6345 HRESULT ( STDMETHODCALLTYPE *SetAncillaryData )( 6346 IDeckLinkMutableVideoFrame * This, 6347 /* [in] */ IDeckLinkVideoFrameAncillary *ancillary); 6348 6349 HRESULT ( STDMETHODCALLTYPE *SetTimecodeUserBits )( 6350 IDeckLinkMutableVideoFrame * This, 6351 /* [in] */ BMDTimecodeFormat format, 6352 /* [in] */ BMDTimecodeUserBits userBits); 6353 6354 END_INTERFACE 6355 } IDeckLinkMutableVideoFrameVtbl; 6356 6357 interface IDeckLinkMutableVideoFrame 6358 { 6359 CONST_VTBL struct IDeckLinkMutableVideoFrameVtbl *lpVtbl; 6360 }; 6361 6362 6363 6364 #ifdef COBJMACROS 6365 6366 6367 #define IDeckLinkMutableVideoFrame_QueryInterface(This,riid,ppvObject) \ 6368 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 6369 6370 #define IDeckLinkMutableVideoFrame_AddRef(This) \ 6371 ( (This)->lpVtbl -> AddRef(This) ) 6372 6373 #define IDeckLinkMutableVideoFrame_Release(This) \ 6374 ( (This)->lpVtbl -> Release(This) ) 6375 6376 6377 #define IDeckLinkMutableVideoFrame_GetWidth(This) \ 6378 ( (This)->lpVtbl -> GetWidth(This) ) 6379 6380 #define IDeckLinkMutableVideoFrame_GetHeight(This) \ 6381 ( (This)->lpVtbl -> GetHeight(This) ) 6382 6383 #define IDeckLinkMutableVideoFrame_GetRowBytes(This) \ 6384 ( (This)->lpVtbl -> GetRowBytes(This) ) 6385 6386 #define IDeckLinkMutableVideoFrame_GetPixelFormat(This) \ 6387 ( (This)->lpVtbl -> GetPixelFormat(This) ) 6388 6389 #define IDeckLinkMutableVideoFrame_GetFlags(This) \ 6390 ( (This)->lpVtbl -> GetFlags(This) ) 6391 6392 #define IDeckLinkMutableVideoFrame_GetBytes(This,buffer) \ 6393 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 6394 6395 #define IDeckLinkMutableVideoFrame_GetTimecode(This,format,timecode) \ 6396 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) 6397 6398 #define IDeckLinkMutableVideoFrame_GetAncillaryData(This,ancillary) \ 6399 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) ) 6400 6401 6402 #define IDeckLinkMutableVideoFrame_SetFlags(This,newFlags) \ 6403 ( (This)->lpVtbl -> SetFlags(This,newFlags) ) 6404 6405 #define IDeckLinkMutableVideoFrame_SetTimecode(This,format,timecode) \ 6406 ( (This)->lpVtbl -> SetTimecode(This,format,timecode) ) 6407 6408 #define IDeckLinkMutableVideoFrame_SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) \ 6409 ( (This)->lpVtbl -> SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) ) 6410 6411 #define IDeckLinkMutableVideoFrame_SetAncillaryData(This,ancillary) \ 6412 ( (This)->lpVtbl -> SetAncillaryData(This,ancillary) ) 6413 6414 #define IDeckLinkMutableVideoFrame_SetTimecodeUserBits(This,format,userBits) \ 6415 ( (This)->lpVtbl -> SetTimecodeUserBits(This,format,userBits) ) 6416 6417 #endif /* COBJMACROS */ 6418 6419 6420 #endif /* C style interface */ 6421 6422 6423 6424 6425 #endif /* __IDeckLinkMutableVideoFrame_INTERFACE_DEFINED__ */ 6426 6427 6428 #ifndef __IDeckLinkVideoFrame3DExtensions_INTERFACE_DEFINED__ 6429 #define __IDeckLinkVideoFrame3DExtensions_INTERFACE_DEFINED__ 6430 6431 /* interface IDeckLinkVideoFrame3DExtensions */ 6432 /* [helpstring][local][uuid][object] */ 6433 6434 6435 EXTERN_C const IID IID_IDeckLinkVideoFrame3DExtensions; 6436 6437 #if defined(__cplusplus) && !defined(CINTERFACE) 6438 6439 MIDL_INTERFACE("DA0F7E4A-EDC7-48A8-9CDD-2DB51C729CD7") 6440 IDeckLinkVideoFrame3DExtensions : public IUnknown 6441 { 6442 public: 6443 virtual BMDVideo3DPackingFormat STDMETHODCALLTYPE Get3DPackingFormat( void) = 0; 6444 6445 virtual HRESULT STDMETHODCALLTYPE GetFrameForRightEye( 6446 /* [out] */ IDeckLinkVideoFrame **rightEyeFrame) = 0; 6447 6448 }; 6449 6450 6451 #else /* C style interface */ 6452 6453 typedef struct IDeckLinkVideoFrame3DExtensionsVtbl 6454 { 6455 BEGIN_INTERFACE 6456 6457 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 6458 IDeckLinkVideoFrame3DExtensions * This, 6459 /* [in] */ REFIID riid, 6460 /* [annotation][iid_is][out] */ 6461 _COM_Outptr_ void **ppvObject); 6462 6463 ULONG ( STDMETHODCALLTYPE *AddRef )( 6464 IDeckLinkVideoFrame3DExtensions * This); 6465 6466 ULONG ( STDMETHODCALLTYPE *Release )( 6467 IDeckLinkVideoFrame3DExtensions * This); 6468 6469 BMDVideo3DPackingFormat ( STDMETHODCALLTYPE *Get3DPackingFormat )( 6470 IDeckLinkVideoFrame3DExtensions * This); 6471 6472 HRESULT ( STDMETHODCALLTYPE *GetFrameForRightEye )( 6473 IDeckLinkVideoFrame3DExtensions * This, 6474 /* [out] */ IDeckLinkVideoFrame **rightEyeFrame); 6475 6476 END_INTERFACE 6477 } IDeckLinkVideoFrame3DExtensionsVtbl; 6478 6479 interface IDeckLinkVideoFrame3DExtensions 6480 { 6481 CONST_VTBL struct IDeckLinkVideoFrame3DExtensionsVtbl *lpVtbl; 6482 }; 6483 6484 6485 6486 #ifdef COBJMACROS 6487 6488 6489 #define IDeckLinkVideoFrame3DExtensions_QueryInterface(This,riid,ppvObject) \ 6490 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 6491 6492 #define IDeckLinkVideoFrame3DExtensions_AddRef(This) \ 6493 ( (This)->lpVtbl -> AddRef(This) ) 6494 6495 #define IDeckLinkVideoFrame3DExtensions_Release(This) \ 6496 ( (This)->lpVtbl -> Release(This) ) 6497 6498 6499 #define IDeckLinkVideoFrame3DExtensions_Get3DPackingFormat(This) \ 6500 ( (This)->lpVtbl -> Get3DPackingFormat(This) ) 6501 6502 #define IDeckLinkVideoFrame3DExtensions_GetFrameForRightEye(This,rightEyeFrame) \ 6503 ( (This)->lpVtbl -> GetFrameForRightEye(This,rightEyeFrame) ) 6504 6505 #endif /* COBJMACROS */ 6506 6507 6508 #endif /* C style interface */ 6509 6510 6511 6512 6513 #endif /* __IDeckLinkVideoFrame3DExtensions_INTERFACE_DEFINED__ */ 6514 6515 6516 #ifndef __IDeckLinkVideoFrameMetadataExtensions_INTERFACE_DEFINED__ 6517 #define __IDeckLinkVideoFrameMetadataExtensions_INTERFACE_DEFINED__ 6518 6519 /* interface IDeckLinkVideoFrameMetadataExtensions */ 6520 /* [helpstring][local][uuid][object] */ 6521 6522 6523 EXTERN_C const IID IID_IDeckLinkVideoFrameMetadataExtensions; 6524 6525 #if defined(__cplusplus) && !defined(CINTERFACE) 6526 6527 MIDL_INTERFACE("D5973DC9-6432-46D0-8F0B-2496F8A1238F") 6528 IDeckLinkVideoFrameMetadataExtensions : public IUnknown 6529 { 6530 public: 6531 virtual HRESULT STDMETHODCALLTYPE GetInt( 6532 /* [in] */ BMDDeckLinkFrameMetadataID metadataID, 6533 /* [out] */ LONGLONG *value) = 0; 6534 6535 virtual HRESULT STDMETHODCALLTYPE GetFloat( 6536 /* [in] */ BMDDeckLinkFrameMetadataID metadataID, 6537 /* [out] */ double *value) = 0; 6538 6539 virtual HRESULT STDMETHODCALLTYPE GetFlag( 6540 /* [in] */ BMDDeckLinkFrameMetadataID metadataID, 6541 /* [out] */ BOOL *value) = 0; 6542 6543 virtual HRESULT STDMETHODCALLTYPE GetString( 6544 /* [in] */ BMDDeckLinkFrameMetadataID metadataID, 6545 /* [out] */ BSTR *value) = 0; 6546 6547 }; 6548 6549 6550 #else /* C style interface */ 6551 6552 typedef struct IDeckLinkVideoFrameMetadataExtensionsVtbl 6553 { 6554 BEGIN_INTERFACE 6555 6556 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 6557 IDeckLinkVideoFrameMetadataExtensions * This, 6558 /* [in] */ REFIID riid, 6559 /* [annotation][iid_is][out] */ 6560 _COM_Outptr_ void **ppvObject); 6561 6562 ULONG ( STDMETHODCALLTYPE *AddRef )( 6563 IDeckLinkVideoFrameMetadataExtensions * This); 6564 6565 ULONG ( STDMETHODCALLTYPE *Release )( 6566 IDeckLinkVideoFrameMetadataExtensions * This); 6567 6568 HRESULT ( STDMETHODCALLTYPE *GetInt )( 6569 IDeckLinkVideoFrameMetadataExtensions * This, 6570 /* [in] */ BMDDeckLinkFrameMetadataID metadataID, 6571 /* [out] */ LONGLONG *value); 6572 6573 HRESULT ( STDMETHODCALLTYPE *GetFloat )( 6574 IDeckLinkVideoFrameMetadataExtensions * This, 6575 /* [in] */ BMDDeckLinkFrameMetadataID metadataID, 6576 /* [out] */ double *value); 6577 6578 HRESULT ( STDMETHODCALLTYPE *GetFlag )( 6579 IDeckLinkVideoFrameMetadataExtensions * This, 6580 /* [in] */ BMDDeckLinkFrameMetadataID metadataID, 6581 /* [out] */ BOOL *value); 6582 6583 HRESULT ( STDMETHODCALLTYPE *GetString )( 6584 IDeckLinkVideoFrameMetadataExtensions * This, 6585 /* [in] */ BMDDeckLinkFrameMetadataID metadataID, 6586 /* [out] */ BSTR *value); 6587 6588 END_INTERFACE 6589 } IDeckLinkVideoFrameMetadataExtensionsVtbl; 6590 6591 interface IDeckLinkVideoFrameMetadataExtensions 6592 { 6593 CONST_VTBL struct IDeckLinkVideoFrameMetadataExtensionsVtbl *lpVtbl; 6594 }; 6595 6596 6597 6598 #ifdef COBJMACROS 6599 6600 6601 #define IDeckLinkVideoFrameMetadataExtensions_QueryInterface(This,riid,ppvObject) \ 6602 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 6603 6604 #define IDeckLinkVideoFrameMetadataExtensions_AddRef(This) \ 6605 ( (This)->lpVtbl -> AddRef(This) ) 6606 6607 #define IDeckLinkVideoFrameMetadataExtensions_Release(This) \ 6608 ( (This)->lpVtbl -> Release(This) ) 6609 6610 6611 #define IDeckLinkVideoFrameMetadataExtensions_GetInt(This,metadataID,value) \ 6612 ( (This)->lpVtbl -> GetInt(This,metadataID,value) ) 6613 6614 #define IDeckLinkVideoFrameMetadataExtensions_GetFloat(This,metadataID,value) \ 6615 ( (This)->lpVtbl -> GetFloat(This,metadataID,value) ) 6616 6617 #define IDeckLinkVideoFrameMetadataExtensions_GetFlag(This,metadataID,value) \ 6618 ( (This)->lpVtbl -> GetFlag(This,metadataID,value) ) 6619 6620 #define IDeckLinkVideoFrameMetadataExtensions_GetString(This,metadataID,value) \ 6621 ( (This)->lpVtbl -> GetString(This,metadataID,value) ) 6622 6623 #endif /* COBJMACROS */ 6624 6625 6626 #endif /* C style interface */ 6627 6628 6629 6630 6631 #endif /* __IDeckLinkVideoFrameMetadataExtensions_INTERFACE_DEFINED__ */ 6632 6633 6634 #ifndef __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__ 6635 #define __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__ 6636 6637 /* interface IDeckLinkVideoInputFrame */ 6638 /* [helpstring][local][uuid][object] */ 6639 6640 6641 EXTERN_C const IID IID_IDeckLinkVideoInputFrame; 6642 6643 #if defined(__cplusplus) && !defined(CINTERFACE) 6644 6645 MIDL_INTERFACE("05CFE374-537C-4094-9A57-680525118F44") 6646 IDeckLinkVideoInputFrame : public IDeckLinkVideoFrame 6647 { 6648 public: 6649 virtual HRESULT STDMETHODCALLTYPE GetStreamTime( 6650 /* [out] */ BMDTimeValue *frameTime, 6651 /* [out] */ BMDTimeValue *frameDuration, 6652 /* [in] */ BMDTimeScale timeScale) = 0; 6653 6654 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceTimestamp( 6655 /* [in] */ BMDTimeScale timeScale, 6656 /* [out] */ BMDTimeValue *frameTime, 6657 /* [out] */ BMDTimeValue *frameDuration) = 0; 6658 6659 }; 6660 6661 6662 #else /* C style interface */ 6663 6664 typedef struct IDeckLinkVideoInputFrameVtbl 6665 { 6666 BEGIN_INTERFACE 6667 6668 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 6669 IDeckLinkVideoInputFrame * This, 6670 /* [in] */ REFIID riid, 6671 /* [annotation][iid_is][out] */ 6672 _COM_Outptr_ void **ppvObject); 6673 6674 ULONG ( STDMETHODCALLTYPE *AddRef )( 6675 IDeckLinkVideoInputFrame * This); 6676 6677 ULONG ( STDMETHODCALLTYPE *Release )( 6678 IDeckLinkVideoInputFrame * This); 6679 6680 long ( STDMETHODCALLTYPE *GetWidth )( 6681 IDeckLinkVideoInputFrame * This); 6682 6683 long ( STDMETHODCALLTYPE *GetHeight )( 6684 IDeckLinkVideoInputFrame * This); 6685 6686 long ( STDMETHODCALLTYPE *GetRowBytes )( 6687 IDeckLinkVideoInputFrame * This); 6688 6689 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( 6690 IDeckLinkVideoInputFrame * This); 6691 6692 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( 6693 IDeckLinkVideoInputFrame * This); 6694 6695 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 6696 IDeckLinkVideoInputFrame * This, 6697 /* [out] */ void **buffer); 6698 6699 HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 6700 IDeckLinkVideoInputFrame * This, 6701 /* [in] */ BMDTimecodeFormat format, 6702 /* [out] */ IDeckLinkTimecode **timecode); 6703 6704 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )( 6705 IDeckLinkVideoInputFrame * This, 6706 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary); 6707 6708 HRESULT ( STDMETHODCALLTYPE *GetStreamTime )( 6709 IDeckLinkVideoInputFrame * This, 6710 /* [out] */ BMDTimeValue *frameTime, 6711 /* [out] */ BMDTimeValue *frameDuration, 6712 /* [in] */ BMDTimeScale timeScale); 6713 6714 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceTimestamp )( 6715 IDeckLinkVideoInputFrame * This, 6716 /* [in] */ BMDTimeScale timeScale, 6717 /* [out] */ BMDTimeValue *frameTime, 6718 /* [out] */ BMDTimeValue *frameDuration); 6719 6720 END_INTERFACE 6721 } IDeckLinkVideoInputFrameVtbl; 6722 6723 interface IDeckLinkVideoInputFrame 6724 { 6725 CONST_VTBL struct IDeckLinkVideoInputFrameVtbl *lpVtbl; 6726 }; 6727 6728 6729 6730 #ifdef COBJMACROS 6731 6732 6733 #define IDeckLinkVideoInputFrame_QueryInterface(This,riid,ppvObject) \ 6734 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 6735 6736 #define IDeckLinkVideoInputFrame_AddRef(This) \ 6737 ( (This)->lpVtbl -> AddRef(This) ) 6738 6739 #define IDeckLinkVideoInputFrame_Release(This) \ 6740 ( (This)->lpVtbl -> Release(This) ) 6741 6742 6743 #define IDeckLinkVideoInputFrame_GetWidth(This) \ 6744 ( (This)->lpVtbl -> GetWidth(This) ) 6745 6746 #define IDeckLinkVideoInputFrame_GetHeight(This) \ 6747 ( (This)->lpVtbl -> GetHeight(This) ) 6748 6749 #define IDeckLinkVideoInputFrame_GetRowBytes(This) \ 6750 ( (This)->lpVtbl -> GetRowBytes(This) ) 6751 6752 #define IDeckLinkVideoInputFrame_GetPixelFormat(This) \ 6753 ( (This)->lpVtbl -> GetPixelFormat(This) ) 6754 6755 #define IDeckLinkVideoInputFrame_GetFlags(This) \ 6756 ( (This)->lpVtbl -> GetFlags(This) ) 6757 6758 #define IDeckLinkVideoInputFrame_GetBytes(This,buffer) \ 6759 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 6760 6761 #define IDeckLinkVideoInputFrame_GetTimecode(This,format,timecode) \ 6762 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) 6763 6764 #define IDeckLinkVideoInputFrame_GetAncillaryData(This,ancillary) \ 6765 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) ) 6766 6767 6768 #define IDeckLinkVideoInputFrame_GetStreamTime(This,frameTime,frameDuration,timeScale) \ 6769 ( (This)->lpVtbl -> GetStreamTime(This,frameTime,frameDuration,timeScale) ) 6770 6771 #define IDeckLinkVideoInputFrame_GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) \ 6772 ( (This)->lpVtbl -> GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) ) 6773 6774 #endif /* COBJMACROS */ 6775 6776 6777 #endif /* C style interface */ 6778 6779 6780 6781 6782 #endif /* __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__ */ 6783 6784 6785 #ifndef __IDeckLinkVideoFrameAncillary_INTERFACE_DEFINED__ 6786 #define __IDeckLinkVideoFrameAncillary_INTERFACE_DEFINED__ 6787 6788 /* interface IDeckLinkVideoFrameAncillary */ 6789 /* [helpstring][local][uuid][object] */ 6790 6791 6792 EXTERN_C const IID IID_IDeckLinkVideoFrameAncillary; 6793 6794 #if defined(__cplusplus) && !defined(CINTERFACE) 6795 6796 MIDL_INTERFACE("732E723C-D1A4-4E29-9E8E-4A88797A0004") 6797 IDeckLinkVideoFrameAncillary : public IUnknown 6798 { 6799 public: 6800 virtual HRESULT STDMETHODCALLTYPE GetBufferForVerticalBlankingLine( 6801 /* [in] */ unsigned int lineNumber, 6802 /* [out] */ void **buffer) = 0; 6803 6804 virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0; 6805 6806 virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode( void) = 0; 6807 6808 }; 6809 6810 6811 #else /* C style interface */ 6812 6813 typedef struct IDeckLinkVideoFrameAncillaryVtbl 6814 { 6815 BEGIN_INTERFACE 6816 6817 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 6818 IDeckLinkVideoFrameAncillary * This, 6819 /* [in] */ REFIID riid, 6820 /* [annotation][iid_is][out] */ 6821 _COM_Outptr_ void **ppvObject); 6822 6823 ULONG ( STDMETHODCALLTYPE *AddRef )( 6824 IDeckLinkVideoFrameAncillary * This); 6825 6826 ULONG ( STDMETHODCALLTYPE *Release )( 6827 IDeckLinkVideoFrameAncillary * This); 6828 6829 HRESULT ( STDMETHODCALLTYPE *GetBufferForVerticalBlankingLine )( 6830 IDeckLinkVideoFrameAncillary * This, 6831 /* [in] */ unsigned int lineNumber, 6832 /* [out] */ void **buffer); 6833 6834 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( 6835 IDeckLinkVideoFrameAncillary * This); 6836 6837 BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )( 6838 IDeckLinkVideoFrameAncillary * This); 6839 6840 END_INTERFACE 6841 } IDeckLinkVideoFrameAncillaryVtbl; 6842 6843 interface IDeckLinkVideoFrameAncillary 6844 { 6845 CONST_VTBL struct IDeckLinkVideoFrameAncillaryVtbl *lpVtbl; 6846 }; 6847 6848 6849 6850 #ifdef COBJMACROS 6851 6852 6853 #define IDeckLinkVideoFrameAncillary_QueryInterface(This,riid,ppvObject) \ 6854 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 6855 6856 #define IDeckLinkVideoFrameAncillary_AddRef(This) \ 6857 ( (This)->lpVtbl -> AddRef(This) ) 6858 6859 #define IDeckLinkVideoFrameAncillary_Release(This) \ 6860 ( (This)->lpVtbl -> Release(This) ) 6861 6862 6863 #define IDeckLinkVideoFrameAncillary_GetBufferForVerticalBlankingLine(This,lineNumber,buffer) \ 6864 ( (This)->lpVtbl -> GetBufferForVerticalBlankingLine(This,lineNumber,buffer) ) 6865 6866 #define IDeckLinkVideoFrameAncillary_GetPixelFormat(This) \ 6867 ( (This)->lpVtbl -> GetPixelFormat(This) ) 6868 6869 #define IDeckLinkVideoFrameAncillary_GetDisplayMode(This) \ 6870 ( (This)->lpVtbl -> GetDisplayMode(This) ) 6871 6872 #endif /* COBJMACROS */ 6873 6874 6875 #endif /* C style interface */ 6876 6877 6878 6879 6880 #endif /* __IDeckLinkVideoFrameAncillary_INTERFACE_DEFINED__ */ 6881 6882 6883 #ifndef __IDeckLinkEncoderPacket_INTERFACE_DEFINED__ 6884 #define __IDeckLinkEncoderPacket_INTERFACE_DEFINED__ 6885 6886 /* interface IDeckLinkEncoderPacket */ 6887 /* [helpstring][local][uuid][object] */ 6888 6889 6890 EXTERN_C const IID IID_IDeckLinkEncoderPacket; 6891 6892 #if defined(__cplusplus) && !defined(CINTERFACE) 6893 6894 MIDL_INTERFACE("B693F36C-316E-4AF1-B6C2-F389A4BCA620") 6895 IDeckLinkEncoderPacket : public IUnknown 6896 { 6897 public: 6898 virtual HRESULT STDMETHODCALLTYPE GetBytes( 6899 /* [out] */ void **buffer) = 0; 6900 6901 virtual long STDMETHODCALLTYPE GetSize( void) = 0; 6902 6903 virtual HRESULT STDMETHODCALLTYPE GetStreamTime( 6904 /* [out] */ BMDTimeValue *frameTime, 6905 /* [in] */ BMDTimeScale timeScale) = 0; 6906 6907 virtual BMDPacketType STDMETHODCALLTYPE GetPacketType( void) = 0; 6908 6909 }; 6910 6911 6912 #else /* C style interface */ 6913 6914 typedef struct IDeckLinkEncoderPacketVtbl 6915 { 6916 BEGIN_INTERFACE 6917 6918 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 6919 IDeckLinkEncoderPacket * This, 6920 /* [in] */ REFIID riid, 6921 /* [annotation][iid_is][out] */ 6922 _COM_Outptr_ void **ppvObject); 6923 6924 ULONG ( STDMETHODCALLTYPE *AddRef )( 6925 IDeckLinkEncoderPacket * This); 6926 6927 ULONG ( STDMETHODCALLTYPE *Release )( 6928 IDeckLinkEncoderPacket * This); 6929 6930 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 6931 IDeckLinkEncoderPacket * This, 6932 /* [out] */ void **buffer); 6933 6934 long ( STDMETHODCALLTYPE *GetSize )( 6935 IDeckLinkEncoderPacket * This); 6936 6937 HRESULT ( STDMETHODCALLTYPE *GetStreamTime )( 6938 IDeckLinkEncoderPacket * This, 6939 /* [out] */ BMDTimeValue *frameTime, 6940 /* [in] */ BMDTimeScale timeScale); 6941 6942 BMDPacketType ( STDMETHODCALLTYPE *GetPacketType )( 6943 IDeckLinkEncoderPacket * This); 6944 6945 END_INTERFACE 6946 } IDeckLinkEncoderPacketVtbl; 6947 6948 interface IDeckLinkEncoderPacket 6949 { 6950 CONST_VTBL struct IDeckLinkEncoderPacketVtbl *lpVtbl; 6951 }; 6952 6953 6954 6955 #ifdef COBJMACROS 6956 6957 6958 #define IDeckLinkEncoderPacket_QueryInterface(This,riid,ppvObject) \ 6959 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 6960 6961 #define IDeckLinkEncoderPacket_AddRef(This) \ 6962 ( (This)->lpVtbl -> AddRef(This) ) 6963 6964 #define IDeckLinkEncoderPacket_Release(This) \ 6965 ( (This)->lpVtbl -> Release(This) ) 6966 6967 6968 #define IDeckLinkEncoderPacket_GetBytes(This,buffer) \ 6969 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 6970 6971 #define IDeckLinkEncoderPacket_GetSize(This) \ 6972 ( (This)->lpVtbl -> GetSize(This) ) 6973 6974 #define IDeckLinkEncoderPacket_GetStreamTime(This,frameTime,timeScale) \ 6975 ( (This)->lpVtbl -> GetStreamTime(This,frameTime,timeScale) ) 6976 6977 #define IDeckLinkEncoderPacket_GetPacketType(This) \ 6978 ( (This)->lpVtbl -> GetPacketType(This) ) 6979 6980 #endif /* COBJMACROS */ 6981 6982 6983 #endif /* C style interface */ 6984 6985 6986 6987 6988 #endif /* __IDeckLinkEncoderPacket_INTERFACE_DEFINED__ */ 6989 6990 6991 #ifndef __IDeckLinkEncoderVideoPacket_INTERFACE_DEFINED__ 6992 #define __IDeckLinkEncoderVideoPacket_INTERFACE_DEFINED__ 6993 6994 /* interface IDeckLinkEncoderVideoPacket */ 6995 /* [helpstring][local][uuid][object] */ 6996 6997 6998 EXTERN_C const IID IID_IDeckLinkEncoderVideoPacket; 6999 7000 #if defined(__cplusplus) && !defined(CINTERFACE) 7001 7002 MIDL_INTERFACE("4E7FD944-E8C7-4EAC-B8C0-7B77F80F5AE0") 7003 IDeckLinkEncoderVideoPacket : public IDeckLinkEncoderPacket 7004 { 7005 public: 7006 virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0; 7007 7008 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceTimestamp( 7009 /* [in] */ BMDTimeScale timeScale, 7010 /* [out] */ BMDTimeValue *frameTime, 7011 /* [out] */ BMDTimeValue *frameDuration) = 0; 7012 7013 virtual HRESULT STDMETHODCALLTYPE GetTimecode( 7014 /* [in] */ BMDTimecodeFormat format, 7015 /* [out] */ IDeckLinkTimecode **timecode) = 0; 7016 7017 }; 7018 7019 7020 #else /* C style interface */ 7021 7022 typedef struct IDeckLinkEncoderVideoPacketVtbl 7023 { 7024 BEGIN_INTERFACE 7025 7026 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 7027 IDeckLinkEncoderVideoPacket * This, 7028 /* [in] */ REFIID riid, 7029 /* [annotation][iid_is][out] */ 7030 _COM_Outptr_ void **ppvObject); 7031 7032 ULONG ( STDMETHODCALLTYPE *AddRef )( 7033 IDeckLinkEncoderVideoPacket * This); 7034 7035 ULONG ( STDMETHODCALLTYPE *Release )( 7036 IDeckLinkEncoderVideoPacket * This); 7037 7038 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 7039 IDeckLinkEncoderVideoPacket * This, 7040 /* [out] */ void **buffer); 7041 7042 long ( STDMETHODCALLTYPE *GetSize )( 7043 IDeckLinkEncoderVideoPacket * This); 7044 7045 HRESULT ( STDMETHODCALLTYPE *GetStreamTime )( 7046 IDeckLinkEncoderVideoPacket * This, 7047 /* [out] */ BMDTimeValue *frameTime, 7048 /* [in] */ BMDTimeScale timeScale); 7049 7050 BMDPacketType ( STDMETHODCALLTYPE *GetPacketType )( 7051 IDeckLinkEncoderVideoPacket * This); 7052 7053 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( 7054 IDeckLinkEncoderVideoPacket * This); 7055 7056 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceTimestamp )( 7057 IDeckLinkEncoderVideoPacket * This, 7058 /* [in] */ BMDTimeScale timeScale, 7059 /* [out] */ BMDTimeValue *frameTime, 7060 /* [out] */ BMDTimeValue *frameDuration); 7061 7062 HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 7063 IDeckLinkEncoderVideoPacket * This, 7064 /* [in] */ BMDTimecodeFormat format, 7065 /* [out] */ IDeckLinkTimecode **timecode); 7066 7067 END_INTERFACE 7068 } IDeckLinkEncoderVideoPacketVtbl; 7069 7070 interface IDeckLinkEncoderVideoPacket 7071 { 7072 CONST_VTBL struct IDeckLinkEncoderVideoPacketVtbl *lpVtbl; 7073 }; 7074 7075 7076 7077 #ifdef COBJMACROS 7078 7079 7080 #define IDeckLinkEncoderVideoPacket_QueryInterface(This,riid,ppvObject) \ 7081 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 7082 7083 #define IDeckLinkEncoderVideoPacket_AddRef(This) \ 7084 ( (This)->lpVtbl -> AddRef(This) ) 7085 7086 #define IDeckLinkEncoderVideoPacket_Release(This) \ 7087 ( (This)->lpVtbl -> Release(This) ) 7088 7089 7090 #define IDeckLinkEncoderVideoPacket_GetBytes(This,buffer) \ 7091 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 7092 7093 #define IDeckLinkEncoderVideoPacket_GetSize(This) \ 7094 ( (This)->lpVtbl -> GetSize(This) ) 7095 7096 #define IDeckLinkEncoderVideoPacket_GetStreamTime(This,frameTime,timeScale) \ 7097 ( (This)->lpVtbl -> GetStreamTime(This,frameTime,timeScale) ) 7098 7099 #define IDeckLinkEncoderVideoPacket_GetPacketType(This) \ 7100 ( (This)->lpVtbl -> GetPacketType(This) ) 7101 7102 7103 #define IDeckLinkEncoderVideoPacket_GetPixelFormat(This) \ 7104 ( (This)->lpVtbl -> GetPixelFormat(This) ) 7105 7106 #define IDeckLinkEncoderVideoPacket_GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) \ 7107 ( (This)->lpVtbl -> GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) ) 7108 7109 #define IDeckLinkEncoderVideoPacket_GetTimecode(This,format,timecode) \ 7110 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) 7111 7112 #endif /* COBJMACROS */ 7113 7114 7115 #endif /* C style interface */ 7116 7117 7118 7119 7120 #endif /* __IDeckLinkEncoderVideoPacket_INTERFACE_DEFINED__ */ 7121 7122 7123 #ifndef __IDeckLinkEncoderAudioPacket_INTERFACE_DEFINED__ 7124 #define __IDeckLinkEncoderAudioPacket_INTERFACE_DEFINED__ 7125 7126 /* interface IDeckLinkEncoderAudioPacket */ 7127 /* [helpstring][local][uuid][object] */ 7128 7129 7130 EXTERN_C const IID IID_IDeckLinkEncoderAudioPacket; 7131 7132 #if defined(__cplusplus) && !defined(CINTERFACE) 7133 7134 MIDL_INTERFACE("49E8EDC8-693B-4E14-8EF6-12C658F5A07A") 7135 IDeckLinkEncoderAudioPacket : public IDeckLinkEncoderPacket 7136 { 7137 public: 7138 virtual BMDAudioFormat STDMETHODCALLTYPE GetAudioFormat( void) = 0; 7139 7140 }; 7141 7142 7143 #else /* C style interface */ 7144 7145 typedef struct IDeckLinkEncoderAudioPacketVtbl 7146 { 7147 BEGIN_INTERFACE 7148 7149 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 7150 IDeckLinkEncoderAudioPacket * This, 7151 /* [in] */ REFIID riid, 7152 /* [annotation][iid_is][out] */ 7153 _COM_Outptr_ void **ppvObject); 7154 7155 ULONG ( STDMETHODCALLTYPE *AddRef )( 7156 IDeckLinkEncoderAudioPacket * This); 7157 7158 ULONG ( STDMETHODCALLTYPE *Release )( 7159 IDeckLinkEncoderAudioPacket * This); 7160 7161 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 7162 IDeckLinkEncoderAudioPacket * This, 7163 /* [out] */ void **buffer); 7164 7165 long ( STDMETHODCALLTYPE *GetSize )( 7166 IDeckLinkEncoderAudioPacket * This); 7167 7168 HRESULT ( STDMETHODCALLTYPE *GetStreamTime )( 7169 IDeckLinkEncoderAudioPacket * This, 7170 /* [out] */ BMDTimeValue *frameTime, 7171 /* [in] */ BMDTimeScale timeScale); 7172 7173 BMDPacketType ( STDMETHODCALLTYPE *GetPacketType )( 7174 IDeckLinkEncoderAudioPacket * This); 7175 7176 BMDAudioFormat ( STDMETHODCALLTYPE *GetAudioFormat )( 7177 IDeckLinkEncoderAudioPacket * This); 7178 7179 END_INTERFACE 7180 } IDeckLinkEncoderAudioPacketVtbl; 7181 7182 interface IDeckLinkEncoderAudioPacket 7183 { 7184 CONST_VTBL struct IDeckLinkEncoderAudioPacketVtbl *lpVtbl; 7185 }; 7186 7187 7188 7189 #ifdef COBJMACROS 7190 7191 7192 #define IDeckLinkEncoderAudioPacket_QueryInterface(This,riid,ppvObject) \ 7193 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 7194 7195 #define IDeckLinkEncoderAudioPacket_AddRef(This) \ 7196 ( (This)->lpVtbl -> AddRef(This) ) 7197 7198 #define IDeckLinkEncoderAudioPacket_Release(This) \ 7199 ( (This)->lpVtbl -> Release(This) ) 7200 7201 7202 #define IDeckLinkEncoderAudioPacket_GetBytes(This,buffer) \ 7203 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 7204 7205 #define IDeckLinkEncoderAudioPacket_GetSize(This) \ 7206 ( (This)->lpVtbl -> GetSize(This) ) 7207 7208 #define IDeckLinkEncoderAudioPacket_GetStreamTime(This,frameTime,timeScale) \ 7209 ( (This)->lpVtbl -> GetStreamTime(This,frameTime,timeScale) ) 7210 7211 #define IDeckLinkEncoderAudioPacket_GetPacketType(This) \ 7212 ( (This)->lpVtbl -> GetPacketType(This) ) 7213 7214 7215 #define IDeckLinkEncoderAudioPacket_GetAudioFormat(This) \ 7216 ( (This)->lpVtbl -> GetAudioFormat(This) ) 7217 7218 #endif /* COBJMACROS */ 7219 7220 7221 #endif /* C style interface */ 7222 7223 7224 7225 7226 #endif /* __IDeckLinkEncoderAudioPacket_INTERFACE_DEFINED__ */ 7227 7228 7229 #ifndef __IDeckLinkH265NALPacket_INTERFACE_DEFINED__ 7230 #define __IDeckLinkH265NALPacket_INTERFACE_DEFINED__ 7231 7232 /* interface IDeckLinkH265NALPacket */ 7233 /* [helpstring][local][uuid][object] */ 7234 7235 7236 EXTERN_C const IID IID_IDeckLinkH265NALPacket; 7237 7238 #if defined(__cplusplus) && !defined(CINTERFACE) 7239 7240 MIDL_INTERFACE("639C8E0B-68D5-4BDE-A6D4-95F3AEAFF2E7") 7241 IDeckLinkH265NALPacket : public IDeckLinkEncoderVideoPacket 7242 { 7243 public: 7244 virtual HRESULT STDMETHODCALLTYPE GetUnitType( 7245 /* [out] */ unsigned char *unitType) = 0; 7246 7247 virtual HRESULT STDMETHODCALLTYPE GetBytesNoPrefix( 7248 /* [out] */ void **buffer) = 0; 7249 7250 virtual long STDMETHODCALLTYPE GetSizeNoPrefix( void) = 0; 7251 7252 }; 7253 7254 7255 #else /* C style interface */ 7256 7257 typedef struct IDeckLinkH265NALPacketVtbl 7258 { 7259 BEGIN_INTERFACE 7260 7261 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 7262 IDeckLinkH265NALPacket * This, 7263 /* [in] */ REFIID riid, 7264 /* [annotation][iid_is][out] */ 7265 _COM_Outptr_ void **ppvObject); 7266 7267 ULONG ( STDMETHODCALLTYPE *AddRef )( 7268 IDeckLinkH265NALPacket * This); 7269 7270 ULONG ( STDMETHODCALLTYPE *Release )( 7271 IDeckLinkH265NALPacket * This); 7272 7273 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 7274 IDeckLinkH265NALPacket * This, 7275 /* [out] */ void **buffer); 7276 7277 long ( STDMETHODCALLTYPE *GetSize )( 7278 IDeckLinkH265NALPacket * This); 7279 7280 HRESULT ( STDMETHODCALLTYPE *GetStreamTime )( 7281 IDeckLinkH265NALPacket * This, 7282 /* [out] */ BMDTimeValue *frameTime, 7283 /* [in] */ BMDTimeScale timeScale); 7284 7285 BMDPacketType ( STDMETHODCALLTYPE *GetPacketType )( 7286 IDeckLinkH265NALPacket * This); 7287 7288 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( 7289 IDeckLinkH265NALPacket * This); 7290 7291 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceTimestamp )( 7292 IDeckLinkH265NALPacket * This, 7293 /* [in] */ BMDTimeScale timeScale, 7294 /* [out] */ BMDTimeValue *frameTime, 7295 /* [out] */ BMDTimeValue *frameDuration); 7296 7297 HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 7298 IDeckLinkH265NALPacket * This, 7299 /* [in] */ BMDTimecodeFormat format, 7300 /* [out] */ IDeckLinkTimecode **timecode); 7301 7302 HRESULT ( STDMETHODCALLTYPE *GetUnitType )( 7303 IDeckLinkH265NALPacket * This, 7304 /* [out] */ unsigned char *unitType); 7305 7306 HRESULT ( STDMETHODCALLTYPE *GetBytesNoPrefix )( 7307 IDeckLinkH265NALPacket * This, 7308 /* [out] */ void **buffer); 7309 7310 long ( STDMETHODCALLTYPE *GetSizeNoPrefix )( 7311 IDeckLinkH265NALPacket * This); 7312 7313 END_INTERFACE 7314 } IDeckLinkH265NALPacketVtbl; 7315 7316 interface IDeckLinkH265NALPacket 7317 { 7318 CONST_VTBL struct IDeckLinkH265NALPacketVtbl *lpVtbl; 7319 }; 7320 7321 7322 7323 #ifdef COBJMACROS 7324 7325 7326 #define IDeckLinkH265NALPacket_QueryInterface(This,riid,ppvObject) \ 7327 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 7328 7329 #define IDeckLinkH265NALPacket_AddRef(This) \ 7330 ( (This)->lpVtbl -> AddRef(This) ) 7331 7332 #define IDeckLinkH265NALPacket_Release(This) \ 7333 ( (This)->lpVtbl -> Release(This) ) 7334 7335 7336 #define IDeckLinkH265NALPacket_GetBytes(This,buffer) \ 7337 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 7338 7339 #define IDeckLinkH265NALPacket_GetSize(This) \ 7340 ( (This)->lpVtbl -> GetSize(This) ) 7341 7342 #define IDeckLinkH265NALPacket_GetStreamTime(This,frameTime,timeScale) \ 7343 ( (This)->lpVtbl -> GetStreamTime(This,frameTime,timeScale) ) 7344 7345 #define IDeckLinkH265NALPacket_GetPacketType(This) \ 7346 ( (This)->lpVtbl -> GetPacketType(This) ) 7347 7348 7349 #define IDeckLinkH265NALPacket_GetPixelFormat(This) \ 7350 ( (This)->lpVtbl -> GetPixelFormat(This) ) 7351 7352 #define IDeckLinkH265NALPacket_GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) \ 7353 ( (This)->lpVtbl -> GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) ) 7354 7355 #define IDeckLinkH265NALPacket_GetTimecode(This,format,timecode) \ 7356 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) 7357 7358 7359 #define IDeckLinkH265NALPacket_GetUnitType(This,unitType) \ 7360 ( (This)->lpVtbl -> GetUnitType(This,unitType) ) 7361 7362 #define IDeckLinkH265NALPacket_GetBytesNoPrefix(This,buffer) \ 7363 ( (This)->lpVtbl -> GetBytesNoPrefix(This,buffer) ) 7364 7365 #define IDeckLinkH265NALPacket_GetSizeNoPrefix(This) \ 7366 ( (This)->lpVtbl -> GetSizeNoPrefix(This) ) 7367 7368 #endif /* COBJMACROS */ 7369 7370 7371 #endif /* C style interface */ 7372 7373 7374 7375 7376 #endif /* __IDeckLinkH265NALPacket_INTERFACE_DEFINED__ */ 7377 7378 7379 #ifndef __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__ 7380 #define __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__ 7381 7382 /* interface IDeckLinkAudioInputPacket */ 7383 /* [helpstring][local][uuid][object] */ 7384 7385 7386 EXTERN_C const IID IID_IDeckLinkAudioInputPacket; 7387 7388 #if defined(__cplusplus) && !defined(CINTERFACE) 7389 7390 MIDL_INTERFACE("E43D5870-2894-11DE-8C30-0800200C9A66") 7391 IDeckLinkAudioInputPacket : public IUnknown 7392 { 7393 public: 7394 virtual long STDMETHODCALLTYPE GetSampleFrameCount( void) = 0; 7395 7396 virtual HRESULT STDMETHODCALLTYPE GetBytes( 7397 /* [out] */ void **buffer) = 0; 7398 7399 virtual HRESULT STDMETHODCALLTYPE GetPacketTime( 7400 /* [out] */ BMDTimeValue *packetTime, 7401 /* [in] */ BMDTimeScale timeScale) = 0; 7402 7403 }; 7404 7405 7406 #else /* C style interface */ 7407 7408 typedef struct IDeckLinkAudioInputPacketVtbl 7409 { 7410 BEGIN_INTERFACE 7411 7412 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 7413 IDeckLinkAudioInputPacket * This, 7414 /* [in] */ REFIID riid, 7415 /* [annotation][iid_is][out] */ 7416 _COM_Outptr_ void **ppvObject); 7417 7418 ULONG ( STDMETHODCALLTYPE *AddRef )( 7419 IDeckLinkAudioInputPacket * This); 7420 7421 ULONG ( STDMETHODCALLTYPE *Release )( 7422 IDeckLinkAudioInputPacket * This); 7423 7424 long ( STDMETHODCALLTYPE *GetSampleFrameCount )( 7425 IDeckLinkAudioInputPacket * This); 7426 7427 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 7428 IDeckLinkAudioInputPacket * This, 7429 /* [out] */ void **buffer); 7430 7431 HRESULT ( STDMETHODCALLTYPE *GetPacketTime )( 7432 IDeckLinkAudioInputPacket * This, 7433 /* [out] */ BMDTimeValue *packetTime, 7434 /* [in] */ BMDTimeScale timeScale); 7435 7436 END_INTERFACE 7437 } IDeckLinkAudioInputPacketVtbl; 7438 7439 interface IDeckLinkAudioInputPacket 7440 { 7441 CONST_VTBL struct IDeckLinkAudioInputPacketVtbl *lpVtbl; 7442 }; 7443 7444 7445 7446 #ifdef COBJMACROS 7447 7448 7449 #define IDeckLinkAudioInputPacket_QueryInterface(This,riid,ppvObject) \ 7450 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 7451 7452 #define IDeckLinkAudioInputPacket_AddRef(This) \ 7453 ( (This)->lpVtbl -> AddRef(This) ) 7454 7455 #define IDeckLinkAudioInputPacket_Release(This) \ 7456 ( (This)->lpVtbl -> Release(This) ) 7457 7458 7459 #define IDeckLinkAudioInputPacket_GetSampleFrameCount(This) \ 7460 ( (This)->lpVtbl -> GetSampleFrameCount(This) ) 7461 7462 #define IDeckLinkAudioInputPacket_GetBytes(This,buffer) \ 7463 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 7464 7465 #define IDeckLinkAudioInputPacket_GetPacketTime(This,packetTime,timeScale) \ 7466 ( (This)->lpVtbl -> GetPacketTime(This,packetTime,timeScale) ) 7467 7468 #endif /* COBJMACROS */ 7469 7470 7471 #endif /* C style interface */ 7472 7473 7474 7475 7476 #endif /* __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__ */ 7477 7478 7479 #ifndef __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__ 7480 #define __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__ 7481 7482 /* interface IDeckLinkScreenPreviewCallback */ 7483 /* [helpstring][local][uuid][object] */ 7484 7485 7486 EXTERN_C const IID IID_IDeckLinkScreenPreviewCallback; 7487 7488 #if defined(__cplusplus) && !defined(CINTERFACE) 7489 7490 MIDL_INTERFACE("B1D3F49A-85FE-4C5D-95C8-0B5D5DCCD438") 7491 IDeckLinkScreenPreviewCallback : public IUnknown 7492 { 7493 public: 7494 virtual HRESULT STDMETHODCALLTYPE DrawFrame( 7495 /* [in] */ IDeckLinkVideoFrame *theFrame) = 0; 7496 7497 }; 7498 7499 7500 #else /* C style interface */ 7501 7502 typedef struct IDeckLinkScreenPreviewCallbackVtbl 7503 { 7504 BEGIN_INTERFACE 7505 7506 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 7507 IDeckLinkScreenPreviewCallback * This, 7508 /* [in] */ REFIID riid, 7509 /* [annotation][iid_is][out] */ 7510 _COM_Outptr_ void **ppvObject); 7511 7512 ULONG ( STDMETHODCALLTYPE *AddRef )( 7513 IDeckLinkScreenPreviewCallback * This); 7514 7515 ULONG ( STDMETHODCALLTYPE *Release )( 7516 IDeckLinkScreenPreviewCallback * This); 7517 7518 HRESULT ( STDMETHODCALLTYPE *DrawFrame )( 7519 IDeckLinkScreenPreviewCallback * This, 7520 /* [in] */ IDeckLinkVideoFrame *theFrame); 7521 7522 END_INTERFACE 7523 } IDeckLinkScreenPreviewCallbackVtbl; 7524 7525 interface IDeckLinkScreenPreviewCallback 7526 { 7527 CONST_VTBL struct IDeckLinkScreenPreviewCallbackVtbl *lpVtbl; 7528 }; 7529 7530 7531 7532 #ifdef COBJMACROS 7533 7534 7535 #define IDeckLinkScreenPreviewCallback_QueryInterface(This,riid,ppvObject) \ 7536 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 7537 7538 #define IDeckLinkScreenPreviewCallback_AddRef(This) \ 7539 ( (This)->lpVtbl -> AddRef(This) ) 7540 7541 #define IDeckLinkScreenPreviewCallback_Release(This) \ 7542 ( (This)->lpVtbl -> Release(This) ) 7543 7544 7545 #define IDeckLinkScreenPreviewCallback_DrawFrame(This,theFrame) \ 7546 ( (This)->lpVtbl -> DrawFrame(This,theFrame) ) 7547 7548 #endif /* COBJMACROS */ 7549 7550 7551 #endif /* C style interface */ 7552 7553 7554 7555 7556 #endif /* __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__ */ 7557 7558 7559 #ifndef __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__ 7560 #define __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__ 7561 7562 /* interface IDeckLinkGLScreenPreviewHelper */ 7563 /* [helpstring][local][uuid][object] */ 7564 7565 7566 EXTERN_C const IID IID_IDeckLinkGLScreenPreviewHelper; 7567 7568 #if defined(__cplusplus) && !defined(CINTERFACE) 7569 7570 MIDL_INTERFACE("504E2209-CAC7-4C1A-9FB4-C5BB6274D22F") 7571 IDeckLinkGLScreenPreviewHelper : public IUnknown 7572 { 7573 public: 7574 virtual HRESULT STDMETHODCALLTYPE InitializeGL( void) = 0; 7575 7576 virtual HRESULT STDMETHODCALLTYPE PaintGL( void) = 0; 7577 7578 virtual HRESULT STDMETHODCALLTYPE SetFrame( 7579 /* [in] */ IDeckLinkVideoFrame *theFrame) = 0; 7580 7581 virtual HRESULT STDMETHODCALLTYPE Set3DPreviewFormat( 7582 /* [in] */ BMD3DPreviewFormat previewFormat) = 0; 7583 7584 }; 7585 7586 7587 #else /* C style interface */ 7588 7589 typedef struct IDeckLinkGLScreenPreviewHelperVtbl 7590 { 7591 BEGIN_INTERFACE 7592 7593 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 7594 IDeckLinkGLScreenPreviewHelper * This, 7595 /* [in] */ REFIID riid, 7596 /* [annotation][iid_is][out] */ 7597 _COM_Outptr_ void **ppvObject); 7598 7599 ULONG ( STDMETHODCALLTYPE *AddRef )( 7600 IDeckLinkGLScreenPreviewHelper * This); 7601 7602 ULONG ( STDMETHODCALLTYPE *Release )( 7603 IDeckLinkGLScreenPreviewHelper * This); 7604 7605 HRESULT ( STDMETHODCALLTYPE *InitializeGL )( 7606 IDeckLinkGLScreenPreviewHelper * This); 7607 7608 HRESULT ( STDMETHODCALLTYPE *PaintGL )( 7609 IDeckLinkGLScreenPreviewHelper * This); 7610 7611 HRESULT ( STDMETHODCALLTYPE *SetFrame )( 7612 IDeckLinkGLScreenPreviewHelper * This, 7613 /* [in] */ IDeckLinkVideoFrame *theFrame); 7614 7615 HRESULT ( STDMETHODCALLTYPE *Set3DPreviewFormat )( 7616 IDeckLinkGLScreenPreviewHelper * This, 7617 /* [in] */ BMD3DPreviewFormat previewFormat); 7618 7619 END_INTERFACE 7620 } IDeckLinkGLScreenPreviewHelperVtbl; 7621 7622 interface IDeckLinkGLScreenPreviewHelper 7623 { 7624 CONST_VTBL struct IDeckLinkGLScreenPreviewHelperVtbl *lpVtbl; 7625 }; 7626 7627 7628 7629 #ifdef COBJMACROS 7630 7631 7632 #define IDeckLinkGLScreenPreviewHelper_QueryInterface(This,riid,ppvObject) \ 7633 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 7634 7635 #define IDeckLinkGLScreenPreviewHelper_AddRef(This) \ 7636 ( (This)->lpVtbl -> AddRef(This) ) 7637 7638 #define IDeckLinkGLScreenPreviewHelper_Release(This) \ 7639 ( (This)->lpVtbl -> Release(This) ) 7640 7641 7642 #define IDeckLinkGLScreenPreviewHelper_InitializeGL(This) \ 7643 ( (This)->lpVtbl -> InitializeGL(This) ) 7644 7645 #define IDeckLinkGLScreenPreviewHelper_PaintGL(This) \ 7646 ( (This)->lpVtbl -> PaintGL(This) ) 7647 7648 #define IDeckLinkGLScreenPreviewHelper_SetFrame(This,theFrame) \ 7649 ( (This)->lpVtbl -> SetFrame(This,theFrame) ) 7650 7651 #define IDeckLinkGLScreenPreviewHelper_Set3DPreviewFormat(This,previewFormat) \ 7652 ( (This)->lpVtbl -> Set3DPreviewFormat(This,previewFormat) ) 7653 7654 #endif /* COBJMACROS */ 7655 7656 7657 #endif /* C style interface */ 7658 7659 7660 7661 7662 #endif /* __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__ */ 7663 7664 7665 #ifndef __IDeckLinkDX9ScreenPreviewHelper_INTERFACE_DEFINED__ 7666 #define __IDeckLinkDX9ScreenPreviewHelper_INTERFACE_DEFINED__ 7667 7668 /* interface IDeckLinkDX9ScreenPreviewHelper */ 7669 /* [helpstring][local][uuid][object] */ 7670 7671 7672 EXTERN_C const IID IID_IDeckLinkDX9ScreenPreviewHelper; 7673 7674 #if defined(__cplusplus) && !defined(CINTERFACE) 7675 7676 MIDL_INTERFACE("2094B522-D1A1-40C0-9AC7-1C012218EF02") 7677 IDeckLinkDX9ScreenPreviewHelper : public IUnknown 7678 { 7679 public: 7680 virtual HRESULT STDMETHODCALLTYPE Initialize( 7681 /* [in] */ void *device) = 0; 7682 7683 virtual HRESULT STDMETHODCALLTYPE Render( 7684 /* [in] */ RECT *rc) = 0; 7685 7686 virtual HRESULT STDMETHODCALLTYPE SetFrame( 7687 /* [in] */ IDeckLinkVideoFrame *theFrame) = 0; 7688 7689 virtual HRESULT STDMETHODCALLTYPE Set3DPreviewFormat( 7690 /* [in] */ BMD3DPreviewFormat previewFormat) = 0; 7691 7692 }; 7693 7694 7695 #else /* C style interface */ 7696 7697 typedef struct IDeckLinkDX9ScreenPreviewHelperVtbl 7698 { 7699 BEGIN_INTERFACE 7700 7701 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 7702 IDeckLinkDX9ScreenPreviewHelper * This, 7703 /* [in] */ REFIID riid, 7704 /* [annotation][iid_is][out] */ 7705 _COM_Outptr_ void **ppvObject); 7706 7707 ULONG ( STDMETHODCALLTYPE *AddRef )( 7708 IDeckLinkDX9ScreenPreviewHelper * This); 7709 7710 ULONG ( STDMETHODCALLTYPE *Release )( 7711 IDeckLinkDX9ScreenPreviewHelper * This); 7712 7713 HRESULT ( STDMETHODCALLTYPE *Initialize )( 7714 IDeckLinkDX9ScreenPreviewHelper * This, 7715 /* [in] */ void *device); 7716 7717 HRESULT ( STDMETHODCALLTYPE *Render )( 7718 IDeckLinkDX9ScreenPreviewHelper * This, 7719 /* [in] */ RECT *rc); 7720 7721 HRESULT ( STDMETHODCALLTYPE *SetFrame )( 7722 IDeckLinkDX9ScreenPreviewHelper * This, 7723 /* [in] */ IDeckLinkVideoFrame *theFrame); 7724 7725 HRESULT ( STDMETHODCALLTYPE *Set3DPreviewFormat )( 7726 IDeckLinkDX9ScreenPreviewHelper * This, 7727 /* [in] */ BMD3DPreviewFormat previewFormat); 7728 7729 END_INTERFACE 7730 } IDeckLinkDX9ScreenPreviewHelperVtbl; 7731 7732 interface IDeckLinkDX9ScreenPreviewHelper 7733 { 7734 CONST_VTBL struct IDeckLinkDX9ScreenPreviewHelperVtbl *lpVtbl; 7735 }; 7736 7737 7738 7739 #ifdef COBJMACROS 7740 7741 7742 #define IDeckLinkDX9ScreenPreviewHelper_QueryInterface(This,riid,ppvObject) \ 7743 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 7744 7745 #define IDeckLinkDX9ScreenPreviewHelper_AddRef(This) \ 7746 ( (This)->lpVtbl -> AddRef(This) ) 7747 7748 #define IDeckLinkDX9ScreenPreviewHelper_Release(This) \ 7749 ( (This)->lpVtbl -> Release(This) ) 7750 7751 7752 #define IDeckLinkDX9ScreenPreviewHelper_Initialize(This,device) \ 7753 ( (This)->lpVtbl -> Initialize(This,device) ) 7754 7755 #define IDeckLinkDX9ScreenPreviewHelper_Render(This,rc) \ 7756 ( (This)->lpVtbl -> Render(This,rc) ) 7757 7758 #define IDeckLinkDX9ScreenPreviewHelper_SetFrame(This,theFrame) \ 7759 ( (This)->lpVtbl -> SetFrame(This,theFrame) ) 7760 7761 #define IDeckLinkDX9ScreenPreviewHelper_Set3DPreviewFormat(This,previewFormat) \ 7762 ( (This)->lpVtbl -> Set3DPreviewFormat(This,previewFormat) ) 7763 7764 #endif /* COBJMACROS */ 7765 7766 7767 #endif /* C style interface */ 7768 7769 7770 7771 7772 #endif /* __IDeckLinkDX9ScreenPreviewHelper_INTERFACE_DEFINED__ */ 7773 7774 7775 #ifndef __IDeckLinkNotificationCallback_INTERFACE_DEFINED__ 7776 #define __IDeckLinkNotificationCallback_INTERFACE_DEFINED__ 7777 7778 /* interface IDeckLinkNotificationCallback */ 7779 /* [helpstring][local][uuid][object] */ 7780 7781 7782 EXTERN_C const IID IID_IDeckLinkNotificationCallback; 7783 7784 #if defined(__cplusplus) && !defined(CINTERFACE) 7785 7786 MIDL_INTERFACE("b002a1ec-070d-4288-8289-bd5d36e5ff0d") 7787 IDeckLinkNotificationCallback : public IUnknown 7788 { 7789 public: 7790 virtual HRESULT STDMETHODCALLTYPE Notify( 7791 /* [in] */ BMDNotifications topic, 7792 /* [in] */ ULONGLONG param1, 7793 /* [in] */ ULONGLONG param2) = 0; 7794 7795 }; 7796 7797 7798 #else /* C style interface */ 7799 7800 typedef struct IDeckLinkNotificationCallbackVtbl 7801 { 7802 BEGIN_INTERFACE 7803 7804 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 7805 IDeckLinkNotificationCallback * This, 7806 /* [in] */ REFIID riid, 7807 /* [annotation][iid_is][out] */ 7808 _COM_Outptr_ void **ppvObject); 7809 7810 ULONG ( STDMETHODCALLTYPE *AddRef )( 7811 IDeckLinkNotificationCallback * This); 7812 7813 ULONG ( STDMETHODCALLTYPE *Release )( 7814 IDeckLinkNotificationCallback * This); 7815 7816 HRESULT ( STDMETHODCALLTYPE *Notify )( 7817 IDeckLinkNotificationCallback * This, 7818 /* [in] */ BMDNotifications topic, 7819 /* [in] */ ULONGLONG param1, 7820 /* [in] */ ULONGLONG param2); 7821 7822 END_INTERFACE 7823 } IDeckLinkNotificationCallbackVtbl; 7824 7825 interface IDeckLinkNotificationCallback 7826 { 7827 CONST_VTBL struct IDeckLinkNotificationCallbackVtbl *lpVtbl; 7828 }; 7829 7830 7831 7832 #ifdef COBJMACROS 7833 7834 7835 #define IDeckLinkNotificationCallback_QueryInterface(This,riid,ppvObject) \ 7836 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 7837 7838 #define IDeckLinkNotificationCallback_AddRef(This) \ 7839 ( (This)->lpVtbl -> AddRef(This) ) 7840 7841 #define IDeckLinkNotificationCallback_Release(This) \ 7842 ( (This)->lpVtbl -> Release(This) ) 7843 7844 7845 #define IDeckLinkNotificationCallback_Notify(This,topic,param1,param2) \ 7846 ( (This)->lpVtbl -> Notify(This,topic,param1,param2) ) 7847 7848 #endif /* COBJMACROS */ 7849 7850 7851 #endif /* C style interface */ 7852 7853 7854 7855 7856 #endif /* __IDeckLinkNotificationCallback_INTERFACE_DEFINED__ */ 7857 7858 7859 #ifndef __IDeckLinkNotification_INTERFACE_DEFINED__ 7860 #define __IDeckLinkNotification_INTERFACE_DEFINED__ 7861 7862 /* interface IDeckLinkNotification */ 7863 /* [helpstring][local][uuid][object] */ 7864 7865 7866 EXTERN_C const IID IID_IDeckLinkNotification; 7867 7868 #if defined(__cplusplus) && !defined(CINTERFACE) 7869 7870 MIDL_INTERFACE("0a1fb207-e215-441b-9b19-6fa1575946c5") 7871 IDeckLinkNotification : public IUnknown 7872 { 7873 public: 7874 virtual HRESULT STDMETHODCALLTYPE Subscribe( 7875 /* [in] */ BMDNotifications topic, 7876 /* [in] */ IDeckLinkNotificationCallback *theCallback) = 0; 7877 7878 virtual HRESULT STDMETHODCALLTYPE Unsubscribe( 7879 /* [in] */ BMDNotifications topic, 7880 /* [in] */ IDeckLinkNotificationCallback *theCallback) = 0; 7881 7882 }; 7883 7884 7885 #else /* C style interface */ 7886 7887 typedef struct IDeckLinkNotificationVtbl 7888 { 7889 BEGIN_INTERFACE 7890 7891 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 7892 IDeckLinkNotification * This, 7893 /* [in] */ REFIID riid, 7894 /* [annotation][iid_is][out] */ 7895 _COM_Outptr_ void **ppvObject); 7896 7897 ULONG ( STDMETHODCALLTYPE *AddRef )( 7898 IDeckLinkNotification * This); 7899 7900 ULONG ( STDMETHODCALLTYPE *Release )( 7901 IDeckLinkNotification * This); 7902 7903 HRESULT ( STDMETHODCALLTYPE *Subscribe )( 7904 IDeckLinkNotification * This, 7905 /* [in] */ BMDNotifications topic, 7906 /* [in] */ IDeckLinkNotificationCallback *theCallback); 7907 7908 HRESULT ( STDMETHODCALLTYPE *Unsubscribe )( 7909 IDeckLinkNotification * This, 7910 /* [in] */ BMDNotifications topic, 7911 /* [in] */ IDeckLinkNotificationCallback *theCallback); 7912 7913 END_INTERFACE 7914 } IDeckLinkNotificationVtbl; 7915 7916 interface IDeckLinkNotification 7917 { 7918 CONST_VTBL struct IDeckLinkNotificationVtbl *lpVtbl; 7919 }; 7920 7921 7922 7923 #ifdef COBJMACROS 7924 7925 7926 #define IDeckLinkNotification_QueryInterface(This,riid,ppvObject) \ 7927 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 7928 7929 #define IDeckLinkNotification_AddRef(This) \ 7930 ( (This)->lpVtbl -> AddRef(This) ) 7931 7932 #define IDeckLinkNotification_Release(This) \ 7933 ( (This)->lpVtbl -> Release(This) ) 7934 7935 7936 #define IDeckLinkNotification_Subscribe(This,topic,theCallback) \ 7937 ( (This)->lpVtbl -> Subscribe(This,topic,theCallback) ) 7938 7939 #define IDeckLinkNotification_Unsubscribe(This,topic,theCallback) \ 7940 ( (This)->lpVtbl -> Unsubscribe(This,topic,theCallback) ) 7941 7942 #endif /* COBJMACROS */ 7943 7944 7945 #endif /* C style interface */ 7946 7947 7948 7949 7950 #endif /* __IDeckLinkNotification_INTERFACE_DEFINED__ */ 7951 7952 7953 #ifndef __IDeckLinkAttributes_INTERFACE_DEFINED__ 7954 #define __IDeckLinkAttributes_INTERFACE_DEFINED__ 7955 7956 /* interface IDeckLinkAttributes */ 7957 /* [helpstring][local][uuid][object] */ 7958 7959 7960 EXTERN_C const IID IID_IDeckLinkAttributes; 7961 7962 #if defined(__cplusplus) && !defined(CINTERFACE) 7963 7964 MIDL_INTERFACE("ABC11843-D966-44CB-96E2-A1CB5D3135C4") 7965 IDeckLinkAttributes : public IUnknown 7966 { 7967 public: 7968 virtual HRESULT STDMETHODCALLTYPE GetFlag( 7969 /* [in] */ BMDDeckLinkAttributeID cfgID, 7970 /* [out] */ BOOL *value) = 0; 7971 7972 virtual HRESULT STDMETHODCALLTYPE GetInt( 7973 /* [in] */ BMDDeckLinkAttributeID cfgID, 7974 /* [out] */ LONGLONG *value) = 0; 7975 7976 virtual HRESULT STDMETHODCALLTYPE GetFloat( 7977 /* [in] */ BMDDeckLinkAttributeID cfgID, 7978 /* [out] */ double *value) = 0; 7979 7980 virtual HRESULT STDMETHODCALLTYPE GetString( 7981 /* [in] */ BMDDeckLinkAttributeID cfgID, 7982 /* [out] */ BSTR *value) = 0; 7983 7984 }; 7985 7986 7987 #else /* C style interface */ 7988 7989 typedef struct IDeckLinkAttributesVtbl 7990 { 7991 BEGIN_INTERFACE 7992 7993 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 7994 IDeckLinkAttributes * This, 7995 /* [in] */ REFIID riid, 7996 /* [annotation][iid_is][out] */ 7997 _COM_Outptr_ void **ppvObject); 7998 7999 ULONG ( STDMETHODCALLTYPE *AddRef )( 8000 IDeckLinkAttributes * This); 8001 8002 ULONG ( STDMETHODCALLTYPE *Release )( 8003 IDeckLinkAttributes * This); 8004 8005 HRESULT ( STDMETHODCALLTYPE *GetFlag )( 8006 IDeckLinkAttributes * This, 8007 /* [in] */ BMDDeckLinkAttributeID cfgID, 8008 /* [out] */ BOOL *value); 8009 8010 HRESULT ( STDMETHODCALLTYPE *GetInt )( 8011 IDeckLinkAttributes * This, 8012 /* [in] */ BMDDeckLinkAttributeID cfgID, 8013 /* [out] */ LONGLONG *value); 8014 8015 HRESULT ( STDMETHODCALLTYPE *GetFloat )( 8016 IDeckLinkAttributes * This, 8017 /* [in] */ BMDDeckLinkAttributeID cfgID, 8018 /* [out] */ double *value); 8019 8020 HRESULT ( STDMETHODCALLTYPE *GetString )( 8021 IDeckLinkAttributes * This, 8022 /* [in] */ BMDDeckLinkAttributeID cfgID, 8023 /* [out] */ BSTR *value); 8024 8025 END_INTERFACE 8026 } IDeckLinkAttributesVtbl; 8027 8028 interface IDeckLinkAttributes 8029 { 8030 CONST_VTBL struct IDeckLinkAttributesVtbl *lpVtbl; 8031 }; 8032 8033 8034 8035 #ifdef COBJMACROS 8036 8037 8038 #define IDeckLinkAttributes_QueryInterface(This,riid,ppvObject) \ 8039 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 8040 8041 #define IDeckLinkAttributes_AddRef(This) \ 8042 ( (This)->lpVtbl -> AddRef(This) ) 8043 8044 #define IDeckLinkAttributes_Release(This) \ 8045 ( (This)->lpVtbl -> Release(This) ) 8046 8047 8048 #define IDeckLinkAttributes_GetFlag(This,cfgID,value) \ 8049 ( (This)->lpVtbl -> GetFlag(This,cfgID,value) ) 8050 8051 #define IDeckLinkAttributes_GetInt(This,cfgID,value) \ 8052 ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) 8053 8054 #define IDeckLinkAttributes_GetFloat(This,cfgID,value) \ 8055 ( (This)->lpVtbl -> GetFloat(This,cfgID,value) ) 8056 8057 #define IDeckLinkAttributes_GetString(This,cfgID,value) \ 8058 ( (This)->lpVtbl -> GetString(This,cfgID,value) ) 8059 8060 #endif /* COBJMACROS */ 8061 8062 8063 #endif /* C style interface */ 8064 8065 8066 8067 8068 #endif /* __IDeckLinkAttributes_INTERFACE_DEFINED__ */ 8069 8070 8071 #ifndef __IDeckLinkStatus_INTERFACE_DEFINED__ 8072 #define __IDeckLinkStatus_INTERFACE_DEFINED__ 8073 8074 /* interface IDeckLinkStatus */ 8075 /* [helpstring][local][uuid][object] */ 8076 8077 8078 EXTERN_C const IID IID_IDeckLinkStatus; 8079 8080 #if defined(__cplusplus) && !defined(CINTERFACE) 8081 8082 MIDL_INTERFACE("5F558200-4028-49BC-BEAC-DB3FA4A96E46") 8083 IDeckLinkStatus : public IUnknown 8084 { 8085 public: 8086 virtual HRESULT STDMETHODCALLTYPE GetFlag( 8087 /* [in] */ BMDDeckLinkStatusID statusID, 8088 /* [out] */ BOOL *value) = 0; 8089 8090 virtual HRESULT STDMETHODCALLTYPE GetInt( 8091 /* [in] */ BMDDeckLinkStatusID statusID, 8092 /* [out] */ LONGLONG *value) = 0; 8093 8094 virtual HRESULT STDMETHODCALLTYPE GetFloat( 8095 /* [in] */ BMDDeckLinkStatusID statusID, 8096 /* [out] */ double *value) = 0; 8097 8098 virtual HRESULT STDMETHODCALLTYPE GetString( 8099 /* [in] */ BMDDeckLinkStatusID statusID, 8100 /* [out] */ BSTR *value) = 0; 8101 8102 virtual HRESULT STDMETHODCALLTYPE GetBytes( 8103 /* [in] */ BMDDeckLinkStatusID statusID, 8104 /* [out] */ void *buffer, 8105 /* [out][in] */ unsigned int *bufferSize) = 0; 8106 8107 }; 8108 8109 8110 #else /* C style interface */ 8111 8112 typedef struct IDeckLinkStatusVtbl 8113 { 8114 BEGIN_INTERFACE 8115 8116 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 8117 IDeckLinkStatus * This, 8118 /* [in] */ REFIID riid, 8119 /* [annotation][iid_is][out] */ 8120 _COM_Outptr_ void **ppvObject); 8121 8122 ULONG ( STDMETHODCALLTYPE *AddRef )( 8123 IDeckLinkStatus * This); 8124 8125 ULONG ( STDMETHODCALLTYPE *Release )( 8126 IDeckLinkStatus * This); 8127 8128 HRESULT ( STDMETHODCALLTYPE *GetFlag )( 8129 IDeckLinkStatus * This, 8130 /* [in] */ BMDDeckLinkStatusID statusID, 8131 /* [out] */ BOOL *value); 8132 8133 HRESULT ( STDMETHODCALLTYPE *GetInt )( 8134 IDeckLinkStatus * This, 8135 /* [in] */ BMDDeckLinkStatusID statusID, 8136 /* [out] */ LONGLONG *value); 8137 8138 HRESULT ( STDMETHODCALLTYPE *GetFloat )( 8139 IDeckLinkStatus * This, 8140 /* [in] */ BMDDeckLinkStatusID statusID, 8141 /* [out] */ double *value); 8142 8143 HRESULT ( STDMETHODCALLTYPE *GetString )( 8144 IDeckLinkStatus * This, 8145 /* [in] */ BMDDeckLinkStatusID statusID, 8146 /* [out] */ BSTR *value); 8147 8148 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 8149 IDeckLinkStatus * This, 8150 /* [in] */ BMDDeckLinkStatusID statusID, 8151 /* [out] */ void *buffer, 8152 /* [out][in] */ unsigned int *bufferSize); 8153 8154 END_INTERFACE 8155 } IDeckLinkStatusVtbl; 8156 8157 interface IDeckLinkStatus 8158 { 8159 CONST_VTBL struct IDeckLinkStatusVtbl *lpVtbl; 8160 }; 8161 8162 8163 8164 #ifdef COBJMACROS 8165 8166 8167 #define IDeckLinkStatus_QueryInterface(This,riid,ppvObject) \ 8168 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 8169 8170 #define IDeckLinkStatus_AddRef(This) \ 8171 ( (This)->lpVtbl -> AddRef(This) ) 8172 8173 #define IDeckLinkStatus_Release(This) \ 8174 ( (This)->lpVtbl -> Release(This) ) 8175 8176 8177 #define IDeckLinkStatus_GetFlag(This,statusID,value) \ 8178 ( (This)->lpVtbl -> GetFlag(This,statusID,value) ) 8179 8180 #define IDeckLinkStatus_GetInt(This,statusID,value) \ 8181 ( (This)->lpVtbl -> GetInt(This,statusID,value) ) 8182 8183 #define IDeckLinkStatus_GetFloat(This,statusID,value) \ 8184 ( (This)->lpVtbl -> GetFloat(This,statusID,value) ) 8185 8186 #define IDeckLinkStatus_GetString(This,statusID,value) \ 8187 ( (This)->lpVtbl -> GetString(This,statusID,value) ) 8188 8189 #define IDeckLinkStatus_GetBytes(This,statusID,buffer,bufferSize) \ 8190 ( (This)->lpVtbl -> GetBytes(This,statusID,buffer,bufferSize) ) 8191 8192 #endif /* COBJMACROS */ 8193 8194 8195 #endif /* C style interface */ 8196 8197 8198 8199 8200 #endif /* __IDeckLinkStatus_INTERFACE_DEFINED__ */ 8201 8202 8203 #ifndef __IDeckLinkKeyer_INTERFACE_DEFINED__ 8204 #define __IDeckLinkKeyer_INTERFACE_DEFINED__ 8205 8206 /* interface IDeckLinkKeyer */ 8207 /* [helpstring][local][uuid][object] */ 8208 8209 8210 EXTERN_C const IID IID_IDeckLinkKeyer; 8211 8212 #if defined(__cplusplus) && !defined(CINTERFACE) 8213 8214 MIDL_INTERFACE("89AFCAF5-65F8-421E-98F7-96FE5F5BFBA3") 8215 IDeckLinkKeyer : public IUnknown 8216 { 8217 public: 8218 virtual HRESULT STDMETHODCALLTYPE Enable( 8219 /* [in] */ BOOL isExternal) = 0; 8220 8221 virtual HRESULT STDMETHODCALLTYPE SetLevel( 8222 /* [in] */ unsigned char level) = 0; 8223 8224 virtual HRESULT STDMETHODCALLTYPE RampUp( 8225 /* [in] */ unsigned int numberOfFrames) = 0; 8226 8227 virtual HRESULT STDMETHODCALLTYPE RampDown( 8228 /* [in] */ unsigned int numberOfFrames) = 0; 8229 8230 virtual HRESULT STDMETHODCALLTYPE Disable( void) = 0; 8231 8232 }; 8233 8234 8235 #else /* C style interface */ 8236 8237 typedef struct IDeckLinkKeyerVtbl 8238 { 8239 BEGIN_INTERFACE 8240 8241 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 8242 IDeckLinkKeyer * This, 8243 /* [in] */ REFIID riid, 8244 /* [annotation][iid_is][out] */ 8245 _COM_Outptr_ void **ppvObject); 8246 8247 ULONG ( STDMETHODCALLTYPE *AddRef )( 8248 IDeckLinkKeyer * This); 8249 8250 ULONG ( STDMETHODCALLTYPE *Release )( 8251 IDeckLinkKeyer * This); 8252 8253 HRESULT ( STDMETHODCALLTYPE *Enable )( 8254 IDeckLinkKeyer * This, 8255 /* [in] */ BOOL isExternal); 8256 8257 HRESULT ( STDMETHODCALLTYPE *SetLevel )( 8258 IDeckLinkKeyer * This, 8259 /* [in] */ unsigned char level); 8260 8261 HRESULT ( STDMETHODCALLTYPE *RampUp )( 8262 IDeckLinkKeyer * This, 8263 /* [in] */ unsigned int numberOfFrames); 8264 8265 HRESULT ( STDMETHODCALLTYPE *RampDown )( 8266 IDeckLinkKeyer * This, 8267 /* [in] */ unsigned int numberOfFrames); 8268 8269 HRESULT ( STDMETHODCALLTYPE *Disable )( 8270 IDeckLinkKeyer * This); 8271 8272 END_INTERFACE 8273 } IDeckLinkKeyerVtbl; 8274 8275 interface IDeckLinkKeyer 8276 { 8277 CONST_VTBL struct IDeckLinkKeyerVtbl *lpVtbl; 8278 }; 8279 8280 8281 8282 #ifdef COBJMACROS 8283 8284 8285 #define IDeckLinkKeyer_QueryInterface(This,riid,ppvObject) \ 8286 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 8287 8288 #define IDeckLinkKeyer_AddRef(This) \ 8289 ( (This)->lpVtbl -> AddRef(This) ) 8290 8291 #define IDeckLinkKeyer_Release(This) \ 8292 ( (This)->lpVtbl -> Release(This) ) 8293 8294 8295 #define IDeckLinkKeyer_Enable(This,isExternal) \ 8296 ( (This)->lpVtbl -> Enable(This,isExternal) ) 8297 8298 #define IDeckLinkKeyer_SetLevel(This,level) \ 8299 ( (This)->lpVtbl -> SetLevel(This,level) ) 8300 8301 #define IDeckLinkKeyer_RampUp(This,numberOfFrames) \ 8302 ( (This)->lpVtbl -> RampUp(This,numberOfFrames) ) 8303 8304 #define IDeckLinkKeyer_RampDown(This,numberOfFrames) \ 8305 ( (This)->lpVtbl -> RampDown(This,numberOfFrames) ) 8306 8307 #define IDeckLinkKeyer_Disable(This) \ 8308 ( (This)->lpVtbl -> Disable(This) ) 8309 8310 #endif /* COBJMACROS */ 8311 8312 8313 #endif /* C style interface */ 8314 8315 8316 8317 8318 #endif /* __IDeckLinkKeyer_INTERFACE_DEFINED__ */ 8319 8320 8321 #ifndef __IDeckLinkVideoConversion_INTERFACE_DEFINED__ 8322 #define __IDeckLinkVideoConversion_INTERFACE_DEFINED__ 8323 8324 /* interface IDeckLinkVideoConversion */ 8325 /* [helpstring][local][uuid][object] */ 8326 8327 8328 EXTERN_C const IID IID_IDeckLinkVideoConversion; 8329 8330 #if defined(__cplusplus) && !defined(CINTERFACE) 8331 8332 MIDL_INTERFACE("3BBCB8A2-DA2C-42D9-B5D8-88083644E99A") 8333 IDeckLinkVideoConversion : public IUnknown 8334 { 8335 public: 8336 virtual HRESULT STDMETHODCALLTYPE ConvertFrame( 8337 /* [in] */ IDeckLinkVideoFrame *srcFrame, 8338 /* [in] */ IDeckLinkVideoFrame *dstFrame) = 0; 8339 8340 }; 8341 8342 8343 #else /* C style interface */ 8344 8345 typedef struct IDeckLinkVideoConversionVtbl 8346 { 8347 BEGIN_INTERFACE 8348 8349 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 8350 IDeckLinkVideoConversion * This, 8351 /* [in] */ REFIID riid, 8352 /* [annotation][iid_is][out] */ 8353 _COM_Outptr_ void **ppvObject); 8354 8355 ULONG ( STDMETHODCALLTYPE *AddRef )( 8356 IDeckLinkVideoConversion * This); 8357 8358 ULONG ( STDMETHODCALLTYPE *Release )( 8359 IDeckLinkVideoConversion * This); 8360 8361 HRESULT ( STDMETHODCALLTYPE *ConvertFrame )( 8362 IDeckLinkVideoConversion * This, 8363 /* [in] */ IDeckLinkVideoFrame *srcFrame, 8364 /* [in] */ IDeckLinkVideoFrame *dstFrame); 8365 8366 END_INTERFACE 8367 } IDeckLinkVideoConversionVtbl; 8368 8369 interface IDeckLinkVideoConversion 8370 { 8371 CONST_VTBL struct IDeckLinkVideoConversionVtbl *lpVtbl; 8372 }; 8373 8374 8375 8376 #ifdef COBJMACROS 8377 8378 8379 #define IDeckLinkVideoConversion_QueryInterface(This,riid,ppvObject) \ 8380 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 8381 8382 #define IDeckLinkVideoConversion_AddRef(This) \ 8383 ( (This)->lpVtbl -> AddRef(This) ) 8384 8385 #define IDeckLinkVideoConversion_Release(This) \ 8386 ( (This)->lpVtbl -> Release(This) ) 8387 8388 8389 #define IDeckLinkVideoConversion_ConvertFrame(This,srcFrame,dstFrame) \ 8390 ( (This)->lpVtbl -> ConvertFrame(This,srcFrame,dstFrame) ) 8391 8392 #endif /* COBJMACROS */ 8393 8394 8395 #endif /* C style interface */ 8396 8397 8398 8399 8400 #endif /* __IDeckLinkVideoConversion_INTERFACE_DEFINED__ */ 8401 8402 8403 #ifndef __IDeckLinkDeviceNotificationCallback_INTERFACE_DEFINED__ 8404 #define __IDeckLinkDeviceNotificationCallback_INTERFACE_DEFINED__ 8405 8406 /* interface IDeckLinkDeviceNotificationCallback */ 8407 /* [helpstring][uuid][object] */ 8408 8409 8410 EXTERN_C const IID IID_IDeckLinkDeviceNotificationCallback; 8411 8412 #if defined(__cplusplus) && !defined(CINTERFACE) 8413 8414 MIDL_INTERFACE("4997053B-0ADF-4CC8-AC70-7A50C4BE728F") 8415 IDeckLinkDeviceNotificationCallback : public IUnknown 8416 { 8417 public: 8418 virtual HRESULT STDMETHODCALLTYPE DeckLinkDeviceArrived( 8419 /* [in] */ IDeckLink *deckLinkDevice) = 0; 8420 8421 virtual HRESULT STDMETHODCALLTYPE DeckLinkDeviceRemoved( 8422 /* [in] */ IDeckLink *deckLinkDevice) = 0; 8423 8424 }; 8425 8426 8427 #else /* C style interface */ 8428 8429 typedef struct IDeckLinkDeviceNotificationCallbackVtbl 8430 { 8431 BEGIN_INTERFACE 8432 8433 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 8434 IDeckLinkDeviceNotificationCallback * This, 8435 /* [in] */ REFIID riid, 8436 /* [annotation][iid_is][out] */ 8437 _COM_Outptr_ void **ppvObject); 8438 8439 ULONG ( STDMETHODCALLTYPE *AddRef )( 8440 IDeckLinkDeviceNotificationCallback * This); 8441 8442 ULONG ( STDMETHODCALLTYPE *Release )( 8443 IDeckLinkDeviceNotificationCallback * This); 8444 8445 HRESULT ( STDMETHODCALLTYPE *DeckLinkDeviceArrived )( 8446 IDeckLinkDeviceNotificationCallback * This, 8447 /* [in] */ IDeckLink *deckLinkDevice); 8448 8449 HRESULT ( STDMETHODCALLTYPE *DeckLinkDeviceRemoved )( 8450 IDeckLinkDeviceNotificationCallback * This, 8451 /* [in] */ IDeckLink *deckLinkDevice); 8452 8453 END_INTERFACE 8454 } IDeckLinkDeviceNotificationCallbackVtbl; 8455 8456 interface IDeckLinkDeviceNotificationCallback 8457 { 8458 CONST_VTBL struct IDeckLinkDeviceNotificationCallbackVtbl *lpVtbl; 8459 }; 8460 8461 8462 8463 #ifdef COBJMACROS 8464 8465 8466 #define IDeckLinkDeviceNotificationCallback_QueryInterface(This,riid,ppvObject) \ 8467 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 8468 8469 #define IDeckLinkDeviceNotificationCallback_AddRef(This) \ 8470 ( (This)->lpVtbl -> AddRef(This) ) 8471 8472 #define IDeckLinkDeviceNotificationCallback_Release(This) \ 8473 ( (This)->lpVtbl -> Release(This) ) 8474 8475 8476 #define IDeckLinkDeviceNotificationCallback_DeckLinkDeviceArrived(This,deckLinkDevice) \ 8477 ( (This)->lpVtbl -> DeckLinkDeviceArrived(This,deckLinkDevice) ) 8478 8479 #define IDeckLinkDeviceNotificationCallback_DeckLinkDeviceRemoved(This,deckLinkDevice) \ 8480 ( (This)->lpVtbl -> DeckLinkDeviceRemoved(This,deckLinkDevice) ) 8481 8482 #endif /* COBJMACROS */ 8483 8484 8485 #endif /* C style interface */ 8486 8487 8488 8489 8490 #endif /* __IDeckLinkDeviceNotificationCallback_INTERFACE_DEFINED__ */ 8491 8492 8493 #ifndef __IDeckLinkDiscovery_INTERFACE_DEFINED__ 8494 #define __IDeckLinkDiscovery_INTERFACE_DEFINED__ 8495 8496 /* interface IDeckLinkDiscovery */ 8497 /* [helpstring][uuid][object] */ 8498 8499 8500 EXTERN_C const IID IID_IDeckLinkDiscovery; 8501 8502 #if defined(__cplusplus) && !defined(CINTERFACE) 8503 8504 MIDL_INTERFACE("CDBF631C-BC76-45FA-B44D-C55059BC6101") 8505 IDeckLinkDiscovery : public IUnknown 8506 { 8507 public: 8508 virtual HRESULT STDMETHODCALLTYPE InstallDeviceNotifications( 8509 /* [in] */ IDeckLinkDeviceNotificationCallback *deviceNotificationCallback) = 0; 8510 8511 virtual HRESULT STDMETHODCALLTYPE UninstallDeviceNotifications( void) = 0; 8512 8513 }; 8514 8515 8516 #else /* C style interface */ 8517 8518 typedef struct IDeckLinkDiscoveryVtbl 8519 { 8520 BEGIN_INTERFACE 8521 8522 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 8523 IDeckLinkDiscovery * This, 8524 /* [in] */ REFIID riid, 8525 /* [annotation][iid_is][out] */ 8526 _COM_Outptr_ void **ppvObject); 8527 8528 ULONG ( STDMETHODCALLTYPE *AddRef )( 8529 IDeckLinkDiscovery * This); 8530 8531 ULONG ( STDMETHODCALLTYPE *Release )( 8532 IDeckLinkDiscovery * This); 8533 8534 HRESULT ( STDMETHODCALLTYPE *InstallDeviceNotifications )( 8535 IDeckLinkDiscovery * This, 8536 /* [in] */ IDeckLinkDeviceNotificationCallback *deviceNotificationCallback); 8537 8538 HRESULT ( STDMETHODCALLTYPE *UninstallDeviceNotifications )( 8539 IDeckLinkDiscovery * This); 8540 8541 END_INTERFACE 8542 } IDeckLinkDiscoveryVtbl; 8543 8544 interface IDeckLinkDiscovery 8545 { 8546 CONST_VTBL struct IDeckLinkDiscoveryVtbl *lpVtbl; 8547 }; 8548 8549 8550 8551 #ifdef COBJMACROS 8552 8553 8554 #define IDeckLinkDiscovery_QueryInterface(This,riid,ppvObject) \ 8555 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 8556 8557 #define IDeckLinkDiscovery_AddRef(This) \ 8558 ( (This)->lpVtbl -> AddRef(This) ) 8559 8560 #define IDeckLinkDiscovery_Release(This) \ 8561 ( (This)->lpVtbl -> Release(This) ) 8562 8563 8564 #define IDeckLinkDiscovery_InstallDeviceNotifications(This,deviceNotificationCallback) \ 8565 ( (This)->lpVtbl -> InstallDeviceNotifications(This,deviceNotificationCallback) ) 8566 8567 #define IDeckLinkDiscovery_UninstallDeviceNotifications(This) \ 8568 ( (This)->lpVtbl -> UninstallDeviceNotifications(This) ) 8569 8570 #endif /* COBJMACROS */ 8571 8572 8573 #endif /* C style interface */ 8574 8575 8576 8577 8578 #endif /* __IDeckLinkDiscovery_INTERFACE_DEFINED__ */ 8579 8580 8581 EXTERN_C const CLSID CLSID_CDeckLinkIterator; 8582 8583 #ifdef __cplusplus 8584 8585 class DECLSPEC_UUID("1F2E109A-8F4F-49E4-9203-135595CB6FA5") 8586 CDeckLinkIterator; 8587 #endif 8588 8589 EXTERN_C const CLSID CLSID_CDeckLinkAPIInformation; 8590 8591 #ifdef __cplusplus 8592 8593 class DECLSPEC_UUID("263CA19F-ED09-482E-9F9D-84005783A237") 8594 CDeckLinkAPIInformation; 8595 #endif 8596 8597 EXTERN_C const CLSID CLSID_CDeckLinkGLScreenPreviewHelper; 8598 8599 #ifdef __cplusplus 8600 8601 class DECLSPEC_UUID("F63E77C7-B655-4A4A-9AD0-3CA85D394343") 8602 CDeckLinkGLScreenPreviewHelper; 8603 #endif 8604 8605 EXTERN_C const CLSID CLSID_CDeckLinkDX9ScreenPreviewHelper; 8606 8607 #ifdef __cplusplus 8608 8609 class DECLSPEC_UUID("CC010023-E01D-4525-9D59-80C8AB3DC7A0") 8610 CDeckLinkDX9ScreenPreviewHelper; 8611 #endif 8612 8613 EXTERN_C const CLSID CLSID_CDeckLinkVideoConversion; 8614 8615 #ifdef __cplusplus 8616 8617 class DECLSPEC_UUID("7DBBBB11-5B7B-467D-AEA4-CEA468FD368C") 8618 CDeckLinkVideoConversion; 8619 #endif 8620 8621 EXTERN_C const CLSID CLSID_CDeckLinkDiscovery; 8622 8623 #ifdef __cplusplus 8624 8625 class DECLSPEC_UUID("1073A05C-D885-47E9-B3C6-129B3F9F648B") 8626 CDeckLinkDiscovery; 8627 #endif 8628 8629 #ifndef __IDeckLinkEncoderConfiguration_v10_5_INTERFACE_DEFINED__ 8630 #define __IDeckLinkEncoderConfiguration_v10_5_INTERFACE_DEFINED__ 8631 8632 /* interface IDeckLinkEncoderConfiguration_v10_5 */ 8633 /* [helpstring][local][uuid][object] */ 8634 8635 8636 EXTERN_C const IID IID_IDeckLinkEncoderConfiguration_v10_5; 8637 8638 #if defined(__cplusplus) && !defined(CINTERFACE) 8639 8640 MIDL_INTERFACE("67455668-0848-45DF-8D8E-350A77C9A028") 8641 IDeckLinkEncoderConfiguration_v10_5 : public IUnknown 8642 { 8643 public: 8644 virtual HRESULT STDMETHODCALLTYPE SetFlag( 8645 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 8646 /* [in] */ BOOL value) = 0; 8647 8648 virtual HRESULT STDMETHODCALLTYPE GetFlag( 8649 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 8650 /* [out] */ BOOL *value) = 0; 8651 8652 virtual HRESULT STDMETHODCALLTYPE SetInt( 8653 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 8654 /* [in] */ LONGLONG value) = 0; 8655 8656 virtual HRESULT STDMETHODCALLTYPE GetInt( 8657 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 8658 /* [out] */ LONGLONG *value) = 0; 8659 8660 virtual HRESULT STDMETHODCALLTYPE SetFloat( 8661 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 8662 /* [in] */ double value) = 0; 8663 8664 virtual HRESULT STDMETHODCALLTYPE GetFloat( 8665 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 8666 /* [out] */ double *value) = 0; 8667 8668 virtual HRESULT STDMETHODCALLTYPE SetString( 8669 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 8670 /* [in] */ BSTR value) = 0; 8671 8672 virtual HRESULT STDMETHODCALLTYPE GetString( 8673 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 8674 /* [out] */ BSTR *value) = 0; 8675 8676 virtual HRESULT STDMETHODCALLTYPE GetDecoderConfigurationInfo( 8677 /* [out] */ void *buffer, 8678 /* [in] */ long bufferSize, 8679 /* [out] */ long *returnedSize) = 0; 8680 8681 }; 8682 8683 8684 #else /* C style interface */ 8685 8686 typedef struct IDeckLinkEncoderConfiguration_v10_5Vtbl 8687 { 8688 BEGIN_INTERFACE 8689 8690 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 8691 IDeckLinkEncoderConfiguration_v10_5 * This, 8692 /* [in] */ REFIID riid, 8693 /* [annotation][iid_is][out] */ 8694 _COM_Outptr_ void **ppvObject); 8695 8696 ULONG ( STDMETHODCALLTYPE *AddRef )( 8697 IDeckLinkEncoderConfiguration_v10_5 * This); 8698 8699 ULONG ( STDMETHODCALLTYPE *Release )( 8700 IDeckLinkEncoderConfiguration_v10_5 * This); 8701 8702 HRESULT ( STDMETHODCALLTYPE *SetFlag )( 8703 IDeckLinkEncoderConfiguration_v10_5 * This, 8704 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 8705 /* [in] */ BOOL value); 8706 8707 HRESULT ( STDMETHODCALLTYPE *GetFlag )( 8708 IDeckLinkEncoderConfiguration_v10_5 * This, 8709 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 8710 /* [out] */ BOOL *value); 8711 8712 HRESULT ( STDMETHODCALLTYPE *SetInt )( 8713 IDeckLinkEncoderConfiguration_v10_5 * This, 8714 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 8715 /* [in] */ LONGLONG value); 8716 8717 HRESULT ( STDMETHODCALLTYPE *GetInt )( 8718 IDeckLinkEncoderConfiguration_v10_5 * This, 8719 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 8720 /* [out] */ LONGLONG *value); 8721 8722 HRESULT ( STDMETHODCALLTYPE *SetFloat )( 8723 IDeckLinkEncoderConfiguration_v10_5 * This, 8724 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 8725 /* [in] */ double value); 8726 8727 HRESULT ( STDMETHODCALLTYPE *GetFloat )( 8728 IDeckLinkEncoderConfiguration_v10_5 * This, 8729 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 8730 /* [out] */ double *value); 8731 8732 HRESULT ( STDMETHODCALLTYPE *SetString )( 8733 IDeckLinkEncoderConfiguration_v10_5 * This, 8734 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 8735 /* [in] */ BSTR value); 8736 8737 HRESULT ( STDMETHODCALLTYPE *GetString )( 8738 IDeckLinkEncoderConfiguration_v10_5 * This, 8739 /* [in] */ BMDDeckLinkEncoderConfigurationID cfgID, 8740 /* [out] */ BSTR *value); 8741 8742 HRESULT ( STDMETHODCALLTYPE *GetDecoderConfigurationInfo )( 8743 IDeckLinkEncoderConfiguration_v10_5 * This, 8744 /* [out] */ void *buffer, 8745 /* [in] */ long bufferSize, 8746 /* [out] */ long *returnedSize); 8747 8748 END_INTERFACE 8749 } IDeckLinkEncoderConfiguration_v10_5Vtbl; 8750 8751 interface IDeckLinkEncoderConfiguration_v10_5 8752 { 8753 CONST_VTBL struct IDeckLinkEncoderConfiguration_v10_5Vtbl *lpVtbl; 8754 }; 8755 8756 8757 8758 #ifdef COBJMACROS 8759 8760 8761 #define IDeckLinkEncoderConfiguration_v10_5_QueryInterface(This,riid,ppvObject) \ 8762 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 8763 8764 #define IDeckLinkEncoderConfiguration_v10_5_AddRef(This) \ 8765 ( (This)->lpVtbl -> AddRef(This) ) 8766 8767 #define IDeckLinkEncoderConfiguration_v10_5_Release(This) \ 8768 ( (This)->lpVtbl -> Release(This) ) 8769 8770 8771 #define IDeckLinkEncoderConfiguration_v10_5_SetFlag(This,cfgID,value) \ 8772 ( (This)->lpVtbl -> SetFlag(This,cfgID,value) ) 8773 8774 #define IDeckLinkEncoderConfiguration_v10_5_GetFlag(This,cfgID,value) \ 8775 ( (This)->lpVtbl -> GetFlag(This,cfgID,value) ) 8776 8777 #define IDeckLinkEncoderConfiguration_v10_5_SetInt(This,cfgID,value) \ 8778 ( (This)->lpVtbl -> SetInt(This,cfgID,value) ) 8779 8780 #define IDeckLinkEncoderConfiguration_v10_5_GetInt(This,cfgID,value) \ 8781 ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) 8782 8783 #define IDeckLinkEncoderConfiguration_v10_5_SetFloat(This,cfgID,value) \ 8784 ( (This)->lpVtbl -> SetFloat(This,cfgID,value) ) 8785 8786 #define IDeckLinkEncoderConfiguration_v10_5_GetFloat(This,cfgID,value) \ 8787 ( (This)->lpVtbl -> GetFloat(This,cfgID,value) ) 8788 8789 #define IDeckLinkEncoderConfiguration_v10_5_SetString(This,cfgID,value) \ 8790 ( (This)->lpVtbl -> SetString(This,cfgID,value) ) 8791 8792 #define IDeckLinkEncoderConfiguration_v10_5_GetString(This,cfgID,value) \ 8793 ( (This)->lpVtbl -> GetString(This,cfgID,value) ) 8794 8795 #define IDeckLinkEncoderConfiguration_v10_5_GetDecoderConfigurationInfo(This,buffer,bufferSize,returnedSize) \ 8796 ( (This)->lpVtbl -> GetDecoderConfigurationInfo(This,buffer,bufferSize,returnedSize) ) 8797 8798 #endif /* COBJMACROS */ 8799 8800 8801 #endif /* C style interface */ 8802 8803 8804 8805 8806 #endif /* __IDeckLinkEncoderConfiguration_v10_5_INTERFACE_DEFINED__ */ 8807 8808 8809 #ifndef __IDeckLinkConfiguration_v10_4_INTERFACE_DEFINED__ 8810 #define __IDeckLinkConfiguration_v10_4_INTERFACE_DEFINED__ 8811 8812 /* interface IDeckLinkConfiguration_v10_4 */ 8813 /* [helpstring][local][uuid][object] */ 8814 8815 8816 EXTERN_C const IID IID_IDeckLinkConfiguration_v10_4; 8817 8818 #if defined(__cplusplus) && !defined(CINTERFACE) 8819 8820 MIDL_INTERFACE("1E69FCF6-4203-4936-8076-2A9F4CFD50CB") 8821 IDeckLinkConfiguration_v10_4 : public IUnknown 8822 { 8823 public: 8824 virtual HRESULT STDMETHODCALLTYPE SetFlag( 8825 /* [in] */ BMDDeckLinkConfigurationID cfgID, 8826 /* [in] */ BOOL value) = 0; 8827 8828 virtual HRESULT STDMETHODCALLTYPE GetFlag( 8829 /* [in] */ BMDDeckLinkConfigurationID cfgID, 8830 /* [out] */ BOOL *value) = 0; 8831 8832 virtual HRESULT STDMETHODCALLTYPE SetInt( 8833 /* [in] */ BMDDeckLinkConfigurationID cfgID, 8834 /* [in] */ LONGLONG value) = 0; 8835 8836 virtual HRESULT STDMETHODCALLTYPE GetInt( 8837 /* [in] */ BMDDeckLinkConfigurationID cfgID, 8838 /* [out] */ LONGLONG *value) = 0; 8839 8840 virtual HRESULT STDMETHODCALLTYPE SetFloat( 8841 /* [in] */ BMDDeckLinkConfigurationID cfgID, 8842 /* [in] */ double value) = 0; 8843 8844 virtual HRESULT STDMETHODCALLTYPE GetFloat( 8845 /* [in] */ BMDDeckLinkConfigurationID cfgID, 8846 /* [out] */ double *value) = 0; 8847 8848 virtual HRESULT STDMETHODCALLTYPE SetString( 8849 /* [in] */ BMDDeckLinkConfigurationID cfgID, 8850 /* [in] */ BSTR value) = 0; 8851 8852 virtual HRESULT STDMETHODCALLTYPE GetString( 8853 /* [in] */ BMDDeckLinkConfigurationID cfgID, 8854 /* [out] */ BSTR *value) = 0; 8855 8856 virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences( void) = 0; 8857 8858 }; 8859 8860 8861 #else /* C style interface */ 8862 8863 typedef struct IDeckLinkConfiguration_v10_4Vtbl 8864 { 8865 BEGIN_INTERFACE 8866 8867 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 8868 IDeckLinkConfiguration_v10_4 * This, 8869 /* [in] */ REFIID riid, 8870 /* [annotation][iid_is][out] */ 8871 _COM_Outptr_ void **ppvObject); 8872 8873 ULONG ( STDMETHODCALLTYPE *AddRef )( 8874 IDeckLinkConfiguration_v10_4 * This); 8875 8876 ULONG ( STDMETHODCALLTYPE *Release )( 8877 IDeckLinkConfiguration_v10_4 * This); 8878 8879 HRESULT ( STDMETHODCALLTYPE *SetFlag )( 8880 IDeckLinkConfiguration_v10_4 * This, 8881 /* [in] */ BMDDeckLinkConfigurationID cfgID, 8882 /* [in] */ BOOL value); 8883 8884 HRESULT ( STDMETHODCALLTYPE *GetFlag )( 8885 IDeckLinkConfiguration_v10_4 * This, 8886 /* [in] */ BMDDeckLinkConfigurationID cfgID, 8887 /* [out] */ BOOL *value); 8888 8889 HRESULT ( STDMETHODCALLTYPE *SetInt )( 8890 IDeckLinkConfiguration_v10_4 * This, 8891 /* [in] */ BMDDeckLinkConfigurationID cfgID, 8892 /* [in] */ LONGLONG value); 8893 8894 HRESULT ( STDMETHODCALLTYPE *GetInt )( 8895 IDeckLinkConfiguration_v10_4 * This, 8896 /* [in] */ BMDDeckLinkConfigurationID cfgID, 8897 /* [out] */ LONGLONG *value); 8898 8899 HRESULT ( STDMETHODCALLTYPE *SetFloat )( 8900 IDeckLinkConfiguration_v10_4 * This, 8901 /* [in] */ BMDDeckLinkConfigurationID cfgID, 8902 /* [in] */ double value); 8903 8904 HRESULT ( STDMETHODCALLTYPE *GetFloat )( 8905 IDeckLinkConfiguration_v10_4 * This, 8906 /* [in] */ BMDDeckLinkConfigurationID cfgID, 8907 /* [out] */ double *value); 8908 8909 HRESULT ( STDMETHODCALLTYPE *SetString )( 8910 IDeckLinkConfiguration_v10_4 * This, 8911 /* [in] */ BMDDeckLinkConfigurationID cfgID, 8912 /* [in] */ BSTR value); 8913 8914 HRESULT ( STDMETHODCALLTYPE *GetString )( 8915 IDeckLinkConfiguration_v10_4 * This, 8916 /* [in] */ BMDDeckLinkConfigurationID cfgID, 8917 /* [out] */ BSTR *value); 8918 8919 HRESULT ( STDMETHODCALLTYPE *WriteConfigurationToPreferences )( 8920 IDeckLinkConfiguration_v10_4 * This); 8921 8922 END_INTERFACE 8923 } IDeckLinkConfiguration_v10_4Vtbl; 8924 8925 interface IDeckLinkConfiguration_v10_4 8926 { 8927 CONST_VTBL struct IDeckLinkConfiguration_v10_4Vtbl *lpVtbl; 8928 }; 8929 8930 8931 8932 #ifdef COBJMACROS 8933 8934 8935 #define IDeckLinkConfiguration_v10_4_QueryInterface(This,riid,ppvObject) \ 8936 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 8937 8938 #define IDeckLinkConfiguration_v10_4_AddRef(This) \ 8939 ( (This)->lpVtbl -> AddRef(This) ) 8940 8941 #define IDeckLinkConfiguration_v10_4_Release(This) \ 8942 ( (This)->lpVtbl -> Release(This) ) 8943 8944 8945 #define IDeckLinkConfiguration_v10_4_SetFlag(This,cfgID,value) \ 8946 ( (This)->lpVtbl -> SetFlag(This,cfgID,value) ) 8947 8948 #define IDeckLinkConfiguration_v10_4_GetFlag(This,cfgID,value) \ 8949 ( (This)->lpVtbl -> GetFlag(This,cfgID,value) ) 8950 8951 #define IDeckLinkConfiguration_v10_4_SetInt(This,cfgID,value) \ 8952 ( (This)->lpVtbl -> SetInt(This,cfgID,value) ) 8953 8954 #define IDeckLinkConfiguration_v10_4_GetInt(This,cfgID,value) \ 8955 ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) 8956 8957 #define IDeckLinkConfiguration_v10_4_SetFloat(This,cfgID,value) \ 8958 ( (This)->lpVtbl -> SetFloat(This,cfgID,value) ) 8959 8960 #define IDeckLinkConfiguration_v10_4_GetFloat(This,cfgID,value) \ 8961 ( (This)->lpVtbl -> GetFloat(This,cfgID,value) ) 8962 8963 #define IDeckLinkConfiguration_v10_4_SetString(This,cfgID,value) \ 8964 ( (This)->lpVtbl -> SetString(This,cfgID,value) ) 8965 8966 #define IDeckLinkConfiguration_v10_4_GetString(This,cfgID,value) \ 8967 ( (This)->lpVtbl -> GetString(This,cfgID,value) ) 8968 8969 #define IDeckLinkConfiguration_v10_4_WriteConfigurationToPreferences(This) \ 8970 ( (This)->lpVtbl -> WriteConfigurationToPreferences(This) ) 8971 8972 #endif /* COBJMACROS */ 8973 8974 8975 #endif /* C style interface */ 8976 8977 8978 8979 8980 #endif /* __IDeckLinkConfiguration_v10_4_INTERFACE_DEFINED__ */ 8981 8982 8983 #ifndef __IDeckLinkConfiguration_v10_2_INTERFACE_DEFINED__ 8984 #define __IDeckLinkConfiguration_v10_2_INTERFACE_DEFINED__ 8985 8986 /* interface IDeckLinkConfiguration_v10_2 */ 8987 /* [helpstring][local][uuid][object] */ 8988 8989 8990 EXTERN_C const IID IID_IDeckLinkConfiguration_v10_2; 8991 8992 #if defined(__cplusplus) && !defined(CINTERFACE) 8993 8994 MIDL_INTERFACE("C679A35B-610C-4D09-B748-1D0478100FC0") 8995 IDeckLinkConfiguration_v10_2 : public IUnknown 8996 { 8997 public: 8998 virtual HRESULT STDMETHODCALLTYPE SetFlag( 8999 /* [in] */ BMDDeckLinkConfigurationID cfgID, 9000 /* [in] */ BOOL value) = 0; 9001 9002 virtual HRESULT STDMETHODCALLTYPE GetFlag( 9003 /* [in] */ BMDDeckLinkConfigurationID cfgID, 9004 /* [out] */ BOOL *value) = 0; 9005 9006 virtual HRESULT STDMETHODCALLTYPE SetInt( 9007 /* [in] */ BMDDeckLinkConfigurationID cfgID, 9008 /* [in] */ LONGLONG value) = 0; 9009 9010 virtual HRESULT STDMETHODCALLTYPE GetInt( 9011 /* [in] */ BMDDeckLinkConfigurationID cfgID, 9012 /* [out] */ LONGLONG *value) = 0; 9013 9014 virtual HRESULT STDMETHODCALLTYPE SetFloat( 9015 /* [in] */ BMDDeckLinkConfigurationID cfgID, 9016 /* [in] */ double value) = 0; 9017 9018 virtual HRESULT STDMETHODCALLTYPE GetFloat( 9019 /* [in] */ BMDDeckLinkConfigurationID cfgID, 9020 /* [out] */ double *value) = 0; 9021 9022 virtual HRESULT STDMETHODCALLTYPE SetString( 9023 /* [in] */ BMDDeckLinkConfigurationID cfgID, 9024 /* [in] */ BSTR value) = 0; 9025 9026 virtual HRESULT STDMETHODCALLTYPE GetString( 9027 /* [in] */ BMDDeckLinkConfigurationID cfgID, 9028 /* [out] */ BSTR *value) = 0; 9029 9030 virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences( void) = 0; 9031 9032 }; 9033 9034 9035 #else /* C style interface */ 9036 9037 typedef struct IDeckLinkConfiguration_v10_2Vtbl 9038 { 9039 BEGIN_INTERFACE 9040 9041 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 9042 IDeckLinkConfiguration_v10_2 * This, 9043 /* [in] */ REFIID riid, 9044 /* [annotation][iid_is][out] */ 9045 _COM_Outptr_ void **ppvObject); 9046 9047 ULONG ( STDMETHODCALLTYPE *AddRef )( 9048 IDeckLinkConfiguration_v10_2 * This); 9049 9050 ULONG ( STDMETHODCALLTYPE *Release )( 9051 IDeckLinkConfiguration_v10_2 * This); 9052 9053 HRESULT ( STDMETHODCALLTYPE *SetFlag )( 9054 IDeckLinkConfiguration_v10_2 * This, 9055 /* [in] */ BMDDeckLinkConfigurationID cfgID, 9056 /* [in] */ BOOL value); 9057 9058 HRESULT ( STDMETHODCALLTYPE *GetFlag )( 9059 IDeckLinkConfiguration_v10_2 * This, 9060 /* [in] */ BMDDeckLinkConfigurationID cfgID, 9061 /* [out] */ BOOL *value); 9062 9063 HRESULT ( STDMETHODCALLTYPE *SetInt )( 9064 IDeckLinkConfiguration_v10_2 * This, 9065 /* [in] */ BMDDeckLinkConfigurationID cfgID, 9066 /* [in] */ LONGLONG value); 9067 9068 HRESULT ( STDMETHODCALLTYPE *GetInt )( 9069 IDeckLinkConfiguration_v10_2 * This, 9070 /* [in] */ BMDDeckLinkConfigurationID cfgID, 9071 /* [out] */ LONGLONG *value); 9072 9073 HRESULT ( STDMETHODCALLTYPE *SetFloat )( 9074 IDeckLinkConfiguration_v10_2 * This, 9075 /* [in] */ BMDDeckLinkConfigurationID cfgID, 9076 /* [in] */ double value); 9077 9078 HRESULT ( STDMETHODCALLTYPE *GetFloat )( 9079 IDeckLinkConfiguration_v10_2 * This, 9080 /* [in] */ BMDDeckLinkConfigurationID cfgID, 9081 /* [out] */ double *value); 9082 9083 HRESULT ( STDMETHODCALLTYPE *SetString )( 9084 IDeckLinkConfiguration_v10_2 * This, 9085 /* [in] */ BMDDeckLinkConfigurationID cfgID, 9086 /* [in] */ BSTR value); 9087 9088 HRESULT ( STDMETHODCALLTYPE *GetString )( 9089 IDeckLinkConfiguration_v10_2 * This, 9090 /* [in] */ BMDDeckLinkConfigurationID cfgID, 9091 /* [out] */ BSTR *value); 9092 9093 HRESULT ( STDMETHODCALLTYPE *WriteConfigurationToPreferences )( 9094 IDeckLinkConfiguration_v10_2 * This); 9095 9096 END_INTERFACE 9097 } IDeckLinkConfiguration_v10_2Vtbl; 9098 9099 interface IDeckLinkConfiguration_v10_2 9100 { 9101 CONST_VTBL struct IDeckLinkConfiguration_v10_2Vtbl *lpVtbl; 9102 }; 9103 9104 9105 9106 #ifdef COBJMACROS 9107 9108 9109 #define IDeckLinkConfiguration_v10_2_QueryInterface(This,riid,ppvObject) \ 9110 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 9111 9112 #define IDeckLinkConfiguration_v10_2_AddRef(This) \ 9113 ( (This)->lpVtbl -> AddRef(This) ) 9114 9115 #define IDeckLinkConfiguration_v10_2_Release(This) \ 9116 ( (This)->lpVtbl -> Release(This) ) 9117 9118 9119 #define IDeckLinkConfiguration_v10_2_SetFlag(This,cfgID,value) \ 9120 ( (This)->lpVtbl -> SetFlag(This,cfgID,value) ) 9121 9122 #define IDeckLinkConfiguration_v10_2_GetFlag(This,cfgID,value) \ 9123 ( (This)->lpVtbl -> GetFlag(This,cfgID,value) ) 9124 9125 #define IDeckLinkConfiguration_v10_2_SetInt(This,cfgID,value) \ 9126 ( (This)->lpVtbl -> SetInt(This,cfgID,value) ) 9127 9128 #define IDeckLinkConfiguration_v10_2_GetInt(This,cfgID,value) \ 9129 ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) 9130 9131 #define IDeckLinkConfiguration_v10_2_SetFloat(This,cfgID,value) \ 9132 ( (This)->lpVtbl -> SetFloat(This,cfgID,value) ) 9133 9134 #define IDeckLinkConfiguration_v10_2_GetFloat(This,cfgID,value) \ 9135 ( (This)->lpVtbl -> GetFloat(This,cfgID,value) ) 9136 9137 #define IDeckLinkConfiguration_v10_2_SetString(This,cfgID,value) \ 9138 ( (This)->lpVtbl -> SetString(This,cfgID,value) ) 9139 9140 #define IDeckLinkConfiguration_v10_2_GetString(This,cfgID,value) \ 9141 ( (This)->lpVtbl -> GetString(This,cfgID,value) ) 9142 9143 #define IDeckLinkConfiguration_v10_2_WriteConfigurationToPreferences(This) \ 9144 ( (This)->lpVtbl -> WriteConfigurationToPreferences(This) ) 9145 9146 #endif /* COBJMACROS */ 9147 9148 9149 #endif /* C style interface */ 9150 9151 9152 9153 9154 #endif /* __IDeckLinkConfiguration_v10_2_INTERFACE_DEFINED__ */ 9155 9156 9157 #ifndef __IDeckLinkOutput_v9_9_INTERFACE_DEFINED__ 9158 #define __IDeckLinkOutput_v9_9_INTERFACE_DEFINED__ 9159 9160 /* interface IDeckLinkOutput_v9_9 */ 9161 /* [helpstring][local][uuid][object] */ 9162 9163 9164 EXTERN_C const IID IID_IDeckLinkOutput_v9_9; 9165 9166 #if defined(__cplusplus) && !defined(CINTERFACE) 9167 9168 MIDL_INTERFACE("A3EF0963-0862-44ED-92A9-EE89ABF431C7") 9169 IDeckLinkOutput_v9_9 : public IUnknown 9170 { 9171 public: 9172 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( 9173 /* [in] */ BMDDisplayMode displayMode, 9174 /* [in] */ BMDPixelFormat pixelFormat, 9175 /* [in] */ BMDVideoOutputFlags flags, 9176 /* [out] */ BMDDisplayModeSupport *result, 9177 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode) = 0; 9178 9179 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( 9180 /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0; 9181 9182 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( 9183 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; 9184 9185 virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput( 9186 /* [in] */ BMDDisplayMode displayMode, 9187 /* [in] */ BMDVideoOutputFlags flags) = 0; 9188 9189 virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0; 9190 9191 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator( 9192 /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0; 9193 9194 virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame( 9195 /* [in] */ int width, 9196 /* [in] */ int height, 9197 /* [in] */ int rowBytes, 9198 /* [in] */ BMDPixelFormat pixelFormat, 9199 /* [in] */ BMDFrameFlags flags, 9200 /* [out] */ IDeckLinkMutableVideoFrame **outFrame) = 0; 9201 9202 virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData( 9203 /* [in] */ BMDPixelFormat pixelFormat, 9204 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer) = 0; 9205 9206 virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync( 9207 /* [in] */ IDeckLinkVideoFrame *theFrame) = 0; 9208 9209 virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame( 9210 /* [in] */ IDeckLinkVideoFrame *theFrame, 9211 /* [in] */ BMDTimeValue displayTime, 9212 /* [in] */ BMDTimeValue displayDuration, 9213 /* [in] */ BMDTimeScale timeScale) = 0; 9214 9215 virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback( 9216 /* [in] */ IDeckLinkVideoOutputCallback *theCallback) = 0; 9217 9218 virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount( 9219 /* [out] */ unsigned int *bufferedFrameCount) = 0; 9220 9221 virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput( 9222 /* [in] */ BMDAudioSampleRate sampleRate, 9223 /* [in] */ BMDAudioSampleType sampleType, 9224 /* [in] */ unsigned int channelCount, 9225 /* [in] */ BMDAudioOutputStreamType streamType) = 0; 9226 9227 virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0; 9228 9229 virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync( 9230 /* [in] */ void *buffer, 9231 /* [in] */ unsigned int sampleFrameCount, 9232 /* [out] */ unsigned int *sampleFramesWritten) = 0; 9233 9234 virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0; 9235 9236 virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0; 9237 9238 virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples( 9239 /* [in] */ void *buffer, 9240 /* [in] */ unsigned int sampleFrameCount, 9241 /* [in] */ BMDTimeValue streamTime, 9242 /* [in] */ BMDTimeScale timeScale, 9243 /* [out] */ unsigned int *sampleFramesWritten) = 0; 9244 9245 virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount( 9246 /* [out] */ unsigned int *bufferedSampleFrameCount) = 0; 9247 9248 virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0; 9249 9250 virtual HRESULT STDMETHODCALLTYPE SetAudioCallback( 9251 /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0; 9252 9253 virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback( 9254 /* [in] */ BMDTimeValue playbackStartTime, 9255 /* [in] */ BMDTimeScale timeScale, 9256 /* [in] */ double playbackSpeed) = 0; 9257 9258 virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback( 9259 /* [in] */ BMDTimeValue stopPlaybackAtTime, 9260 /* [out] */ BMDTimeValue *actualStopTime, 9261 /* [in] */ BMDTimeScale timeScale) = 0; 9262 9263 virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning( 9264 /* [out] */ BOOL *active) = 0; 9265 9266 virtual HRESULT STDMETHODCALLTYPE GetScheduledStreamTime( 9267 /* [in] */ BMDTimeScale desiredTimeScale, 9268 /* [out] */ BMDTimeValue *streamTime, 9269 /* [out] */ double *playbackSpeed) = 0; 9270 9271 virtual HRESULT STDMETHODCALLTYPE GetReferenceStatus( 9272 /* [out] */ BMDReferenceStatus *referenceStatus) = 0; 9273 9274 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( 9275 /* [in] */ BMDTimeScale desiredTimeScale, 9276 /* [out] */ BMDTimeValue *hardwareTime, 9277 /* [out] */ BMDTimeValue *timeInFrame, 9278 /* [out] */ BMDTimeValue *ticksPerFrame) = 0; 9279 9280 }; 9281 9282 9283 #else /* C style interface */ 9284 9285 typedef struct IDeckLinkOutput_v9_9Vtbl 9286 { 9287 BEGIN_INTERFACE 9288 9289 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 9290 IDeckLinkOutput_v9_9 * This, 9291 /* [in] */ REFIID riid, 9292 /* [annotation][iid_is][out] */ 9293 _COM_Outptr_ void **ppvObject); 9294 9295 ULONG ( STDMETHODCALLTYPE *AddRef )( 9296 IDeckLinkOutput_v9_9 * This); 9297 9298 ULONG ( STDMETHODCALLTYPE *Release )( 9299 IDeckLinkOutput_v9_9 * This); 9300 9301 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( 9302 IDeckLinkOutput_v9_9 * This, 9303 /* [in] */ BMDDisplayMode displayMode, 9304 /* [in] */ BMDPixelFormat pixelFormat, 9305 /* [in] */ BMDVideoOutputFlags flags, 9306 /* [out] */ BMDDisplayModeSupport *result, 9307 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode); 9308 9309 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( 9310 IDeckLinkOutput_v9_9 * This, 9311 /* [out] */ IDeckLinkDisplayModeIterator **iterator); 9312 9313 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )( 9314 IDeckLinkOutput_v9_9 * This, 9315 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback); 9316 9317 HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )( 9318 IDeckLinkOutput_v9_9 * This, 9319 /* [in] */ BMDDisplayMode displayMode, 9320 /* [in] */ BMDVideoOutputFlags flags); 9321 9322 HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )( 9323 IDeckLinkOutput_v9_9 * This); 9324 9325 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )( 9326 IDeckLinkOutput_v9_9 * This, 9327 /* [in] */ IDeckLinkMemoryAllocator *theAllocator); 9328 9329 HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )( 9330 IDeckLinkOutput_v9_9 * This, 9331 /* [in] */ int width, 9332 /* [in] */ int height, 9333 /* [in] */ int rowBytes, 9334 /* [in] */ BMDPixelFormat pixelFormat, 9335 /* [in] */ BMDFrameFlags flags, 9336 /* [out] */ IDeckLinkMutableVideoFrame **outFrame); 9337 9338 HRESULT ( STDMETHODCALLTYPE *CreateAncillaryData )( 9339 IDeckLinkOutput_v9_9 * This, 9340 /* [in] */ BMDPixelFormat pixelFormat, 9341 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer); 9342 9343 HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )( 9344 IDeckLinkOutput_v9_9 * This, 9345 /* [in] */ IDeckLinkVideoFrame *theFrame); 9346 9347 HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )( 9348 IDeckLinkOutput_v9_9 * This, 9349 /* [in] */ IDeckLinkVideoFrame *theFrame, 9350 /* [in] */ BMDTimeValue displayTime, 9351 /* [in] */ BMDTimeValue displayDuration, 9352 /* [in] */ BMDTimeScale timeScale); 9353 9354 HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )( 9355 IDeckLinkOutput_v9_9 * This, 9356 /* [in] */ IDeckLinkVideoOutputCallback *theCallback); 9357 9358 HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )( 9359 IDeckLinkOutput_v9_9 * This, 9360 /* [out] */ unsigned int *bufferedFrameCount); 9361 9362 HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )( 9363 IDeckLinkOutput_v9_9 * This, 9364 /* [in] */ BMDAudioSampleRate sampleRate, 9365 /* [in] */ BMDAudioSampleType sampleType, 9366 /* [in] */ unsigned int channelCount, 9367 /* [in] */ BMDAudioOutputStreamType streamType); 9368 9369 HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )( 9370 IDeckLinkOutput_v9_9 * This); 9371 9372 HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )( 9373 IDeckLinkOutput_v9_9 * This, 9374 /* [in] */ void *buffer, 9375 /* [in] */ unsigned int sampleFrameCount, 9376 /* [out] */ unsigned int *sampleFramesWritten); 9377 9378 HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )( 9379 IDeckLinkOutput_v9_9 * This); 9380 9381 HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )( 9382 IDeckLinkOutput_v9_9 * This); 9383 9384 HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )( 9385 IDeckLinkOutput_v9_9 * This, 9386 /* [in] */ void *buffer, 9387 /* [in] */ unsigned int sampleFrameCount, 9388 /* [in] */ BMDTimeValue streamTime, 9389 /* [in] */ BMDTimeScale timeScale, 9390 /* [out] */ unsigned int *sampleFramesWritten); 9391 9392 HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )( 9393 IDeckLinkOutput_v9_9 * This, 9394 /* [out] */ unsigned int *bufferedSampleFrameCount); 9395 9396 HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )( 9397 IDeckLinkOutput_v9_9 * This); 9398 9399 HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )( 9400 IDeckLinkOutput_v9_9 * This, 9401 /* [in] */ IDeckLinkAudioOutputCallback *theCallback); 9402 9403 HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )( 9404 IDeckLinkOutput_v9_9 * This, 9405 /* [in] */ BMDTimeValue playbackStartTime, 9406 /* [in] */ BMDTimeScale timeScale, 9407 /* [in] */ double playbackSpeed); 9408 9409 HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )( 9410 IDeckLinkOutput_v9_9 * This, 9411 /* [in] */ BMDTimeValue stopPlaybackAtTime, 9412 /* [out] */ BMDTimeValue *actualStopTime, 9413 /* [in] */ BMDTimeScale timeScale); 9414 9415 HRESULT ( STDMETHODCALLTYPE *IsScheduledPlaybackRunning )( 9416 IDeckLinkOutput_v9_9 * This, 9417 /* [out] */ BOOL *active); 9418 9419 HRESULT ( STDMETHODCALLTYPE *GetScheduledStreamTime )( 9420 IDeckLinkOutput_v9_9 * This, 9421 /* [in] */ BMDTimeScale desiredTimeScale, 9422 /* [out] */ BMDTimeValue *streamTime, 9423 /* [out] */ double *playbackSpeed); 9424 9425 HRESULT ( STDMETHODCALLTYPE *GetReferenceStatus )( 9426 IDeckLinkOutput_v9_9 * This, 9427 /* [out] */ BMDReferenceStatus *referenceStatus); 9428 9429 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( 9430 IDeckLinkOutput_v9_9 * This, 9431 /* [in] */ BMDTimeScale desiredTimeScale, 9432 /* [out] */ BMDTimeValue *hardwareTime, 9433 /* [out] */ BMDTimeValue *timeInFrame, 9434 /* [out] */ BMDTimeValue *ticksPerFrame); 9435 9436 END_INTERFACE 9437 } IDeckLinkOutput_v9_9Vtbl; 9438 9439 interface IDeckLinkOutput_v9_9 9440 { 9441 CONST_VTBL struct IDeckLinkOutput_v9_9Vtbl *lpVtbl; 9442 }; 9443 9444 9445 9446 #ifdef COBJMACROS 9447 9448 9449 #define IDeckLinkOutput_v9_9_QueryInterface(This,riid,ppvObject) \ 9450 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 9451 9452 #define IDeckLinkOutput_v9_9_AddRef(This) \ 9453 ( (This)->lpVtbl -> AddRef(This) ) 9454 9455 #define IDeckLinkOutput_v9_9_Release(This) \ 9456 ( (This)->lpVtbl -> Release(This) ) 9457 9458 9459 #define IDeckLinkOutput_v9_9_DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) \ 9460 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) ) 9461 9462 #define IDeckLinkOutput_v9_9_GetDisplayModeIterator(This,iterator) \ 9463 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) 9464 9465 #define IDeckLinkOutput_v9_9_SetScreenPreviewCallback(This,previewCallback) \ 9466 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) ) 9467 9468 #define IDeckLinkOutput_v9_9_EnableVideoOutput(This,displayMode,flags) \ 9469 ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode,flags) ) 9470 9471 #define IDeckLinkOutput_v9_9_DisableVideoOutput(This) \ 9472 ( (This)->lpVtbl -> DisableVideoOutput(This) ) 9473 9474 #define IDeckLinkOutput_v9_9_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \ 9475 ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) ) 9476 9477 #define IDeckLinkOutput_v9_9_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \ 9478 ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) ) 9479 9480 #define IDeckLinkOutput_v9_9_CreateAncillaryData(This,pixelFormat,outBuffer) \ 9481 ( (This)->lpVtbl -> CreateAncillaryData(This,pixelFormat,outBuffer) ) 9482 9483 #define IDeckLinkOutput_v9_9_DisplayVideoFrameSync(This,theFrame) \ 9484 ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) ) 9485 9486 #define IDeckLinkOutput_v9_9_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \ 9487 ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) ) 9488 9489 #define IDeckLinkOutput_v9_9_SetScheduledFrameCompletionCallback(This,theCallback) \ 9490 ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) ) 9491 9492 #define IDeckLinkOutput_v9_9_GetBufferedVideoFrameCount(This,bufferedFrameCount) \ 9493 ( (This)->lpVtbl -> GetBufferedVideoFrameCount(This,bufferedFrameCount) ) 9494 9495 #define IDeckLinkOutput_v9_9_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) \ 9496 ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) ) 9497 9498 #define IDeckLinkOutput_v9_9_DisableAudioOutput(This) \ 9499 ( (This)->lpVtbl -> DisableAudioOutput(This) ) 9500 9501 #define IDeckLinkOutput_v9_9_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \ 9502 ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) ) 9503 9504 #define IDeckLinkOutput_v9_9_BeginAudioPreroll(This) \ 9505 ( (This)->lpVtbl -> BeginAudioPreroll(This) ) 9506 9507 #define IDeckLinkOutput_v9_9_EndAudioPreroll(This) \ 9508 ( (This)->lpVtbl -> EndAudioPreroll(This) ) 9509 9510 #define IDeckLinkOutput_v9_9_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \ 9511 ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) ) 9512 9513 #define IDeckLinkOutput_v9_9_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) \ 9514 ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) ) 9515 9516 #define IDeckLinkOutput_v9_9_FlushBufferedAudioSamples(This) \ 9517 ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) ) 9518 9519 #define IDeckLinkOutput_v9_9_SetAudioCallback(This,theCallback) \ 9520 ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) ) 9521 9522 #define IDeckLinkOutput_v9_9_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \ 9523 ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) ) 9524 9525 #define IDeckLinkOutput_v9_9_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \ 9526 ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) ) 9527 9528 #define IDeckLinkOutput_v9_9_IsScheduledPlaybackRunning(This,active) \ 9529 ( (This)->lpVtbl -> IsScheduledPlaybackRunning(This,active) ) 9530 9531 #define IDeckLinkOutput_v9_9_GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) \ 9532 ( (This)->lpVtbl -> GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) ) 9533 9534 #define IDeckLinkOutput_v9_9_GetReferenceStatus(This,referenceStatus) \ 9535 ( (This)->lpVtbl -> GetReferenceStatus(This,referenceStatus) ) 9536 9537 #define IDeckLinkOutput_v9_9_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \ 9538 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) ) 9539 9540 #endif /* COBJMACROS */ 9541 9542 9543 #endif /* C style interface */ 9544 9545 9546 9547 9548 #endif /* __IDeckLinkOutput_v9_9_INTERFACE_DEFINED__ */ 9549 9550 9551 #ifndef __IDeckLinkInput_v9_2_INTERFACE_DEFINED__ 9552 #define __IDeckLinkInput_v9_2_INTERFACE_DEFINED__ 9553 9554 /* interface IDeckLinkInput_v9_2 */ 9555 /* [helpstring][uuid][object] */ 9556 9557 9558 EXTERN_C const IID IID_IDeckLinkInput_v9_2; 9559 9560 #if defined(__cplusplus) && !defined(CINTERFACE) 9561 9562 MIDL_INTERFACE("6D40EF78-28B9-4E21-990D-95BB7750A04F") 9563 IDeckLinkInput_v9_2 : public IUnknown 9564 { 9565 public: 9566 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( 9567 /* [in] */ BMDDisplayMode displayMode, 9568 /* [in] */ BMDPixelFormat pixelFormat, 9569 /* [in] */ BMDVideoInputFlags flags, 9570 /* [out] */ BMDDisplayModeSupport *result, 9571 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode) = 0; 9572 9573 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( 9574 /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0; 9575 9576 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( 9577 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; 9578 9579 virtual HRESULT STDMETHODCALLTYPE EnableVideoInput( 9580 /* [in] */ BMDDisplayMode displayMode, 9581 /* [in] */ BMDPixelFormat pixelFormat, 9582 /* [in] */ BMDVideoInputFlags flags) = 0; 9583 9584 virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0; 9585 9586 virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount( 9587 /* [out] */ unsigned int *availableFrameCount) = 0; 9588 9589 virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( 9590 /* [in] */ BMDAudioSampleRate sampleRate, 9591 /* [in] */ BMDAudioSampleType sampleType, 9592 /* [in] */ unsigned int channelCount) = 0; 9593 9594 virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0; 9595 9596 virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount( 9597 /* [out] */ unsigned int *availableSampleFrameCount) = 0; 9598 9599 virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0; 9600 9601 virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0; 9602 9603 virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0; 9604 9605 virtual HRESULT STDMETHODCALLTYPE FlushStreams( void) = 0; 9606 9607 virtual HRESULT STDMETHODCALLTYPE SetCallback( 9608 /* [in] */ IDeckLinkInputCallback *theCallback) = 0; 9609 9610 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( 9611 /* [in] */ BMDTimeScale desiredTimeScale, 9612 /* [out] */ BMDTimeValue *hardwareTime, 9613 /* [out] */ BMDTimeValue *timeInFrame, 9614 /* [out] */ BMDTimeValue *ticksPerFrame) = 0; 9615 9616 }; 9617 9618 9619 #else /* C style interface */ 9620 9621 typedef struct IDeckLinkInput_v9_2Vtbl 9622 { 9623 BEGIN_INTERFACE 9624 9625 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 9626 IDeckLinkInput_v9_2 * This, 9627 /* [in] */ REFIID riid, 9628 /* [annotation][iid_is][out] */ 9629 _COM_Outptr_ void **ppvObject); 9630 9631 ULONG ( STDMETHODCALLTYPE *AddRef )( 9632 IDeckLinkInput_v9_2 * This); 9633 9634 ULONG ( STDMETHODCALLTYPE *Release )( 9635 IDeckLinkInput_v9_2 * This); 9636 9637 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( 9638 IDeckLinkInput_v9_2 * This, 9639 /* [in] */ BMDDisplayMode displayMode, 9640 /* [in] */ BMDPixelFormat pixelFormat, 9641 /* [in] */ BMDVideoInputFlags flags, 9642 /* [out] */ BMDDisplayModeSupport *result, 9643 /* [out] */ IDeckLinkDisplayMode **resultDisplayMode); 9644 9645 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( 9646 IDeckLinkInput_v9_2 * This, 9647 /* [out] */ IDeckLinkDisplayModeIterator **iterator); 9648 9649 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )( 9650 IDeckLinkInput_v9_2 * This, 9651 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback); 9652 9653 HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )( 9654 IDeckLinkInput_v9_2 * This, 9655 /* [in] */ BMDDisplayMode displayMode, 9656 /* [in] */ BMDPixelFormat pixelFormat, 9657 /* [in] */ BMDVideoInputFlags flags); 9658 9659 HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )( 9660 IDeckLinkInput_v9_2 * This); 9661 9662 HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )( 9663 IDeckLinkInput_v9_2 * This, 9664 /* [out] */ unsigned int *availableFrameCount); 9665 9666 HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )( 9667 IDeckLinkInput_v9_2 * This, 9668 /* [in] */ BMDAudioSampleRate sampleRate, 9669 /* [in] */ BMDAudioSampleType sampleType, 9670 /* [in] */ unsigned int channelCount); 9671 9672 HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )( 9673 IDeckLinkInput_v9_2 * This); 9674 9675 HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )( 9676 IDeckLinkInput_v9_2 * This, 9677 /* [out] */ unsigned int *availableSampleFrameCount); 9678 9679 HRESULT ( STDMETHODCALLTYPE *StartStreams )( 9680 IDeckLinkInput_v9_2 * This); 9681 9682 HRESULT ( STDMETHODCALLTYPE *StopStreams )( 9683 IDeckLinkInput_v9_2 * This); 9684 9685 HRESULT ( STDMETHODCALLTYPE *PauseStreams )( 9686 IDeckLinkInput_v9_2 * This); 9687 9688 HRESULT ( STDMETHODCALLTYPE *FlushStreams )( 9689 IDeckLinkInput_v9_2 * This); 9690 9691 HRESULT ( STDMETHODCALLTYPE *SetCallback )( 9692 IDeckLinkInput_v9_2 * This, 9693 /* [in] */ IDeckLinkInputCallback *theCallback); 9694 9695 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( 9696 IDeckLinkInput_v9_2 * This, 9697 /* [in] */ BMDTimeScale desiredTimeScale, 9698 /* [out] */ BMDTimeValue *hardwareTime, 9699 /* [out] */ BMDTimeValue *timeInFrame, 9700 /* [out] */ BMDTimeValue *ticksPerFrame); 9701 9702 END_INTERFACE 9703 } IDeckLinkInput_v9_2Vtbl; 9704 9705 interface IDeckLinkInput_v9_2 9706 { 9707 CONST_VTBL struct IDeckLinkInput_v9_2Vtbl *lpVtbl; 9708 }; 9709 9710 9711 9712 #ifdef COBJMACROS 9713 9714 9715 #define IDeckLinkInput_v9_2_QueryInterface(This,riid,ppvObject) \ 9716 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 9717 9718 #define IDeckLinkInput_v9_2_AddRef(This) \ 9719 ( (This)->lpVtbl -> AddRef(This) ) 9720 9721 #define IDeckLinkInput_v9_2_Release(This) \ 9722 ( (This)->lpVtbl -> Release(This) ) 9723 9724 9725 #define IDeckLinkInput_v9_2_DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) \ 9726 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) ) 9727 9728 #define IDeckLinkInput_v9_2_GetDisplayModeIterator(This,iterator) \ 9729 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) 9730 9731 #define IDeckLinkInput_v9_2_SetScreenPreviewCallback(This,previewCallback) \ 9732 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) ) 9733 9734 #define IDeckLinkInput_v9_2_EnableVideoInput(This,displayMode,pixelFormat,flags) \ 9735 ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) ) 9736 9737 #define IDeckLinkInput_v9_2_DisableVideoInput(This) \ 9738 ( (This)->lpVtbl -> DisableVideoInput(This) ) 9739 9740 #define IDeckLinkInput_v9_2_GetAvailableVideoFrameCount(This,availableFrameCount) \ 9741 ( (This)->lpVtbl -> GetAvailableVideoFrameCount(This,availableFrameCount) ) 9742 9743 #define IDeckLinkInput_v9_2_EnableAudioInput(This,sampleRate,sampleType,channelCount) \ 9744 ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) ) 9745 9746 #define IDeckLinkInput_v9_2_DisableAudioInput(This) \ 9747 ( (This)->lpVtbl -> DisableAudioInput(This) ) 9748 9749 #define IDeckLinkInput_v9_2_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \ 9750 ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) ) 9751 9752 #define IDeckLinkInput_v9_2_StartStreams(This) \ 9753 ( (This)->lpVtbl -> StartStreams(This) ) 9754 9755 #define IDeckLinkInput_v9_2_StopStreams(This) \ 9756 ( (This)->lpVtbl -> StopStreams(This) ) 9757 9758 #define IDeckLinkInput_v9_2_PauseStreams(This) \ 9759 ( (This)->lpVtbl -> PauseStreams(This) ) 9760 9761 #define IDeckLinkInput_v9_2_FlushStreams(This) \ 9762 ( (This)->lpVtbl -> FlushStreams(This) ) 9763 9764 #define IDeckLinkInput_v9_2_SetCallback(This,theCallback) \ 9765 ( (This)->lpVtbl -> SetCallback(This,theCallback) ) 9766 9767 #define IDeckLinkInput_v9_2_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \ 9768 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) ) 9769 9770 #endif /* COBJMACROS */ 9771 9772 9773 #endif /* C style interface */ 9774 9775 9776 9777 9778 #endif /* __IDeckLinkInput_v9_2_INTERFACE_DEFINED__ */ 9779 9780 9781 #ifndef __IDeckLinkDeckControlStatusCallback_v8_1_INTERFACE_DEFINED__ 9782 #define __IDeckLinkDeckControlStatusCallback_v8_1_INTERFACE_DEFINED__ 9783 9784 /* interface IDeckLinkDeckControlStatusCallback_v8_1 */ 9785 /* [helpstring][uuid][object] */ 9786 9787 9788 EXTERN_C const IID IID_IDeckLinkDeckControlStatusCallback_v8_1; 9789 9790 #if defined(__cplusplus) && !defined(CINTERFACE) 9791 9792 MIDL_INTERFACE("E5F693C1-4283-4716-B18F-C1431521955B") 9793 IDeckLinkDeckControlStatusCallback_v8_1 : public IUnknown 9794 { 9795 public: 9796 virtual HRESULT STDMETHODCALLTYPE TimecodeUpdate( 9797 /* [in] */ BMDTimecodeBCD currentTimecode) = 0; 9798 9799 virtual HRESULT STDMETHODCALLTYPE VTRControlStateChanged( 9800 /* [in] */ BMDDeckControlVTRControlState_v8_1 newState, 9801 /* [in] */ BMDDeckControlError error) = 0; 9802 9803 virtual HRESULT STDMETHODCALLTYPE DeckControlEventReceived( 9804 /* [in] */ BMDDeckControlEvent event, 9805 /* [in] */ BMDDeckControlError error) = 0; 9806 9807 virtual HRESULT STDMETHODCALLTYPE DeckControlStatusChanged( 9808 /* [in] */ BMDDeckControlStatusFlags flags, 9809 /* [in] */ unsigned int mask) = 0; 9810 9811 }; 9812 9813 9814 #else /* C style interface */ 9815 9816 typedef struct IDeckLinkDeckControlStatusCallback_v8_1Vtbl 9817 { 9818 BEGIN_INTERFACE 9819 9820 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 9821 IDeckLinkDeckControlStatusCallback_v8_1 * This, 9822 /* [in] */ REFIID riid, 9823 /* [annotation][iid_is][out] */ 9824 _COM_Outptr_ void **ppvObject); 9825 9826 ULONG ( STDMETHODCALLTYPE *AddRef )( 9827 IDeckLinkDeckControlStatusCallback_v8_1 * This); 9828 9829 ULONG ( STDMETHODCALLTYPE *Release )( 9830 IDeckLinkDeckControlStatusCallback_v8_1 * This); 9831 9832 HRESULT ( STDMETHODCALLTYPE *TimecodeUpdate )( 9833 IDeckLinkDeckControlStatusCallback_v8_1 * This, 9834 /* [in] */ BMDTimecodeBCD currentTimecode); 9835 9836 HRESULT ( STDMETHODCALLTYPE *VTRControlStateChanged )( 9837 IDeckLinkDeckControlStatusCallback_v8_1 * This, 9838 /* [in] */ BMDDeckControlVTRControlState_v8_1 newState, 9839 /* [in] */ BMDDeckControlError error); 9840 9841 HRESULT ( STDMETHODCALLTYPE *DeckControlEventReceived )( 9842 IDeckLinkDeckControlStatusCallback_v8_1 * This, 9843 /* [in] */ BMDDeckControlEvent event, 9844 /* [in] */ BMDDeckControlError error); 9845 9846 HRESULT ( STDMETHODCALLTYPE *DeckControlStatusChanged )( 9847 IDeckLinkDeckControlStatusCallback_v8_1 * This, 9848 /* [in] */ BMDDeckControlStatusFlags flags, 9849 /* [in] */ unsigned int mask); 9850 9851 END_INTERFACE 9852 } IDeckLinkDeckControlStatusCallback_v8_1Vtbl; 9853 9854 interface IDeckLinkDeckControlStatusCallback_v8_1 9855 { 9856 CONST_VTBL struct IDeckLinkDeckControlStatusCallback_v8_1Vtbl *lpVtbl; 9857 }; 9858 9859 9860 9861 #ifdef COBJMACROS 9862 9863 9864 #define IDeckLinkDeckControlStatusCallback_v8_1_QueryInterface(This,riid,ppvObject) \ 9865 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 9866 9867 #define IDeckLinkDeckControlStatusCallback_v8_1_AddRef(This) \ 9868 ( (This)->lpVtbl -> AddRef(This) ) 9869 9870 #define IDeckLinkDeckControlStatusCallback_v8_1_Release(This) \ 9871 ( (This)->lpVtbl -> Release(This) ) 9872 9873 9874 #define IDeckLinkDeckControlStatusCallback_v8_1_TimecodeUpdate(This,currentTimecode) \ 9875 ( (This)->lpVtbl -> TimecodeUpdate(This,currentTimecode) ) 9876 9877 #define IDeckLinkDeckControlStatusCallback_v8_1_VTRControlStateChanged(This,newState,error) \ 9878 ( (This)->lpVtbl -> VTRControlStateChanged(This,newState,error) ) 9879 9880 #define IDeckLinkDeckControlStatusCallback_v8_1_DeckControlEventReceived(This,event,error) \ 9881 ( (This)->lpVtbl -> DeckControlEventReceived(This,event,error) ) 9882 9883 #define IDeckLinkDeckControlStatusCallback_v8_1_DeckControlStatusChanged(This,flags,mask) \ 9884 ( (This)->lpVtbl -> DeckControlStatusChanged(This,flags,mask) ) 9885 9886 #endif /* COBJMACROS */ 9887 9888 9889 #endif /* C style interface */ 9890 9891 9892 9893 9894 #endif /* __IDeckLinkDeckControlStatusCallback_v8_1_INTERFACE_DEFINED__ */ 9895 9896 9897 #ifndef __IDeckLinkDeckControl_v8_1_INTERFACE_DEFINED__ 9898 #define __IDeckLinkDeckControl_v8_1_INTERFACE_DEFINED__ 9899 9900 /* interface IDeckLinkDeckControl_v8_1 */ 9901 /* [helpstring][uuid][object] */ 9902 9903 9904 EXTERN_C const IID IID_IDeckLinkDeckControl_v8_1; 9905 9906 #if defined(__cplusplus) && !defined(CINTERFACE) 9907 9908 MIDL_INTERFACE("522A9E39-0F3C-4742-94EE-D80DE335DA1D") 9909 IDeckLinkDeckControl_v8_1 : public IUnknown 9910 { 9911 public: 9912 virtual HRESULT STDMETHODCALLTYPE Open( 9913 /* [in] */ BMDTimeScale timeScale, 9914 /* [in] */ BMDTimeValue timeValue, 9915 /* [in] */ BOOL timecodeIsDropFrame, 9916 /* [out] */ BMDDeckControlError *error) = 0; 9917 9918 virtual HRESULT STDMETHODCALLTYPE Close( 9919 /* [in] */ BOOL standbyOn) = 0; 9920 9921 virtual HRESULT STDMETHODCALLTYPE GetCurrentState( 9922 /* [out] */ BMDDeckControlMode *mode, 9923 /* [out] */ BMDDeckControlVTRControlState_v8_1 *vtrControlState, 9924 /* [out] */ BMDDeckControlStatusFlags *flags) = 0; 9925 9926 virtual HRESULT STDMETHODCALLTYPE SetStandby( 9927 /* [in] */ BOOL standbyOn) = 0; 9928 9929 virtual HRESULT STDMETHODCALLTYPE SendCommand( 9930 /* [in] */ unsigned char *inBuffer, 9931 /* [in] */ unsigned int inBufferSize, 9932 /* [out] */ unsigned char *outBuffer, 9933 /* [out] */ unsigned int *outDataSize, 9934 /* [in] */ unsigned int outBufferSize, 9935 /* [out] */ BMDDeckControlError *error) = 0; 9936 9937 virtual HRESULT STDMETHODCALLTYPE Play( 9938 /* [out] */ BMDDeckControlError *error) = 0; 9939 9940 virtual HRESULT STDMETHODCALLTYPE Stop( 9941 /* [out] */ BMDDeckControlError *error) = 0; 9942 9943 virtual HRESULT STDMETHODCALLTYPE TogglePlayStop( 9944 /* [out] */ BMDDeckControlError *error) = 0; 9945 9946 virtual HRESULT STDMETHODCALLTYPE Eject( 9947 /* [out] */ BMDDeckControlError *error) = 0; 9948 9949 virtual HRESULT STDMETHODCALLTYPE GoToTimecode( 9950 /* [in] */ BMDTimecodeBCD timecode, 9951 /* [out] */ BMDDeckControlError *error) = 0; 9952 9953 virtual HRESULT STDMETHODCALLTYPE FastForward( 9954 /* [in] */ BOOL viewTape, 9955 /* [out] */ BMDDeckControlError *error) = 0; 9956 9957 virtual HRESULT STDMETHODCALLTYPE Rewind( 9958 /* [in] */ BOOL viewTape, 9959 /* [out] */ BMDDeckControlError *error) = 0; 9960 9961 virtual HRESULT STDMETHODCALLTYPE StepForward( 9962 /* [out] */ BMDDeckControlError *error) = 0; 9963 9964 virtual HRESULT STDMETHODCALLTYPE StepBack( 9965 /* [out] */ BMDDeckControlError *error) = 0; 9966 9967 virtual HRESULT STDMETHODCALLTYPE Jog( 9968 /* [in] */ double rate, 9969 /* [out] */ BMDDeckControlError *error) = 0; 9970 9971 virtual HRESULT STDMETHODCALLTYPE Shuttle( 9972 /* [in] */ double rate, 9973 /* [out] */ BMDDeckControlError *error) = 0; 9974 9975 virtual HRESULT STDMETHODCALLTYPE GetTimecodeString( 9976 /* [out] */ BSTR *currentTimeCode, 9977 /* [out] */ BMDDeckControlError *error) = 0; 9978 9979 virtual HRESULT STDMETHODCALLTYPE GetTimecode( 9980 /* [out] */ IDeckLinkTimecode **currentTimecode, 9981 /* [out] */ BMDDeckControlError *error) = 0; 9982 9983 virtual HRESULT STDMETHODCALLTYPE GetTimecodeBCD( 9984 /* [out] */ BMDTimecodeBCD *currentTimecode, 9985 /* [out] */ BMDDeckControlError *error) = 0; 9986 9987 virtual HRESULT STDMETHODCALLTYPE SetPreroll( 9988 /* [in] */ unsigned int prerollSeconds) = 0; 9989 9990 virtual HRESULT STDMETHODCALLTYPE GetPreroll( 9991 /* [out] */ unsigned int *prerollSeconds) = 0; 9992 9993 virtual HRESULT STDMETHODCALLTYPE SetExportOffset( 9994 /* [in] */ int exportOffsetFields) = 0; 9995 9996 virtual HRESULT STDMETHODCALLTYPE GetExportOffset( 9997 /* [out] */ int *exportOffsetFields) = 0; 9998 9999 virtual HRESULT STDMETHODCALLTYPE GetManualExportOffset( 10000 /* [out] */ int *deckManualExportOffsetFields) = 0; 10001 10002 virtual HRESULT STDMETHODCALLTYPE SetCaptureOffset( 10003 /* [in] */ int captureOffsetFields) = 0; 10004 10005 virtual HRESULT STDMETHODCALLTYPE GetCaptureOffset( 10006 /* [out] */ int *captureOffsetFields) = 0; 10007 10008 virtual HRESULT STDMETHODCALLTYPE StartExport( 10009 /* [in] */ BMDTimecodeBCD inTimecode, 10010 /* [in] */ BMDTimecodeBCD outTimecode, 10011 /* [in] */ BMDDeckControlExportModeOpsFlags exportModeOps, 10012 /* [out] */ BMDDeckControlError *error) = 0; 10013 10014 virtual HRESULT STDMETHODCALLTYPE StartCapture( 10015 /* [in] */ BOOL useVITC, 10016 /* [in] */ BMDTimecodeBCD inTimecode, 10017 /* [in] */ BMDTimecodeBCD outTimecode, 10018 /* [out] */ BMDDeckControlError *error) = 0; 10019 10020 virtual HRESULT STDMETHODCALLTYPE GetDeviceID( 10021 /* [out] */ unsigned short *deviceId, 10022 /* [out] */ BMDDeckControlError *error) = 0; 10023 10024 virtual HRESULT STDMETHODCALLTYPE Abort( void) = 0; 10025 10026 virtual HRESULT STDMETHODCALLTYPE CrashRecordStart( 10027 /* [out] */ BMDDeckControlError *error) = 0; 10028 10029 virtual HRESULT STDMETHODCALLTYPE CrashRecordStop( 10030 /* [out] */ BMDDeckControlError *error) = 0; 10031 10032 virtual HRESULT STDMETHODCALLTYPE SetCallback( 10033 /* [in] */ IDeckLinkDeckControlStatusCallback_v8_1 *callback) = 0; 10034 10035 }; 10036 10037 10038 #else /* C style interface */ 10039 10040 typedef struct IDeckLinkDeckControl_v8_1Vtbl 10041 { 10042 BEGIN_INTERFACE 10043 10044 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 10045 IDeckLinkDeckControl_v8_1 * This, 10046 /* [in] */ REFIID riid, 10047 /* [annotation][iid_is][out] */ 10048 _COM_Outptr_ void **ppvObject); 10049 10050 ULONG ( STDMETHODCALLTYPE *AddRef )( 10051 IDeckLinkDeckControl_v8_1 * This); 10052 10053 ULONG ( STDMETHODCALLTYPE *Release )( 10054 IDeckLinkDeckControl_v8_1 * This); 10055 10056 HRESULT ( STDMETHODCALLTYPE *Open )( 10057 IDeckLinkDeckControl_v8_1 * This, 10058 /* [in] */ BMDTimeScale timeScale, 10059 /* [in] */ BMDTimeValue timeValue, 10060 /* [in] */ BOOL timecodeIsDropFrame, 10061 /* [out] */ BMDDeckControlError *error); 10062 10063 HRESULT ( STDMETHODCALLTYPE *Close )( 10064 IDeckLinkDeckControl_v8_1 * This, 10065 /* [in] */ BOOL standbyOn); 10066 10067 HRESULT ( STDMETHODCALLTYPE *GetCurrentState )( 10068 IDeckLinkDeckControl_v8_1 * This, 10069 /* [out] */ BMDDeckControlMode *mode, 10070 /* [out] */ BMDDeckControlVTRControlState_v8_1 *vtrControlState, 10071 /* [out] */ BMDDeckControlStatusFlags *flags); 10072 10073 HRESULT ( STDMETHODCALLTYPE *SetStandby )( 10074 IDeckLinkDeckControl_v8_1 * This, 10075 /* [in] */ BOOL standbyOn); 10076 10077 HRESULT ( STDMETHODCALLTYPE *SendCommand )( 10078 IDeckLinkDeckControl_v8_1 * This, 10079 /* [in] */ unsigned char *inBuffer, 10080 /* [in] */ unsigned int inBufferSize, 10081 /* [out] */ unsigned char *outBuffer, 10082 /* [out] */ unsigned int *outDataSize, 10083 /* [in] */ unsigned int outBufferSize, 10084 /* [out] */ BMDDeckControlError *error); 10085 10086 HRESULT ( STDMETHODCALLTYPE *Play )( 10087 IDeckLinkDeckControl_v8_1 * This, 10088 /* [out] */ BMDDeckControlError *error); 10089 10090 HRESULT ( STDMETHODCALLTYPE *Stop )( 10091 IDeckLinkDeckControl_v8_1 * This, 10092 /* [out] */ BMDDeckControlError *error); 10093 10094 HRESULT ( STDMETHODCALLTYPE *TogglePlayStop )( 10095 IDeckLinkDeckControl_v8_1 * This, 10096 /* [out] */ BMDDeckControlError *error); 10097 10098 HRESULT ( STDMETHODCALLTYPE *Eject )( 10099 IDeckLinkDeckControl_v8_1 * This, 10100 /* [out] */ BMDDeckControlError *error); 10101 10102 HRESULT ( STDMETHODCALLTYPE *GoToTimecode )( 10103 IDeckLinkDeckControl_v8_1 * This, 10104 /* [in] */ BMDTimecodeBCD timecode, 10105 /* [out] */ BMDDeckControlError *error); 10106 10107 HRESULT ( STDMETHODCALLTYPE *FastForward )( 10108 IDeckLinkDeckControl_v8_1 * This, 10109 /* [in] */ BOOL viewTape, 10110 /* [out] */ BMDDeckControlError *error); 10111 10112 HRESULT ( STDMETHODCALLTYPE *Rewind )( 10113 IDeckLinkDeckControl_v8_1 * This, 10114 /* [in] */ BOOL viewTape, 10115 /* [out] */ BMDDeckControlError *error); 10116 10117 HRESULT ( STDMETHODCALLTYPE *StepForward )( 10118 IDeckLinkDeckControl_v8_1 * This, 10119 /* [out] */ BMDDeckControlError *error); 10120 10121 HRESULT ( STDMETHODCALLTYPE *StepBack )( 10122 IDeckLinkDeckControl_v8_1 * This, 10123 /* [out] */ BMDDeckControlError *error); 10124 10125 HRESULT ( STDMETHODCALLTYPE *Jog )( 10126 IDeckLinkDeckControl_v8_1 * This, 10127 /* [in] */ double rate, 10128 /* [out] */ BMDDeckControlError *error); 10129 10130 HRESULT ( STDMETHODCALLTYPE *Shuttle )( 10131 IDeckLinkDeckControl_v8_1 * This, 10132 /* [in] */ double rate, 10133 /* [out] */ BMDDeckControlError *error); 10134 10135 HRESULT ( STDMETHODCALLTYPE *GetTimecodeString )( 10136 IDeckLinkDeckControl_v8_1 * This, 10137 /* [out] */ BSTR *currentTimeCode, 10138 /* [out] */ BMDDeckControlError *error); 10139 10140 HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 10141 IDeckLinkDeckControl_v8_1 * This, 10142 /* [out] */ IDeckLinkTimecode **currentTimecode, 10143 /* [out] */ BMDDeckControlError *error); 10144 10145 HRESULT ( STDMETHODCALLTYPE *GetTimecodeBCD )( 10146 IDeckLinkDeckControl_v8_1 * This, 10147 /* [out] */ BMDTimecodeBCD *currentTimecode, 10148 /* [out] */ BMDDeckControlError *error); 10149 10150 HRESULT ( STDMETHODCALLTYPE *SetPreroll )( 10151 IDeckLinkDeckControl_v8_1 * This, 10152 /* [in] */ unsigned int prerollSeconds); 10153 10154 HRESULT ( STDMETHODCALLTYPE *GetPreroll )( 10155 IDeckLinkDeckControl_v8_1 * This, 10156 /* [out] */ unsigned int *prerollSeconds); 10157 10158 HRESULT ( STDMETHODCALLTYPE *SetExportOffset )( 10159 IDeckLinkDeckControl_v8_1 * This, 10160 /* [in] */ int exportOffsetFields); 10161 10162 HRESULT ( STDMETHODCALLTYPE *GetExportOffset )( 10163 IDeckLinkDeckControl_v8_1 * This, 10164 /* [out] */ int *exportOffsetFields); 10165 10166 HRESULT ( STDMETHODCALLTYPE *GetManualExportOffset )( 10167 IDeckLinkDeckControl_v8_1 * This, 10168 /* [out] */ int *deckManualExportOffsetFields); 10169 10170 HRESULT ( STDMETHODCALLTYPE *SetCaptureOffset )( 10171 IDeckLinkDeckControl_v8_1 * This, 10172 /* [in] */ int captureOffsetFields); 10173 10174 HRESULT ( STDMETHODCALLTYPE *GetCaptureOffset )( 10175 IDeckLinkDeckControl_v8_1 * This, 10176 /* [out] */ int *captureOffsetFields); 10177 10178 HRESULT ( STDMETHODCALLTYPE *StartExport )( 10179 IDeckLinkDeckControl_v8_1 * This, 10180 /* [in] */ BMDTimecodeBCD inTimecode, 10181 /* [in] */ BMDTimecodeBCD outTimecode, 10182 /* [in] */ BMDDeckControlExportModeOpsFlags exportModeOps, 10183 /* [out] */ BMDDeckControlError *error); 10184 10185 HRESULT ( STDMETHODCALLTYPE *StartCapture )( 10186 IDeckLinkDeckControl_v8_1 * This, 10187 /* [in] */ BOOL useVITC, 10188 /* [in] */ BMDTimecodeBCD inTimecode, 10189 /* [in] */ BMDTimecodeBCD outTimecode, 10190 /* [out] */ BMDDeckControlError *error); 10191 10192 HRESULT ( STDMETHODCALLTYPE *GetDeviceID )( 10193 IDeckLinkDeckControl_v8_1 * This, 10194 /* [out] */ unsigned short *deviceId, 10195 /* [out] */ BMDDeckControlError *error); 10196 10197 HRESULT ( STDMETHODCALLTYPE *Abort )( 10198 IDeckLinkDeckControl_v8_1 * This); 10199 10200 HRESULT ( STDMETHODCALLTYPE *CrashRecordStart )( 10201 IDeckLinkDeckControl_v8_1 * This, 10202 /* [out] */ BMDDeckControlError *error); 10203 10204 HRESULT ( STDMETHODCALLTYPE *CrashRecordStop )( 10205 IDeckLinkDeckControl_v8_1 * This, 10206 /* [out] */ BMDDeckControlError *error); 10207 10208 HRESULT ( STDMETHODCALLTYPE *SetCallback )( 10209 IDeckLinkDeckControl_v8_1 * This, 10210 /* [in] */ IDeckLinkDeckControlStatusCallback_v8_1 *callback); 10211 10212 END_INTERFACE 10213 } IDeckLinkDeckControl_v8_1Vtbl; 10214 10215 interface IDeckLinkDeckControl_v8_1 10216 { 10217 CONST_VTBL struct IDeckLinkDeckControl_v8_1Vtbl *lpVtbl; 10218 }; 10219 10220 10221 10222 #ifdef COBJMACROS 10223 10224 10225 #define IDeckLinkDeckControl_v8_1_QueryInterface(This,riid,ppvObject) \ 10226 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 10227 10228 #define IDeckLinkDeckControl_v8_1_AddRef(This) \ 10229 ( (This)->lpVtbl -> AddRef(This) ) 10230 10231 #define IDeckLinkDeckControl_v8_1_Release(This) \ 10232 ( (This)->lpVtbl -> Release(This) ) 10233 10234 10235 #define IDeckLinkDeckControl_v8_1_Open(This,timeScale,timeValue,timecodeIsDropFrame,error) \ 10236 ( (This)->lpVtbl -> Open(This,timeScale,timeValue,timecodeIsDropFrame,error) ) 10237 10238 #define IDeckLinkDeckControl_v8_1_Close(This,standbyOn) \ 10239 ( (This)->lpVtbl -> Close(This,standbyOn) ) 10240 10241 #define IDeckLinkDeckControl_v8_1_GetCurrentState(This,mode,vtrControlState,flags) \ 10242 ( (This)->lpVtbl -> GetCurrentState(This,mode,vtrControlState,flags) ) 10243 10244 #define IDeckLinkDeckControl_v8_1_SetStandby(This,standbyOn) \ 10245 ( (This)->lpVtbl -> SetStandby(This,standbyOn) ) 10246 10247 #define IDeckLinkDeckControl_v8_1_SendCommand(This,inBuffer,inBufferSize,outBuffer,outDataSize,outBufferSize,error) \ 10248 ( (This)->lpVtbl -> SendCommand(This,inBuffer,inBufferSize,outBuffer,outDataSize,outBufferSize,error) ) 10249 10250 #define IDeckLinkDeckControl_v8_1_Play(This,error) \ 10251 ( (This)->lpVtbl -> Play(This,error) ) 10252 10253 #define IDeckLinkDeckControl_v8_1_Stop(This,error) \ 10254 ( (This)->lpVtbl -> Stop(This,error) ) 10255 10256 #define IDeckLinkDeckControl_v8_1_TogglePlayStop(This,error) \ 10257 ( (This)->lpVtbl -> TogglePlayStop(This,error) ) 10258 10259 #define IDeckLinkDeckControl_v8_1_Eject(This,error) \ 10260 ( (This)->lpVtbl -> Eject(This,error) ) 10261 10262 #define IDeckLinkDeckControl_v8_1_GoToTimecode(This,timecode,error) \ 10263 ( (This)->lpVtbl -> GoToTimecode(This,timecode,error) ) 10264 10265 #define IDeckLinkDeckControl_v8_1_FastForward(This,viewTape,error) \ 10266 ( (This)->lpVtbl -> FastForward(This,viewTape,error) ) 10267 10268 #define IDeckLinkDeckControl_v8_1_Rewind(This,viewTape,error) \ 10269 ( (This)->lpVtbl -> Rewind(This,viewTape,error) ) 10270 10271 #define IDeckLinkDeckControl_v8_1_StepForward(This,error) \ 10272 ( (This)->lpVtbl -> StepForward(This,error) ) 10273 10274 #define IDeckLinkDeckControl_v8_1_StepBack(This,error) \ 10275 ( (This)->lpVtbl -> StepBack(This,error) ) 10276 10277 #define IDeckLinkDeckControl_v8_1_Jog(This,rate,error) \ 10278 ( (This)->lpVtbl -> Jog(This,rate,error) ) 10279 10280 #define IDeckLinkDeckControl_v8_1_Shuttle(This,rate,error) \ 10281 ( (This)->lpVtbl -> Shuttle(This,rate,error) ) 10282 10283 #define IDeckLinkDeckControl_v8_1_GetTimecodeString(This,currentTimeCode,error) \ 10284 ( (This)->lpVtbl -> GetTimecodeString(This,currentTimeCode,error) ) 10285 10286 #define IDeckLinkDeckControl_v8_1_GetTimecode(This,currentTimecode,error) \ 10287 ( (This)->lpVtbl -> GetTimecode(This,currentTimecode,error) ) 10288 10289 #define IDeckLinkDeckControl_v8_1_GetTimecodeBCD(This,currentTimecode,error) \ 10290 ( (This)->lpVtbl -> GetTimecodeBCD(This,currentTimecode,error) ) 10291 10292 #define IDeckLinkDeckControl_v8_1_SetPreroll(This,prerollSeconds) \ 10293 ( (This)->lpVtbl -> SetPreroll(This,prerollSeconds) ) 10294 10295 #define IDeckLinkDeckControl_v8_1_GetPreroll(This,prerollSeconds) \ 10296 ( (This)->lpVtbl -> GetPreroll(This,prerollSeconds) ) 10297 10298 #define IDeckLinkDeckControl_v8_1_SetExportOffset(This,exportOffsetFields) \ 10299 ( (This)->lpVtbl -> SetExportOffset(This,exportOffsetFields) ) 10300 10301 #define IDeckLinkDeckControl_v8_1_GetExportOffset(This,exportOffsetFields) \ 10302 ( (This)->lpVtbl -> GetExportOffset(This,exportOffsetFields) ) 10303 10304 #define IDeckLinkDeckControl_v8_1_GetManualExportOffset(This,deckManualExportOffsetFields) \ 10305 ( (This)->lpVtbl -> GetManualExportOffset(This,deckManualExportOffsetFields) ) 10306 10307 #define IDeckLinkDeckControl_v8_1_SetCaptureOffset(This,captureOffsetFields) \ 10308 ( (This)->lpVtbl -> SetCaptureOffset(This,captureOffsetFields) ) 10309 10310 #define IDeckLinkDeckControl_v8_1_GetCaptureOffset(This,captureOffsetFields) \ 10311 ( (This)->lpVtbl -> GetCaptureOffset(This,captureOffsetFields) ) 10312 10313 #define IDeckLinkDeckControl_v8_1_StartExport(This,inTimecode,outTimecode,exportModeOps,error) \ 10314 ( (This)->lpVtbl -> StartExport(This,inTimecode,outTimecode,exportModeOps,error) ) 10315 10316 #define IDeckLinkDeckControl_v8_1_StartCapture(This,useVITC,inTimecode,outTimecode,error) \ 10317 ( (This)->lpVtbl -> StartCapture(This,useVITC,inTimecode,outTimecode,error) ) 10318 10319 #define IDeckLinkDeckControl_v8_1_GetDeviceID(This,deviceId,error) \ 10320 ( (This)->lpVtbl -> GetDeviceID(This,deviceId,error) ) 10321 10322 #define IDeckLinkDeckControl_v8_1_Abort(This) \ 10323 ( (This)->lpVtbl -> Abort(This) ) 10324 10325 #define IDeckLinkDeckControl_v8_1_CrashRecordStart(This,error) \ 10326 ( (This)->lpVtbl -> CrashRecordStart(This,error) ) 10327 10328 #define IDeckLinkDeckControl_v8_1_CrashRecordStop(This,error) \ 10329 ( (This)->lpVtbl -> CrashRecordStop(This,error) ) 10330 10331 #define IDeckLinkDeckControl_v8_1_SetCallback(This,callback) \ 10332 ( (This)->lpVtbl -> SetCallback(This,callback) ) 10333 10334 #endif /* COBJMACROS */ 10335 10336 10337 #endif /* C style interface */ 10338 10339 10340 10341 10342 #endif /* __IDeckLinkDeckControl_v8_1_INTERFACE_DEFINED__ */ 10343 10344 10345 #ifndef __IDeckLink_v8_0_INTERFACE_DEFINED__ 10346 #define __IDeckLink_v8_0_INTERFACE_DEFINED__ 10347 10348 /* interface IDeckLink_v8_0 */ 10349 /* [helpstring][uuid][object] */ 10350 10351 10352 EXTERN_C const IID IID_IDeckLink_v8_0; 10353 10354 #if defined(__cplusplus) && !defined(CINTERFACE) 10355 10356 MIDL_INTERFACE("62BFF75D-6569-4E55-8D4D-66AA03829ABC") 10357 IDeckLink_v8_0 : public IUnknown 10358 { 10359 public: 10360 virtual HRESULT STDMETHODCALLTYPE GetModelName( 10361 /* [out] */ BSTR *modelName) = 0; 10362 10363 }; 10364 10365 10366 #else /* C style interface */ 10367 10368 typedef struct IDeckLink_v8_0Vtbl 10369 { 10370 BEGIN_INTERFACE 10371 10372 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 10373 IDeckLink_v8_0 * This, 10374 /* [in] */ REFIID riid, 10375 /* [annotation][iid_is][out] */ 10376 _COM_Outptr_ void **ppvObject); 10377 10378 ULONG ( STDMETHODCALLTYPE *AddRef )( 10379 IDeckLink_v8_0 * This); 10380 10381 ULONG ( STDMETHODCALLTYPE *Release )( 10382 IDeckLink_v8_0 * This); 10383 10384 HRESULT ( STDMETHODCALLTYPE *GetModelName )( 10385 IDeckLink_v8_0 * This, 10386 /* [out] */ BSTR *modelName); 10387 10388 END_INTERFACE 10389 } IDeckLink_v8_0Vtbl; 10390 10391 interface IDeckLink_v8_0 10392 { 10393 CONST_VTBL struct IDeckLink_v8_0Vtbl *lpVtbl; 10394 }; 10395 10396 10397 10398 #ifdef COBJMACROS 10399 10400 10401 #define IDeckLink_v8_0_QueryInterface(This,riid,ppvObject) \ 10402 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 10403 10404 #define IDeckLink_v8_0_AddRef(This) \ 10405 ( (This)->lpVtbl -> AddRef(This) ) 10406 10407 #define IDeckLink_v8_0_Release(This) \ 10408 ( (This)->lpVtbl -> Release(This) ) 10409 10410 10411 #define IDeckLink_v8_0_GetModelName(This,modelName) \ 10412 ( (This)->lpVtbl -> GetModelName(This,modelName) ) 10413 10414 #endif /* COBJMACROS */ 10415 10416 10417 #endif /* C style interface */ 10418 10419 10420 10421 10422 #endif /* __IDeckLink_v8_0_INTERFACE_DEFINED__ */ 10423 10424 10425 #ifndef __IDeckLinkIterator_v8_0_INTERFACE_DEFINED__ 10426 #define __IDeckLinkIterator_v8_0_INTERFACE_DEFINED__ 10427 10428 /* interface IDeckLinkIterator_v8_0 */ 10429 /* [helpstring][uuid][object] */ 10430 10431 10432 EXTERN_C const IID IID_IDeckLinkIterator_v8_0; 10433 10434 #if defined(__cplusplus) && !defined(CINTERFACE) 10435 10436 MIDL_INTERFACE("74E936FC-CC28-4A67-81A0-1E94E52D4E69") 10437 IDeckLinkIterator_v8_0 : public IUnknown 10438 { 10439 public: 10440 virtual HRESULT STDMETHODCALLTYPE Next( 10441 /* [out] */ IDeckLink_v8_0 **deckLinkInstance) = 0; 10442 10443 }; 10444 10445 10446 #else /* C style interface */ 10447 10448 typedef struct IDeckLinkIterator_v8_0Vtbl 10449 { 10450 BEGIN_INTERFACE 10451 10452 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 10453 IDeckLinkIterator_v8_0 * This, 10454 /* [in] */ REFIID riid, 10455 /* [annotation][iid_is][out] */ 10456 _COM_Outptr_ void **ppvObject); 10457 10458 ULONG ( STDMETHODCALLTYPE *AddRef )( 10459 IDeckLinkIterator_v8_0 * This); 10460 10461 ULONG ( STDMETHODCALLTYPE *Release )( 10462 IDeckLinkIterator_v8_0 * This); 10463 10464 HRESULT ( STDMETHODCALLTYPE *Next )( 10465 IDeckLinkIterator_v8_0 * This, 10466 /* [out] */ IDeckLink_v8_0 **deckLinkInstance); 10467 10468 END_INTERFACE 10469 } IDeckLinkIterator_v8_0Vtbl; 10470 10471 interface IDeckLinkIterator_v8_0 10472 { 10473 CONST_VTBL struct IDeckLinkIterator_v8_0Vtbl *lpVtbl; 10474 }; 10475 10476 10477 10478 #ifdef COBJMACROS 10479 10480 10481 #define IDeckLinkIterator_v8_0_QueryInterface(This,riid,ppvObject) \ 10482 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 10483 10484 #define IDeckLinkIterator_v8_0_AddRef(This) \ 10485 ( (This)->lpVtbl -> AddRef(This) ) 10486 10487 #define IDeckLinkIterator_v8_0_Release(This) \ 10488 ( (This)->lpVtbl -> Release(This) ) 10489 10490 10491 #define IDeckLinkIterator_v8_0_Next(This,deckLinkInstance) \ 10492 ( (This)->lpVtbl -> Next(This,deckLinkInstance) ) 10493 10494 #endif /* COBJMACROS */ 10495 10496 10497 #endif /* C style interface */ 10498 10499 10500 10501 10502 #endif /* __IDeckLinkIterator_v8_0_INTERFACE_DEFINED__ */ 10503 10504 10505 EXTERN_C const CLSID CLSID_CDeckLinkIterator_v8_0; 10506 10507 #ifdef __cplusplus 10508 10509 class DECLSPEC_UUID("D9EDA3B3-2887-41FA-B724-017CF1EB1D37") 10510 CDeckLinkIterator_v8_0; 10511 #endif 10512 10513 #ifndef __IDeckLinkDeckControl_v7_9_INTERFACE_DEFINED__ 10514 #define __IDeckLinkDeckControl_v7_9_INTERFACE_DEFINED__ 10515 10516 /* interface IDeckLinkDeckControl_v7_9 */ 10517 /* [helpstring][uuid][object] */ 10518 10519 10520 EXTERN_C const IID IID_IDeckLinkDeckControl_v7_9; 10521 10522 #if defined(__cplusplus) && !defined(CINTERFACE) 10523 10524 MIDL_INTERFACE("A4D81043-0619-42B7-8ED6-602D29041DF7") 10525 IDeckLinkDeckControl_v7_9 : public IUnknown 10526 { 10527 public: 10528 virtual HRESULT STDMETHODCALLTYPE Open( 10529 /* [in] */ BMDTimeScale timeScale, 10530 /* [in] */ BMDTimeValue timeValue, 10531 /* [in] */ BOOL timecodeIsDropFrame, 10532 /* [out] */ BMDDeckControlError *error) = 0; 10533 10534 virtual HRESULT STDMETHODCALLTYPE Close( 10535 /* [in] */ BOOL standbyOn) = 0; 10536 10537 virtual HRESULT STDMETHODCALLTYPE GetCurrentState( 10538 /* [out] */ BMDDeckControlMode *mode, 10539 /* [out] */ BMDDeckControlVTRControlState *vtrControlState, 10540 /* [out] */ BMDDeckControlStatusFlags *flags) = 0; 10541 10542 virtual HRESULT STDMETHODCALLTYPE SetStandby( 10543 /* [in] */ BOOL standbyOn) = 0; 10544 10545 virtual HRESULT STDMETHODCALLTYPE Play( 10546 /* [out] */ BMDDeckControlError *error) = 0; 10547 10548 virtual HRESULT STDMETHODCALLTYPE Stop( 10549 /* [out] */ BMDDeckControlError *error) = 0; 10550 10551 virtual HRESULT STDMETHODCALLTYPE TogglePlayStop( 10552 /* [out] */ BMDDeckControlError *error) = 0; 10553 10554 virtual HRESULT STDMETHODCALLTYPE Eject( 10555 /* [out] */ BMDDeckControlError *error) = 0; 10556 10557 virtual HRESULT STDMETHODCALLTYPE GoToTimecode( 10558 /* [in] */ BMDTimecodeBCD timecode, 10559 /* [out] */ BMDDeckControlError *error) = 0; 10560 10561 virtual HRESULT STDMETHODCALLTYPE FastForward( 10562 /* [in] */ BOOL viewTape, 10563 /* [out] */ BMDDeckControlError *error) = 0; 10564 10565 virtual HRESULT STDMETHODCALLTYPE Rewind( 10566 /* [in] */ BOOL viewTape, 10567 /* [out] */ BMDDeckControlError *error) = 0; 10568 10569 virtual HRESULT STDMETHODCALLTYPE StepForward( 10570 /* [out] */ BMDDeckControlError *error) = 0; 10571 10572 virtual HRESULT STDMETHODCALLTYPE StepBack( 10573 /* [out] */ BMDDeckControlError *error) = 0; 10574 10575 virtual HRESULT STDMETHODCALLTYPE Jog( 10576 /* [in] */ double rate, 10577 /* [out] */ BMDDeckControlError *error) = 0; 10578 10579 virtual HRESULT STDMETHODCALLTYPE Shuttle( 10580 /* [in] */ double rate, 10581 /* [out] */ BMDDeckControlError *error) = 0; 10582 10583 virtual HRESULT STDMETHODCALLTYPE GetTimecodeString( 10584 /* [out] */ BSTR *currentTimeCode, 10585 /* [out] */ BMDDeckControlError *error) = 0; 10586 10587 virtual HRESULT STDMETHODCALLTYPE GetTimecode( 10588 /* [out] */ IDeckLinkTimecode **currentTimecode, 10589 /* [out] */ BMDDeckControlError *error) = 0; 10590 10591 virtual HRESULT STDMETHODCALLTYPE GetTimecodeBCD( 10592 /* [out] */ BMDTimecodeBCD *currentTimecode, 10593 /* [out] */ BMDDeckControlError *error) = 0; 10594 10595 virtual HRESULT STDMETHODCALLTYPE SetPreroll( 10596 /* [in] */ unsigned int prerollSeconds) = 0; 10597 10598 virtual HRESULT STDMETHODCALLTYPE GetPreroll( 10599 /* [out] */ unsigned int *prerollSeconds) = 0; 10600 10601 virtual HRESULT STDMETHODCALLTYPE SetExportOffset( 10602 /* [in] */ int exportOffsetFields) = 0; 10603 10604 virtual HRESULT STDMETHODCALLTYPE GetExportOffset( 10605 /* [out] */ int *exportOffsetFields) = 0; 10606 10607 virtual HRESULT STDMETHODCALLTYPE GetManualExportOffset( 10608 /* [out] */ int *deckManualExportOffsetFields) = 0; 10609 10610 virtual HRESULT STDMETHODCALLTYPE SetCaptureOffset( 10611 /* [in] */ int captureOffsetFields) = 0; 10612 10613 virtual HRESULT STDMETHODCALLTYPE GetCaptureOffset( 10614 /* [out] */ int *captureOffsetFields) = 0; 10615 10616 virtual HRESULT STDMETHODCALLTYPE StartExport( 10617 /* [in] */ BMDTimecodeBCD inTimecode, 10618 /* [in] */ BMDTimecodeBCD outTimecode, 10619 /* [in] */ BMDDeckControlExportModeOpsFlags exportModeOps, 10620 /* [out] */ BMDDeckControlError *error) = 0; 10621 10622 virtual HRESULT STDMETHODCALLTYPE StartCapture( 10623 /* [in] */ BOOL useVITC, 10624 /* [in] */ BMDTimecodeBCD inTimecode, 10625 /* [in] */ BMDTimecodeBCD outTimecode, 10626 /* [out] */ BMDDeckControlError *error) = 0; 10627 10628 virtual HRESULT STDMETHODCALLTYPE GetDeviceID( 10629 /* [out] */ unsigned short *deviceId, 10630 /* [out] */ BMDDeckControlError *error) = 0; 10631 10632 virtual HRESULT STDMETHODCALLTYPE Abort( void) = 0; 10633 10634 virtual HRESULT STDMETHODCALLTYPE CrashRecordStart( 10635 /* [out] */ BMDDeckControlError *error) = 0; 10636 10637 virtual HRESULT STDMETHODCALLTYPE CrashRecordStop( 10638 /* [out] */ BMDDeckControlError *error) = 0; 10639 10640 virtual HRESULT STDMETHODCALLTYPE SetCallback( 10641 /* [in] */ IDeckLinkDeckControlStatusCallback *callback) = 0; 10642 10643 }; 10644 10645 10646 #else /* C style interface */ 10647 10648 typedef struct IDeckLinkDeckControl_v7_9Vtbl 10649 { 10650 BEGIN_INTERFACE 10651 10652 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 10653 IDeckLinkDeckControl_v7_9 * This, 10654 /* [in] */ REFIID riid, 10655 /* [annotation][iid_is][out] */ 10656 _COM_Outptr_ void **ppvObject); 10657 10658 ULONG ( STDMETHODCALLTYPE *AddRef )( 10659 IDeckLinkDeckControl_v7_9 * This); 10660 10661 ULONG ( STDMETHODCALLTYPE *Release )( 10662 IDeckLinkDeckControl_v7_9 * This); 10663 10664 HRESULT ( STDMETHODCALLTYPE *Open )( 10665 IDeckLinkDeckControl_v7_9 * This, 10666 /* [in] */ BMDTimeScale timeScale, 10667 /* [in] */ BMDTimeValue timeValue, 10668 /* [in] */ BOOL timecodeIsDropFrame, 10669 /* [out] */ BMDDeckControlError *error); 10670 10671 HRESULT ( STDMETHODCALLTYPE *Close )( 10672 IDeckLinkDeckControl_v7_9 * This, 10673 /* [in] */ BOOL standbyOn); 10674 10675 HRESULT ( STDMETHODCALLTYPE *GetCurrentState )( 10676 IDeckLinkDeckControl_v7_9 * This, 10677 /* [out] */ BMDDeckControlMode *mode, 10678 /* [out] */ BMDDeckControlVTRControlState *vtrControlState, 10679 /* [out] */ BMDDeckControlStatusFlags *flags); 10680 10681 HRESULT ( STDMETHODCALLTYPE *SetStandby )( 10682 IDeckLinkDeckControl_v7_9 * This, 10683 /* [in] */ BOOL standbyOn); 10684 10685 HRESULT ( STDMETHODCALLTYPE *Play )( 10686 IDeckLinkDeckControl_v7_9 * This, 10687 /* [out] */ BMDDeckControlError *error); 10688 10689 HRESULT ( STDMETHODCALLTYPE *Stop )( 10690 IDeckLinkDeckControl_v7_9 * This, 10691 /* [out] */ BMDDeckControlError *error); 10692 10693 HRESULT ( STDMETHODCALLTYPE *TogglePlayStop )( 10694 IDeckLinkDeckControl_v7_9 * This, 10695 /* [out] */ BMDDeckControlError *error); 10696 10697 HRESULT ( STDMETHODCALLTYPE *Eject )( 10698 IDeckLinkDeckControl_v7_9 * This, 10699 /* [out] */ BMDDeckControlError *error); 10700 10701 HRESULT ( STDMETHODCALLTYPE *GoToTimecode )( 10702 IDeckLinkDeckControl_v7_9 * This, 10703 /* [in] */ BMDTimecodeBCD timecode, 10704 /* [out] */ BMDDeckControlError *error); 10705 10706 HRESULT ( STDMETHODCALLTYPE *FastForward )( 10707 IDeckLinkDeckControl_v7_9 * This, 10708 /* [in] */ BOOL viewTape, 10709 /* [out] */ BMDDeckControlError *error); 10710 10711 HRESULT ( STDMETHODCALLTYPE *Rewind )( 10712 IDeckLinkDeckControl_v7_9 * This, 10713 /* [in] */ BOOL viewTape, 10714 /* [out] */ BMDDeckControlError *error); 10715 10716 HRESULT ( STDMETHODCALLTYPE *StepForward )( 10717 IDeckLinkDeckControl_v7_9 * This, 10718 /* [out] */ BMDDeckControlError *error); 10719 10720 HRESULT ( STDMETHODCALLTYPE *StepBack )( 10721 IDeckLinkDeckControl_v7_9 * This, 10722 /* [out] */ BMDDeckControlError *error); 10723 10724 HRESULT ( STDMETHODCALLTYPE *Jog )( 10725 IDeckLinkDeckControl_v7_9 * This, 10726 /* [in] */ double rate, 10727 /* [out] */ BMDDeckControlError *error); 10728 10729 HRESULT ( STDMETHODCALLTYPE *Shuttle )( 10730 IDeckLinkDeckControl_v7_9 * This, 10731 /* [in] */ double rate, 10732 /* [out] */ BMDDeckControlError *error); 10733 10734 HRESULT ( STDMETHODCALLTYPE *GetTimecodeString )( 10735 IDeckLinkDeckControl_v7_9 * This, 10736 /* [out] */ BSTR *currentTimeCode, 10737 /* [out] */ BMDDeckControlError *error); 10738 10739 HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 10740 IDeckLinkDeckControl_v7_9 * This, 10741 /* [out] */ IDeckLinkTimecode **currentTimecode, 10742 /* [out] */ BMDDeckControlError *error); 10743 10744 HRESULT ( STDMETHODCALLTYPE *GetTimecodeBCD )( 10745 IDeckLinkDeckControl_v7_9 * This, 10746 /* [out] */ BMDTimecodeBCD *currentTimecode, 10747 /* [out] */ BMDDeckControlError *error); 10748 10749 HRESULT ( STDMETHODCALLTYPE *SetPreroll )( 10750 IDeckLinkDeckControl_v7_9 * This, 10751 /* [in] */ unsigned int prerollSeconds); 10752 10753 HRESULT ( STDMETHODCALLTYPE *GetPreroll )( 10754 IDeckLinkDeckControl_v7_9 * This, 10755 /* [out] */ unsigned int *prerollSeconds); 10756 10757 HRESULT ( STDMETHODCALLTYPE *SetExportOffset )( 10758 IDeckLinkDeckControl_v7_9 * This, 10759 /* [in] */ int exportOffsetFields); 10760 10761 HRESULT ( STDMETHODCALLTYPE *GetExportOffset )( 10762 IDeckLinkDeckControl_v7_9 * This, 10763 /* [out] */ int *exportOffsetFields); 10764 10765 HRESULT ( STDMETHODCALLTYPE *GetManualExportOffset )( 10766 IDeckLinkDeckControl_v7_9 * This, 10767 /* [out] */ int *deckManualExportOffsetFields); 10768 10769 HRESULT ( STDMETHODCALLTYPE *SetCaptureOffset )( 10770 IDeckLinkDeckControl_v7_9 * This, 10771 /* [in] */ int captureOffsetFields); 10772 10773 HRESULT ( STDMETHODCALLTYPE *GetCaptureOffset )( 10774 IDeckLinkDeckControl_v7_9 * This, 10775 /* [out] */ int *captureOffsetFields); 10776 10777 HRESULT ( STDMETHODCALLTYPE *StartExport )( 10778 IDeckLinkDeckControl_v7_9 * This, 10779 /* [in] */ BMDTimecodeBCD inTimecode, 10780 /* [in] */ BMDTimecodeBCD outTimecode, 10781 /* [in] */ BMDDeckControlExportModeOpsFlags exportModeOps, 10782 /* [out] */ BMDDeckControlError *error); 10783 10784 HRESULT ( STDMETHODCALLTYPE *StartCapture )( 10785 IDeckLinkDeckControl_v7_9 * This, 10786 /* [in] */ BOOL useVITC, 10787 /* [in] */ BMDTimecodeBCD inTimecode, 10788 /* [in] */ BMDTimecodeBCD outTimecode, 10789 /* [out] */ BMDDeckControlError *error); 10790 10791 HRESULT ( STDMETHODCALLTYPE *GetDeviceID )( 10792 IDeckLinkDeckControl_v7_9 * This, 10793 /* [out] */ unsigned short *deviceId, 10794 /* [out] */ BMDDeckControlError *error); 10795 10796 HRESULT ( STDMETHODCALLTYPE *Abort )( 10797 IDeckLinkDeckControl_v7_9 * This); 10798 10799 HRESULT ( STDMETHODCALLTYPE *CrashRecordStart )( 10800 IDeckLinkDeckControl_v7_9 * This, 10801 /* [out] */ BMDDeckControlError *error); 10802 10803 HRESULT ( STDMETHODCALLTYPE *CrashRecordStop )( 10804 IDeckLinkDeckControl_v7_9 * This, 10805 /* [out] */ BMDDeckControlError *error); 10806 10807 HRESULT ( STDMETHODCALLTYPE *SetCallback )( 10808 IDeckLinkDeckControl_v7_9 * This, 10809 /* [in] */ IDeckLinkDeckControlStatusCallback *callback); 10810 10811 END_INTERFACE 10812 } IDeckLinkDeckControl_v7_9Vtbl; 10813 10814 interface IDeckLinkDeckControl_v7_9 10815 { 10816 CONST_VTBL struct IDeckLinkDeckControl_v7_9Vtbl *lpVtbl; 10817 }; 10818 10819 10820 10821 #ifdef COBJMACROS 10822 10823 10824 #define IDeckLinkDeckControl_v7_9_QueryInterface(This,riid,ppvObject) \ 10825 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 10826 10827 #define IDeckLinkDeckControl_v7_9_AddRef(This) \ 10828 ( (This)->lpVtbl -> AddRef(This) ) 10829 10830 #define IDeckLinkDeckControl_v7_9_Release(This) \ 10831 ( (This)->lpVtbl -> Release(This) ) 10832 10833 10834 #define IDeckLinkDeckControl_v7_9_Open(This,timeScale,timeValue,timecodeIsDropFrame,error) \ 10835 ( (This)->lpVtbl -> Open(This,timeScale,timeValue,timecodeIsDropFrame,error) ) 10836 10837 #define IDeckLinkDeckControl_v7_9_Close(This,standbyOn) \ 10838 ( (This)->lpVtbl -> Close(This,standbyOn) ) 10839 10840 #define IDeckLinkDeckControl_v7_9_GetCurrentState(This,mode,vtrControlState,flags) \ 10841 ( (This)->lpVtbl -> GetCurrentState(This,mode,vtrControlState,flags) ) 10842 10843 #define IDeckLinkDeckControl_v7_9_SetStandby(This,standbyOn) \ 10844 ( (This)->lpVtbl -> SetStandby(This,standbyOn) ) 10845 10846 #define IDeckLinkDeckControl_v7_9_Play(This,error) \ 10847 ( (This)->lpVtbl -> Play(This,error) ) 10848 10849 #define IDeckLinkDeckControl_v7_9_Stop(This,error) \ 10850 ( (This)->lpVtbl -> Stop(This,error) ) 10851 10852 #define IDeckLinkDeckControl_v7_9_TogglePlayStop(This,error) \ 10853 ( (This)->lpVtbl -> TogglePlayStop(This,error) ) 10854 10855 #define IDeckLinkDeckControl_v7_9_Eject(This,error) \ 10856 ( (This)->lpVtbl -> Eject(This,error) ) 10857 10858 #define IDeckLinkDeckControl_v7_9_GoToTimecode(This,timecode,error) \ 10859 ( (This)->lpVtbl -> GoToTimecode(This,timecode,error) ) 10860 10861 #define IDeckLinkDeckControl_v7_9_FastForward(This,viewTape,error) \ 10862 ( (This)->lpVtbl -> FastForward(This,viewTape,error) ) 10863 10864 #define IDeckLinkDeckControl_v7_9_Rewind(This,viewTape,error) \ 10865 ( (This)->lpVtbl -> Rewind(This,viewTape,error) ) 10866 10867 #define IDeckLinkDeckControl_v7_9_StepForward(This,error) \ 10868 ( (This)->lpVtbl -> StepForward(This,error) ) 10869 10870 #define IDeckLinkDeckControl_v7_9_StepBack(This,error) \ 10871 ( (This)->lpVtbl -> StepBack(This,error) ) 10872 10873 #define IDeckLinkDeckControl_v7_9_Jog(This,rate,error) \ 10874 ( (This)->lpVtbl -> Jog(This,rate,error) ) 10875 10876 #define IDeckLinkDeckControl_v7_9_Shuttle(This,rate,error) \ 10877 ( (This)->lpVtbl -> Shuttle(This,rate,error) ) 10878 10879 #define IDeckLinkDeckControl_v7_9_GetTimecodeString(This,currentTimeCode,error) \ 10880 ( (This)->lpVtbl -> GetTimecodeString(This,currentTimeCode,error) ) 10881 10882 #define IDeckLinkDeckControl_v7_9_GetTimecode(This,currentTimecode,error) \ 10883 ( (This)->lpVtbl -> GetTimecode(This,currentTimecode,error) ) 10884 10885 #define IDeckLinkDeckControl_v7_9_GetTimecodeBCD(This,currentTimecode,error) \ 10886 ( (This)->lpVtbl -> GetTimecodeBCD(This,currentTimecode,error) ) 10887 10888 #define IDeckLinkDeckControl_v7_9_SetPreroll(This,prerollSeconds) \ 10889 ( (This)->lpVtbl -> SetPreroll(This,prerollSeconds) ) 10890 10891 #define IDeckLinkDeckControl_v7_9_GetPreroll(This,prerollSeconds) \ 10892 ( (This)->lpVtbl -> GetPreroll(This,prerollSeconds) ) 10893 10894 #define IDeckLinkDeckControl_v7_9_SetExportOffset(This,exportOffsetFields) \ 10895 ( (This)->lpVtbl -> SetExportOffset(This,exportOffsetFields) ) 10896 10897 #define IDeckLinkDeckControl_v7_9_GetExportOffset(This,exportOffsetFields) \ 10898 ( (This)->lpVtbl -> GetExportOffset(This,exportOffsetFields) ) 10899 10900 #define IDeckLinkDeckControl_v7_9_GetManualExportOffset(This,deckManualExportOffsetFields) \ 10901 ( (This)->lpVtbl -> GetManualExportOffset(This,deckManualExportOffsetFields) ) 10902 10903 #define IDeckLinkDeckControl_v7_9_SetCaptureOffset(This,captureOffsetFields) \ 10904 ( (This)->lpVtbl -> SetCaptureOffset(This,captureOffsetFields) ) 10905 10906 #define IDeckLinkDeckControl_v7_9_GetCaptureOffset(This,captureOffsetFields) \ 10907 ( (This)->lpVtbl -> GetCaptureOffset(This,captureOffsetFields) ) 10908 10909 #define IDeckLinkDeckControl_v7_9_StartExport(This,inTimecode,outTimecode,exportModeOps,error) \ 10910 ( (This)->lpVtbl -> StartExport(This,inTimecode,outTimecode,exportModeOps,error) ) 10911 10912 #define IDeckLinkDeckControl_v7_9_StartCapture(This,useVITC,inTimecode,outTimecode,error) \ 10913 ( (This)->lpVtbl -> StartCapture(This,useVITC,inTimecode,outTimecode,error) ) 10914 10915 #define IDeckLinkDeckControl_v7_9_GetDeviceID(This,deviceId,error) \ 10916 ( (This)->lpVtbl -> GetDeviceID(This,deviceId,error) ) 10917 10918 #define IDeckLinkDeckControl_v7_9_Abort(This) \ 10919 ( (This)->lpVtbl -> Abort(This) ) 10920 10921 #define IDeckLinkDeckControl_v7_9_CrashRecordStart(This,error) \ 10922 ( (This)->lpVtbl -> CrashRecordStart(This,error) ) 10923 10924 #define IDeckLinkDeckControl_v7_9_CrashRecordStop(This,error) \ 10925 ( (This)->lpVtbl -> CrashRecordStop(This,error) ) 10926 10927 #define IDeckLinkDeckControl_v7_9_SetCallback(This,callback) \ 10928 ( (This)->lpVtbl -> SetCallback(This,callback) ) 10929 10930 #endif /* COBJMACROS */ 10931 10932 10933 #endif /* C style interface */ 10934 10935 10936 10937 10938 #endif /* __IDeckLinkDeckControl_v7_9_INTERFACE_DEFINED__ */ 10939 10940 10941 #ifndef __IDeckLinkDisplayModeIterator_v7_6_INTERFACE_DEFINED__ 10942 #define __IDeckLinkDisplayModeIterator_v7_6_INTERFACE_DEFINED__ 10943 10944 /* interface IDeckLinkDisplayModeIterator_v7_6 */ 10945 /* [helpstring][uuid][object] */ 10946 10947 10948 EXTERN_C const IID IID_IDeckLinkDisplayModeIterator_v7_6; 10949 10950 #if defined(__cplusplus) && !defined(CINTERFACE) 10951 10952 MIDL_INTERFACE("455D741F-1779-4800-86F5-0B5D13D79751") 10953 IDeckLinkDisplayModeIterator_v7_6 : public IUnknown 10954 { 10955 public: 10956 virtual HRESULT STDMETHODCALLTYPE Next( 10957 /* [out] */ IDeckLinkDisplayMode_v7_6 **deckLinkDisplayMode) = 0; 10958 10959 }; 10960 10961 10962 #else /* C style interface */ 10963 10964 typedef struct IDeckLinkDisplayModeIterator_v7_6Vtbl 10965 { 10966 BEGIN_INTERFACE 10967 10968 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 10969 IDeckLinkDisplayModeIterator_v7_6 * This, 10970 /* [in] */ REFIID riid, 10971 /* [annotation][iid_is][out] */ 10972 _COM_Outptr_ void **ppvObject); 10973 10974 ULONG ( STDMETHODCALLTYPE *AddRef )( 10975 IDeckLinkDisplayModeIterator_v7_6 * This); 10976 10977 ULONG ( STDMETHODCALLTYPE *Release )( 10978 IDeckLinkDisplayModeIterator_v7_6 * This); 10979 10980 HRESULT ( STDMETHODCALLTYPE *Next )( 10981 IDeckLinkDisplayModeIterator_v7_6 * This, 10982 /* [out] */ IDeckLinkDisplayMode_v7_6 **deckLinkDisplayMode); 10983 10984 END_INTERFACE 10985 } IDeckLinkDisplayModeIterator_v7_6Vtbl; 10986 10987 interface IDeckLinkDisplayModeIterator_v7_6 10988 { 10989 CONST_VTBL struct IDeckLinkDisplayModeIterator_v7_6Vtbl *lpVtbl; 10990 }; 10991 10992 10993 10994 #ifdef COBJMACROS 10995 10996 10997 #define IDeckLinkDisplayModeIterator_v7_6_QueryInterface(This,riid,ppvObject) \ 10998 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 10999 11000 #define IDeckLinkDisplayModeIterator_v7_6_AddRef(This) \ 11001 ( (This)->lpVtbl -> AddRef(This) ) 11002 11003 #define IDeckLinkDisplayModeIterator_v7_6_Release(This) \ 11004 ( (This)->lpVtbl -> Release(This) ) 11005 11006 11007 #define IDeckLinkDisplayModeIterator_v7_6_Next(This,deckLinkDisplayMode) \ 11008 ( (This)->lpVtbl -> Next(This,deckLinkDisplayMode) ) 11009 11010 #endif /* COBJMACROS */ 11011 11012 11013 #endif /* C style interface */ 11014 11015 11016 11017 11018 #endif /* __IDeckLinkDisplayModeIterator_v7_6_INTERFACE_DEFINED__ */ 11019 11020 11021 #ifndef __IDeckLinkDisplayMode_v7_6_INTERFACE_DEFINED__ 11022 #define __IDeckLinkDisplayMode_v7_6_INTERFACE_DEFINED__ 11023 11024 /* interface IDeckLinkDisplayMode_v7_6 */ 11025 /* [helpstring][uuid][object] */ 11026 11027 11028 EXTERN_C const IID IID_IDeckLinkDisplayMode_v7_6; 11029 11030 #if defined(__cplusplus) && !defined(CINTERFACE) 11031 11032 MIDL_INTERFACE("87451E84-2B7E-439E-A629-4393EA4A8550") 11033 IDeckLinkDisplayMode_v7_6 : public IUnknown 11034 { 11035 public: 11036 virtual HRESULT STDMETHODCALLTYPE GetName( 11037 /* [out] */ BSTR *name) = 0; 11038 11039 virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode( void) = 0; 11040 11041 virtual long STDMETHODCALLTYPE GetWidth( void) = 0; 11042 11043 virtual long STDMETHODCALLTYPE GetHeight( void) = 0; 11044 11045 virtual HRESULT STDMETHODCALLTYPE GetFrameRate( 11046 /* [out] */ BMDTimeValue *frameDuration, 11047 /* [out] */ BMDTimeScale *timeScale) = 0; 11048 11049 virtual BMDFieldDominance STDMETHODCALLTYPE GetFieldDominance( void) = 0; 11050 11051 }; 11052 11053 11054 #else /* C style interface */ 11055 11056 typedef struct IDeckLinkDisplayMode_v7_6Vtbl 11057 { 11058 BEGIN_INTERFACE 11059 11060 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 11061 IDeckLinkDisplayMode_v7_6 * This, 11062 /* [in] */ REFIID riid, 11063 /* [annotation][iid_is][out] */ 11064 _COM_Outptr_ void **ppvObject); 11065 11066 ULONG ( STDMETHODCALLTYPE *AddRef )( 11067 IDeckLinkDisplayMode_v7_6 * This); 11068 11069 ULONG ( STDMETHODCALLTYPE *Release )( 11070 IDeckLinkDisplayMode_v7_6 * This); 11071 11072 HRESULT ( STDMETHODCALLTYPE *GetName )( 11073 IDeckLinkDisplayMode_v7_6 * This, 11074 /* [out] */ BSTR *name); 11075 11076 BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )( 11077 IDeckLinkDisplayMode_v7_6 * This); 11078 11079 long ( STDMETHODCALLTYPE *GetWidth )( 11080 IDeckLinkDisplayMode_v7_6 * This); 11081 11082 long ( STDMETHODCALLTYPE *GetHeight )( 11083 IDeckLinkDisplayMode_v7_6 * This); 11084 11085 HRESULT ( STDMETHODCALLTYPE *GetFrameRate )( 11086 IDeckLinkDisplayMode_v7_6 * This, 11087 /* [out] */ BMDTimeValue *frameDuration, 11088 /* [out] */ BMDTimeScale *timeScale); 11089 11090 BMDFieldDominance ( STDMETHODCALLTYPE *GetFieldDominance )( 11091 IDeckLinkDisplayMode_v7_6 * This); 11092 11093 END_INTERFACE 11094 } IDeckLinkDisplayMode_v7_6Vtbl; 11095 11096 interface IDeckLinkDisplayMode_v7_6 11097 { 11098 CONST_VTBL struct IDeckLinkDisplayMode_v7_6Vtbl *lpVtbl; 11099 }; 11100 11101 11102 11103 #ifdef COBJMACROS 11104 11105 11106 #define IDeckLinkDisplayMode_v7_6_QueryInterface(This,riid,ppvObject) \ 11107 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 11108 11109 #define IDeckLinkDisplayMode_v7_6_AddRef(This) \ 11110 ( (This)->lpVtbl -> AddRef(This) ) 11111 11112 #define IDeckLinkDisplayMode_v7_6_Release(This) \ 11113 ( (This)->lpVtbl -> Release(This) ) 11114 11115 11116 #define IDeckLinkDisplayMode_v7_6_GetName(This,name) \ 11117 ( (This)->lpVtbl -> GetName(This,name) ) 11118 11119 #define IDeckLinkDisplayMode_v7_6_GetDisplayMode(This) \ 11120 ( (This)->lpVtbl -> GetDisplayMode(This) ) 11121 11122 #define IDeckLinkDisplayMode_v7_6_GetWidth(This) \ 11123 ( (This)->lpVtbl -> GetWidth(This) ) 11124 11125 #define IDeckLinkDisplayMode_v7_6_GetHeight(This) \ 11126 ( (This)->lpVtbl -> GetHeight(This) ) 11127 11128 #define IDeckLinkDisplayMode_v7_6_GetFrameRate(This,frameDuration,timeScale) \ 11129 ( (This)->lpVtbl -> GetFrameRate(This,frameDuration,timeScale) ) 11130 11131 #define IDeckLinkDisplayMode_v7_6_GetFieldDominance(This) \ 11132 ( (This)->lpVtbl -> GetFieldDominance(This) ) 11133 11134 #endif /* COBJMACROS */ 11135 11136 11137 #endif /* C style interface */ 11138 11139 11140 11141 11142 #endif /* __IDeckLinkDisplayMode_v7_6_INTERFACE_DEFINED__ */ 11143 11144 11145 #ifndef __IDeckLinkOutput_v7_6_INTERFACE_DEFINED__ 11146 #define __IDeckLinkOutput_v7_6_INTERFACE_DEFINED__ 11147 11148 /* interface IDeckLinkOutput_v7_6 */ 11149 /* [helpstring][local][uuid][object] */ 11150 11151 11152 EXTERN_C const IID IID_IDeckLinkOutput_v7_6; 11153 11154 #if defined(__cplusplus) && !defined(CINTERFACE) 11155 11156 MIDL_INTERFACE("29228142-EB8C-4141-A621-F74026450955") 11157 IDeckLinkOutput_v7_6 : public IUnknown 11158 { 11159 public: 11160 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( 11161 BMDDisplayMode displayMode, 11162 BMDPixelFormat pixelFormat, 11163 /* [out] */ BMDDisplayModeSupport *result) = 0; 11164 11165 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( 11166 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0; 11167 11168 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( 11169 /* [in] */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback) = 0; 11170 11171 virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput( 11172 BMDDisplayMode displayMode, 11173 BMDVideoOutputFlags flags) = 0; 11174 11175 virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0; 11176 11177 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator( 11178 /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0; 11179 11180 virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame( 11181 int width, 11182 int height, 11183 int rowBytes, 11184 BMDPixelFormat pixelFormat, 11185 BMDFrameFlags flags, 11186 /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame) = 0; 11187 11188 virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData( 11189 BMDPixelFormat pixelFormat, 11190 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer) = 0; 11191 11192 virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync( 11193 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0; 11194 11195 virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame( 11196 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame, 11197 BMDTimeValue displayTime, 11198 BMDTimeValue displayDuration, 11199 BMDTimeScale timeScale) = 0; 11200 11201 virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback( 11202 /* [in] */ IDeckLinkVideoOutputCallback_v7_6 *theCallback) = 0; 11203 11204 virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount( 11205 /* [out] */ unsigned int *bufferedFrameCount) = 0; 11206 11207 virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput( 11208 BMDAudioSampleRate sampleRate, 11209 BMDAudioSampleType sampleType, 11210 unsigned int channelCount, 11211 BMDAudioOutputStreamType streamType) = 0; 11212 11213 virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0; 11214 11215 virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync( 11216 /* [in] */ void *buffer, 11217 unsigned int sampleFrameCount, 11218 /* [out] */ unsigned int *sampleFramesWritten) = 0; 11219 11220 virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0; 11221 11222 virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0; 11223 11224 virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples( 11225 /* [in] */ void *buffer, 11226 unsigned int sampleFrameCount, 11227 BMDTimeValue streamTime, 11228 BMDTimeScale timeScale, 11229 /* [out] */ unsigned int *sampleFramesWritten) = 0; 11230 11231 virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount( 11232 /* [out] */ unsigned int *bufferedSampleFrameCount) = 0; 11233 11234 virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0; 11235 11236 virtual HRESULT STDMETHODCALLTYPE SetAudioCallback( 11237 /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0; 11238 11239 virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback( 11240 BMDTimeValue playbackStartTime, 11241 BMDTimeScale timeScale, 11242 double playbackSpeed) = 0; 11243 11244 virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback( 11245 BMDTimeValue stopPlaybackAtTime, 11246 /* [out] */ BMDTimeValue *actualStopTime, 11247 BMDTimeScale timeScale) = 0; 11248 11249 virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning( 11250 /* [out] */ BOOL *active) = 0; 11251 11252 virtual HRESULT STDMETHODCALLTYPE GetScheduledStreamTime( 11253 BMDTimeScale desiredTimeScale, 11254 /* [out] */ BMDTimeValue *streamTime, 11255 /* [out] */ double *playbackSpeed) = 0; 11256 11257 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( 11258 BMDTimeScale desiredTimeScale, 11259 /* [out] */ BMDTimeValue *hardwareTime, 11260 /* [out] */ BMDTimeValue *timeInFrame, 11261 /* [out] */ BMDTimeValue *ticksPerFrame) = 0; 11262 11263 }; 11264 11265 11266 #else /* C style interface */ 11267 11268 typedef struct IDeckLinkOutput_v7_6Vtbl 11269 { 11270 BEGIN_INTERFACE 11271 11272 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 11273 IDeckLinkOutput_v7_6 * This, 11274 /* [in] */ REFIID riid, 11275 /* [annotation][iid_is][out] */ 11276 _COM_Outptr_ void **ppvObject); 11277 11278 ULONG ( STDMETHODCALLTYPE *AddRef )( 11279 IDeckLinkOutput_v7_6 * This); 11280 11281 ULONG ( STDMETHODCALLTYPE *Release )( 11282 IDeckLinkOutput_v7_6 * This); 11283 11284 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( 11285 IDeckLinkOutput_v7_6 * This, 11286 BMDDisplayMode displayMode, 11287 BMDPixelFormat pixelFormat, 11288 /* [out] */ BMDDisplayModeSupport *result); 11289 11290 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( 11291 IDeckLinkOutput_v7_6 * This, 11292 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator); 11293 11294 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )( 11295 IDeckLinkOutput_v7_6 * This, 11296 /* [in] */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback); 11297 11298 HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )( 11299 IDeckLinkOutput_v7_6 * This, 11300 BMDDisplayMode displayMode, 11301 BMDVideoOutputFlags flags); 11302 11303 HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )( 11304 IDeckLinkOutput_v7_6 * This); 11305 11306 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )( 11307 IDeckLinkOutput_v7_6 * This, 11308 /* [in] */ IDeckLinkMemoryAllocator *theAllocator); 11309 11310 HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )( 11311 IDeckLinkOutput_v7_6 * This, 11312 int width, 11313 int height, 11314 int rowBytes, 11315 BMDPixelFormat pixelFormat, 11316 BMDFrameFlags flags, 11317 /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame); 11318 11319 HRESULT ( STDMETHODCALLTYPE *CreateAncillaryData )( 11320 IDeckLinkOutput_v7_6 * This, 11321 BMDPixelFormat pixelFormat, 11322 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer); 11323 11324 HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )( 11325 IDeckLinkOutput_v7_6 * This, 11326 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame); 11327 11328 HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )( 11329 IDeckLinkOutput_v7_6 * This, 11330 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame, 11331 BMDTimeValue displayTime, 11332 BMDTimeValue displayDuration, 11333 BMDTimeScale timeScale); 11334 11335 HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )( 11336 IDeckLinkOutput_v7_6 * This, 11337 /* [in] */ IDeckLinkVideoOutputCallback_v7_6 *theCallback); 11338 11339 HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )( 11340 IDeckLinkOutput_v7_6 * This, 11341 /* [out] */ unsigned int *bufferedFrameCount); 11342 11343 HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )( 11344 IDeckLinkOutput_v7_6 * This, 11345 BMDAudioSampleRate sampleRate, 11346 BMDAudioSampleType sampleType, 11347 unsigned int channelCount, 11348 BMDAudioOutputStreamType streamType); 11349 11350 HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )( 11351 IDeckLinkOutput_v7_6 * This); 11352 11353 HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )( 11354 IDeckLinkOutput_v7_6 * This, 11355 /* [in] */ void *buffer, 11356 unsigned int sampleFrameCount, 11357 /* [out] */ unsigned int *sampleFramesWritten); 11358 11359 HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )( 11360 IDeckLinkOutput_v7_6 * This); 11361 11362 HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )( 11363 IDeckLinkOutput_v7_6 * This); 11364 11365 HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )( 11366 IDeckLinkOutput_v7_6 * This, 11367 /* [in] */ void *buffer, 11368 unsigned int sampleFrameCount, 11369 BMDTimeValue streamTime, 11370 BMDTimeScale timeScale, 11371 /* [out] */ unsigned int *sampleFramesWritten); 11372 11373 HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )( 11374 IDeckLinkOutput_v7_6 * This, 11375 /* [out] */ unsigned int *bufferedSampleFrameCount); 11376 11377 HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )( 11378 IDeckLinkOutput_v7_6 * This); 11379 11380 HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )( 11381 IDeckLinkOutput_v7_6 * This, 11382 /* [in] */ IDeckLinkAudioOutputCallback *theCallback); 11383 11384 HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )( 11385 IDeckLinkOutput_v7_6 * This, 11386 BMDTimeValue playbackStartTime, 11387 BMDTimeScale timeScale, 11388 double playbackSpeed); 11389 11390 HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )( 11391 IDeckLinkOutput_v7_6 * This, 11392 BMDTimeValue stopPlaybackAtTime, 11393 /* [out] */ BMDTimeValue *actualStopTime, 11394 BMDTimeScale timeScale); 11395 11396 HRESULT ( STDMETHODCALLTYPE *IsScheduledPlaybackRunning )( 11397 IDeckLinkOutput_v7_6 * This, 11398 /* [out] */ BOOL *active); 11399 11400 HRESULT ( STDMETHODCALLTYPE *GetScheduledStreamTime )( 11401 IDeckLinkOutput_v7_6 * This, 11402 BMDTimeScale desiredTimeScale, 11403 /* [out] */ BMDTimeValue *streamTime, 11404 /* [out] */ double *playbackSpeed); 11405 11406 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( 11407 IDeckLinkOutput_v7_6 * This, 11408 BMDTimeScale desiredTimeScale, 11409 /* [out] */ BMDTimeValue *hardwareTime, 11410 /* [out] */ BMDTimeValue *timeInFrame, 11411 /* [out] */ BMDTimeValue *ticksPerFrame); 11412 11413 END_INTERFACE 11414 } IDeckLinkOutput_v7_6Vtbl; 11415 11416 interface IDeckLinkOutput_v7_6 11417 { 11418 CONST_VTBL struct IDeckLinkOutput_v7_6Vtbl *lpVtbl; 11419 }; 11420 11421 11422 11423 #ifdef COBJMACROS 11424 11425 11426 #define IDeckLinkOutput_v7_6_QueryInterface(This,riid,ppvObject) \ 11427 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 11428 11429 #define IDeckLinkOutput_v7_6_AddRef(This) \ 11430 ( (This)->lpVtbl -> AddRef(This) ) 11431 11432 #define IDeckLinkOutput_v7_6_Release(This) \ 11433 ( (This)->lpVtbl -> Release(This) ) 11434 11435 11436 #define IDeckLinkOutput_v7_6_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \ 11437 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) ) 11438 11439 #define IDeckLinkOutput_v7_6_GetDisplayModeIterator(This,iterator) \ 11440 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) 11441 11442 #define IDeckLinkOutput_v7_6_SetScreenPreviewCallback(This,previewCallback) \ 11443 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) ) 11444 11445 #define IDeckLinkOutput_v7_6_EnableVideoOutput(This,displayMode,flags) \ 11446 ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode,flags) ) 11447 11448 #define IDeckLinkOutput_v7_6_DisableVideoOutput(This) \ 11449 ( (This)->lpVtbl -> DisableVideoOutput(This) ) 11450 11451 #define IDeckLinkOutput_v7_6_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \ 11452 ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) ) 11453 11454 #define IDeckLinkOutput_v7_6_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \ 11455 ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) ) 11456 11457 #define IDeckLinkOutput_v7_6_CreateAncillaryData(This,pixelFormat,outBuffer) \ 11458 ( (This)->lpVtbl -> CreateAncillaryData(This,pixelFormat,outBuffer) ) 11459 11460 #define IDeckLinkOutput_v7_6_DisplayVideoFrameSync(This,theFrame) \ 11461 ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) ) 11462 11463 #define IDeckLinkOutput_v7_6_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \ 11464 ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) ) 11465 11466 #define IDeckLinkOutput_v7_6_SetScheduledFrameCompletionCallback(This,theCallback) \ 11467 ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) ) 11468 11469 #define IDeckLinkOutput_v7_6_GetBufferedVideoFrameCount(This,bufferedFrameCount) \ 11470 ( (This)->lpVtbl -> GetBufferedVideoFrameCount(This,bufferedFrameCount) ) 11471 11472 #define IDeckLinkOutput_v7_6_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) \ 11473 ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) ) 11474 11475 #define IDeckLinkOutput_v7_6_DisableAudioOutput(This) \ 11476 ( (This)->lpVtbl -> DisableAudioOutput(This) ) 11477 11478 #define IDeckLinkOutput_v7_6_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \ 11479 ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) ) 11480 11481 #define IDeckLinkOutput_v7_6_BeginAudioPreroll(This) \ 11482 ( (This)->lpVtbl -> BeginAudioPreroll(This) ) 11483 11484 #define IDeckLinkOutput_v7_6_EndAudioPreroll(This) \ 11485 ( (This)->lpVtbl -> EndAudioPreroll(This) ) 11486 11487 #define IDeckLinkOutput_v7_6_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \ 11488 ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) ) 11489 11490 #define IDeckLinkOutput_v7_6_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) \ 11491 ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) ) 11492 11493 #define IDeckLinkOutput_v7_6_FlushBufferedAudioSamples(This) \ 11494 ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) ) 11495 11496 #define IDeckLinkOutput_v7_6_SetAudioCallback(This,theCallback) \ 11497 ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) ) 11498 11499 #define IDeckLinkOutput_v7_6_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \ 11500 ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) ) 11501 11502 #define IDeckLinkOutput_v7_6_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \ 11503 ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) ) 11504 11505 #define IDeckLinkOutput_v7_6_IsScheduledPlaybackRunning(This,active) \ 11506 ( (This)->lpVtbl -> IsScheduledPlaybackRunning(This,active) ) 11507 11508 #define IDeckLinkOutput_v7_6_GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) \ 11509 ( (This)->lpVtbl -> GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) ) 11510 11511 #define IDeckLinkOutput_v7_6_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \ 11512 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) ) 11513 11514 #endif /* COBJMACROS */ 11515 11516 11517 #endif /* C style interface */ 11518 11519 11520 11521 11522 #endif /* __IDeckLinkOutput_v7_6_INTERFACE_DEFINED__ */ 11523 11524 11525 #ifndef __IDeckLinkInput_v7_6_INTERFACE_DEFINED__ 11526 #define __IDeckLinkInput_v7_6_INTERFACE_DEFINED__ 11527 11528 /* interface IDeckLinkInput_v7_6 */ 11529 /* [helpstring][uuid][object] */ 11530 11531 11532 EXTERN_C const IID IID_IDeckLinkInput_v7_6; 11533 11534 #if defined(__cplusplus) && !defined(CINTERFACE) 11535 11536 MIDL_INTERFACE("300C135A-9F43-48E2-9906-6D7911D93CF1") 11537 IDeckLinkInput_v7_6 : public IUnknown 11538 { 11539 public: 11540 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( 11541 BMDDisplayMode displayMode, 11542 BMDPixelFormat pixelFormat, 11543 /* [out] */ BMDDisplayModeSupport *result) = 0; 11544 11545 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( 11546 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0; 11547 11548 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( 11549 /* [in] */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback) = 0; 11550 11551 virtual HRESULT STDMETHODCALLTYPE EnableVideoInput( 11552 BMDDisplayMode displayMode, 11553 BMDPixelFormat pixelFormat, 11554 BMDVideoInputFlags flags) = 0; 11555 11556 virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0; 11557 11558 virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount( 11559 /* [out] */ unsigned int *availableFrameCount) = 0; 11560 11561 virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( 11562 BMDAudioSampleRate sampleRate, 11563 BMDAudioSampleType sampleType, 11564 unsigned int channelCount) = 0; 11565 11566 virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0; 11567 11568 virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount( 11569 /* [out] */ unsigned int *availableSampleFrameCount) = 0; 11570 11571 virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0; 11572 11573 virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0; 11574 11575 virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0; 11576 11577 virtual HRESULT STDMETHODCALLTYPE FlushStreams( void) = 0; 11578 11579 virtual HRESULT STDMETHODCALLTYPE SetCallback( 11580 /* [in] */ IDeckLinkInputCallback_v7_6 *theCallback) = 0; 11581 11582 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( 11583 BMDTimeScale desiredTimeScale, 11584 /* [out] */ BMDTimeValue *hardwareTime, 11585 /* [out] */ BMDTimeValue *timeInFrame, 11586 /* [out] */ BMDTimeValue *ticksPerFrame) = 0; 11587 11588 }; 11589 11590 11591 #else /* C style interface */ 11592 11593 typedef struct IDeckLinkInput_v7_6Vtbl 11594 { 11595 BEGIN_INTERFACE 11596 11597 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 11598 IDeckLinkInput_v7_6 * This, 11599 /* [in] */ REFIID riid, 11600 /* [annotation][iid_is][out] */ 11601 _COM_Outptr_ void **ppvObject); 11602 11603 ULONG ( STDMETHODCALLTYPE *AddRef )( 11604 IDeckLinkInput_v7_6 * This); 11605 11606 ULONG ( STDMETHODCALLTYPE *Release )( 11607 IDeckLinkInput_v7_6 * This); 11608 11609 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( 11610 IDeckLinkInput_v7_6 * This, 11611 BMDDisplayMode displayMode, 11612 BMDPixelFormat pixelFormat, 11613 /* [out] */ BMDDisplayModeSupport *result); 11614 11615 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( 11616 IDeckLinkInput_v7_6 * This, 11617 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator); 11618 11619 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )( 11620 IDeckLinkInput_v7_6 * This, 11621 /* [in] */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback); 11622 11623 HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )( 11624 IDeckLinkInput_v7_6 * This, 11625 BMDDisplayMode displayMode, 11626 BMDPixelFormat pixelFormat, 11627 BMDVideoInputFlags flags); 11628 11629 HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )( 11630 IDeckLinkInput_v7_6 * This); 11631 11632 HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )( 11633 IDeckLinkInput_v7_6 * This, 11634 /* [out] */ unsigned int *availableFrameCount); 11635 11636 HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )( 11637 IDeckLinkInput_v7_6 * This, 11638 BMDAudioSampleRate sampleRate, 11639 BMDAudioSampleType sampleType, 11640 unsigned int channelCount); 11641 11642 HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )( 11643 IDeckLinkInput_v7_6 * This); 11644 11645 HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )( 11646 IDeckLinkInput_v7_6 * This, 11647 /* [out] */ unsigned int *availableSampleFrameCount); 11648 11649 HRESULT ( STDMETHODCALLTYPE *StartStreams )( 11650 IDeckLinkInput_v7_6 * This); 11651 11652 HRESULT ( STDMETHODCALLTYPE *StopStreams )( 11653 IDeckLinkInput_v7_6 * This); 11654 11655 HRESULT ( STDMETHODCALLTYPE *PauseStreams )( 11656 IDeckLinkInput_v7_6 * This); 11657 11658 HRESULT ( STDMETHODCALLTYPE *FlushStreams )( 11659 IDeckLinkInput_v7_6 * This); 11660 11661 HRESULT ( STDMETHODCALLTYPE *SetCallback )( 11662 IDeckLinkInput_v7_6 * This, 11663 /* [in] */ IDeckLinkInputCallback_v7_6 *theCallback); 11664 11665 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( 11666 IDeckLinkInput_v7_6 * This, 11667 BMDTimeScale desiredTimeScale, 11668 /* [out] */ BMDTimeValue *hardwareTime, 11669 /* [out] */ BMDTimeValue *timeInFrame, 11670 /* [out] */ BMDTimeValue *ticksPerFrame); 11671 11672 END_INTERFACE 11673 } IDeckLinkInput_v7_6Vtbl; 11674 11675 interface IDeckLinkInput_v7_6 11676 { 11677 CONST_VTBL struct IDeckLinkInput_v7_6Vtbl *lpVtbl; 11678 }; 11679 11680 11681 11682 #ifdef COBJMACROS 11683 11684 11685 #define IDeckLinkInput_v7_6_QueryInterface(This,riid,ppvObject) \ 11686 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 11687 11688 #define IDeckLinkInput_v7_6_AddRef(This) \ 11689 ( (This)->lpVtbl -> AddRef(This) ) 11690 11691 #define IDeckLinkInput_v7_6_Release(This) \ 11692 ( (This)->lpVtbl -> Release(This) ) 11693 11694 11695 #define IDeckLinkInput_v7_6_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \ 11696 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) ) 11697 11698 #define IDeckLinkInput_v7_6_GetDisplayModeIterator(This,iterator) \ 11699 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) 11700 11701 #define IDeckLinkInput_v7_6_SetScreenPreviewCallback(This,previewCallback) \ 11702 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) ) 11703 11704 #define IDeckLinkInput_v7_6_EnableVideoInput(This,displayMode,pixelFormat,flags) \ 11705 ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) ) 11706 11707 #define IDeckLinkInput_v7_6_DisableVideoInput(This) \ 11708 ( (This)->lpVtbl -> DisableVideoInput(This) ) 11709 11710 #define IDeckLinkInput_v7_6_GetAvailableVideoFrameCount(This,availableFrameCount) \ 11711 ( (This)->lpVtbl -> GetAvailableVideoFrameCount(This,availableFrameCount) ) 11712 11713 #define IDeckLinkInput_v7_6_EnableAudioInput(This,sampleRate,sampleType,channelCount) \ 11714 ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) ) 11715 11716 #define IDeckLinkInput_v7_6_DisableAudioInput(This) \ 11717 ( (This)->lpVtbl -> DisableAudioInput(This) ) 11718 11719 #define IDeckLinkInput_v7_6_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \ 11720 ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) ) 11721 11722 #define IDeckLinkInput_v7_6_StartStreams(This) \ 11723 ( (This)->lpVtbl -> StartStreams(This) ) 11724 11725 #define IDeckLinkInput_v7_6_StopStreams(This) \ 11726 ( (This)->lpVtbl -> StopStreams(This) ) 11727 11728 #define IDeckLinkInput_v7_6_PauseStreams(This) \ 11729 ( (This)->lpVtbl -> PauseStreams(This) ) 11730 11731 #define IDeckLinkInput_v7_6_FlushStreams(This) \ 11732 ( (This)->lpVtbl -> FlushStreams(This) ) 11733 11734 #define IDeckLinkInput_v7_6_SetCallback(This,theCallback) \ 11735 ( (This)->lpVtbl -> SetCallback(This,theCallback) ) 11736 11737 #define IDeckLinkInput_v7_6_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \ 11738 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) ) 11739 11740 #endif /* COBJMACROS */ 11741 11742 11743 #endif /* C style interface */ 11744 11745 11746 11747 11748 #endif /* __IDeckLinkInput_v7_6_INTERFACE_DEFINED__ */ 11749 11750 11751 #ifndef __IDeckLinkTimecode_v7_6_INTERFACE_DEFINED__ 11752 #define __IDeckLinkTimecode_v7_6_INTERFACE_DEFINED__ 11753 11754 /* interface IDeckLinkTimecode_v7_6 */ 11755 /* [helpstring][uuid][object] */ 11756 11757 11758 EXTERN_C const IID IID_IDeckLinkTimecode_v7_6; 11759 11760 #if defined(__cplusplus) && !defined(CINTERFACE) 11761 11762 MIDL_INTERFACE("EFB9BCA6-A521-44F7-BD69-2332F24D9EE6") 11763 IDeckLinkTimecode_v7_6 : public IUnknown 11764 { 11765 public: 11766 virtual BMDTimecodeBCD STDMETHODCALLTYPE GetBCD( void) = 0; 11767 11768 virtual HRESULT STDMETHODCALLTYPE GetComponents( 11769 /* [out] */ unsigned char *hours, 11770 /* [out] */ unsigned char *minutes, 11771 /* [out] */ unsigned char *seconds, 11772 /* [out] */ unsigned char *frames) = 0; 11773 11774 virtual HRESULT STDMETHODCALLTYPE GetString( 11775 /* [out] */ BSTR *timecode) = 0; 11776 11777 virtual BMDTimecodeFlags STDMETHODCALLTYPE GetFlags( void) = 0; 11778 11779 }; 11780 11781 11782 #else /* C style interface */ 11783 11784 typedef struct IDeckLinkTimecode_v7_6Vtbl 11785 { 11786 BEGIN_INTERFACE 11787 11788 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 11789 IDeckLinkTimecode_v7_6 * This, 11790 /* [in] */ REFIID riid, 11791 /* [annotation][iid_is][out] */ 11792 _COM_Outptr_ void **ppvObject); 11793 11794 ULONG ( STDMETHODCALLTYPE *AddRef )( 11795 IDeckLinkTimecode_v7_6 * This); 11796 11797 ULONG ( STDMETHODCALLTYPE *Release )( 11798 IDeckLinkTimecode_v7_6 * This); 11799 11800 BMDTimecodeBCD ( STDMETHODCALLTYPE *GetBCD )( 11801 IDeckLinkTimecode_v7_6 * This); 11802 11803 HRESULT ( STDMETHODCALLTYPE *GetComponents )( 11804 IDeckLinkTimecode_v7_6 * This, 11805 /* [out] */ unsigned char *hours, 11806 /* [out] */ unsigned char *minutes, 11807 /* [out] */ unsigned char *seconds, 11808 /* [out] */ unsigned char *frames); 11809 11810 HRESULT ( STDMETHODCALLTYPE *GetString )( 11811 IDeckLinkTimecode_v7_6 * This, 11812 /* [out] */ BSTR *timecode); 11813 11814 BMDTimecodeFlags ( STDMETHODCALLTYPE *GetFlags )( 11815 IDeckLinkTimecode_v7_6 * This); 11816 11817 END_INTERFACE 11818 } IDeckLinkTimecode_v7_6Vtbl; 11819 11820 interface IDeckLinkTimecode_v7_6 11821 { 11822 CONST_VTBL struct IDeckLinkTimecode_v7_6Vtbl *lpVtbl; 11823 }; 11824 11825 11826 11827 #ifdef COBJMACROS 11828 11829 11830 #define IDeckLinkTimecode_v7_6_QueryInterface(This,riid,ppvObject) \ 11831 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 11832 11833 #define IDeckLinkTimecode_v7_6_AddRef(This) \ 11834 ( (This)->lpVtbl -> AddRef(This) ) 11835 11836 #define IDeckLinkTimecode_v7_6_Release(This) \ 11837 ( (This)->lpVtbl -> Release(This) ) 11838 11839 11840 #define IDeckLinkTimecode_v7_6_GetBCD(This) \ 11841 ( (This)->lpVtbl -> GetBCD(This) ) 11842 11843 #define IDeckLinkTimecode_v7_6_GetComponents(This,hours,minutes,seconds,frames) \ 11844 ( (This)->lpVtbl -> GetComponents(This,hours,minutes,seconds,frames) ) 11845 11846 #define IDeckLinkTimecode_v7_6_GetString(This,timecode) \ 11847 ( (This)->lpVtbl -> GetString(This,timecode) ) 11848 11849 #define IDeckLinkTimecode_v7_6_GetFlags(This) \ 11850 ( (This)->lpVtbl -> GetFlags(This) ) 11851 11852 #endif /* COBJMACROS */ 11853 11854 11855 #endif /* C style interface */ 11856 11857 11858 11859 11860 #endif /* __IDeckLinkTimecode_v7_6_INTERFACE_DEFINED__ */ 11861 11862 11863 #ifndef __IDeckLinkVideoFrame_v7_6_INTERFACE_DEFINED__ 11864 #define __IDeckLinkVideoFrame_v7_6_INTERFACE_DEFINED__ 11865 11866 /* interface IDeckLinkVideoFrame_v7_6 */ 11867 /* [helpstring][local][uuid][object] */ 11868 11869 11870 EXTERN_C const IID IID_IDeckLinkVideoFrame_v7_6; 11871 11872 #if defined(__cplusplus) && !defined(CINTERFACE) 11873 11874 MIDL_INTERFACE("A8D8238E-6B18-4196-99E1-5AF717B83D32") 11875 IDeckLinkVideoFrame_v7_6 : public IUnknown 11876 { 11877 public: 11878 virtual long STDMETHODCALLTYPE GetWidth( void) = 0; 11879 11880 virtual long STDMETHODCALLTYPE GetHeight( void) = 0; 11881 11882 virtual long STDMETHODCALLTYPE GetRowBytes( void) = 0; 11883 11884 virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0; 11885 11886 virtual BMDFrameFlags STDMETHODCALLTYPE GetFlags( void) = 0; 11887 11888 virtual HRESULT STDMETHODCALLTYPE GetBytes( 11889 /* [out] */ void **buffer) = 0; 11890 11891 virtual HRESULT STDMETHODCALLTYPE GetTimecode( 11892 BMDTimecodeFormat format, 11893 /* [out] */ IDeckLinkTimecode_v7_6 **timecode) = 0; 11894 11895 virtual HRESULT STDMETHODCALLTYPE GetAncillaryData( 11896 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary) = 0; 11897 11898 }; 11899 11900 11901 #else /* C style interface */ 11902 11903 typedef struct IDeckLinkVideoFrame_v7_6Vtbl 11904 { 11905 BEGIN_INTERFACE 11906 11907 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 11908 IDeckLinkVideoFrame_v7_6 * This, 11909 /* [in] */ REFIID riid, 11910 /* [annotation][iid_is][out] */ 11911 _COM_Outptr_ void **ppvObject); 11912 11913 ULONG ( STDMETHODCALLTYPE *AddRef )( 11914 IDeckLinkVideoFrame_v7_6 * This); 11915 11916 ULONG ( STDMETHODCALLTYPE *Release )( 11917 IDeckLinkVideoFrame_v7_6 * This); 11918 11919 long ( STDMETHODCALLTYPE *GetWidth )( 11920 IDeckLinkVideoFrame_v7_6 * This); 11921 11922 long ( STDMETHODCALLTYPE *GetHeight )( 11923 IDeckLinkVideoFrame_v7_6 * This); 11924 11925 long ( STDMETHODCALLTYPE *GetRowBytes )( 11926 IDeckLinkVideoFrame_v7_6 * This); 11927 11928 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( 11929 IDeckLinkVideoFrame_v7_6 * This); 11930 11931 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( 11932 IDeckLinkVideoFrame_v7_6 * This); 11933 11934 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 11935 IDeckLinkVideoFrame_v7_6 * This, 11936 /* [out] */ void **buffer); 11937 11938 HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 11939 IDeckLinkVideoFrame_v7_6 * This, 11940 BMDTimecodeFormat format, 11941 /* [out] */ IDeckLinkTimecode_v7_6 **timecode); 11942 11943 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )( 11944 IDeckLinkVideoFrame_v7_6 * This, 11945 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary); 11946 11947 END_INTERFACE 11948 } IDeckLinkVideoFrame_v7_6Vtbl; 11949 11950 interface IDeckLinkVideoFrame_v7_6 11951 { 11952 CONST_VTBL struct IDeckLinkVideoFrame_v7_6Vtbl *lpVtbl; 11953 }; 11954 11955 11956 11957 #ifdef COBJMACROS 11958 11959 11960 #define IDeckLinkVideoFrame_v7_6_QueryInterface(This,riid,ppvObject) \ 11961 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 11962 11963 #define IDeckLinkVideoFrame_v7_6_AddRef(This) \ 11964 ( (This)->lpVtbl -> AddRef(This) ) 11965 11966 #define IDeckLinkVideoFrame_v7_6_Release(This) \ 11967 ( (This)->lpVtbl -> Release(This) ) 11968 11969 11970 #define IDeckLinkVideoFrame_v7_6_GetWidth(This) \ 11971 ( (This)->lpVtbl -> GetWidth(This) ) 11972 11973 #define IDeckLinkVideoFrame_v7_6_GetHeight(This) \ 11974 ( (This)->lpVtbl -> GetHeight(This) ) 11975 11976 #define IDeckLinkVideoFrame_v7_6_GetRowBytes(This) \ 11977 ( (This)->lpVtbl -> GetRowBytes(This) ) 11978 11979 #define IDeckLinkVideoFrame_v7_6_GetPixelFormat(This) \ 11980 ( (This)->lpVtbl -> GetPixelFormat(This) ) 11981 11982 #define IDeckLinkVideoFrame_v7_6_GetFlags(This) \ 11983 ( (This)->lpVtbl -> GetFlags(This) ) 11984 11985 #define IDeckLinkVideoFrame_v7_6_GetBytes(This,buffer) \ 11986 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 11987 11988 #define IDeckLinkVideoFrame_v7_6_GetTimecode(This,format,timecode) \ 11989 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) 11990 11991 #define IDeckLinkVideoFrame_v7_6_GetAncillaryData(This,ancillary) \ 11992 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) ) 11993 11994 #endif /* COBJMACROS */ 11995 11996 11997 #endif /* C style interface */ 11998 11999 12000 12001 12002 #endif /* __IDeckLinkVideoFrame_v7_6_INTERFACE_DEFINED__ */ 12003 12004 12005 #ifndef __IDeckLinkMutableVideoFrame_v7_6_INTERFACE_DEFINED__ 12006 #define __IDeckLinkMutableVideoFrame_v7_6_INTERFACE_DEFINED__ 12007 12008 /* interface IDeckLinkMutableVideoFrame_v7_6 */ 12009 /* [helpstring][local][uuid][object] */ 12010 12011 12012 EXTERN_C const IID IID_IDeckLinkMutableVideoFrame_v7_6; 12013 12014 #if defined(__cplusplus) && !defined(CINTERFACE) 12015 12016 MIDL_INTERFACE("46FCEE00-B4E6-43D0-91C0-023A7FCEB34F") 12017 IDeckLinkMutableVideoFrame_v7_6 : public IDeckLinkVideoFrame_v7_6 12018 { 12019 public: 12020 virtual HRESULT STDMETHODCALLTYPE SetFlags( 12021 BMDFrameFlags newFlags) = 0; 12022 12023 virtual HRESULT STDMETHODCALLTYPE SetTimecode( 12024 BMDTimecodeFormat format, 12025 /* [in] */ IDeckLinkTimecode_v7_6 *timecode) = 0; 12026 12027 virtual HRESULT STDMETHODCALLTYPE SetTimecodeFromComponents( 12028 BMDTimecodeFormat format, 12029 unsigned char hours, 12030 unsigned char minutes, 12031 unsigned char seconds, 12032 unsigned char frames, 12033 BMDTimecodeFlags flags) = 0; 12034 12035 virtual HRESULT STDMETHODCALLTYPE SetAncillaryData( 12036 /* [in] */ IDeckLinkVideoFrameAncillary *ancillary) = 0; 12037 12038 }; 12039 12040 12041 #else /* C style interface */ 12042 12043 typedef struct IDeckLinkMutableVideoFrame_v7_6Vtbl 12044 { 12045 BEGIN_INTERFACE 12046 12047 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 12048 IDeckLinkMutableVideoFrame_v7_6 * This, 12049 /* [in] */ REFIID riid, 12050 /* [annotation][iid_is][out] */ 12051 _COM_Outptr_ void **ppvObject); 12052 12053 ULONG ( STDMETHODCALLTYPE *AddRef )( 12054 IDeckLinkMutableVideoFrame_v7_6 * This); 12055 12056 ULONG ( STDMETHODCALLTYPE *Release )( 12057 IDeckLinkMutableVideoFrame_v7_6 * This); 12058 12059 long ( STDMETHODCALLTYPE *GetWidth )( 12060 IDeckLinkMutableVideoFrame_v7_6 * This); 12061 12062 long ( STDMETHODCALLTYPE *GetHeight )( 12063 IDeckLinkMutableVideoFrame_v7_6 * This); 12064 12065 long ( STDMETHODCALLTYPE *GetRowBytes )( 12066 IDeckLinkMutableVideoFrame_v7_6 * This); 12067 12068 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( 12069 IDeckLinkMutableVideoFrame_v7_6 * This); 12070 12071 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( 12072 IDeckLinkMutableVideoFrame_v7_6 * This); 12073 12074 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 12075 IDeckLinkMutableVideoFrame_v7_6 * This, 12076 /* [out] */ void **buffer); 12077 12078 HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 12079 IDeckLinkMutableVideoFrame_v7_6 * This, 12080 BMDTimecodeFormat format, 12081 /* [out] */ IDeckLinkTimecode_v7_6 **timecode); 12082 12083 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )( 12084 IDeckLinkMutableVideoFrame_v7_6 * This, 12085 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary); 12086 12087 HRESULT ( STDMETHODCALLTYPE *SetFlags )( 12088 IDeckLinkMutableVideoFrame_v7_6 * This, 12089 BMDFrameFlags newFlags); 12090 12091 HRESULT ( STDMETHODCALLTYPE *SetTimecode )( 12092 IDeckLinkMutableVideoFrame_v7_6 * This, 12093 BMDTimecodeFormat format, 12094 /* [in] */ IDeckLinkTimecode_v7_6 *timecode); 12095 12096 HRESULT ( STDMETHODCALLTYPE *SetTimecodeFromComponents )( 12097 IDeckLinkMutableVideoFrame_v7_6 * This, 12098 BMDTimecodeFormat format, 12099 unsigned char hours, 12100 unsigned char minutes, 12101 unsigned char seconds, 12102 unsigned char frames, 12103 BMDTimecodeFlags flags); 12104 12105 HRESULT ( STDMETHODCALLTYPE *SetAncillaryData )( 12106 IDeckLinkMutableVideoFrame_v7_6 * This, 12107 /* [in] */ IDeckLinkVideoFrameAncillary *ancillary); 12108 12109 END_INTERFACE 12110 } IDeckLinkMutableVideoFrame_v7_6Vtbl; 12111 12112 interface IDeckLinkMutableVideoFrame_v7_6 12113 { 12114 CONST_VTBL struct IDeckLinkMutableVideoFrame_v7_6Vtbl *lpVtbl; 12115 }; 12116 12117 12118 12119 #ifdef COBJMACROS 12120 12121 12122 #define IDeckLinkMutableVideoFrame_v7_6_QueryInterface(This,riid,ppvObject) \ 12123 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 12124 12125 #define IDeckLinkMutableVideoFrame_v7_6_AddRef(This) \ 12126 ( (This)->lpVtbl -> AddRef(This) ) 12127 12128 #define IDeckLinkMutableVideoFrame_v7_6_Release(This) \ 12129 ( (This)->lpVtbl -> Release(This) ) 12130 12131 12132 #define IDeckLinkMutableVideoFrame_v7_6_GetWidth(This) \ 12133 ( (This)->lpVtbl -> GetWidth(This) ) 12134 12135 #define IDeckLinkMutableVideoFrame_v7_6_GetHeight(This) \ 12136 ( (This)->lpVtbl -> GetHeight(This) ) 12137 12138 #define IDeckLinkMutableVideoFrame_v7_6_GetRowBytes(This) \ 12139 ( (This)->lpVtbl -> GetRowBytes(This) ) 12140 12141 #define IDeckLinkMutableVideoFrame_v7_6_GetPixelFormat(This) \ 12142 ( (This)->lpVtbl -> GetPixelFormat(This) ) 12143 12144 #define IDeckLinkMutableVideoFrame_v7_6_GetFlags(This) \ 12145 ( (This)->lpVtbl -> GetFlags(This) ) 12146 12147 #define IDeckLinkMutableVideoFrame_v7_6_GetBytes(This,buffer) \ 12148 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 12149 12150 #define IDeckLinkMutableVideoFrame_v7_6_GetTimecode(This,format,timecode) \ 12151 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) 12152 12153 #define IDeckLinkMutableVideoFrame_v7_6_GetAncillaryData(This,ancillary) \ 12154 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) ) 12155 12156 12157 #define IDeckLinkMutableVideoFrame_v7_6_SetFlags(This,newFlags) \ 12158 ( (This)->lpVtbl -> SetFlags(This,newFlags) ) 12159 12160 #define IDeckLinkMutableVideoFrame_v7_6_SetTimecode(This,format,timecode) \ 12161 ( (This)->lpVtbl -> SetTimecode(This,format,timecode) ) 12162 12163 #define IDeckLinkMutableVideoFrame_v7_6_SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) \ 12164 ( (This)->lpVtbl -> SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) ) 12165 12166 #define IDeckLinkMutableVideoFrame_v7_6_SetAncillaryData(This,ancillary) \ 12167 ( (This)->lpVtbl -> SetAncillaryData(This,ancillary) ) 12168 12169 #endif /* COBJMACROS */ 12170 12171 12172 #endif /* C style interface */ 12173 12174 12175 12176 12177 #endif /* __IDeckLinkMutableVideoFrame_v7_6_INTERFACE_DEFINED__ */ 12178 12179 12180 #ifndef __IDeckLinkVideoInputFrame_v7_6_INTERFACE_DEFINED__ 12181 #define __IDeckLinkVideoInputFrame_v7_6_INTERFACE_DEFINED__ 12182 12183 /* interface IDeckLinkVideoInputFrame_v7_6 */ 12184 /* [helpstring][local][uuid][object] */ 12185 12186 12187 EXTERN_C const IID IID_IDeckLinkVideoInputFrame_v7_6; 12188 12189 #if defined(__cplusplus) && !defined(CINTERFACE) 12190 12191 MIDL_INTERFACE("9A74FA41-AE9F-47AC-8CF4-01F42DD59965") 12192 IDeckLinkVideoInputFrame_v7_6 : public IDeckLinkVideoFrame_v7_6 12193 { 12194 public: 12195 virtual HRESULT STDMETHODCALLTYPE GetStreamTime( 12196 /* [out] */ BMDTimeValue *frameTime, 12197 /* [out] */ BMDTimeValue *frameDuration, 12198 BMDTimeScale timeScale) = 0; 12199 12200 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceTimestamp( 12201 BMDTimeScale timeScale, 12202 /* [out] */ BMDTimeValue *frameTime, 12203 /* [out] */ BMDTimeValue *frameDuration) = 0; 12204 12205 }; 12206 12207 12208 #else /* C style interface */ 12209 12210 typedef struct IDeckLinkVideoInputFrame_v7_6Vtbl 12211 { 12212 BEGIN_INTERFACE 12213 12214 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 12215 IDeckLinkVideoInputFrame_v7_6 * This, 12216 /* [in] */ REFIID riid, 12217 /* [annotation][iid_is][out] */ 12218 _COM_Outptr_ void **ppvObject); 12219 12220 ULONG ( STDMETHODCALLTYPE *AddRef )( 12221 IDeckLinkVideoInputFrame_v7_6 * This); 12222 12223 ULONG ( STDMETHODCALLTYPE *Release )( 12224 IDeckLinkVideoInputFrame_v7_6 * This); 12225 12226 long ( STDMETHODCALLTYPE *GetWidth )( 12227 IDeckLinkVideoInputFrame_v7_6 * This); 12228 12229 long ( STDMETHODCALLTYPE *GetHeight )( 12230 IDeckLinkVideoInputFrame_v7_6 * This); 12231 12232 long ( STDMETHODCALLTYPE *GetRowBytes )( 12233 IDeckLinkVideoInputFrame_v7_6 * This); 12234 12235 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( 12236 IDeckLinkVideoInputFrame_v7_6 * This); 12237 12238 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( 12239 IDeckLinkVideoInputFrame_v7_6 * This); 12240 12241 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 12242 IDeckLinkVideoInputFrame_v7_6 * This, 12243 /* [out] */ void **buffer); 12244 12245 HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 12246 IDeckLinkVideoInputFrame_v7_6 * This, 12247 BMDTimecodeFormat format, 12248 /* [out] */ IDeckLinkTimecode_v7_6 **timecode); 12249 12250 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )( 12251 IDeckLinkVideoInputFrame_v7_6 * This, 12252 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary); 12253 12254 HRESULT ( STDMETHODCALLTYPE *GetStreamTime )( 12255 IDeckLinkVideoInputFrame_v7_6 * This, 12256 /* [out] */ BMDTimeValue *frameTime, 12257 /* [out] */ BMDTimeValue *frameDuration, 12258 BMDTimeScale timeScale); 12259 12260 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceTimestamp )( 12261 IDeckLinkVideoInputFrame_v7_6 * This, 12262 BMDTimeScale timeScale, 12263 /* [out] */ BMDTimeValue *frameTime, 12264 /* [out] */ BMDTimeValue *frameDuration); 12265 12266 END_INTERFACE 12267 } IDeckLinkVideoInputFrame_v7_6Vtbl; 12268 12269 interface IDeckLinkVideoInputFrame_v7_6 12270 { 12271 CONST_VTBL struct IDeckLinkVideoInputFrame_v7_6Vtbl *lpVtbl; 12272 }; 12273 12274 12275 12276 #ifdef COBJMACROS 12277 12278 12279 #define IDeckLinkVideoInputFrame_v7_6_QueryInterface(This,riid,ppvObject) \ 12280 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 12281 12282 #define IDeckLinkVideoInputFrame_v7_6_AddRef(This) \ 12283 ( (This)->lpVtbl -> AddRef(This) ) 12284 12285 #define IDeckLinkVideoInputFrame_v7_6_Release(This) \ 12286 ( (This)->lpVtbl -> Release(This) ) 12287 12288 12289 #define IDeckLinkVideoInputFrame_v7_6_GetWidth(This) \ 12290 ( (This)->lpVtbl -> GetWidth(This) ) 12291 12292 #define IDeckLinkVideoInputFrame_v7_6_GetHeight(This) \ 12293 ( (This)->lpVtbl -> GetHeight(This) ) 12294 12295 #define IDeckLinkVideoInputFrame_v7_6_GetRowBytes(This) \ 12296 ( (This)->lpVtbl -> GetRowBytes(This) ) 12297 12298 #define IDeckLinkVideoInputFrame_v7_6_GetPixelFormat(This) \ 12299 ( (This)->lpVtbl -> GetPixelFormat(This) ) 12300 12301 #define IDeckLinkVideoInputFrame_v7_6_GetFlags(This) \ 12302 ( (This)->lpVtbl -> GetFlags(This) ) 12303 12304 #define IDeckLinkVideoInputFrame_v7_6_GetBytes(This,buffer) \ 12305 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 12306 12307 #define IDeckLinkVideoInputFrame_v7_6_GetTimecode(This,format,timecode) \ 12308 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) 12309 12310 #define IDeckLinkVideoInputFrame_v7_6_GetAncillaryData(This,ancillary) \ 12311 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) ) 12312 12313 12314 #define IDeckLinkVideoInputFrame_v7_6_GetStreamTime(This,frameTime,frameDuration,timeScale) \ 12315 ( (This)->lpVtbl -> GetStreamTime(This,frameTime,frameDuration,timeScale) ) 12316 12317 #define IDeckLinkVideoInputFrame_v7_6_GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) \ 12318 ( (This)->lpVtbl -> GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) ) 12319 12320 #endif /* COBJMACROS */ 12321 12322 12323 #endif /* C style interface */ 12324 12325 12326 12327 12328 #endif /* __IDeckLinkVideoInputFrame_v7_6_INTERFACE_DEFINED__ */ 12329 12330 12331 #ifndef __IDeckLinkScreenPreviewCallback_v7_6_INTERFACE_DEFINED__ 12332 #define __IDeckLinkScreenPreviewCallback_v7_6_INTERFACE_DEFINED__ 12333 12334 /* interface IDeckLinkScreenPreviewCallback_v7_6 */ 12335 /* [helpstring][local][uuid][object] */ 12336 12337 12338 EXTERN_C const IID IID_IDeckLinkScreenPreviewCallback_v7_6; 12339 12340 #if defined(__cplusplus) && !defined(CINTERFACE) 12341 12342 MIDL_INTERFACE("373F499D-4B4D-4518-AD22-6354E5A5825E") 12343 IDeckLinkScreenPreviewCallback_v7_6 : public IUnknown 12344 { 12345 public: 12346 virtual HRESULT STDMETHODCALLTYPE DrawFrame( 12347 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0; 12348 12349 }; 12350 12351 12352 #else /* C style interface */ 12353 12354 typedef struct IDeckLinkScreenPreviewCallback_v7_6Vtbl 12355 { 12356 BEGIN_INTERFACE 12357 12358 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 12359 IDeckLinkScreenPreviewCallback_v7_6 * This, 12360 /* [in] */ REFIID riid, 12361 /* [annotation][iid_is][out] */ 12362 _COM_Outptr_ void **ppvObject); 12363 12364 ULONG ( STDMETHODCALLTYPE *AddRef )( 12365 IDeckLinkScreenPreviewCallback_v7_6 * This); 12366 12367 ULONG ( STDMETHODCALLTYPE *Release )( 12368 IDeckLinkScreenPreviewCallback_v7_6 * This); 12369 12370 HRESULT ( STDMETHODCALLTYPE *DrawFrame )( 12371 IDeckLinkScreenPreviewCallback_v7_6 * This, 12372 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame); 12373 12374 END_INTERFACE 12375 } IDeckLinkScreenPreviewCallback_v7_6Vtbl; 12376 12377 interface IDeckLinkScreenPreviewCallback_v7_6 12378 { 12379 CONST_VTBL struct IDeckLinkScreenPreviewCallback_v7_6Vtbl *lpVtbl; 12380 }; 12381 12382 12383 12384 #ifdef COBJMACROS 12385 12386 12387 #define IDeckLinkScreenPreviewCallback_v7_6_QueryInterface(This,riid,ppvObject) \ 12388 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 12389 12390 #define IDeckLinkScreenPreviewCallback_v7_6_AddRef(This) \ 12391 ( (This)->lpVtbl -> AddRef(This) ) 12392 12393 #define IDeckLinkScreenPreviewCallback_v7_6_Release(This) \ 12394 ( (This)->lpVtbl -> Release(This) ) 12395 12396 12397 #define IDeckLinkScreenPreviewCallback_v7_6_DrawFrame(This,theFrame) \ 12398 ( (This)->lpVtbl -> DrawFrame(This,theFrame) ) 12399 12400 #endif /* COBJMACROS */ 12401 12402 12403 #endif /* C style interface */ 12404 12405 12406 12407 12408 #endif /* __IDeckLinkScreenPreviewCallback_v7_6_INTERFACE_DEFINED__ */ 12409 12410 12411 #ifndef __IDeckLinkGLScreenPreviewHelper_v7_6_INTERFACE_DEFINED__ 12412 #define __IDeckLinkGLScreenPreviewHelper_v7_6_INTERFACE_DEFINED__ 12413 12414 /* interface IDeckLinkGLScreenPreviewHelper_v7_6 */ 12415 /* [helpstring][local][uuid][object] */ 12416 12417 12418 EXTERN_C const IID IID_IDeckLinkGLScreenPreviewHelper_v7_6; 12419 12420 #if defined(__cplusplus) && !defined(CINTERFACE) 12421 12422 MIDL_INTERFACE("BA575CD9-A15E-497B-B2C2-F9AFE7BE4EBA") 12423 IDeckLinkGLScreenPreviewHelper_v7_6 : public IUnknown 12424 { 12425 public: 12426 virtual HRESULT STDMETHODCALLTYPE InitializeGL( void) = 0; 12427 12428 virtual HRESULT STDMETHODCALLTYPE PaintGL( void) = 0; 12429 12430 virtual HRESULT STDMETHODCALLTYPE SetFrame( 12431 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0; 12432 12433 }; 12434 12435 12436 #else /* C style interface */ 12437 12438 typedef struct IDeckLinkGLScreenPreviewHelper_v7_6Vtbl 12439 { 12440 BEGIN_INTERFACE 12441 12442 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 12443 IDeckLinkGLScreenPreviewHelper_v7_6 * This, 12444 /* [in] */ REFIID riid, 12445 /* [annotation][iid_is][out] */ 12446 _COM_Outptr_ void **ppvObject); 12447 12448 ULONG ( STDMETHODCALLTYPE *AddRef )( 12449 IDeckLinkGLScreenPreviewHelper_v7_6 * This); 12450 12451 ULONG ( STDMETHODCALLTYPE *Release )( 12452 IDeckLinkGLScreenPreviewHelper_v7_6 * This); 12453 12454 HRESULT ( STDMETHODCALLTYPE *InitializeGL )( 12455 IDeckLinkGLScreenPreviewHelper_v7_6 * This); 12456 12457 HRESULT ( STDMETHODCALLTYPE *PaintGL )( 12458 IDeckLinkGLScreenPreviewHelper_v7_6 * This); 12459 12460 HRESULT ( STDMETHODCALLTYPE *SetFrame )( 12461 IDeckLinkGLScreenPreviewHelper_v7_6 * This, 12462 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame); 12463 12464 END_INTERFACE 12465 } IDeckLinkGLScreenPreviewHelper_v7_6Vtbl; 12466 12467 interface IDeckLinkGLScreenPreviewHelper_v7_6 12468 { 12469 CONST_VTBL struct IDeckLinkGLScreenPreviewHelper_v7_6Vtbl *lpVtbl; 12470 }; 12471 12472 12473 12474 #ifdef COBJMACROS 12475 12476 12477 #define IDeckLinkGLScreenPreviewHelper_v7_6_QueryInterface(This,riid,ppvObject) \ 12478 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 12479 12480 #define IDeckLinkGLScreenPreviewHelper_v7_6_AddRef(This) \ 12481 ( (This)->lpVtbl -> AddRef(This) ) 12482 12483 #define IDeckLinkGLScreenPreviewHelper_v7_6_Release(This) \ 12484 ( (This)->lpVtbl -> Release(This) ) 12485 12486 12487 #define IDeckLinkGLScreenPreviewHelper_v7_6_InitializeGL(This) \ 12488 ( (This)->lpVtbl -> InitializeGL(This) ) 12489 12490 #define IDeckLinkGLScreenPreviewHelper_v7_6_PaintGL(This) \ 12491 ( (This)->lpVtbl -> PaintGL(This) ) 12492 12493 #define IDeckLinkGLScreenPreviewHelper_v7_6_SetFrame(This,theFrame) \ 12494 ( (This)->lpVtbl -> SetFrame(This,theFrame) ) 12495 12496 #endif /* COBJMACROS */ 12497 12498 12499 #endif /* C style interface */ 12500 12501 12502 12503 12504 #endif /* __IDeckLinkGLScreenPreviewHelper_v7_6_INTERFACE_DEFINED__ */ 12505 12506 12507 #ifndef __IDeckLinkVideoConversion_v7_6_INTERFACE_DEFINED__ 12508 #define __IDeckLinkVideoConversion_v7_6_INTERFACE_DEFINED__ 12509 12510 /* interface IDeckLinkVideoConversion_v7_6 */ 12511 /* [helpstring][local][uuid][object] */ 12512 12513 12514 EXTERN_C const IID IID_IDeckLinkVideoConversion_v7_6; 12515 12516 #if defined(__cplusplus) && !defined(CINTERFACE) 12517 12518 MIDL_INTERFACE("3EB504C9-F97D-40FE-A158-D407D48CB53B") 12519 IDeckLinkVideoConversion_v7_6 : public IUnknown 12520 { 12521 public: 12522 virtual HRESULT STDMETHODCALLTYPE ConvertFrame( 12523 /* [in] */ IDeckLinkVideoFrame_v7_6 *srcFrame, 12524 /* [in] */ IDeckLinkVideoFrame_v7_6 *dstFrame) = 0; 12525 12526 }; 12527 12528 12529 #else /* C style interface */ 12530 12531 typedef struct IDeckLinkVideoConversion_v7_6Vtbl 12532 { 12533 BEGIN_INTERFACE 12534 12535 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 12536 IDeckLinkVideoConversion_v7_6 * This, 12537 /* [in] */ REFIID riid, 12538 /* [annotation][iid_is][out] */ 12539 _COM_Outptr_ void **ppvObject); 12540 12541 ULONG ( STDMETHODCALLTYPE *AddRef )( 12542 IDeckLinkVideoConversion_v7_6 * This); 12543 12544 ULONG ( STDMETHODCALLTYPE *Release )( 12545 IDeckLinkVideoConversion_v7_6 * This); 12546 12547 HRESULT ( STDMETHODCALLTYPE *ConvertFrame )( 12548 IDeckLinkVideoConversion_v7_6 * This, 12549 /* [in] */ IDeckLinkVideoFrame_v7_6 *srcFrame, 12550 /* [in] */ IDeckLinkVideoFrame_v7_6 *dstFrame); 12551 12552 END_INTERFACE 12553 } IDeckLinkVideoConversion_v7_6Vtbl; 12554 12555 interface IDeckLinkVideoConversion_v7_6 12556 { 12557 CONST_VTBL struct IDeckLinkVideoConversion_v7_6Vtbl *lpVtbl; 12558 }; 12559 12560 12561 12562 #ifdef COBJMACROS 12563 12564 12565 #define IDeckLinkVideoConversion_v7_6_QueryInterface(This,riid,ppvObject) \ 12566 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 12567 12568 #define IDeckLinkVideoConversion_v7_6_AddRef(This) \ 12569 ( (This)->lpVtbl -> AddRef(This) ) 12570 12571 #define IDeckLinkVideoConversion_v7_6_Release(This) \ 12572 ( (This)->lpVtbl -> Release(This) ) 12573 12574 12575 #define IDeckLinkVideoConversion_v7_6_ConvertFrame(This,srcFrame,dstFrame) \ 12576 ( (This)->lpVtbl -> ConvertFrame(This,srcFrame,dstFrame) ) 12577 12578 #endif /* COBJMACROS */ 12579 12580 12581 #endif /* C style interface */ 12582 12583 12584 12585 12586 #endif /* __IDeckLinkVideoConversion_v7_6_INTERFACE_DEFINED__ */ 12587 12588 12589 #ifndef __IDeckLinkConfiguration_v7_6_INTERFACE_DEFINED__ 12590 #define __IDeckLinkConfiguration_v7_6_INTERFACE_DEFINED__ 12591 12592 /* interface IDeckLinkConfiguration_v7_6 */ 12593 /* [helpstring][uuid][object] */ 12594 12595 12596 EXTERN_C const IID IID_IDeckLinkConfiguration_v7_6; 12597 12598 #if defined(__cplusplus) && !defined(CINTERFACE) 12599 12600 MIDL_INTERFACE("B8EAD569-B764-47F0-A73F-AE40DF6CBF10") 12601 IDeckLinkConfiguration_v7_6 : public IUnknown 12602 { 12603 public: 12604 virtual HRESULT STDMETHODCALLTYPE GetConfigurationValidator( 12605 /* [out] */ IDeckLinkConfiguration_v7_6 **configObject) = 0; 12606 12607 virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences( void) = 0; 12608 12609 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFormat( 12610 /* [in] */ BMDVideoConnection_v7_6 videoOutputConnection) = 0; 12611 12612 virtual HRESULT STDMETHODCALLTYPE IsVideoOutputActive( 12613 /* [in] */ BMDVideoConnection_v7_6 videoOutputConnection, 12614 /* [out] */ BOOL *active) = 0; 12615 12616 virtual HRESULT STDMETHODCALLTYPE SetAnalogVideoOutputFlags( 12617 /* [in] */ BMDAnalogVideoFlags analogVideoFlags) = 0; 12618 12619 virtual HRESULT STDMETHODCALLTYPE GetAnalogVideoOutputFlags( 12620 /* [out] */ BMDAnalogVideoFlags *analogVideoFlags) = 0; 12621 12622 virtual HRESULT STDMETHODCALLTYPE EnableFieldFlickerRemovalWhenPaused( 12623 /* [in] */ BOOL enable) = 0; 12624 12625 virtual HRESULT STDMETHODCALLTYPE IsEnabledFieldFlickerRemovalWhenPaused( 12626 /* [out] */ BOOL *enabled) = 0; 12627 12628 virtual HRESULT STDMETHODCALLTYPE Set444And3GBpsVideoOutput( 12629 /* [in] */ BOOL enable444VideoOutput, 12630 /* [in] */ BOOL enable3GbsOutput) = 0; 12631 12632 virtual HRESULT STDMETHODCALLTYPE Get444And3GBpsVideoOutput( 12633 /* [out] */ BOOL *is444VideoOutputEnabled, 12634 /* [out] */ BOOL *threeGbsOutputEnabled) = 0; 12635 12636 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputConversionMode( 12637 /* [in] */ BMDVideoOutputConversionMode conversionMode) = 0; 12638 12639 virtual HRESULT STDMETHODCALLTYPE GetVideoOutputConversionMode( 12640 /* [out] */ BMDVideoOutputConversionMode *conversionMode) = 0; 12641 12642 virtual HRESULT STDMETHODCALLTYPE Set_HD1080p24_to_HD1080i5994_Conversion( 12643 /* [in] */ BOOL enable) = 0; 12644 12645 virtual HRESULT STDMETHODCALLTYPE Get_HD1080p24_to_HD1080i5994_Conversion( 12646 /* [out] */ BOOL *enabled) = 0; 12647 12648 virtual HRESULT STDMETHODCALLTYPE SetVideoInputFormat( 12649 /* [in] */ BMDVideoConnection_v7_6 videoInputFormat) = 0; 12650 12651 virtual HRESULT STDMETHODCALLTYPE GetVideoInputFormat( 12652 /* [out] */ BMDVideoConnection_v7_6 *videoInputFormat) = 0; 12653 12654 virtual HRESULT STDMETHODCALLTYPE SetAnalogVideoInputFlags( 12655 /* [in] */ BMDAnalogVideoFlags analogVideoFlags) = 0; 12656 12657 virtual HRESULT STDMETHODCALLTYPE GetAnalogVideoInputFlags( 12658 /* [out] */ BMDAnalogVideoFlags *analogVideoFlags) = 0; 12659 12660 virtual HRESULT STDMETHODCALLTYPE SetVideoInputConversionMode( 12661 /* [in] */ BMDVideoInputConversionMode conversionMode) = 0; 12662 12663 virtual HRESULT STDMETHODCALLTYPE GetVideoInputConversionMode( 12664 /* [out] */ BMDVideoInputConversionMode *conversionMode) = 0; 12665 12666 virtual HRESULT STDMETHODCALLTYPE SetBlackVideoOutputDuringCapture( 12667 /* [in] */ BOOL blackOutInCapture) = 0; 12668 12669 virtual HRESULT STDMETHODCALLTYPE GetBlackVideoOutputDuringCapture( 12670 /* [out] */ BOOL *blackOutInCapture) = 0; 12671 12672 virtual HRESULT STDMETHODCALLTYPE Set32PulldownSequenceInitialTimecodeFrame( 12673 /* [in] */ unsigned int aFrameTimecode) = 0; 12674 12675 virtual HRESULT STDMETHODCALLTYPE Get32PulldownSequenceInitialTimecodeFrame( 12676 /* [out] */ unsigned int *aFrameTimecode) = 0; 12677 12678 virtual HRESULT STDMETHODCALLTYPE SetVancSourceLineMapping( 12679 /* [in] */ unsigned int activeLine1VANCsource, 12680 /* [in] */ unsigned int activeLine2VANCsource, 12681 /* [in] */ unsigned int activeLine3VANCsource) = 0; 12682 12683 virtual HRESULT STDMETHODCALLTYPE GetVancSourceLineMapping( 12684 /* [out] */ unsigned int *activeLine1VANCsource, 12685 /* [out] */ unsigned int *activeLine2VANCsource, 12686 /* [out] */ unsigned int *activeLine3VANCsource) = 0; 12687 12688 virtual HRESULT STDMETHODCALLTYPE SetAudioInputFormat( 12689 /* [in] */ BMDAudioConnection_v10_2 audioInputFormat) = 0; 12690 12691 virtual HRESULT STDMETHODCALLTYPE GetAudioInputFormat( 12692 /* [out] */ BMDAudioConnection_v10_2 *audioInputFormat) = 0; 12693 12694 }; 12695 12696 12697 #else /* C style interface */ 12698 12699 typedef struct IDeckLinkConfiguration_v7_6Vtbl 12700 { 12701 BEGIN_INTERFACE 12702 12703 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 12704 IDeckLinkConfiguration_v7_6 * This, 12705 /* [in] */ REFIID riid, 12706 /* [annotation][iid_is][out] */ 12707 _COM_Outptr_ void **ppvObject); 12708 12709 ULONG ( STDMETHODCALLTYPE *AddRef )( 12710 IDeckLinkConfiguration_v7_6 * This); 12711 12712 ULONG ( STDMETHODCALLTYPE *Release )( 12713 IDeckLinkConfiguration_v7_6 * This); 12714 12715 HRESULT ( STDMETHODCALLTYPE *GetConfigurationValidator )( 12716 IDeckLinkConfiguration_v7_6 * This, 12717 /* [out] */ IDeckLinkConfiguration_v7_6 **configObject); 12718 12719 HRESULT ( STDMETHODCALLTYPE *WriteConfigurationToPreferences )( 12720 IDeckLinkConfiguration_v7_6 * This); 12721 12722 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFormat )( 12723 IDeckLinkConfiguration_v7_6 * This, 12724 /* [in] */ BMDVideoConnection_v7_6 videoOutputConnection); 12725 12726 HRESULT ( STDMETHODCALLTYPE *IsVideoOutputActive )( 12727 IDeckLinkConfiguration_v7_6 * This, 12728 /* [in] */ BMDVideoConnection_v7_6 videoOutputConnection, 12729 /* [out] */ BOOL *active); 12730 12731 HRESULT ( STDMETHODCALLTYPE *SetAnalogVideoOutputFlags )( 12732 IDeckLinkConfiguration_v7_6 * This, 12733 /* [in] */ BMDAnalogVideoFlags analogVideoFlags); 12734 12735 HRESULT ( STDMETHODCALLTYPE *GetAnalogVideoOutputFlags )( 12736 IDeckLinkConfiguration_v7_6 * This, 12737 /* [out] */ BMDAnalogVideoFlags *analogVideoFlags); 12738 12739 HRESULT ( STDMETHODCALLTYPE *EnableFieldFlickerRemovalWhenPaused )( 12740 IDeckLinkConfiguration_v7_6 * This, 12741 /* [in] */ BOOL enable); 12742 12743 HRESULT ( STDMETHODCALLTYPE *IsEnabledFieldFlickerRemovalWhenPaused )( 12744 IDeckLinkConfiguration_v7_6 * This, 12745 /* [out] */ BOOL *enabled); 12746 12747 HRESULT ( STDMETHODCALLTYPE *Set444And3GBpsVideoOutput )( 12748 IDeckLinkConfiguration_v7_6 * This, 12749 /* [in] */ BOOL enable444VideoOutput, 12750 /* [in] */ BOOL enable3GbsOutput); 12751 12752 HRESULT ( STDMETHODCALLTYPE *Get444And3GBpsVideoOutput )( 12753 IDeckLinkConfiguration_v7_6 * This, 12754 /* [out] */ BOOL *is444VideoOutputEnabled, 12755 /* [out] */ BOOL *threeGbsOutputEnabled); 12756 12757 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputConversionMode )( 12758 IDeckLinkConfiguration_v7_6 * This, 12759 /* [in] */ BMDVideoOutputConversionMode conversionMode); 12760 12761 HRESULT ( STDMETHODCALLTYPE *GetVideoOutputConversionMode )( 12762 IDeckLinkConfiguration_v7_6 * This, 12763 /* [out] */ BMDVideoOutputConversionMode *conversionMode); 12764 12765 HRESULT ( STDMETHODCALLTYPE *Set_HD1080p24_to_HD1080i5994_Conversion )( 12766 IDeckLinkConfiguration_v7_6 * This, 12767 /* [in] */ BOOL enable); 12768 12769 HRESULT ( STDMETHODCALLTYPE *Get_HD1080p24_to_HD1080i5994_Conversion )( 12770 IDeckLinkConfiguration_v7_6 * This, 12771 /* [out] */ BOOL *enabled); 12772 12773 HRESULT ( STDMETHODCALLTYPE *SetVideoInputFormat )( 12774 IDeckLinkConfiguration_v7_6 * This, 12775 /* [in] */ BMDVideoConnection_v7_6 videoInputFormat); 12776 12777 HRESULT ( STDMETHODCALLTYPE *GetVideoInputFormat )( 12778 IDeckLinkConfiguration_v7_6 * This, 12779 /* [out] */ BMDVideoConnection_v7_6 *videoInputFormat); 12780 12781 HRESULT ( STDMETHODCALLTYPE *SetAnalogVideoInputFlags )( 12782 IDeckLinkConfiguration_v7_6 * This, 12783 /* [in] */ BMDAnalogVideoFlags analogVideoFlags); 12784 12785 HRESULT ( STDMETHODCALLTYPE *GetAnalogVideoInputFlags )( 12786 IDeckLinkConfiguration_v7_6 * This, 12787 /* [out] */ BMDAnalogVideoFlags *analogVideoFlags); 12788 12789 HRESULT ( STDMETHODCALLTYPE *SetVideoInputConversionMode )( 12790 IDeckLinkConfiguration_v7_6 * This, 12791 /* [in] */ BMDVideoInputConversionMode conversionMode); 12792 12793 HRESULT ( STDMETHODCALLTYPE *GetVideoInputConversionMode )( 12794 IDeckLinkConfiguration_v7_6 * This, 12795 /* [out] */ BMDVideoInputConversionMode *conversionMode); 12796 12797 HRESULT ( STDMETHODCALLTYPE *SetBlackVideoOutputDuringCapture )( 12798 IDeckLinkConfiguration_v7_6 * This, 12799 /* [in] */ BOOL blackOutInCapture); 12800 12801 HRESULT ( STDMETHODCALLTYPE *GetBlackVideoOutputDuringCapture )( 12802 IDeckLinkConfiguration_v7_6 * This, 12803 /* [out] */ BOOL *blackOutInCapture); 12804 12805 HRESULT ( STDMETHODCALLTYPE *Set32PulldownSequenceInitialTimecodeFrame )( 12806 IDeckLinkConfiguration_v7_6 * This, 12807 /* [in] */ unsigned int aFrameTimecode); 12808 12809 HRESULT ( STDMETHODCALLTYPE *Get32PulldownSequenceInitialTimecodeFrame )( 12810 IDeckLinkConfiguration_v7_6 * This, 12811 /* [out] */ unsigned int *aFrameTimecode); 12812 12813 HRESULT ( STDMETHODCALLTYPE *SetVancSourceLineMapping )( 12814 IDeckLinkConfiguration_v7_6 * This, 12815 /* [in] */ unsigned int activeLine1VANCsource, 12816 /* [in] */ unsigned int activeLine2VANCsource, 12817 /* [in] */ unsigned int activeLine3VANCsource); 12818 12819 HRESULT ( STDMETHODCALLTYPE *GetVancSourceLineMapping )( 12820 IDeckLinkConfiguration_v7_6 * This, 12821 /* [out] */ unsigned int *activeLine1VANCsource, 12822 /* [out] */ unsigned int *activeLine2VANCsource, 12823 /* [out] */ unsigned int *activeLine3VANCsource); 12824 12825 HRESULT ( STDMETHODCALLTYPE *SetAudioInputFormat )( 12826 IDeckLinkConfiguration_v7_6 * This, 12827 /* [in] */ BMDAudioConnection_v10_2 audioInputFormat); 12828 12829 HRESULT ( STDMETHODCALLTYPE *GetAudioInputFormat )( 12830 IDeckLinkConfiguration_v7_6 * This, 12831 /* [out] */ BMDAudioConnection_v10_2 *audioInputFormat); 12832 12833 END_INTERFACE 12834 } IDeckLinkConfiguration_v7_6Vtbl; 12835 12836 interface IDeckLinkConfiguration_v7_6 12837 { 12838 CONST_VTBL struct IDeckLinkConfiguration_v7_6Vtbl *lpVtbl; 12839 }; 12840 12841 12842 12843 #ifdef COBJMACROS 12844 12845 12846 #define IDeckLinkConfiguration_v7_6_QueryInterface(This,riid,ppvObject) \ 12847 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 12848 12849 #define IDeckLinkConfiguration_v7_6_AddRef(This) \ 12850 ( (This)->lpVtbl -> AddRef(This) ) 12851 12852 #define IDeckLinkConfiguration_v7_6_Release(This) \ 12853 ( (This)->lpVtbl -> Release(This) ) 12854 12855 12856 #define IDeckLinkConfiguration_v7_6_GetConfigurationValidator(This,configObject) \ 12857 ( (This)->lpVtbl -> GetConfigurationValidator(This,configObject) ) 12858 12859 #define IDeckLinkConfiguration_v7_6_WriteConfigurationToPreferences(This) \ 12860 ( (This)->lpVtbl -> WriteConfigurationToPreferences(This) ) 12861 12862 #define IDeckLinkConfiguration_v7_6_SetVideoOutputFormat(This,videoOutputConnection) \ 12863 ( (This)->lpVtbl -> SetVideoOutputFormat(This,videoOutputConnection) ) 12864 12865 #define IDeckLinkConfiguration_v7_6_IsVideoOutputActive(This,videoOutputConnection,active) \ 12866 ( (This)->lpVtbl -> IsVideoOutputActive(This,videoOutputConnection,active) ) 12867 12868 #define IDeckLinkConfiguration_v7_6_SetAnalogVideoOutputFlags(This,analogVideoFlags) \ 12869 ( (This)->lpVtbl -> SetAnalogVideoOutputFlags(This,analogVideoFlags) ) 12870 12871 #define IDeckLinkConfiguration_v7_6_GetAnalogVideoOutputFlags(This,analogVideoFlags) \ 12872 ( (This)->lpVtbl -> GetAnalogVideoOutputFlags(This,analogVideoFlags) ) 12873 12874 #define IDeckLinkConfiguration_v7_6_EnableFieldFlickerRemovalWhenPaused(This,enable) \ 12875 ( (This)->lpVtbl -> EnableFieldFlickerRemovalWhenPaused(This,enable) ) 12876 12877 #define IDeckLinkConfiguration_v7_6_IsEnabledFieldFlickerRemovalWhenPaused(This,enabled) \ 12878 ( (This)->lpVtbl -> IsEnabledFieldFlickerRemovalWhenPaused(This,enabled) ) 12879 12880 #define IDeckLinkConfiguration_v7_6_Set444And3GBpsVideoOutput(This,enable444VideoOutput,enable3GbsOutput) \ 12881 ( (This)->lpVtbl -> Set444And3GBpsVideoOutput(This,enable444VideoOutput,enable3GbsOutput) ) 12882 12883 #define IDeckLinkConfiguration_v7_6_Get444And3GBpsVideoOutput(This,is444VideoOutputEnabled,threeGbsOutputEnabled) \ 12884 ( (This)->lpVtbl -> Get444And3GBpsVideoOutput(This,is444VideoOutputEnabled,threeGbsOutputEnabled) ) 12885 12886 #define IDeckLinkConfiguration_v7_6_SetVideoOutputConversionMode(This,conversionMode) \ 12887 ( (This)->lpVtbl -> SetVideoOutputConversionMode(This,conversionMode) ) 12888 12889 #define IDeckLinkConfiguration_v7_6_GetVideoOutputConversionMode(This,conversionMode) \ 12890 ( (This)->lpVtbl -> GetVideoOutputConversionMode(This,conversionMode) ) 12891 12892 #define IDeckLinkConfiguration_v7_6_Set_HD1080p24_to_HD1080i5994_Conversion(This,enable) \ 12893 ( (This)->lpVtbl -> Set_HD1080p24_to_HD1080i5994_Conversion(This,enable) ) 12894 12895 #define IDeckLinkConfiguration_v7_6_Get_HD1080p24_to_HD1080i5994_Conversion(This,enabled) \ 12896 ( (This)->lpVtbl -> Get_HD1080p24_to_HD1080i5994_Conversion(This,enabled) ) 12897 12898 #define IDeckLinkConfiguration_v7_6_SetVideoInputFormat(This,videoInputFormat) \ 12899 ( (This)->lpVtbl -> SetVideoInputFormat(This,videoInputFormat) ) 12900 12901 #define IDeckLinkConfiguration_v7_6_GetVideoInputFormat(This,videoInputFormat) \ 12902 ( (This)->lpVtbl -> GetVideoInputFormat(This,videoInputFormat) ) 12903 12904 #define IDeckLinkConfiguration_v7_6_SetAnalogVideoInputFlags(This,analogVideoFlags) \ 12905 ( (This)->lpVtbl -> SetAnalogVideoInputFlags(This,analogVideoFlags) ) 12906 12907 #define IDeckLinkConfiguration_v7_6_GetAnalogVideoInputFlags(This,analogVideoFlags) \ 12908 ( (This)->lpVtbl -> GetAnalogVideoInputFlags(This,analogVideoFlags) ) 12909 12910 #define IDeckLinkConfiguration_v7_6_SetVideoInputConversionMode(This,conversionMode) \ 12911 ( (This)->lpVtbl -> SetVideoInputConversionMode(This,conversionMode) ) 12912 12913 #define IDeckLinkConfiguration_v7_6_GetVideoInputConversionMode(This,conversionMode) \ 12914 ( (This)->lpVtbl -> GetVideoInputConversionMode(This,conversionMode) ) 12915 12916 #define IDeckLinkConfiguration_v7_6_SetBlackVideoOutputDuringCapture(This,blackOutInCapture) \ 12917 ( (This)->lpVtbl -> SetBlackVideoOutputDuringCapture(This,blackOutInCapture) ) 12918 12919 #define IDeckLinkConfiguration_v7_6_GetBlackVideoOutputDuringCapture(This,blackOutInCapture) \ 12920 ( (This)->lpVtbl -> GetBlackVideoOutputDuringCapture(This,blackOutInCapture) ) 12921 12922 #define IDeckLinkConfiguration_v7_6_Set32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) \ 12923 ( (This)->lpVtbl -> Set32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) ) 12924 12925 #define IDeckLinkConfiguration_v7_6_Get32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) \ 12926 ( (This)->lpVtbl -> Get32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) ) 12927 12928 #define IDeckLinkConfiguration_v7_6_SetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) \ 12929 ( (This)->lpVtbl -> SetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) ) 12930 12931 #define IDeckLinkConfiguration_v7_6_GetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) \ 12932 ( (This)->lpVtbl -> GetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) ) 12933 12934 #define IDeckLinkConfiguration_v7_6_SetAudioInputFormat(This,audioInputFormat) \ 12935 ( (This)->lpVtbl -> SetAudioInputFormat(This,audioInputFormat) ) 12936 12937 #define IDeckLinkConfiguration_v7_6_GetAudioInputFormat(This,audioInputFormat) \ 12938 ( (This)->lpVtbl -> GetAudioInputFormat(This,audioInputFormat) ) 12939 12940 #endif /* COBJMACROS */ 12941 12942 12943 #endif /* C style interface */ 12944 12945 12946 12947 12948 #endif /* __IDeckLinkConfiguration_v7_6_INTERFACE_DEFINED__ */ 12949 12950 12951 #ifndef __IDeckLinkVideoOutputCallback_v7_6_INTERFACE_DEFINED__ 12952 #define __IDeckLinkVideoOutputCallback_v7_6_INTERFACE_DEFINED__ 12953 12954 /* interface IDeckLinkVideoOutputCallback_v7_6 */ 12955 /* [helpstring][uuid][object] */ 12956 12957 12958 EXTERN_C const IID IID_IDeckLinkVideoOutputCallback_v7_6; 12959 12960 #if defined(__cplusplus) && !defined(CINTERFACE) 12961 12962 MIDL_INTERFACE("E763A626-4A3C-49D1-BF13-E7AD3692AE52") 12963 IDeckLinkVideoOutputCallback_v7_6 : public IUnknown 12964 { 12965 public: 12966 virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted( 12967 /* [in] */ IDeckLinkVideoFrame_v7_6 *completedFrame, 12968 /* [in] */ BMDOutputFrameCompletionResult result) = 0; 12969 12970 virtual HRESULT STDMETHODCALLTYPE ScheduledPlaybackHasStopped( void) = 0; 12971 12972 }; 12973 12974 12975 #else /* C style interface */ 12976 12977 typedef struct IDeckLinkVideoOutputCallback_v7_6Vtbl 12978 { 12979 BEGIN_INTERFACE 12980 12981 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 12982 IDeckLinkVideoOutputCallback_v7_6 * This, 12983 /* [in] */ REFIID riid, 12984 /* [annotation][iid_is][out] */ 12985 _COM_Outptr_ void **ppvObject); 12986 12987 ULONG ( STDMETHODCALLTYPE *AddRef )( 12988 IDeckLinkVideoOutputCallback_v7_6 * This); 12989 12990 ULONG ( STDMETHODCALLTYPE *Release )( 12991 IDeckLinkVideoOutputCallback_v7_6 * This); 12992 12993 HRESULT ( STDMETHODCALLTYPE *ScheduledFrameCompleted )( 12994 IDeckLinkVideoOutputCallback_v7_6 * This, 12995 /* [in] */ IDeckLinkVideoFrame_v7_6 *completedFrame, 12996 /* [in] */ BMDOutputFrameCompletionResult result); 12997 12998 HRESULT ( STDMETHODCALLTYPE *ScheduledPlaybackHasStopped )( 12999 IDeckLinkVideoOutputCallback_v7_6 * This); 13000 13001 END_INTERFACE 13002 } IDeckLinkVideoOutputCallback_v7_6Vtbl; 13003 13004 interface IDeckLinkVideoOutputCallback_v7_6 13005 { 13006 CONST_VTBL struct IDeckLinkVideoOutputCallback_v7_6Vtbl *lpVtbl; 13007 }; 13008 13009 13010 13011 #ifdef COBJMACROS 13012 13013 13014 #define IDeckLinkVideoOutputCallback_v7_6_QueryInterface(This,riid,ppvObject) \ 13015 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 13016 13017 #define IDeckLinkVideoOutputCallback_v7_6_AddRef(This) \ 13018 ( (This)->lpVtbl -> AddRef(This) ) 13019 13020 #define IDeckLinkVideoOutputCallback_v7_6_Release(This) \ 13021 ( (This)->lpVtbl -> Release(This) ) 13022 13023 13024 #define IDeckLinkVideoOutputCallback_v7_6_ScheduledFrameCompleted(This,completedFrame,result) \ 13025 ( (This)->lpVtbl -> ScheduledFrameCompleted(This,completedFrame,result) ) 13026 13027 #define IDeckLinkVideoOutputCallback_v7_6_ScheduledPlaybackHasStopped(This) \ 13028 ( (This)->lpVtbl -> ScheduledPlaybackHasStopped(This) ) 13029 13030 #endif /* COBJMACROS */ 13031 13032 13033 #endif /* C style interface */ 13034 13035 13036 13037 13038 #endif /* __IDeckLinkVideoOutputCallback_v7_6_INTERFACE_DEFINED__ */ 13039 13040 13041 #ifndef __IDeckLinkInputCallback_v7_6_INTERFACE_DEFINED__ 13042 #define __IDeckLinkInputCallback_v7_6_INTERFACE_DEFINED__ 13043 13044 /* interface IDeckLinkInputCallback_v7_6 */ 13045 /* [helpstring][uuid][object] */ 13046 13047 13048 EXTERN_C const IID IID_IDeckLinkInputCallback_v7_6; 13049 13050 #if defined(__cplusplus) && !defined(CINTERFACE) 13051 13052 MIDL_INTERFACE("31D28EE7-88B6-4CB1-897A-CDBF79A26414") 13053 IDeckLinkInputCallback_v7_6 : public IUnknown 13054 { 13055 public: 13056 virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged( 13057 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents, 13058 /* [in] */ IDeckLinkDisplayMode_v7_6 *newDisplayMode, 13059 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0; 13060 13061 virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived( 13062 /* [in] */ IDeckLinkVideoInputFrame_v7_6 *videoFrame, 13063 /* [in] */ IDeckLinkAudioInputPacket *audioPacket) = 0; 13064 13065 }; 13066 13067 13068 #else /* C style interface */ 13069 13070 typedef struct IDeckLinkInputCallback_v7_6Vtbl 13071 { 13072 BEGIN_INTERFACE 13073 13074 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 13075 IDeckLinkInputCallback_v7_6 * This, 13076 /* [in] */ REFIID riid, 13077 /* [annotation][iid_is][out] */ 13078 _COM_Outptr_ void **ppvObject); 13079 13080 ULONG ( STDMETHODCALLTYPE *AddRef )( 13081 IDeckLinkInputCallback_v7_6 * This); 13082 13083 ULONG ( STDMETHODCALLTYPE *Release )( 13084 IDeckLinkInputCallback_v7_6 * This); 13085 13086 HRESULT ( STDMETHODCALLTYPE *VideoInputFormatChanged )( 13087 IDeckLinkInputCallback_v7_6 * This, 13088 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents, 13089 /* [in] */ IDeckLinkDisplayMode_v7_6 *newDisplayMode, 13090 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags); 13091 13092 HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )( 13093 IDeckLinkInputCallback_v7_6 * This, 13094 /* [in] */ IDeckLinkVideoInputFrame_v7_6 *videoFrame, 13095 /* [in] */ IDeckLinkAudioInputPacket *audioPacket); 13096 13097 END_INTERFACE 13098 } IDeckLinkInputCallback_v7_6Vtbl; 13099 13100 interface IDeckLinkInputCallback_v7_6 13101 { 13102 CONST_VTBL struct IDeckLinkInputCallback_v7_6Vtbl *lpVtbl; 13103 }; 13104 13105 13106 13107 #ifdef COBJMACROS 13108 13109 13110 #define IDeckLinkInputCallback_v7_6_QueryInterface(This,riid,ppvObject) \ 13111 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 13112 13113 #define IDeckLinkInputCallback_v7_6_AddRef(This) \ 13114 ( (This)->lpVtbl -> AddRef(This) ) 13115 13116 #define IDeckLinkInputCallback_v7_6_Release(This) \ 13117 ( (This)->lpVtbl -> Release(This) ) 13118 13119 13120 #define IDeckLinkInputCallback_v7_6_VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) \ 13121 ( (This)->lpVtbl -> VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) ) 13122 13123 #define IDeckLinkInputCallback_v7_6_VideoInputFrameArrived(This,videoFrame,audioPacket) \ 13124 ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) ) 13125 13126 #endif /* COBJMACROS */ 13127 13128 13129 #endif /* C style interface */ 13130 13131 13132 13133 13134 #endif /* __IDeckLinkInputCallback_v7_6_INTERFACE_DEFINED__ */ 13135 13136 13137 EXTERN_C const CLSID CLSID_CDeckLinkGLScreenPreviewHelper_v7_6; 13138 13139 #ifdef __cplusplus 13140 13141 class DECLSPEC_UUID("D398CEE7-4434-4CA3-9BA6-5AE34556B905") 13142 CDeckLinkGLScreenPreviewHelper_v7_6; 13143 #endif 13144 13145 EXTERN_C const CLSID CLSID_CDeckLinkVideoConversion_v7_6; 13146 13147 #ifdef __cplusplus 13148 13149 class DECLSPEC_UUID("FFA84F77-73BE-4FB7-B03E-B5E44B9F759B") 13150 CDeckLinkVideoConversion_v7_6; 13151 #endif 13152 13153 #ifndef __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__ 13154 #define __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__ 13155 13156 /* interface IDeckLinkInputCallback_v7_3 */ 13157 /* [helpstring][uuid][object] */ 13158 13159 13160 EXTERN_C const IID IID_IDeckLinkInputCallback_v7_3; 13161 13162 #if defined(__cplusplus) && !defined(CINTERFACE) 13163 13164 MIDL_INTERFACE("FD6F311D-4D00-444B-9ED4-1F25B5730AD0") 13165 IDeckLinkInputCallback_v7_3 : public IUnknown 13166 { 13167 public: 13168 virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged( 13169 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents, 13170 /* [in] */ IDeckLinkDisplayMode_v7_6 *newDisplayMode, 13171 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0; 13172 13173 virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived( 13174 /* [in] */ IDeckLinkVideoInputFrame_v7_3 *videoFrame, 13175 /* [in] */ IDeckLinkAudioInputPacket *audioPacket) = 0; 13176 13177 }; 13178 13179 13180 #else /* C style interface */ 13181 13182 typedef struct IDeckLinkInputCallback_v7_3Vtbl 13183 { 13184 BEGIN_INTERFACE 13185 13186 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 13187 IDeckLinkInputCallback_v7_3 * This, 13188 /* [in] */ REFIID riid, 13189 /* [annotation][iid_is][out] */ 13190 _COM_Outptr_ void **ppvObject); 13191 13192 ULONG ( STDMETHODCALLTYPE *AddRef )( 13193 IDeckLinkInputCallback_v7_3 * This); 13194 13195 ULONG ( STDMETHODCALLTYPE *Release )( 13196 IDeckLinkInputCallback_v7_3 * This); 13197 13198 HRESULT ( STDMETHODCALLTYPE *VideoInputFormatChanged )( 13199 IDeckLinkInputCallback_v7_3 * This, 13200 /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents, 13201 /* [in] */ IDeckLinkDisplayMode_v7_6 *newDisplayMode, 13202 /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags); 13203 13204 HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )( 13205 IDeckLinkInputCallback_v7_3 * This, 13206 /* [in] */ IDeckLinkVideoInputFrame_v7_3 *videoFrame, 13207 /* [in] */ IDeckLinkAudioInputPacket *audioPacket); 13208 13209 END_INTERFACE 13210 } IDeckLinkInputCallback_v7_3Vtbl; 13211 13212 interface IDeckLinkInputCallback_v7_3 13213 { 13214 CONST_VTBL struct IDeckLinkInputCallback_v7_3Vtbl *lpVtbl; 13215 }; 13216 13217 13218 13219 #ifdef COBJMACROS 13220 13221 13222 #define IDeckLinkInputCallback_v7_3_QueryInterface(This,riid,ppvObject) \ 13223 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 13224 13225 #define IDeckLinkInputCallback_v7_3_AddRef(This) \ 13226 ( (This)->lpVtbl -> AddRef(This) ) 13227 13228 #define IDeckLinkInputCallback_v7_3_Release(This) \ 13229 ( (This)->lpVtbl -> Release(This) ) 13230 13231 13232 #define IDeckLinkInputCallback_v7_3_VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) \ 13233 ( (This)->lpVtbl -> VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) ) 13234 13235 #define IDeckLinkInputCallback_v7_3_VideoInputFrameArrived(This,videoFrame,audioPacket) \ 13236 ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) ) 13237 13238 #endif /* COBJMACROS */ 13239 13240 13241 #endif /* C style interface */ 13242 13243 13244 13245 13246 #endif /* __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__ */ 13247 13248 13249 #ifndef __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__ 13250 #define __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__ 13251 13252 /* interface IDeckLinkOutput_v7_3 */ 13253 /* [helpstring][local][uuid][object] */ 13254 13255 13256 EXTERN_C const IID IID_IDeckLinkOutput_v7_3; 13257 13258 #if defined(__cplusplus) && !defined(CINTERFACE) 13259 13260 MIDL_INTERFACE("271C65E3-C323-4344-A30F-D908BCB20AA3") 13261 IDeckLinkOutput_v7_3 : public IUnknown 13262 { 13263 public: 13264 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( 13265 BMDDisplayMode displayMode, 13266 BMDPixelFormat pixelFormat, 13267 /* [out] */ BMDDisplayModeSupport *result) = 0; 13268 13269 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( 13270 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0; 13271 13272 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( 13273 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; 13274 13275 virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput( 13276 BMDDisplayMode displayMode, 13277 BMDVideoOutputFlags flags) = 0; 13278 13279 virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0; 13280 13281 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator( 13282 /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0; 13283 13284 virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame( 13285 int width, 13286 int height, 13287 int rowBytes, 13288 BMDPixelFormat pixelFormat, 13289 BMDFrameFlags flags, 13290 /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame) = 0; 13291 13292 virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData( 13293 BMDPixelFormat pixelFormat, 13294 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer) = 0; 13295 13296 virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync( 13297 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0; 13298 13299 virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame( 13300 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame, 13301 BMDTimeValue displayTime, 13302 BMDTimeValue displayDuration, 13303 BMDTimeScale timeScale) = 0; 13304 13305 virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback( 13306 /* [in] */ IDeckLinkVideoOutputCallback *theCallback) = 0; 13307 13308 virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount( 13309 /* [out] */ unsigned int *bufferedFrameCount) = 0; 13310 13311 virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput( 13312 BMDAudioSampleRate sampleRate, 13313 BMDAudioSampleType sampleType, 13314 unsigned int channelCount, 13315 BMDAudioOutputStreamType streamType) = 0; 13316 13317 virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0; 13318 13319 virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync( 13320 /* [in] */ void *buffer, 13321 unsigned int sampleFrameCount, 13322 /* [out] */ unsigned int *sampleFramesWritten) = 0; 13323 13324 virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0; 13325 13326 virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0; 13327 13328 virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples( 13329 /* [in] */ void *buffer, 13330 unsigned int sampleFrameCount, 13331 BMDTimeValue streamTime, 13332 BMDTimeScale timeScale, 13333 /* [out] */ unsigned int *sampleFramesWritten) = 0; 13334 13335 virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount( 13336 /* [out] */ unsigned int *bufferedSampleFrameCount) = 0; 13337 13338 virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0; 13339 13340 virtual HRESULT STDMETHODCALLTYPE SetAudioCallback( 13341 /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0; 13342 13343 virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback( 13344 BMDTimeValue playbackStartTime, 13345 BMDTimeScale timeScale, 13346 double playbackSpeed) = 0; 13347 13348 virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback( 13349 BMDTimeValue stopPlaybackAtTime, 13350 /* [out] */ BMDTimeValue *actualStopTime, 13351 BMDTimeScale timeScale) = 0; 13352 13353 virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning( 13354 /* [out] */ BOOL *active) = 0; 13355 13356 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( 13357 BMDTimeScale desiredTimeScale, 13358 /* [out] */ BMDTimeValue *elapsedTimeSinceSchedulerBegan) = 0; 13359 13360 }; 13361 13362 13363 #else /* C style interface */ 13364 13365 typedef struct IDeckLinkOutput_v7_3Vtbl 13366 { 13367 BEGIN_INTERFACE 13368 13369 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 13370 IDeckLinkOutput_v7_3 * This, 13371 /* [in] */ REFIID riid, 13372 /* [annotation][iid_is][out] */ 13373 _COM_Outptr_ void **ppvObject); 13374 13375 ULONG ( STDMETHODCALLTYPE *AddRef )( 13376 IDeckLinkOutput_v7_3 * This); 13377 13378 ULONG ( STDMETHODCALLTYPE *Release )( 13379 IDeckLinkOutput_v7_3 * This); 13380 13381 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( 13382 IDeckLinkOutput_v7_3 * This, 13383 BMDDisplayMode displayMode, 13384 BMDPixelFormat pixelFormat, 13385 /* [out] */ BMDDisplayModeSupport *result); 13386 13387 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( 13388 IDeckLinkOutput_v7_3 * This, 13389 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator); 13390 13391 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )( 13392 IDeckLinkOutput_v7_3 * This, 13393 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback); 13394 13395 HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )( 13396 IDeckLinkOutput_v7_3 * This, 13397 BMDDisplayMode displayMode, 13398 BMDVideoOutputFlags flags); 13399 13400 HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )( 13401 IDeckLinkOutput_v7_3 * This); 13402 13403 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )( 13404 IDeckLinkOutput_v7_3 * This, 13405 /* [in] */ IDeckLinkMemoryAllocator *theAllocator); 13406 13407 HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )( 13408 IDeckLinkOutput_v7_3 * This, 13409 int width, 13410 int height, 13411 int rowBytes, 13412 BMDPixelFormat pixelFormat, 13413 BMDFrameFlags flags, 13414 /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame); 13415 13416 HRESULT ( STDMETHODCALLTYPE *CreateAncillaryData )( 13417 IDeckLinkOutput_v7_3 * This, 13418 BMDPixelFormat pixelFormat, 13419 /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer); 13420 13421 HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )( 13422 IDeckLinkOutput_v7_3 * This, 13423 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame); 13424 13425 HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )( 13426 IDeckLinkOutput_v7_3 * This, 13427 /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame, 13428 BMDTimeValue displayTime, 13429 BMDTimeValue displayDuration, 13430 BMDTimeScale timeScale); 13431 13432 HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )( 13433 IDeckLinkOutput_v7_3 * This, 13434 /* [in] */ IDeckLinkVideoOutputCallback *theCallback); 13435 13436 HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )( 13437 IDeckLinkOutput_v7_3 * This, 13438 /* [out] */ unsigned int *bufferedFrameCount); 13439 13440 HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )( 13441 IDeckLinkOutput_v7_3 * This, 13442 BMDAudioSampleRate sampleRate, 13443 BMDAudioSampleType sampleType, 13444 unsigned int channelCount, 13445 BMDAudioOutputStreamType streamType); 13446 13447 HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )( 13448 IDeckLinkOutput_v7_3 * This); 13449 13450 HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )( 13451 IDeckLinkOutput_v7_3 * This, 13452 /* [in] */ void *buffer, 13453 unsigned int sampleFrameCount, 13454 /* [out] */ unsigned int *sampleFramesWritten); 13455 13456 HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )( 13457 IDeckLinkOutput_v7_3 * This); 13458 13459 HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )( 13460 IDeckLinkOutput_v7_3 * This); 13461 13462 HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )( 13463 IDeckLinkOutput_v7_3 * This, 13464 /* [in] */ void *buffer, 13465 unsigned int sampleFrameCount, 13466 BMDTimeValue streamTime, 13467 BMDTimeScale timeScale, 13468 /* [out] */ unsigned int *sampleFramesWritten); 13469 13470 HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )( 13471 IDeckLinkOutput_v7_3 * This, 13472 /* [out] */ unsigned int *bufferedSampleFrameCount); 13473 13474 HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )( 13475 IDeckLinkOutput_v7_3 * This); 13476 13477 HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )( 13478 IDeckLinkOutput_v7_3 * This, 13479 /* [in] */ IDeckLinkAudioOutputCallback *theCallback); 13480 13481 HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )( 13482 IDeckLinkOutput_v7_3 * This, 13483 BMDTimeValue playbackStartTime, 13484 BMDTimeScale timeScale, 13485 double playbackSpeed); 13486 13487 HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )( 13488 IDeckLinkOutput_v7_3 * This, 13489 BMDTimeValue stopPlaybackAtTime, 13490 /* [out] */ BMDTimeValue *actualStopTime, 13491 BMDTimeScale timeScale); 13492 13493 HRESULT ( STDMETHODCALLTYPE *IsScheduledPlaybackRunning )( 13494 IDeckLinkOutput_v7_3 * This, 13495 /* [out] */ BOOL *active); 13496 13497 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( 13498 IDeckLinkOutput_v7_3 * This, 13499 BMDTimeScale desiredTimeScale, 13500 /* [out] */ BMDTimeValue *elapsedTimeSinceSchedulerBegan); 13501 13502 END_INTERFACE 13503 } IDeckLinkOutput_v7_3Vtbl; 13504 13505 interface IDeckLinkOutput_v7_3 13506 { 13507 CONST_VTBL struct IDeckLinkOutput_v7_3Vtbl *lpVtbl; 13508 }; 13509 13510 13511 13512 #ifdef COBJMACROS 13513 13514 13515 #define IDeckLinkOutput_v7_3_QueryInterface(This,riid,ppvObject) \ 13516 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 13517 13518 #define IDeckLinkOutput_v7_3_AddRef(This) \ 13519 ( (This)->lpVtbl -> AddRef(This) ) 13520 13521 #define IDeckLinkOutput_v7_3_Release(This) \ 13522 ( (This)->lpVtbl -> Release(This) ) 13523 13524 13525 #define IDeckLinkOutput_v7_3_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \ 13526 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) ) 13527 13528 #define IDeckLinkOutput_v7_3_GetDisplayModeIterator(This,iterator) \ 13529 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) 13530 13531 #define IDeckLinkOutput_v7_3_SetScreenPreviewCallback(This,previewCallback) \ 13532 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) ) 13533 13534 #define IDeckLinkOutput_v7_3_EnableVideoOutput(This,displayMode,flags) \ 13535 ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode,flags) ) 13536 13537 #define IDeckLinkOutput_v7_3_DisableVideoOutput(This) \ 13538 ( (This)->lpVtbl -> DisableVideoOutput(This) ) 13539 13540 #define IDeckLinkOutput_v7_3_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \ 13541 ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) ) 13542 13543 #define IDeckLinkOutput_v7_3_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \ 13544 ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) ) 13545 13546 #define IDeckLinkOutput_v7_3_CreateAncillaryData(This,pixelFormat,outBuffer) \ 13547 ( (This)->lpVtbl -> CreateAncillaryData(This,pixelFormat,outBuffer) ) 13548 13549 #define IDeckLinkOutput_v7_3_DisplayVideoFrameSync(This,theFrame) \ 13550 ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) ) 13551 13552 #define IDeckLinkOutput_v7_3_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \ 13553 ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) ) 13554 13555 #define IDeckLinkOutput_v7_3_SetScheduledFrameCompletionCallback(This,theCallback) \ 13556 ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) ) 13557 13558 #define IDeckLinkOutput_v7_3_GetBufferedVideoFrameCount(This,bufferedFrameCount) \ 13559 ( (This)->lpVtbl -> GetBufferedVideoFrameCount(This,bufferedFrameCount) ) 13560 13561 #define IDeckLinkOutput_v7_3_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) \ 13562 ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) ) 13563 13564 #define IDeckLinkOutput_v7_3_DisableAudioOutput(This) \ 13565 ( (This)->lpVtbl -> DisableAudioOutput(This) ) 13566 13567 #define IDeckLinkOutput_v7_3_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \ 13568 ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) ) 13569 13570 #define IDeckLinkOutput_v7_3_BeginAudioPreroll(This) \ 13571 ( (This)->lpVtbl -> BeginAudioPreroll(This) ) 13572 13573 #define IDeckLinkOutput_v7_3_EndAudioPreroll(This) \ 13574 ( (This)->lpVtbl -> EndAudioPreroll(This) ) 13575 13576 #define IDeckLinkOutput_v7_3_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \ 13577 ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) ) 13578 13579 #define IDeckLinkOutput_v7_3_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) \ 13580 ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) ) 13581 13582 #define IDeckLinkOutput_v7_3_FlushBufferedAudioSamples(This) \ 13583 ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) ) 13584 13585 #define IDeckLinkOutput_v7_3_SetAudioCallback(This,theCallback) \ 13586 ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) ) 13587 13588 #define IDeckLinkOutput_v7_3_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \ 13589 ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) ) 13590 13591 #define IDeckLinkOutput_v7_3_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \ 13592 ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) ) 13593 13594 #define IDeckLinkOutput_v7_3_IsScheduledPlaybackRunning(This,active) \ 13595 ( (This)->lpVtbl -> IsScheduledPlaybackRunning(This,active) ) 13596 13597 #define IDeckLinkOutput_v7_3_GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) \ 13598 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) ) 13599 13600 #endif /* COBJMACROS */ 13601 13602 13603 #endif /* C style interface */ 13604 13605 13606 13607 13608 #endif /* __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__ */ 13609 13610 13611 #ifndef __IDeckLinkInput_v7_3_INTERFACE_DEFINED__ 13612 #define __IDeckLinkInput_v7_3_INTERFACE_DEFINED__ 13613 13614 /* interface IDeckLinkInput_v7_3 */ 13615 /* [helpstring][uuid][object] */ 13616 13617 13618 EXTERN_C const IID IID_IDeckLinkInput_v7_3; 13619 13620 #if defined(__cplusplus) && !defined(CINTERFACE) 13621 13622 MIDL_INTERFACE("4973F012-9925-458C-871C-18774CDBBECB") 13623 IDeckLinkInput_v7_3 : public IUnknown 13624 { 13625 public: 13626 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( 13627 BMDDisplayMode displayMode, 13628 BMDPixelFormat pixelFormat, 13629 /* [out] */ BMDDisplayModeSupport *result) = 0; 13630 13631 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( 13632 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0; 13633 13634 virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( 13635 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; 13636 13637 virtual HRESULT STDMETHODCALLTYPE EnableVideoInput( 13638 BMDDisplayMode displayMode, 13639 BMDPixelFormat pixelFormat, 13640 BMDVideoInputFlags flags) = 0; 13641 13642 virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0; 13643 13644 virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount( 13645 /* [out] */ unsigned int *availableFrameCount) = 0; 13646 13647 virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( 13648 BMDAudioSampleRate sampleRate, 13649 BMDAudioSampleType sampleType, 13650 unsigned int channelCount) = 0; 13651 13652 virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0; 13653 13654 virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount( 13655 /* [out] */ unsigned int *availableSampleFrameCount) = 0; 13656 13657 virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0; 13658 13659 virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0; 13660 13661 virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0; 13662 13663 virtual HRESULT STDMETHODCALLTYPE FlushStreams( void) = 0; 13664 13665 virtual HRESULT STDMETHODCALLTYPE SetCallback( 13666 /* [in] */ IDeckLinkInputCallback_v7_3 *theCallback) = 0; 13667 13668 }; 13669 13670 13671 #else /* C style interface */ 13672 13673 typedef struct IDeckLinkInput_v7_3Vtbl 13674 { 13675 BEGIN_INTERFACE 13676 13677 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 13678 IDeckLinkInput_v7_3 * This, 13679 /* [in] */ REFIID riid, 13680 /* [annotation][iid_is][out] */ 13681 _COM_Outptr_ void **ppvObject); 13682 13683 ULONG ( STDMETHODCALLTYPE *AddRef )( 13684 IDeckLinkInput_v7_3 * This); 13685 13686 ULONG ( STDMETHODCALLTYPE *Release )( 13687 IDeckLinkInput_v7_3 * This); 13688 13689 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( 13690 IDeckLinkInput_v7_3 * This, 13691 BMDDisplayMode displayMode, 13692 BMDPixelFormat pixelFormat, 13693 /* [out] */ BMDDisplayModeSupport *result); 13694 13695 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( 13696 IDeckLinkInput_v7_3 * This, 13697 /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator); 13698 13699 HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )( 13700 IDeckLinkInput_v7_3 * This, 13701 /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback); 13702 13703 HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )( 13704 IDeckLinkInput_v7_3 * This, 13705 BMDDisplayMode displayMode, 13706 BMDPixelFormat pixelFormat, 13707 BMDVideoInputFlags flags); 13708 13709 HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )( 13710 IDeckLinkInput_v7_3 * This); 13711 13712 HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )( 13713 IDeckLinkInput_v7_3 * This, 13714 /* [out] */ unsigned int *availableFrameCount); 13715 13716 HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )( 13717 IDeckLinkInput_v7_3 * This, 13718 BMDAudioSampleRate sampleRate, 13719 BMDAudioSampleType sampleType, 13720 unsigned int channelCount); 13721 13722 HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )( 13723 IDeckLinkInput_v7_3 * This); 13724 13725 HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )( 13726 IDeckLinkInput_v7_3 * This, 13727 /* [out] */ unsigned int *availableSampleFrameCount); 13728 13729 HRESULT ( STDMETHODCALLTYPE *StartStreams )( 13730 IDeckLinkInput_v7_3 * This); 13731 13732 HRESULT ( STDMETHODCALLTYPE *StopStreams )( 13733 IDeckLinkInput_v7_3 * This); 13734 13735 HRESULT ( STDMETHODCALLTYPE *PauseStreams )( 13736 IDeckLinkInput_v7_3 * This); 13737 13738 HRESULT ( STDMETHODCALLTYPE *FlushStreams )( 13739 IDeckLinkInput_v7_3 * This); 13740 13741 HRESULT ( STDMETHODCALLTYPE *SetCallback )( 13742 IDeckLinkInput_v7_3 * This, 13743 /* [in] */ IDeckLinkInputCallback_v7_3 *theCallback); 13744 13745 END_INTERFACE 13746 } IDeckLinkInput_v7_3Vtbl; 13747 13748 interface IDeckLinkInput_v7_3 13749 { 13750 CONST_VTBL struct IDeckLinkInput_v7_3Vtbl *lpVtbl; 13751 }; 13752 13753 13754 13755 #ifdef COBJMACROS 13756 13757 13758 #define IDeckLinkInput_v7_3_QueryInterface(This,riid,ppvObject) \ 13759 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 13760 13761 #define IDeckLinkInput_v7_3_AddRef(This) \ 13762 ( (This)->lpVtbl -> AddRef(This) ) 13763 13764 #define IDeckLinkInput_v7_3_Release(This) \ 13765 ( (This)->lpVtbl -> Release(This) ) 13766 13767 13768 #define IDeckLinkInput_v7_3_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \ 13769 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) ) 13770 13771 #define IDeckLinkInput_v7_3_GetDisplayModeIterator(This,iterator) \ 13772 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) 13773 13774 #define IDeckLinkInput_v7_3_SetScreenPreviewCallback(This,previewCallback) \ 13775 ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) ) 13776 13777 #define IDeckLinkInput_v7_3_EnableVideoInput(This,displayMode,pixelFormat,flags) \ 13778 ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) ) 13779 13780 #define IDeckLinkInput_v7_3_DisableVideoInput(This) \ 13781 ( (This)->lpVtbl -> DisableVideoInput(This) ) 13782 13783 #define IDeckLinkInput_v7_3_GetAvailableVideoFrameCount(This,availableFrameCount) \ 13784 ( (This)->lpVtbl -> GetAvailableVideoFrameCount(This,availableFrameCount) ) 13785 13786 #define IDeckLinkInput_v7_3_EnableAudioInput(This,sampleRate,sampleType,channelCount) \ 13787 ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) ) 13788 13789 #define IDeckLinkInput_v7_3_DisableAudioInput(This) \ 13790 ( (This)->lpVtbl -> DisableAudioInput(This) ) 13791 13792 #define IDeckLinkInput_v7_3_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \ 13793 ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) ) 13794 13795 #define IDeckLinkInput_v7_3_StartStreams(This) \ 13796 ( (This)->lpVtbl -> StartStreams(This) ) 13797 13798 #define IDeckLinkInput_v7_3_StopStreams(This) \ 13799 ( (This)->lpVtbl -> StopStreams(This) ) 13800 13801 #define IDeckLinkInput_v7_3_PauseStreams(This) \ 13802 ( (This)->lpVtbl -> PauseStreams(This) ) 13803 13804 #define IDeckLinkInput_v7_3_FlushStreams(This) \ 13805 ( (This)->lpVtbl -> FlushStreams(This) ) 13806 13807 #define IDeckLinkInput_v7_3_SetCallback(This,theCallback) \ 13808 ( (This)->lpVtbl -> SetCallback(This,theCallback) ) 13809 13810 #endif /* COBJMACROS */ 13811 13812 13813 #endif /* C style interface */ 13814 13815 13816 13817 13818 #endif /* __IDeckLinkInput_v7_3_INTERFACE_DEFINED__ */ 13819 13820 13821 #ifndef __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__ 13822 #define __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__ 13823 13824 /* interface IDeckLinkVideoInputFrame_v7_3 */ 13825 /* [helpstring][local][uuid][object] */ 13826 13827 13828 EXTERN_C const IID IID_IDeckLinkVideoInputFrame_v7_3; 13829 13830 #if defined(__cplusplus) && !defined(CINTERFACE) 13831 13832 MIDL_INTERFACE("CF317790-2894-11DE-8C30-0800200C9A66") 13833 IDeckLinkVideoInputFrame_v7_3 : public IDeckLinkVideoFrame_v7_6 13834 { 13835 public: 13836 virtual HRESULT STDMETHODCALLTYPE GetStreamTime( 13837 /* [out] */ BMDTimeValue *frameTime, 13838 /* [out] */ BMDTimeValue *frameDuration, 13839 BMDTimeScale timeScale) = 0; 13840 13841 }; 13842 13843 13844 #else /* C style interface */ 13845 13846 typedef struct IDeckLinkVideoInputFrame_v7_3Vtbl 13847 { 13848 BEGIN_INTERFACE 13849 13850 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 13851 IDeckLinkVideoInputFrame_v7_3 * This, 13852 /* [in] */ REFIID riid, 13853 /* [annotation][iid_is][out] */ 13854 _COM_Outptr_ void **ppvObject); 13855 13856 ULONG ( STDMETHODCALLTYPE *AddRef )( 13857 IDeckLinkVideoInputFrame_v7_3 * This); 13858 13859 ULONG ( STDMETHODCALLTYPE *Release )( 13860 IDeckLinkVideoInputFrame_v7_3 * This); 13861 13862 long ( STDMETHODCALLTYPE *GetWidth )( 13863 IDeckLinkVideoInputFrame_v7_3 * This); 13864 13865 long ( STDMETHODCALLTYPE *GetHeight )( 13866 IDeckLinkVideoInputFrame_v7_3 * This); 13867 13868 long ( STDMETHODCALLTYPE *GetRowBytes )( 13869 IDeckLinkVideoInputFrame_v7_3 * This); 13870 13871 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( 13872 IDeckLinkVideoInputFrame_v7_3 * This); 13873 13874 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( 13875 IDeckLinkVideoInputFrame_v7_3 * This); 13876 13877 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 13878 IDeckLinkVideoInputFrame_v7_3 * This, 13879 /* [out] */ void **buffer); 13880 13881 HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 13882 IDeckLinkVideoInputFrame_v7_3 * This, 13883 BMDTimecodeFormat format, 13884 /* [out] */ IDeckLinkTimecode_v7_6 **timecode); 13885 13886 HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )( 13887 IDeckLinkVideoInputFrame_v7_3 * This, 13888 /* [out] */ IDeckLinkVideoFrameAncillary **ancillary); 13889 13890 HRESULT ( STDMETHODCALLTYPE *GetStreamTime )( 13891 IDeckLinkVideoInputFrame_v7_3 * This, 13892 /* [out] */ BMDTimeValue *frameTime, 13893 /* [out] */ BMDTimeValue *frameDuration, 13894 BMDTimeScale timeScale); 13895 13896 END_INTERFACE 13897 } IDeckLinkVideoInputFrame_v7_3Vtbl; 13898 13899 interface IDeckLinkVideoInputFrame_v7_3 13900 { 13901 CONST_VTBL struct IDeckLinkVideoInputFrame_v7_3Vtbl *lpVtbl; 13902 }; 13903 13904 13905 13906 #ifdef COBJMACROS 13907 13908 13909 #define IDeckLinkVideoInputFrame_v7_3_QueryInterface(This,riid,ppvObject) \ 13910 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 13911 13912 #define IDeckLinkVideoInputFrame_v7_3_AddRef(This) \ 13913 ( (This)->lpVtbl -> AddRef(This) ) 13914 13915 #define IDeckLinkVideoInputFrame_v7_3_Release(This) \ 13916 ( (This)->lpVtbl -> Release(This) ) 13917 13918 13919 #define IDeckLinkVideoInputFrame_v7_3_GetWidth(This) \ 13920 ( (This)->lpVtbl -> GetWidth(This) ) 13921 13922 #define IDeckLinkVideoInputFrame_v7_3_GetHeight(This) \ 13923 ( (This)->lpVtbl -> GetHeight(This) ) 13924 13925 #define IDeckLinkVideoInputFrame_v7_3_GetRowBytes(This) \ 13926 ( (This)->lpVtbl -> GetRowBytes(This) ) 13927 13928 #define IDeckLinkVideoInputFrame_v7_3_GetPixelFormat(This) \ 13929 ( (This)->lpVtbl -> GetPixelFormat(This) ) 13930 13931 #define IDeckLinkVideoInputFrame_v7_3_GetFlags(This) \ 13932 ( (This)->lpVtbl -> GetFlags(This) ) 13933 13934 #define IDeckLinkVideoInputFrame_v7_3_GetBytes(This,buffer) \ 13935 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 13936 13937 #define IDeckLinkVideoInputFrame_v7_3_GetTimecode(This,format,timecode) \ 13938 ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) 13939 13940 #define IDeckLinkVideoInputFrame_v7_3_GetAncillaryData(This,ancillary) \ 13941 ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) ) 13942 13943 13944 #define IDeckLinkVideoInputFrame_v7_3_GetStreamTime(This,frameTime,frameDuration,timeScale) \ 13945 ( (This)->lpVtbl -> GetStreamTime(This,frameTime,frameDuration,timeScale) ) 13946 13947 #endif /* COBJMACROS */ 13948 13949 13950 #endif /* C style interface */ 13951 13952 13953 13954 13955 #endif /* __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__ */ 13956 13957 13958 #ifndef __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__ 13959 #define __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__ 13960 13961 /* interface IDeckLinkDisplayModeIterator_v7_1 */ 13962 /* [helpstring][uuid][object] */ 13963 13964 13965 EXTERN_C const IID IID_IDeckLinkDisplayModeIterator_v7_1; 13966 13967 #if defined(__cplusplus) && !defined(CINTERFACE) 13968 13969 MIDL_INTERFACE("B28131B6-59AC-4857-B5AC-CD75D5883E2F") 13970 IDeckLinkDisplayModeIterator_v7_1 : public IUnknown 13971 { 13972 public: 13973 virtual HRESULT STDMETHODCALLTYPE Next( 13974 /* [out] */ IDeckLinkDisplayMode_v7_1 **deckLinkDisplayMode) = 0; 13975 13976 }; 13977 13978 13979 #else /* C style interface */ 13980 13981 typedef struct IDeckLinkDisplayModeIterator_v7_1Vtbl 13982 { 13983 BEGIN_INTERFACE 13984 13985 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 13986 IDeckLinkDisplayModeIterator_v7_1 * This, 13987 /* [in] */ REFIID riid, 13988 /* [annotation][iid_is][out] */ 13989 _COM_Outptr_ void **ppvObject); 13990 13991 ULONG ( STDMETHODCALLTYPE *AddRef )( 13992 IDeckLinkDisplayModeIterator_v7_1 * This); 13993 13994 ULONG ( STDMETHODCALLTYPE *Release )( 13995 IDeckLinkDisplayModeIterator_v7_1 * This); 13996 13997 HRESULT ( STDMETHODCALLTYPE *Next )( 13998 IDeckLinkDisplayModeIterator_v7_1 * This, 13999 /* [out] */ IDeckLinkDisplayMode_v7_1 **deckLinkDisplayMode); 14000 14001 END_INTERFACE 14002 } IDeckLinkDisplayModeIterator_v7_1Vtbl; 14003 14004 interface IDeckLinkDisplayModeIterator_v7_1 14005 { 14006 CONST_VTBL struct IDeckLinkDisplayModeIterator_v7_1Vtbl *lpVtbl; 14007 }; 14008 14009 14010 14011 #ifdef COBJMACROS 14012 14013 14014 #define IDeckLinkDisplayModeIterator_v7_1_QueryInterface(This,riid,ppvObject) \ 14015 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 14016 14017 #define IDeckLinkDisplayModeIterator_v7_1_AddRef(This) \ 14018 ( (This)->lpVtbl -> AddRef(This) ) 14019 14020 #define IDeckLinkDisplayModeIterator_v7_1_Release(This) \ 14021 ( (This)->lpVtbl -> Release(This) ) 14022 14023 14024 #define IDeckLinkDisplayModeIterator_v7_1_Next(This,deckLinkDisplayMode) \ 14025 ( (This)->lpVtbl -> Next(This,deckLinkDisplayMode) ) 14026 14027 #endif /* COBJMACROS */ 14028 14029 14030 #endif /* C style interface */ 14031 14032 14033 14034 14035 #endif /* __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__ */ 14036 14037 14038 #ifndef __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__ 14039 #define __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__ 14040 14041 /* interface IDeckLinkDisplayMode_v7_1 */ 14042 /* [helpstring][uuid][object] */ 14043 14044 14045 EXTERN_C const IID IID_IDeckLinkDisplayMode_v7_1; 14046 14047 #if defined(__cplusplus) && !defined(CINTERFACE) 14048 14049 MIDL_INTERFACE("AF0CD6D5-8376-435E-8433-54F9DD530AC3") 14050 IDeckLinkDisplayMode_v7_1 : public IUnknown 14051 { 14052 public: 14053 virtual HRESULT STDMETHODCALLTYPE GetName( 14054 /* [out] */ BSTR *name) = 0; 14055 14056 virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode( void) = 0; 14057 14058 virtual long STDMETHODCALLTYPE GetWidth( void) = 0; 14059 14060 virtual long STDMETHODCALLTYPE GetHeight( void) = 0; 14061 14062 virtual HRESULT STDMETHODCALLTYPE GetFrameRate( 14063 /* [out] */ BMDTimeValue *frameDuration, 14064 /* [out] */ BMDTimeScale *timeScale) = 0; 14065 14066 }; 14067 14068 14069 #else /* C style interface */ 14070 14071 typedef struct IDeckLinkDisplayMode_v7_1Vtbl 14072 { 14073 BEGIN_INTERFACE 14074 14075 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 14076 IDeckLinkDisplayMode_v7_1 * This, 14077 /* [in] */ REFIID riid, 14078 /* [annotation][iid_is][out] */ 14079 _COM_Outptr_ void **ppvObject); 14080 14081 ULONG ( STDMETHODCALLTYPE *AddRef )( 14082 IDeckLinkDisplayMode_v7_1 * This); 14083 14084 ULONG ( STDMETHODCALLTYPE *Release )( 14085 IDeckLinkDisplayMode_v7_1 * This); 14086 14087 HRESULT ( STDMETHODCALLTYPE *GetName )( 14088 IDeckLinkDisplayMode_v7_1 * This, 14089 /* [out] */ BSTR *name); 14090 14091 BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )( 14092 IDeckLinkDisplayMode_v7_1 * This); 14093 14094 long ( STDMETHODCALLTYPE *GetWidth )( 14095 IDeckLinkDisplayMode_v7_1 * This); 14096 14097 long ( STDMETHODCALLTYPE *GetHeight )( 14098 IDeckLinkDisplayMode_v7_1 * This); 14099 14100 HRESULT ( STDMETHODCALLTYPE *GetFrameRate )( 14101 IDeckLinkDisplayMode_v7_1 * This, 14102 /* [out] */ BMDTimeValue *frameDuration, 14103 /* [out] */ BMDTimeScale *timeScale); 14104 14105 END_INTERFACE 14106 } IDeckLinkDisplayMode_v7_1Vtbl; 14107 14108 interface IDeckLinkDisplayMode_v7_1 14109 { 14110 CONST_VTBL struct IDeckLinkDisplayMode_v7_1Vtbl *lpVtbl; 14111 }; 14112 14113 14114 14115 #ifdef COBJMACROS 14116 14117 14118 #define IDeckLinkDisplayMode_v7_1_QueryInterface(This,riid,ppvObject) \ 14119 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 14120 14121 #define IDeckLinkDisplayMode_v7_1_AddRef(This) \ 14122 ( (This)->lpVtbl -> AddRef(This) ) 14123 14124 #define IDeckLinkDisplayMode_v7_1_Release(This) \ 14125 ( (This)->lpVtbl -> Release(This) ) 14126 14127 14128 #define IDeckLinkDisplayMode_v7_1_GetName(This,name) \ 14129 ( (This)->lpVtbl -> GetName(This,name) ) 14130 14131 #define IDeckLinkDisplayMode_v7_1_GetDisplayMode(This) \ 14132 ( (This)->lpVtbl -> GetDisplayMode(This) ) 14133 14134 #define IDeckLinkDisplayMode_v7_1_GetWidth(This) \ 14135 ( (This)->lpVtbl -> GetWidth(This) ) 14136 14137 #define IDeckLinkDisplayMode_v7_1_GetHeight(This) \ 14138 ( (This)->lpVtbl -> GetHeight(This) ) 14139 14140 #define IDeckLinkDisplayMode_v7_1_GetFrameRate(This,frameDuration,timeScale) \ 14141 ( (This)->lpVtbl -> GetFrameRate(This,frameDuration,timeScale) ) 14142 14143 #endif /* COBJMACROS */ 14144 14145 14146 #endif /* C style interface */ 14147 14148 14149 14150 14151 #endif /* __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__ */ 14152 14153 14154 #ifndef __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__ 14155 #define __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__ 14156 14157 /* interface IDeckLinkVideoFrame_v7_1 */ 14158 /* [helpstring][local][uuid][object] */ 14159 14160 14161 EXTERN_C const IID IID_IDeckLinkVideoFrame_v7_1; 14162 14163 #if defined(__cplusplus) && !defined(CINTERFACE) 14164 14165 MIDL_INTERFACE("333F3A10-8C2D-43CF-B79D-46560FEEA1CE") 14166 IDeckLinkVideoFrame_v7_1 : public IUnknown 14167 { 14168 public: 14169 virtual long STDMETHODCALLTYPE GetWidth( void) = 0; 14170 14171 virtual long STDMETHODCALLTYPE GetHeight( void) = 0; 14172 14173 virtual long STDMETHODCALLTYPE GetRowBytes( void) = 0; 14174 14175 virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0; 14176 14177 virtual BMDFrameFlags STDMETHODCALLTYPE GetFlags( void) = 0; 14178 14179 virtual HRESULT STDMETHODCALLTYPE GetBytes( 14180 void **buffer) = 0; 14181 14182 }; 14183 14184 14185 #else /* C style interface */ 14186 14187 typedef struct IDeckLinkVideoFrame_v7_1Vtbl 14188 { 14189 BEGIN_INTERFACE 14190 14191 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 14192 IDeckLinkVideoFrame_v7_1 * This, 14193 /* [in] */ REFIID riid, 14194 /* [annotation][iid_is][out] */ 14195 _COM_Outptr_ void **ppvObject); 14196 14197 ULONG ( STDMETHODCALLTYPE *AddRef )( 14198 IDeckLinkVideoFrame_v7_1 * This); 14199 14200 ULONG ( STDMETHODCALLTYPE *Release )( 14201 IDeckLinkVideoFrame_v7_1 * This); 14202 14203 long ( STDMETHODCALLTYPE *GetWidth )( 14204 IDeckLinkVideoFrame_v7_1 * This); 14205 14206 long ( STDMETHODCALLTYPE *GetHeight )( 14207 IDeckLinkVideoFrame_v7_1 * This); 14208 14209 long ( STDMETHODCALLTYPE *GetRowBytes )( 14210 IDeckLinkVideoFrame_v7_1 * This); 14211 14212 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( 14213 IDeckLinkVideoFrame_v7_1 * This); 14214 14215 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( 14216 IDeckLinkVideoFrame_v7_1 * This); 14217 14218 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 14219 IDeckLinkVideoFrame_v7_1 * This, 14220 void **buffer); 14221 14222 END_INTERFACE 14223 } IDeckLinkVideoFrame_v7_1Vtbl; 14224 14225 interface IDeckLinkVideoFrame_v7_1 14226 { 14227 CONST_VTBL struct IDeckLinkVideoFrame_v7_1Vtbl *lpVtbl; 14228 }; 14229 14230 14231 14232 #ifdef COBJMACROS 14233 14234 14235 #define IDeckLinkVideoFrame_v7_1_QueryInterface(This,riid,ppvObject) \ 14236 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 14237 14238 #define IDeckLinkVideoFrame_v7_1_AddRef(This) \ 14239 ( (This)->lpVtbl -> AddRef(This) ) 14240 14241 #define IDeckLinkVideoFrame_v7_1_Release(This) \ 14242 ( (This)->lpVtbl -> Release(This) ) 14243 14244 14245 #define IDeckLinkVideoFrame_v7_1_GetWidth(This) \ 14246 ( (This)->lpVtbl -> GetWidth(This) ) 14247 14248 #define IDeckLinkVideoFrame_v7_1_GetHeight(This) \ 14249 ( (This)->lpVtbl -> GetHeight(This) ) 14250 14251 #define IDeckLinkVideoFrame_v7_1_GetRowBytes(This) \ 14252 ( (This)->lpVtbl -> GetRowBytes(This) ) 14253 14254 #define IDeckLinkVideoFrame_v7_1_GetPixelFormat(This) \ 14255 ( (This)->lpVtbl -> GetPixelFormat(This) ) 14256 14257 #define IDeckLinkVideoFrame_v7_1_GetFlags(This) \ 14258 ( (This)->lpVtbl -> GetFlags(This) ) 14259 14260 #define IDeckLinkVideoFrame_v7_1_GetBytes(This,buffer) \ 14261 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 14262 14263 #endif /* COBJMACROS */ 14264 14265 14266 #endif /* C style interface */ 14267 14268 14269 14270 14271 #endif /* __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__ */ 14272 14273 14274 #ifndef __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__ 14275 #define __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__ 14276 14277 /* interface IDeckLinkVideoInputFrame_v7_1 */ 14278 /* [helpstring][local][uuid][object] */ 14279 14280 14281 EXTERN_C const IID IID_IDeckLinkVideoInputFrame_v7_1; 14282 14283 #if defined(__cplusplus) && !defined(CINTERFACE) 14284 14285 MIDL_INTERFACE("C8B41D95-8848-40EE-9B37-6E3417FB114B") 14286 IDeckLinkVideoInputFrame_v7_1 : public IDeckLinkVideoFrame_v7_1 14287 { 14288 public: 14289 virtual HRESULT STDMETHODCALLTYPE GetFrameTime( 14290 BMDTimeValue *frameTime, 14291 BMDTimeValue *frameDuration, 14292 BMDTimeScale timeScale) = 0; 14293 14294 }; 14295 14296 14297 #else /* C style interface */ 14298 14299 typedef struct IDeckLinkVideoInputFrame_v7_1Vtbl 14300 { 14301 BEGIN_INTERFACE 14302 14303 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 14304 IDeckLinkVideoInputFrame_v7_1 * This, 14305 /* [in] */ REFIID riid, 14306 /* [annotation][iid_is][out] */ 14307 _COM_Outptr_ void **ppvObject); 14308 14309 ULONG ( STDMETHODCALLTYPE *AddRef )( 14310 IDeckLinkVideoInputFrame_v7_1 * This); 14311 14312 ULONG ( STDMETHODCALLTYPE *Release )( 14313 IDeckLinkVideoInputFrame_v7_1 * This); 14314 14315 long ( STDMETHODCALLTYPE *GetWidth )( 14316 IDeckLinkVideoInputFrame_v7_1 * This); 14317 14318 long ( STDMETHODCALLTYPE *GetHeight )( 14319 IDeckLinkVideoInputFrame_v7_1 * This); 14320 14321 long ( STDMETHODCALLTYPE *GetRowBytes )( 14322 IDeckLinkVideoInputFrame_v7_1 * This); 14323 14324 BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( 14325 IDeckLinkVideoInputFrame_v7_1 * This); 14326 14327 BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( 14328 IDeckLinkVideoInputFrame_v7_1 * This); 14329 14330 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 14331 IDeckLinkVideoInputFrame_v7_1 * This, 14332 void **buffer); 14333 14334 HRESULT ( STDMETHODCALLTYPE *GetFrameTime )( 14335 IDeckLinkVideoInputFrame_v7_1 * This, 14336 BMDTimeValue *frameTime, 14337 BMDTimeValue *frameDuration, 14338 BMDTimeScale timeScale); 14339 14340 END_INTERFACE 14341 } IDeckLinkVideoInputFrame_v7_1Vtbl; 14342 14343 interface IDeckLinkVideoInputFrame_v7_1 14344 { 14345 CONST_VTBL struct IDeckLinkVideoInputFrame_v7_1Vtbl *lpVtbl; 14346 }; 14347 14348 14349 14350 #ifdef COBJMACROS 14351 14352 14353 #define IDeckLinkVideoInputFrame_v7_1_QueryInterface(This,riid,ppvObject) \ 14354 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 14355 14356 #define IDeckLinkVideoInputFrame_v7_1_AddRef(This) \ 14357 ( (This)->lpVtbl -> AddRef(This) ) 14358 14359 #define IDeckLinkVideoInputFrame_v7_1_Release(This) \ 14360 ( (This)->lpVtbl -> Release(This) ) 14361 14362 14363 #define IDeckLinkVideoInputFrame_v7_1_GetWidth(This) \ 14364 ( (This)->lpVtbl -> GetWidth(This) ) 14365 14366 #define IDeckLinkVideoInputFrame_v7_1_GetHeight(This) \ 14367 ( (This)->lpVtbl -> GetHeight(This) ) 14368 14369 #define IDeckLinkVideoInputFrame_v7_1_GetRowBytes(This) \ 14370 ( (This)->lpVtbl -> GetRowBytes(This) ) 14371 14372 #define IDeckLinkVideoInputFrame_v7_1_GetPixelFormat(This) \ 14373 ( (This)->lpVtbl -> GetPixelFormat(This) ) 14374 14375 #define IDeckLinkVideoInputFrame_v7_1_GetFlags(This) \ 14376 ( (This)->lpVtbl -> GetFlags(This) ) 14377 14378 #define IDeckLinkVideoInputFrame_v7_1_GetBytes(This,buffer) \ 14379 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 14380 14381 14382 #define IDeckLinkVideoInputFrame_v7_1_GetFrameTime(This,frameTime,frameDuration,timeScale) \ 14383 ( (This)->lpVtbl -> GetFrameTime(This,frameTime,frameDuration,timeScale) ) 14384 14385 #endif /* COBJMACROS */ 14386 14387 14388 #endif /* C style interface */ 14389 14390 14391 14392 14393 #endif /* __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__ */ 14394 14395 14396 #ifndef __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__ 14397 #define __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__ 14398 14399 /* interface IDeckLinkAudioInputPacket_v7_1 */ 14400 /* [helpstring][local][uuid][object] */ 14401 14402 14403 EXTERN_C const IID IID_IDeckLinkAudioInputPacket_v7_1; 14404 14405 #if defined(__cplusplus) && !defined(CINTERFACE) 14406 14407 MIDL_INTERFACE("C86DE4F6-A29F-42E3-AB3A-1363E29F0788") 14408 IDeckLinkAudioInputPacket_v7_1 : public IUnknown 14409 { 14410 public: 14411 virtual long STDMETHODCALLTYPE GetSampleCount( void) = 0; 14412 14413 virtual HRESULT STDMETHODCALLTYPE GetBytes( 14414 void **buffer) = 0; 14415 14416 virtual HRESULT STDMETHODCALLTYPE GetAudioPacketTime( 14417 BMDTimeValue *packetTime, 14418 BMDTimeScale timeScale) = 0; 14419 14420 }; 14421 14422 14423 #else /* C style interface */ 14424 14425 typedef struct IDeckLinkAudioInputPacket_v7_1Vtbl 14426 { 14427 BEGIN_INTERFACE 14428 14429 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 14430 IDeckLinkAudioInputPacket_v7_1 * This, 14431 /* [in] */ REFIID riid, 14432 /* [annotation][iid_is][out] */ 14433 _COM_Outptr_ void **ppvObject); 14434 14435 ULONG ( STDMETHODCALLTYPE *AddRef )( 14436 IDeckLinkAudioInputPacket_v7_1 * This); 14437 14438 ULONG ( STDMETHODCALLTYPE *Release )( 14439 IDeckLinkAudioInputPacket_v7_1 * This); 14440 14441 long ( STDMETHODCALLTYPE *GetSampleCount )( 14442 IDeckLinkAudioInputPacket_v7_1 * This); 14443 14444 HRESULT ( STDMETHODCALLTYPE *GetBytes )( 14445 IDeckLinkAudioInputPacket_v7_1 * This, 14446 void **buffer); 14447 14448 HRESULT ( STDMETHODCALLTYPE *GetAudioPacketTime )( 14449 IDeckLinkAudioInputPacket_v7_1 * This, 14450 BMDTimeValue *packetTime, 14451 BMDTimeScale timeScale); 14452 14453 END_INTERFACE 14454 } IDeckLinkAudioInputPacket_v7_1Vtbl; 14455 14456 interface IDeckLinkAudioInputPacket_v7_1 14457 { 14458 CONST_VTBL struct IDeckLinkAudioInputPacket_v7_1Vtbl *lpVtbl; 14459 }; 14460 14461 14462 14463 #ifdef COBJMACROS 14464 14465 14466 #define IDeckLinkAudioInputPacket_v7_1_QueryInterface(This,riid,ppvObject) \ 14467 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 14468 14469 #define IDeckLinkAudioInputPacket_v7_1_AddRef(This) \ 14470 ( (This)->lpVtbl -> AddRef(This) ) 14471 14472 #define IDeckLinkAudioInputPacket_v7_1_Release(This) \ 14473 ( (This)->lpVtbl -> Release(This) ) 14474 14475 14476 #define IDeckLinkAudioInputPacket_v7_1_GetSampleCount(This) \ 14477 ( (This)->lpVtbl -> GetSampleCount(This) ) 14478 14479 #define IDeckLinkAudioInputPacket_v7_1_GetBytes(This,buffer) \ 14480 ( (This)->lpVtbl -> GetBytes(This,buffer) ) 14481 14482 #define IDeckLinkAudioInputPacket_v7_1_GetAudioPacketTime(This,packetTime,timeScale) \ 14483 ( (This)->lpVtbl -> GetAudioPacketTime(This,packetTime,timeScale) ) 14484 14485 #endif /* COBJMACROS */ 14486 14487 14488 #endif /* C style interface */ 14489 14490 14491 14492 14493 #endif /* __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__ */ 14494 14495 14496 #ifndef __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__ 14497 #define __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__ 14498 14499 /* interface IDeckLinkVideoOutputCallback_v7_1 */ 14500 /* [helpstring][uuid][object] */ 14501 14502 14503 EXTERN_C const IID IID_IDeckLinkVideoOutputCallback_v7_1; 14504 14505 #if defined(__cplusplus) && !defined(CINTERFACE) 14506 14507 MIDL_INTERFACE("EBD01AFA-E4B0-49C6-A01D-EDB9D1B55FD9") 14508 IDeckLinkVideoOutputCallback_v7_1 : public IUnknown 14509 { 14510 public: 14511 virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted( 14512 /* [in] */ IDeckLinkVideoFrame_v7_1 *completedFrame, 14513 /* [in] */ BMDOutputFrameCompletionResult result) = 0; 14514 14515 }; 14516 14517 14518 #else /* C style interface */ 14519 14520 typedef struct IDeckLinkVideoOutputCallback_v7_1Vtbl 14521 { 14522 BEGIN_INTERFACE 14523 14524 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 14525 IDeckLinkVideoOutputCallback_v7_1 * This, 14526 /* [in] */ REFIID riid, 14527 /* [annotation][iid_is][out] */ 14528 _COM_Outptr_ void **ppvObject); 14529 14530 ULONG ( STDMETHODCALLTYPE *AddRef )( 14531 IDeckLinkVideoOutputCallback_v7_1 * This); 14532 14533 ULONG ( STDMETHODCALLTYPE *Release )( 14534 IDeckLinkVideoOutputCallback_v7_1 * This); 14535 14536 HRESULT ( STDMETHODCALLTYPE *ScheduledFrameCompleted )( 14537 IDeckLinkVideoOutputCallback_v7_1 * This, 14538 /* [in] */ IDeckLinkVideoFrame_v7_1 *completedFrame, 14539 /* [in] */ BMDOutputFrameCompletionResult result); 14540 14541 END_INTERFACE 14542 } IDeckLinkVideoOutputCallback_v7_1Vtbl; 14543 14544 interface IDeckLinkVideoOutputCallback_v7_1 14545 { 14546 CONST_VTBL struct IDeckLinkVideoOutputCallback_v7_1Vtbl *lpVtbl; 14547 }; 14548 14549 14550 14551 #ifdef COBJMACROS 14552 14553 14554 #define IDeckLinkVideoOutputCallback_v7_1_QueryInterface(This,riid,ppvObject) \ 14555 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 14556 14557 #define IDeckLinkVideoOutputCallback_v7_1_AddRef(This) \ 14558 ( (This)->lpVtbl -> AddRef(This) ) 14559 14560 #define IDeckLinkVideoOutputCallback_v7_1_Release(This) \ 14561 ( (This)->lpVtbl -> Release(This) ) 14562 14563 14564 #define IDeckLinkVideoOutputCallback_v7_1_ScheduledFrameCompleted(This,completedFrame,result) \ 14565 ( (This)->lpVtbl -> ScheduledFrameCompleted(This,completedFrame,result) ) 14566 14567 #endif /* COBJMACROS */ 14568 14569 14570 #endif /* C style interface */ 14571 14572 14573 14574 14575 #endif /* __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__ */ 14576 14577 14578 #ifndef __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__ 14579 #define __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__ 14580 14581 /* interface IDeckLinkInputCallback_v7_1 */ 14582 /* [helpstring][uuid][object] */ 14583 14584 14585 EXTERN_C const IID IID_IDeckLinkInputCallback_v7_1; 14586 14587 #if defined(__cplusplus) && !defined(CINTERFACE) 14588 14589 MIDL_INTERFACE("7F94F328-5ED4-4E9F-9729-76A86BDC99CC") 14590 IDeckLinkInputCallback_v7_1 : public IUnknown 14591 { 14592 public: 14593 virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived( 14594 /* [in] */ IDeckLinkVideoInputFrame_v7_1 *videoFrame, 14595 /* [in] */ IDeckLinkAudioInputPacket_v7_1 *audioPacket) = 0; 14596 14597 }; 14598 14599 14600 #else /* C style interface */ 14601 14602 typedef struct IDeckLinkInputCallback_v7_1Vtbl 14603 { 14604 BEGIN_INTERFACE 14605 14606 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 14607 IDeckLinkInputCallback_v7_1 * This, 14608 /* [in] */ REFIID riid, 14609 /* [annotation][iid_is][out] */ 14610 _COM_Outptr_ void **ppvObject); 14611 14612 ULONG ( STDMETHODCALLTYPE *AddRef )( 14613 IDeckLinkInputCallback_v7_1 * This); 14614 14615 ULONG ( STDMETHODCALLTYPE *Release )( 14616 IDeckLinkInputCallback_v7_1 * This); 14617 14618 HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )( 14619 IDeckLinkInputCallback_v7_1 * This, 14620 /* [in] */ IDeckLinkVideoInputFrame_v7_1 *videoFrame, 14621 /* [in] */ IDeckLinkAudioInputPacket_v7_1 *audioPacket); 14622 14623 END_INTERFACE 14624 } IDeckLinkInputCallback_v7_1Vtbl; 14625 14626 interface IDeckLinkInputCallback_v7_1 14627 { 14628 CONST_VTBL struct IDeckLinkInputCallback_v7_1Vtbl *lpVtbl; 14629 }; 14630 14631 14632 14633 #ifdef COBJMACROS 14634 14635 14636 #define IDeckLinkInputCallback_v7_1_QueryInterface(This,riid,ppvObject) \ 14637 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 14638 14639 #define IDeckLinkInputCallback_v7_1_AddRef(This) \ 14640 ( (This)->lpVtbl -> AddRef(This) ) 14641 14642 #define IDeckLinkInputCallback_v7_1_Release(This) \ 14643 ( (This)->lpVtbl -> Release(This) ) 14644 14645 14646 #define IDeckLinkInputCallback_v7_1_VideoInputFrameArrived(This,videoFrame,audioPacket) \ 14647 ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) ) 14648 14649 #endif /* COBJMACROS */ 14650 14651 14652 #endif /* C style interface */ 14653 14654 14655 14656 14657 #endif /* __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__ */ 14658 14659 14660 #ifndef __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__ 14661 #define __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__ 14662 14663 /* interface IDeckLinkOutput_v7_1 */ 14664 /* [helpstring][local][uuid][object] */ 14665 14666 14667 EXTERN_C const IID IID_IDeckLinkOutput_v7_1; 14668 14669 #if defined(__cplusplus) && !defined(CINTERFACE) 14670 14671 MIDL_INTERFACE("AE5B3E9B-4E1E-4535-B6E8-480FF52F6CE5") 14672 IDeckLinkOutput_v7_1 : public IUnknown 14673 { 14674 public: 14675 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( 14676 BMDDisplayMode displayMode, 14677 BMDPixelFormat pixelFormat, 14678 /* [out] */ BMDDisplayModeSupport *result) = 0; 14679 14680 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( 14681 /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator) = 0; 14682 14683 virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput( 14684 BMDDisplayMode displayMode) = 0; 14685 14686 virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0; 14687 14688 virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator( 14689 /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0; 14690 14691 virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame( 14692 int width, 14693 int height, 14694 int rowBytes, 14695 BMDPixelFormat pixelFormat, 14696 BMDFrameFlags flags, 14697 IDeckLinkVideoFrame_v7_1 **outFrame) = 0; 14698 14699 virtual HRESULT STDMETHODCALLTYPE CreateVideoFrameFromBuffer( 14700 void *buffer, 14701 int width, 14702 int height, 14703 int rowBytes, 14704 BMDPixelFormat pixelFormat, 14705 BMDFrameFlags flags, 14706 IDeckLinkVideoFrame_v7_1 **outFrame) = 0; 14707 14708 virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync( 14709 IDeckLinkVideoFrame_v7_1 *theFrame) = 0; 14710 14711 virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame( 14712 IDeckLinkVideoFrame_v7_1 *theFrame, 14713 BMDTimeValue displayTime, 14714 BMDTimeValue displayDuration, 14715 BMDTimeScale timeScale) = 0; 14716 14717 virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback( 14718 /* [in] */ IDeckLinkVideoOutputCallback_v7_1 *theCallback) = 0; 14719 14720 virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput( 14721 BMDAudioSampleRate sampleRate, 14722 BMDAudioSampleType sampleType, 14723 unsigned int channelCount) = 0; 14724 14725 virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0; 14726 14727 virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync( 14728 void *buffer, 14729 unsigned int sampleFrameCount, 14730 /* [out] */ unsigned int *sampleFramesWritten) = 0; 14731 14732 virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0; 14733 14734 virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0; 14735 14736 virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples( 14737 void *buffer, 14738 unsigned int sampleFrameCount, 14739 BMDTimeValue streamTime, 14740 BMDTimeScale timeScale, 14741 /* [out] */ unsigned int *sampleFramesWritten) = 0; 14742 14743 virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount( 14744 /* [out] */ unsigned int *bufferedSampleCount) = 0; 14745 14746 virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0; 14747 14748 virtual HRESULT STDMETHODCALLTYPE SetAudioCallback( 14749 /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0; 14750 14751 virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback( 14752 BMDTimeValue playbackStartTime, 14753 BMDTimeScale timeScale, 14754 double playbackSpeed) = 0; 14755 14756 virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback( 14757 BMDTimeValue stopPlaybackAtTime, 14758 BMDTimeValue *actualStopTime, 14759 BMDTimeScale timeScale) = 0; 14760 14761 virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( 14762 BMDTimeScale desiredTimeScale, 14763 BMDTimeValue *elapsedTimeSinceSchedulerBegan) = 0; 14764 14765 }; 14766 14767 14768 #else /* C style interface */ 14769 14770 typedef struct IDeckLinkOutput_v7_1Vtbl 14771 { 14772 BEGIN_INTERFACE 14773 14774 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 14775 IDeckLinkOutput_v7_1 * This, 14776 /* [in] */ REFIID riid, 14777 /* [annotation][iid_is][out] */ 14778 _COM_Outptr_ void **ppvObject); 14779 14780 ULONG ( STDMETHODCALLTYPE *AddRef )( 14781 IDeckLinkOutput_v7_1 * This); 14782 14783 ULONG ( STDMETHODCALLTYPE *Release )( 14784 IDeckLinkOutput_v7_1 * This); 14785 14786 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( 14787 IDeckLinkOutput_v7_1 * This, 14788 BMDDisplayMode displayMode, 14789 BMDPixelFormat pixelFormat, 14790 /* [out] */ BMDDisplayModeSupport *result); 14791 14792 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( 14793 IDeckLinkOutput_v7_1 * This, 14794 /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator); 14795 14796 HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )( 14797 IDeckLinkOutput_v7_1 * This, 14798 BMDDisplayMode displayMode); 14799 14800 HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )( 14801 IDeckLinkOutput_v7_1 * This); 14802 14803 HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )( 14804 IDeckLinkOutput_v7_1 * This, 14805 /* [in] */ IDeckLinkMemoryAllocator *theAllocator); 14806 14807 HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )( 14808 IDeckLinkOutput_v7_1 * This, 14809 int width, 14810 int height, 14811 int rowBytes, 14812 BMDPixelFormat pixelFormat, 14813 BMDFrameFlags flags, 14814 IDeckLinkVideoFrame_v7_1 **outFrame); 14815 14816 HRESULT ( STDMETHODCALLTYPE *CreateVideoFrameFromBuffer )( 14817 IDeckLinkOutput_v7_1 * This, 14818 void *buffer, 14819 int width, 14820 int height, 14821 int rowBytes, 14822 BMDPixelFormat pixelFormat, 14823 BMDFrameFlags flags, 14824 IDeckLinkVideoFrame_v7_1 **outFrame); 14825 14826 HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )( 14827 IDeckLinkOutput_v7_1 * This, 14828 IDeckLinkVideoFrame_v7_1 *theFrame); 14829 14830 HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )( 14831 IDeckLinkOutput_v7_1 * This, 14832 IDeckLinkVideoFrame_v7_1 *theFrame, 14833 BMDTimeValue displayTime, 14834 BMDTimeValue displayDuration, 14835 BMDTimeScale timeScale); 14836 14837 HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )( 14838 IDeckLinkOutput_v7_1 * This, 14839 /* [in] */ IDeckLinkVideoOutputCallback_v7_1 *theCallback); 14840 14841 HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )( 14842 IDeckLinkOutput_v7_1 * This, 14843 BMDAudioSampleRate sampleRate, 14844 BMDAudioSampleType sampleType, 14845 unsigned int channelCount); 14846 14847 HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )( 14848 IDeckLinkOutput_v7_1 * This); 14849 14850 HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )( 14851 IDeckLinkOutput_v7_1 * This, 14852 void *buffer, 14853 unsigned int sampleFrameCount, 14854 /* [out] */ unsigned int *sampleFramesWritten); 14855 14856 HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )( 14857 IDeckLinkOutput_v7_1 * This); 14858 14859 HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )( 14860 IDeckLinkOutput_v7_1 * This); 14861 14862 HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )( 14863 IDeckLinkOutput_v7_1 * This, 14864 void *buffer, 14865 unsigned int sampleFrameCount, 14866 BMDTimeValue streamTime, 14867 BMDTimeScale timeScale, 14868 /* [out] */ unsigned int *sampleFramesWritten); 14869 14870 HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )( 14871 IDeckLinkOutput_v7_1 * This, 14872 /* [out] */ unsigned int *bufferedSampleCount); 14873 14874 HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )( 14875 IDeckLinkOutput_v7_1 * This); 14876 14877 HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )( 14878 IDeckLinkOutput_v7_1 * This, 14879 /* [in] */ IDeckLinkAudioOutputCallback *theCallback); 14880 14881 HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )( 14882 IDeckLinkOutput_v7_1 * This, 14883 BMDTimeValue playbackStartTime, 14884 BMDTimeScale timeScale, 14885 double playbackSpeed); 14886 14887 HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )( 14888 IDeckLinkOutput_v7_1 * This, 14889 BMDTimeValue stopPlaybackAtTime, 14890 BMDTimeValue *actualStopTime, 14891 BMDTimeScale timeScale); 14892 14893 HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( 14894 IDeckLinkOutput_v7_1 * This, 14895 BMDTimeScale desiredTimeScale, 14896 BMDTimeValue *elapsedTimeSinceSchedulerBegan); 14897 14898 END_INTERFACE 14899 } IDeckLinkOutput_v7_1Vtbl; 14900 14901 interface IDeckLinkOutput_v7_1 14902 { 14903 CONST_VTBL struct IDeckLinkOutput_v7_1Vtbl *lpVtbl; 14904 }; 14905 14906 14907 14908 #ifdef COBJMACROS 14909 14910 14911 #define IDeckLinkOutput_v7_1_QueryInterface(This,riid,ppvObject) \ 14912 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 14913 14914 #define IDeckLinkOutput_v7_1_AddRef(This) \ 14915 ( (This)->lpVtbl -> AddRef(This) ) 14916 14917 #define IDeckLinkOutput_v7_1_Release(This) \ 14918 ( (This)->lpVtbl -> Release(This) ) 14919 14920 14921 #define IDeckLinkOutput_v7_1_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \ 14922 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) ) 14923 14924 #define IDeckLinkOutput_v7_1_GetDisplayModeIterator(This,iterator) \ 14925 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) 14926 14927 #define IDeckLinkOutput_v7_1_EnableVideoOutput(This,displayMode) \ 14928 ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode) ) 14929 14930 #define IDeckLinkOutput_v7_1_DisableVideoOutput(This) \ 14931 ( (This)->lpVtbl -> DisableVideoOutput(This) ) 14932 14933 #define IDeckLinkOutput_v7_1_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \ 14934 ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) ) 14935 14936 #define IDeckLinkOutput_v7_1_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \ 14937 ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) ) 14938 14939 #define IDeckLinkOutput_v7_1_CreateVideoFrameFromBuffer(This,buffer,width,height,rowBytes,pixelFormat,flags,outFrame) \ 14940 ( (This)->lpVtbl -> CreateVideoFrameFromBuffer(This,buffer,width,height,rowBytes,pixelFormat,flags,outFrame) ) 14941 14942 #define IDeckLinkOutput_v7_1_DisplayVideoFrameSync(This,theFrame) \ 14943 ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) ) 14944 14945 #define IDeckLinkOutput_v7_1_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \ 14946 ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) ) 14947 14948 #define IDeckLinkOutput_v7_1_SetScheduledFrameCompletionCallback(This,theCallback) \ 14949 ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) ) 14950 14951 #define IDeckLinkOutput_v7_1_EnableAudioOutput(This,sampleRate,sampleType,channelCount) \ 14952 ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount) ) 14953 14954 #define IDeckLinkOutput_v7_1_DisableAudioOutput(This) \ 14955 ( (This)->lpVtbl -> DisableAudioOutput(This) ) 14956 14957 #define IDeckLinkOutput_v7_1_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \ 14958 ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) ) 14959 14960 #define IDeckLinkOutput_v7_1_BeginAudioPreroll(This) \ 14961 ( (This)->lpVtbl -> BeginAudioPreroll(This) ) 14962 14963 #define IDeckLinkOutput_v7_1_EndAudioPreroll(This) \ 14964 ( (This)->lpVtbl -> EndAudioPreroll(This) ) 14965 14966 #define IDeckLinkOutput_v7_1_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \ 14967 ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) ) 14968 14969 #define IDeckLinkOutput_v7_1_GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) \ 14970 ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) ) 14971 14972 #define IDeckLinkOutput_v7_1_FlushBufferedAudioSamples(This) \ 14973 ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) ) 14974 14975 #define IDeckLinkOutput_v7_1_SetAudioCallback(This,theCallback) \ 14976 ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) ) 14977 14978 #define IDeckLinkOutput_v7_1_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \ 14979 ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) ) 14980 14981 #define IDeckLinkOutput_v7_1_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \ 14982 ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) ) 14983 14984 #define IDeckLinkOutput_v7_1_GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) \ 14985 ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) ) 14986 14987 #endif /* COBJMACROS */ 14988 14989 14990 #endif /* C style interface */ 14991 14992 14993 14994 14995 #endif /* __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__ */ 14996 14997 14998 #ifndef __IDeckLinkInput_v7_1_INTERFACE_DEFINED__ 14999 #define __IDeckLinkInput_v7_1_INTERFACE_DEFINED__ 15000 15001 /* interface IDeckLinkInput_v7_1 */ 15002 /* [helpstring][uuid][object] */ 15003 15004 15005 EXTERN_C const IID IID_IDeckLinkInput_v7_1; 15006 15007 #if defined(__cplusplus) && !defined(CINTERFACE) 15008 15009 MIDL_INTERFACE("2B54EDEF-5B32-429F-BA11-BB990596EACD") 15010 IDeckLinkInput_v7_1 : public IUnknown 15011 { 15012 public: 15013 virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( 15014 BMDDisplayMode displayMode, 15015 BMDPixelFormat pixelFormat, 15016 /* [out] */ BMDDisplayModeSupport *result) = 0; 15017 15018 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( 15019 /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator) = 0; 15020 15021 virtual HRESULT STDMETHODCALLTYPE EnableVideoInput( 15022 BMDDisplayMode displayMode, 15023 BMDPixelFormat pixelFormat, 15024 BMDVideoInputFlags flags) = 0; 15025 15026 virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0; 15027 15028 virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( 15029 BMDAudioSampleRate sampleRate, 15030 BMDAudioSampleType sampleType, 15031 unsigned int channelCount) = 0; 15032 15033 virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0; 15034 15035 virtual HRESULT STDMETHODCALLTYPE ReadAudioSamples( 15036 void *buffer, 15037 unsigned int sampleFrameCount, 15038 /* [out] */ unsigned int *sampleFramesRead, 15039 /* [out] */ BMDTimeValue *audioPacketTime, 15040 BMDTimeScale timeScale) = 0; 15041 15042 virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount( 15043 /* [out] */ unsigned int *bufferedSampleCount) = 0; 15044 15045 virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0; 15046 15047 virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0; 15048 15049 virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0; 15050 15051 virtual HRESULT STDMETHODCALLTYPE SetCallback( 15052 /* [in] */ IDeckLinkInputCallback_v7_1 *theCallback) = 0; 15053 15054 }; 15055 15056 15057 #else /* C style interface */ 15058 15059 typedef struct IDeckLinkInput_v7_1Vtbl 15060 { 15061 BEGIN_INTERFACE 15062 15063 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 15064 IDeckLinkInput_v7_1 * This, 15065 /* [in] */ REFIID riid, 15066 /* [annotation][iid_is][out] */ 15067 _COM_Outptr_ void **ppvObject); 15068 15069 ULONG ( STDMETHODCALLTYPE *AddRef )( 15070 IDeckLinkInput_v7_1 * This); 15071 15072 ULONG ( STDMETHODCALLTYPE *Release )( 15073 IDeckLinkInput_v7_1 * This); 15074 15075 HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( 15076 IDeckLinkInput_v7_1 * This, 15077 BMDDisplayMode displayMode, 15078 BMDPixelFormat pixelFormat, 15079 /* [out] */ BMDDisplayModeSupport *result); 15080 15081 HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( 15082 IDeckLinkInput_v7_1 * This, 15083 /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator); 15084 15085 HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )( 15086 IDeckLinkInput_v7_1 * This, 15087 BMDDisplayMode displayMode, 15088 BMDPixelFormat pixelFormat, 15089 BMDVideoInputFlags flags); 15090 15091 HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )( 15092 IDeckLinkInput_v7_1 * This); 15093 15094 HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )( 15095 IDeckLinkInput_v7_1 * This, 15096 BMDAudioSampleRate sampleRate, 15097 BMDAudioSampleType sampleType, 15098 unsigned int channelCount); 15099 15100 HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )( 15101 IDeckLinkInput_v7_1 * This); 15102 15103 HRESULT ( STDMETHODCALLTYPE *ReadAudioSamples )( 15104 IDeckLinkInput_v7_1 * This, 15105 void *buffer, 15106 unsigned int sampleFrameCount, 15107 /* [out] */ unsigned int *sampleFramesRead, 15108 /* [out] */ BMDTimeValue *audioPacketTime, 15109 BMDTimeScale timeScale); 15110 15111 HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )( 15112 IDeckLinkInput_v7_1 * This, 15113 /* [out] */ unsigned int *bufferedSampleCount); 15114 15115 HRESULT ( STDMETHODCALLTYPE *StartStreams )( 15116 IDeckLinkInput_v7_1 * This); 15117 15118 HRESULT ( STDMETHODCALLTYPE *StopStreams )( 15119 IDeckLinkInput_v7_1 * This); 15120 15121 HRESULT ( STDMETHODCALLTYPE *PauseStreams )( 15122 IDeckLinkInput_v7_1 * This); 15123 15124 HRESULT ( STDMETHODCALLTYPE *SetCallback )( 15125 IDeckLinkInput_v7_1 * This, 15126 /* [in] */ IDeckLinkInputCallback_v7_1 *theCallback); 15127 15128 END_INTERFACE 15129 } IDeckLinkInput_v7_1Vtbl; 15130 15131 interface IDeckLinkInput_v7_1 15132 { 15133 CONST_VTBL struct IDeckLinkInput_v7_1Vtbl *lpVtbl; 15134 }; 15135 15136 15137 15138 #ifdef COBJMACROS 15139 15140 15141 #define IDeckLinkInput_v7_1_QueryInterface(This,riid,ppvObject) \ 15142 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 15143 15144 #define IDeckLinkInput_v7_1_AddRef(This) \ 15145 ( (This)->lpVtbl -> AddRef(This) ) 15146 15147 #define IDeckLinkInput_v7_1_Release(This) \ 15148 ( (This)->lpVtbl -> Release(This) ) 15149 15150 15151 #define IDeckLinkInput_v7_1_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \ 15152 ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) ) 15153 15154 #define IDeckLinkInput_v7_1_GetDisplayModeIterator(This,iterator) \ 15155 ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) 15156 15157 #define IDeckLinkInput_v7_1_EnableVideoInput(This,displayMode,pixelFormat,flags) \ 15158 ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) ) 15159 15160 #define IDeckLinkInput_v7_1_DisableVideoInput(This) \ 15161 ( (This)->lpVtbl -> DisableVideoInput(This) ) 15162 15163 #define IDeckLinkInput_v7_1_EnableAudioInput(This,sampleRate,sampleType,channelCount) \ 15164 ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) ) 15165 15166 #define IDeckLinkInput_v7_1_DisableAudioInput(This) \ 15167 ( (This)->lpVtbl -> DisableAudioInput(This) ) 15168 15169 #define IDeckLinkInput_v7_1_ReadAudioSamples(This,buffer,sampleFrameCount,sampleFramesRead,audioPacketTime,timeScale) \ 15170 ( (This)->lpVtbl -> ReadAudioSamples(This,buffer,sampleFrameCount,sampleFramesRead,audioPacketTime,timeScale) ) 15171 15172 #define IDeckLinkInput_v7_1_GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) \ 15173 ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) ) 15174 15175 #define IDeckLinkInput_v7_1_StartStreams(This) \ 15176 ( (This)->lpVtbl -> StartStreams(This) ) 15177 15178 #define IDeckLinkInput_v7_1_StopStreams(This) \ 15179 ( (This)->lpVtbl -> StopStreams(This) ) 15180 15181 #define IDeckLinkInput_v7_1_PauseStreams(This) \ 15182 ( (This)->lpVtbl -> PauseStreams(This) ) 15183 15184 #define IDeckLinkInput_v7_1_SetCallback(This,theCallback) \ 15185 ( (This)->lpVtbl -> SetCallback(This,theCallback) ) 15186 15187 #endif /* COBJMACROS */ 15188 15189 15190 #endif /* C style interface */ 15191 15192 15193 15194 15195 #endif /* __IDeckLinkInput_v7_1_INTERFACE_DEFINED__ */ 15196 15197 #endif /* __DeckLinkAPI_LIBRARY_DEFINED__ */ 15198 15199 /* Additional Prototypes for ALL interfaces */ 15200 15201 /* end of Additional Prototypes */ 15202 15203 /* Functions */ 15204 15205 extern "C" { 15206 15207 IDeckLinkIterator* CreateDeckLinkIteratorInstance (void); 15208 15209 } 15210 15211 #ifdef __cplusplus 15212 } 15213 #endif 15214 15215 #endif 15216 15217 15218