From a1b669106c01e57cae7166b061ce268ba45a1377 Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Fri, 15 Nov 2024 12:59:50 +0100 Subject: [PATCH] BMD: updated SDK to 12.6 first to support DeckLink IP In this import, do not import the older API versions (Linux, Mac) - it is not needed since we do not use them. --- configure.ac | 2 +- ext-deps/DeckLink/Linux/DeckLinkAPI.h | 110 +- .../DeckLink/Linux/DeckLinkAPIConfiguration.h | 26 +- .../Linux/DeckLinkAPIConfiguration_v10_11.h | 71 - .../Linux/DeckLinkAPIConfiguration_v10_2.h | 60 - .../Linux/DeckLinkAPIConfiguration_v10_4.h | 63 - .../Linux/DeckLinkAPIConfiguration_v10_5.h | 60 - .../Linux/DeckLinkAPIConfiguration_v10_9.h | 62 - .../DeckLink/Linux/DeckLinkAPIDeckControl.h | 4 +- .../DeckLink/Linux/DeckLinkAPIDiscovery.h | 4 +- .../DeckLink/Linux/DeckLinkAPIDispatch.cpp | 68 +- .../Linux/DeckLinkAPIDispatch_v10_11.cpp | 160 - .../Linux/DeckLinkAPIDispatch_v10_8.cpp | 146 - .../Linux/DeckLinkAPIDispatch_v7_6.cpp | 109 - .../Linux/DeckLinkAPIDispatch_v8_0.cpp | 133 - ext-deps/DeckLink/Linux/DeckLinkAPIModes.h | 6 +- ext-deps/DeckLink/Linux/DeckLinkAPITypes.h | 8 +- ext-deps/DeckLink/Linux/DeckLinkAPIVersion.h | 55 +- .../DeckLinkAPIVideoEncoderInput_v10_11.h | 74 - .../Linux/DeckLinkAPIVideoInput_v10_11.h | 76 - .../Linux/DeckLinkAPIVideoInput_v11_4.h | 75 - .../Linux/DeckLinkAPIVideoInput_v11_5_1.h | 89 - .../Linux/DeckLinkAPIVideoOutput_v10_11.h | 94 - .../Linux/DeckLinkAPIVideoOutput_v11_4.h | 87 - ext-deps/DeckLink/Linux/DeckLinkAPI_v10_11.h | 121 - ext-deps/DeckLink/Linux/DeckLinkAPI_v10_2.h | 55 - ext-deps/DeckLink/Linux/DeckLinkAPI_v10_4.h | 45 - ext-deps/DeckLink/Linux/DeckLinkAPI_v10_5.h | 46 - ext-deps/DeckLink/Linux/DeckLinkAPI_v10_6.h | 50 - ext-deps/DeckLink/Linux/DeckLinkAPI_v10_9.h | 45 - ext-deps/DeckLink/Linux/DeckLinkAPI_v11_5.h | 100 - ext-deps/DeckLink/Linux/DeckLinkAPI_v11_5_1.h | 44 - ext-deps/DeckLink/Linux/DeckLinkAPI_v7_1.h | 199 - ext-deps/DeckLink/Linux/DeckLinkAPI_v7_3.h | 174 - ext-deps/DeckLink/Linux/DeckLinkAPI_v7_6.h | 405 -- ext-deps/DeckLink/Linux/DeckLinkAPI_v7_9.h | 88 - ext-deps/DeckLink/Linux/DeckLinkAPI_v8_0.h | 63 - ext-deps/DeckLink/Linux/DeckLinkAPI_v8_1.h | 111 - ext-deps/DeckLink/Linux/DeckLinkAPI_v9_2.h | 82 - ext-deps/DeckLink/Linux/DeckLinkAPI_v9_9.h | 99 - ext-deps/DeckLink/Linux/LinuxCOM.h | 51 +- ext-deps/DeckLink/Mac/DeckLinkAPI.h | 129 +- .../DeckLink/Mac/DeckLinkAPIConfiguration.h | 26 +- .../Mac/DeckLinkAPIConfiguration_v10_11.h | 71 - .../Mac/DeckLinkAPIConfiguration_v10_2.h | 60 - .../Mac/DeckLinkAPIConfiguration_v10_4.h | 62 - .../Mac/DeckLinkAPIConfiguration_v10_5.h | 60 - .../Mac/DeckLinkAPIConfiguration_v10_9.h | 62 - .../DeckLink/Mac/DeckLinkAPIDeckControl.h | 4 +- ext-deps/DeckLink/Mac/DeckLinkAPIDiscovery.h | 4 +- ext-deps/DeckLink/Mac/DeckLinkAPIDispatch.cpp | 77 +- .../Mac/DeckLinkAPIDispatch_v10_11.cpp | 206 - .../Mac/DeckLinkAPIDispatch_v10_8.cpp | 193 - .../DeckLink/Mac/DeckLinkAPIDispatch_v7_6.cpp | 105 - .../DeckLink/Mac/DeckLinkAPIDispatch_v8_0.cpp | 131 - ext-deps/DeckLink/Mac/DeckLinkAPIModes.h | 6 +- ext-deps/DeckLink/Mac/DeckLinkAPIStreaming.h | 8 +- .../Mac/DeckLinkAPIStreaming_v10_11.h | 46 - ext-deps/DeckLink/Mac/DeckLinkAPITypes.h | 8 +- ext-deps/DeckLink/Mac/DeckLinkAPIVersion.h | 55 +- .../Mac/DeckLinkAPIVideoEncoderInput_v10_11.h | 75 - .../Mac/DeckLinkAPIVideoInput_v10_11.h | 77 - .../Mac/DeckLinkAPIVideoInput_v11_4.h | 76 - .../Mac/DeckLinkAPIVideoInput_v11_5_1.h | 89 - .../Mac/DeckLinkAPIVideoOutput_v10_11.h | 95 - .../Mac/DeckLinkAPIVideoOutput_v11_4.h | 88 - ext-deps/DeckLink/Mac/DeckLinkAPI_v10_11.h | 122 - ext-deps/DeckLink/Mac/DeckLinkAPI_v10_2.h | 55 - ext-deps/DeckLink/Mac/DeckLinkAPI_v10_4.h | 45 - ext-deps/DeckLink/Mac/DeckLinkAPI_v10_5.h | 46 - ext-deps/DeckLink/Mac/DeckLinkAPI_v10_6.h | 51 - ext-deps/DeckLink/Mac/DeckLinkAPI_v10_9.h | 45 - ext-deps/DeckLink/Mac/DeckLinkAPI_v11_5.h | 100 - ext-deps/DeckLink/Mac/DeckLinkAPI_v11_5_1.h | 44 - ext-deps/DeckLink/Mac/DeckLinkAPI_v7_1.h | 199 - ext-deps/DeckLink/Mac/DeckLinkAPI_v7_3.h | 173 - ext-deps/DeckLink/Mac/DeckLinkAPI_v7_6.h | 422 -- ext-deps/DeckLink/Mac/DeckLinkAPI_v7_9.h | 91 - ext-deps/DeckLink/Mac/DeckLinkAPI_v8_0.h | 63 - ext-deps/DeckLink/Mac/DeckLinkAPI_v8_1.h | 111 - ext-deps/DeckLink/Mac/DeckLinkAPI_v9_2.h | 82 - ext-deps/DeckLink/Mac/DeckLinkAPI_v9_9.h | 102 - .../{DeckLinkAPI_h.h => DeckLinkAPI.h} | 5639 +++++++++-------- .../DeckLink/Windows/DeckLinkAPIVersion.h | 55 +- ext-deps/DeckLink/Windows/DeckLinkAPI_i.c | 19 +- ext-deps/DeckLink/Windows/README | 2 +- src/blackmagic_common.hpp | 5 +- 87 files changed, 3447 insertions(+), 9257 deletions(-) delete mode 100644 ext-deps/DeckLink/Linux/DeckLinkAPIConfiguration_v10_11.h delete mode 100644 ext-deps/DeckLink/Linux/DeckLinkAPIConfiguration_v10_2.h delete mode 100644 ext-deps/DeckLink/Linux/DeckLinkAPIConfiguration_v10_4.h delete mode 100644 ext-deps/DeckLink/Linux/DeckLinkAPIConfiguration_v10_5.h delete mode 100644 ext-deps/DeckLink/Linux/DeckLinkAPIConfiguration_v10_9.h delete mode 100644 ext-deps/DeckLink/Linux/DeckLinkAPIDispatch_v10_11.cpp delete mode 100644 ext-deps/DeckLink/Linux/DeckLinkAPIDispatch_v10_8.cpp delete mode 100644 ext-deps/DeckLink/Linux/DeckLinkAPIDispatch_v7_6.cpp delete mode 100644 ext-deps/DeckLink/Linux/DeckLinkAPIDispatch_v8_0.cpp delete mode 100644 ext-deps/DeckLink/Linux/DeckLinkAPIVideoEncoderInput_v10_11.h delete mode 100644 ext-deps/DeckLink/Linux/DeckLinkAPIVideoInput_v10_11.h delete mode 100644 ext-deps/DeckLink/Linux/DeckLinkAPIVideoInput_v11_4.h delete mode 100644 ext-deps/DeckLink/Linux/DeckLinkAPIVideoInput_v11_5_1.h delete mode 100644 ext-deps/DeckLink/Linux/DeckLinkAPIVideoOutput_v10_11.h delete mode 100644 ext-deps/DeckLink/Linux/DeckLinkAPIVideoOutput_v11_4.h delete mode 100644 ext-deps/DeckLink/Linux/DeckLinkAPI_v10_11.h delete mode 100644 ext-deps/DeckLink/Linux/DeckLinkAPI_v10_2.h delete mode 100644 ext-deps/DeckLink/Linux/DeckLinkAPI_v10_4.h delete mode 100644 ext-deps/DeckLink/Linux/DeckLinkAPI_v10_5.h delete mode 100644 ext-deps/DeckLink/Linux/DeckLinkAPI_v10_6.h delete mode 100644 ext-deps/DeckLink/Linux/DeckLinkAPI_v10_9.h delete mode 100644 ext-deps/DeckLink/Linux/DeckLinkAPI_v11_5.h delete mode 100644 ext-deps/DeckLink/Linux/DeckLinkAPI_v11_5_1.h delete mode 100644 ext-deps/DeckLink/Linux/DeckLinkAPI_v7_1.h delete mode 100644 ext-deps/DeckLink/Linux/DeckLinkAPI_v7_3.h delete mode 100644 ext-deps/DeckLink/Linux/DeckLinkAPI_v7_6.h delete mode 100644 ext-deps/DeckLink/Linux/DeckLinkAPI_v7_9.h delete mode 100644 ext-deps/DeckLink/Linux/DeckLinkAPI_v8_0.h delete mode 100644 ext-deps/DeckLink/Linux/DeckLinkAPI_v8_1.h delete mode 100644 ext-deps/DeckLink/Linux/DeckLinkAPI_v9_2.h delete mode 100644 ext-deps/DeckLink/Linux/DeckLinkAPI_v9_9.h delete mode 100644 ext-deps/DeckLink/Mac/DeckLinkAPIConfiguration_v10_11.h delete mode 100644 ext-deps/DeckLink/Mac/DeckLinkAPIConfiguration_v10_2.h delete mode 100644 ext-deps/DeckLink/Mac/DeckLinkAPIConfiguration_v10_4.h delete mode 100644 ext-deps/DeckLink/Mac/DeckLinkAPIConfiguration_v10_5.h delete mode 100644 ext-deps/DeckLink/Mac/DeckLinkAPIConfiguration_v10_9.h delete mode 100644 ext-deps/DeckLink/Mac/DeckLinkAPIDispatch_v10_11.cpp delete mode 100644 ext-deps/DeckLink/Mac/DeckLinkAPIDispatch_v10_8.cpp delete mode 100644 ext-deps/DeckLink/Mac/DeckLinkAPIDispatch_v7_6.cpp delete mode 100644 ext-deps/DeckLink/Mac/DeckLinkAPIDispatch_v8_0.cpp delete mode 100644 ext-deps/DeckLink/Mac/DeckLinkAPIStreaming_v10_11.h delete mode 100644 ext-deps/DeckLink/Mac/DeckLinkAPIVideoEncoderInput_v10_11.h delete mode 100644 ext-deps/DeckLink/Mac/DeckLinkAPIVideoInput_v10_11.h delete mode 100644 ext-deps/DeckLink/Mac/DeckLinkAPIVideoInput_v11_4.h delete mode 100644 ext-deps/DeckLink/Mac/DeckLinkAPIVideoInput_v11_5_1.h delete mode 100644 ext-deps/DeckLink/Mac/DeckLinkAPIVideoOutput_v10_11.h delete mode 100644 ext-deps/DeckLink/Mac/DeckLinkAPIVideoOutput_v11_4.h delete mode 100644 ext-deps/DeckLink/Mac/DeckLinkAPI_v10_11.h delete mode 100644 ext-deps/DeckLink/Mac/DeckLinkAPI_v10_2.h delete mode 100644 ext-deps/DeckLink/Mac/DeckLinkAPI_v10_4.h delete mode 100644 ext-deps/DeckLink/Mac/DeckLinkAPI_v10_5.h delete mode 100644 ext-deps/DeckLink/Mac/DeckLinkAPI_v10_6.h delete mode 100644 ext-deps/DeckLink/Mac/DeckLinkAPI_v10_9.h delete mode 100644 ext-deps/DeckLink/Mac/DeckLinkAPI_v11_5.h delete mode 100644 ext-deps/DeckLink/Mac/DeckLinkAPI_v11_5_1.h delete mode 100644 ext-deps/DeckLink/Mac/DeckLinkAPI_v7_1.h delete mode 100644 ext-deps/DeckLink/Mac/DeckLinkAPI_v7_3.h delete mode 100644 ext-deps/DeckLink/Mac/DeckLinkAPI_v7_6.h delete mode 100644 ext-deps/DeckLink/Mac/DeckLinkAPI_v7_9.h delete mode 100644 ext-deps/DeckLink/Mac/DeckLinkAPI_v8_0.h delete mode 100644 ext-deps/DeckLink/Mac/DeckLinkAPI_v8_1.h delete mode 100644 ext-deps/DeckLink/Mac/DeckLinkAPI_v9_2.h delete mode 100644 ext-deps/DeckLink/Mac/DeckLinkAPI_v9_9.h rename ext-deps/DeckLink/Windows/{DeckLinkAPI_h.h => DeckLinkAPI.h} (79%) diff --git a/configure.ac b/configure.ac index bd79044ca9..ac4de97c94 100644 --- a/configure.ac +++ b/configure.ac @@ -813,7 +813,7 @@ if test $decklink_req != no; then AC_LANG_PUSH(C++) AC_MSG_CHECKING([DeckLink usability]) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ - #include "$DECKLINK_INC/DeckLinkAPI_h.h" + #include "$DECKLINK_INC/DeckLinkAPI.h" #include "$DECKLINK_INC/DeckLinkAPIVersion.h" #include ]], diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPI.h b/ext-deps/DeckLink/Linux/DeckLinkAPI.h index d9f532da75..07ad2fa8bf 100644 --- a/ext-deps/DeckLink/Linux/DeckLinkAPI.h +++ b/ext-deps/DeckLink/Linux/DeckLinkAPI.h @@ -1,29 +1,43 @@ /* -LICENSE-START- -** Copyright (c) 2020 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ + ** Copyright (c) 2023 Blackmagic Design + ** + ** Permission is hereby granted, free of charge, to any person or organization + ** obtaining a copy of the software and accompanying documentation (the + ** "Software") to use, reproduce, display, distribute, sub-license, execute, + ** and transmit the Software, and to prepare derivative works of the Software, + ** and to permit third-parties to whom the Software is furnished to do so, in + ** accordance with: + ** + ** (1) if the Software is obtained from Blackmagic Design, the End User License + ** Agreement for the Software Development Kit ("EULA") available at + ** https://www.blackmagicdesign.com/EULA/DeckLinkSDK; or + ** + ** (2) if the Software is obtained from any third party, such licensing terms + ** as notified by that third party, + ** + ** and all subject to the following: + ** + ** (3) the copyright notices in the Software and this entire statement, + ** including the above license grant, this restriction and the following + ** disclaimer, must be included in all copies of the Software, in whole or in + ** part, and all derivative works of the Software, unless such copies or + ** derivative works are solely in the form of machine-executable object code + ** generated by a source language processor. + ** + ** (4) THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + ** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + ** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT + ** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE + ** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, + ** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + ** DEALINGS IN THE SOFTWARE. + ** + ** A copy of the Software is available free of charge at + ** https://www.blackmagicdesign.com/desktopvideo_sdk under the EULA. + ** + ** -LICENSE-END- + */ + #ifndef BMD_DECKLINKAPI_H #define BMD_DECKLINKAPI_H @@ -200,6 +214,7 @@ enum _BMDOutputFrameCompletionResult { typedef uint32_t BMDReferenceStatus; enum _BMDReferenceStatus { + bmdReferenceUnlocked = 0, bmdReferenceNotSupportedByHardware = 1 << 0, bmdReferenceLocked = 1 << 1 }; @@ -252,7 +267,7 @@ enum _BMDTimecodeFormat { bmdTimecodeRP188VITC2 = /* 'rp12' */ 0x72703132, // RP188 timecode where DBB1 equals VITC2 (line 9 for progressive or line 571 for interlaced/PsF) bmdTimecodeRP188LTC = /* 'rplt' */ 0x72706C74, // RP188 timecode where DBB1 equals LTC (line 10) bmdTimecodeRP188HighFrameRate = /* 'rphr' */ 0x72706872, // RP188 timecode where DBB1 is an HFRTC (SMPTE ST 12-3), the only timecode allowing the frame value to go above 30 - bmdTimecodeRP188Any = /* 'rp18' */ 0x72703138, // Convenience for capture, returning the first valid timecode in {HFRTC (if supported), VITC1, LTC, VITC2} + bmdTimecodeRP188Any = /* 'rp18' */ 0x72703138, // Convenience for capture, returning the first valid timecode in {HFRTC (if supported), VITC1, VITC2, LTC } bmdTimecodeVITC = /* 'vitc' */ 0x76697463, bmdTimecodeVITCField2 = /* 'vit2' */ 0x76697432, bmdTimecodeSerial = /* 'seri' */ 0x73657269 @@ -421,6 +436,15 @@ enum _BMDDeckLinkFrameMetadataID { bmdDeckLinkFrameMetadataHDRMaximumFrameAverageLightLevel = /* 'fall' */ 0x66616C6C // Maximum Frame Average Light Level in range 1 cd/m2 - 65535 cd/m2 }; +/* Enum BMDEthernetLinkState - The state of the Ethernet link */ + +typedef uint32_t BMDEthernetLinkState; +enum _BMDEthernetLinkState { + bmdEthernetLinkStateDisconnected = /* 'elds' */ 0x656C6473, + bmdEthernetLinkStateConnectedUnbound = /* 'elcu' */ 0x656C6375, + bmdEthernetLinkStateConnectedBound = /* 'elcb' */ 0x656C6362 +}; + /* Enum BMDProfileID - Identifies a profile */ typedef uint32_t BMDProfileID; @@ -522,7 +546,8 @@ enum _BMDDeckLinkAttributeID { BMDDeckLinkVendorName = /* 'vndr' */ 0x766E6472, BMDDeckLinkDisplayName = /* 'dspn' */ 0x6473706E, BMDDeckLinkModelName = /* 'mdln' */ 0x6D646C6E, - BMDDeckLinkDeviceHandle = /* 'devh' */ 0x64657668 + BMDDeckLinkDeviceHandle = /* 'devh' */ 0x64657668, + BMDDeckLinkEthernetMACAddress = /* 'eMAC' */ 0x654D4143 }; /* Enum BMDDeckLinkAPIInformationID - DeckLinkAPI information ID */ @@ -553,6 +578,7 @@ enum _BMDDeckLinkStatusID { bmdDeckLinkStatusCurrentVideoInputFlags = /* 'cvif' */ 0x63766966, bmdDeckLinkStatusCurrentVideoOutputMode = /* 'cvom' */ 0x63766F6D, bmdDeckLinkStatusCurrentVideoOutputFlags = /* 'cvof' */ 0x63766F66, + bmdDeckLinkStatusEthernetLink = /* 'sels' */ 0x73656C73, bmdDeckLinkStatusPCIExpressLinkWidth = /* 'pwid' */ 0x70776964, bmdDeckLinkStatusPCIExpressLinkSpeed = /* 'plnk' */ 0x706C6E6B, bmdDeckLinkStatusLastVideoOutputPixelFormat = /* 'opix' */ 0x6F706978, @@ -567,6 +593,19 @@ enum _BMDDeckLinkStatusID { bmdDeckLinkStatusVideoInputSignalLocked = /* 'visl' */ 0x7669736C, bmdDeckLinkStatusReferenceSignalLocked = /* 'refl' */ 0x7265666C, + /* Strings */ + + bmdDeckLinkStatusEthernetLocalIPAddress = /* 'seip' */ 0x73656970, + bmdDeckLinkStatusEthernetSubnetMask = /* 'sesm' */ 0x7365736D, + bmdDeckLinkStatusEthernetGatewayIPAddress = /* 'segw' */ 0x73656777, + bmdDeckLinkStatusEthernetPrimaryDNS = /* 'sepd' */ 0x73657064, + bmdDeckLinkStatusEthernetSecondaryDNS = /* 'sesd' */ 0x73657364, + bmdDeckLinkStatusEthernetPTPGrandmasterIdentity = /* 'spid' */ 0x73706964, + bmdDeckLinkStatusEthernetVideoOutputAddress = /* 'soav' */ 0x736F6176, + bmdDeckLinkStatusEthernetAudioOutputAddress = /* 'soaa' */ 0x736F6161, + bmdDeckLinkStatusEthernetAncillaryOutputAddress = /* 'soaA' */ 0x736F6141, + bmdDeckLinkStatusEthernetAudioInputChannelOrder = /* 'saco' */ 0x7361636F, + /* Bytes */ bmdDeckLinkStatusReceivedEDID = /* 'edid' */ 0x65646964 @@ -1098,7 +1137,7 @@ class BMD_PUBLIC IDeckLinkScreenPreviewCallback : public IUnknown virtual ~IDeckLinkScreenPreviewCallback () {} // call Release method to drop reference count }; -/* Interface IDeckLinkGLScreenPreviewHelper - Created with CoCreateInstance on platforms with native COM support or from CreateOpenGLScreenPreviewHelper on other platforms. */ +/* Interface IDeckLinkGLScreenPreviewHelper - Created with CoCreateInstance on platforms with native COM support or from CreateOpenGLScreenPreviewHelper/CreateOpenGL3ScreenPreviewHelper on other platforms. */ class BMD_PUBLIC IDeckLinkGLScreenPreviewHelper : public IUnknown { @@ -1268,14 +1307,17 @@ class BMD_PUBLIC IDeckLinkDiscovery : public IUnknown extern "C" { - IDeckLinkIterator* BMD_PUBLIC CreateDeckLinkIteratorInstance(void); - IDeckLinkDiscovery* BMD_PUBLIC CreateDeckLinkDiscoveryInstance(void); - IDeckLinkAPIInformation* BMD_PUBLIC CreateDeckLinkAPIInformationInstance(void); - IDeckLinkGLScreenPreviewHelper* BMD_PUBLIC CreateOpenGLScreenPreviewHelper(void); - IDeckLinkVideoConversion* BMD_PUBLIC CreateVideoConversionInstance(void); - IDeckLinkVideoFrameAncillaryPackets* BMD_PUBLIC CreateVideoFrameAncillaryPacketsInstance(void); // For use when creating a custom IDeckLinkVideoFrame without wrapping IDeckLinkOutput::CreateVideoFrame + BMD_PUBLIC IDeckLinkIterator* CreateDeckLinkIteratorInstance(void); + BMD_PUBLIC IDeckLinkDiscovery* CreateDeckLinkDiscoveryInstance(void); + BMD_PUBLIC IDeckLinkAPIInformation* CreateDeckLinkAPIInformationInstance(void); + BMD_PUBLIC IDeckLinkGLScreenPreviewHelper* CreateOpenGLScreenPreviewHelper(void); + BMD_PUBLIC IDeckLinkGLScreenPreviewHelper* CreateOpenGL3ScreenPreviewHelper(void); // Requires OpenGL 3.2 support and provides improved performance and color handling + BMD_PUBLIC IDeckLinkVideoConversion* CreateVideoConversionInstance(void); + BMD_PUBLIC IDeckLinkVideoFrameAncillaryPackets* CreateVideoFrameAncillaryPacketsInstance(void); // For use when creating a custom IDeckLinkVideoFrame without wrapping IDeckLinkOutput::CreateVideoFrame } + + #endif /* defined(__cplusplus) */ #endif /* defined(BMD_DECKLINKAPI_H) */ diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPIConfiguration.h b/ext-deps/DeckLink/Linux/DeckLinkAPIConfiguration.h index bf1015baa8..383483013f 100644 --- a/ext-deps/DeckLink/Linux/DeckLinkAPIConfiguration.h +++ b/ext-deps/DeckLink/Linux/DeckLinkAPIConfiguration.h @@ -1,5 +1,5 @@ /* -LICENSE-START- -** Copyright (c) 2020 Blackmagic Design +** Copyright (c) 2023 Blackmagic Design ** ** Permission is hereby granted, free of charge, to any person or organization ** obtaining a copy of the software and accompanying documentation covered by @@ -89,6 +89,7 @@ enum _BMDDeckLinkConfigurationID { bmdDeckLinkConfigVideoOutputConversionMode = /* 'vocm' */ 0x766F636D, bmdDeckLinkConfigAnalogVideoOutputFlags = /* 'avof' */ 0x61766F66, bmdDeckLinkConfigReferenceInputTimingOffset = /* 'glot' */ 0x676C6F74, + bmdDeckLinkConfigReferenceOutputMode = /* 'glOm' */ 0x676C4F6D, bmdDeckLinkConfigVideoOutputIdleOperation = /* 'voio' */ 0x766F696F, bmdDeckLinkConfigDefaultVideoOutputMode = /* 'dvom' */ 0x64766F6D, bmdDeckLinkConfigDefaultVideoOutputModeFlags = /* 'dvof' */ 0x64766F66, @@ -169,6 +170,27 @@ enum _BMDDeckLinkConfigurationID { bmdDeckLinkConfigDigitalAudioOutputScale = /* 'daos' */ 0x64616F73, bmdDeckLinkConfigHeadphoneVolume = /* 'hvol' */ 0x68766F6C, + /* Network Flags */ + + bmdDeckLinkConfigEthernetUseDHCP = /* 'DHCP' */ 0x44484350, + bmdDeckLinkConfigEthernetPTPFollowerOnly = /* 'PTPf' */ 0x50545066, + bmdDeckLinkConfigEthernetPTPUseUDPEncapsulation = /* 'PTPU' */ 0x50545055, + + /* Network Strings */ + + bmdDeckLinkConfigEthernetStaticLocalIPAddress = /* 'nsip' */ 0x6E736970, + bmdDeckLinkConfigEthernetStaticSubnetMask = /* 'nssm' */ 0x6E73736D, + bmdDeckLinkConfigEthernetStaticGatewayIPAddress = /* 'nsgw' */ 0x6E736777, + bmdDeckLinkConfigEthernetStaticPrimaryDNS = /* 'nspd' */ 0x6E737064, + bmdDeckLinkConfigEthernetStaticSecondaryDNS = /* 'nssd' */ 0x6E737364, + bmdDeckLinkConfigEthernetPTPPriority1 = /* 'PTP1' */ 0x50545031, + bmdDeckLinkConfigEthernetPTPPriority2 = /* 'PTP2' */ 0x50545032, + bmdDeckLinkConfigEthernetPTPDomain = /* 'PTPD' */ 0x50545044, + bmdDeckLinkConfigEthernetVideoOutputAddress = /* 'noav' */ 0x6E6F6176, + bmdDeckLinkConfigEthernetAudioOutputAddress = /* 'noaa' */ 0x6E6F6161, + bmdDeckLinkConfigEthernetAncillaryOutputAddress = /* 'noaA' */ 0x6E6F6141, + bmdDeckLinkConfigEthernetAudioOutputChannelOrder = /* 'caco' */ 0x6361636F, + /* Device Information Strings */ bmdDeckLinkConfigDeviceInformationLabel = /* 'dila' */ 0x64696C61, @@ -263,5 +285,7 @@ extern "C" { } + + #endif /* defined(__cplusplus) */ #endif /* defined(BMD_DECKLINKAPICONFIGURATION_H) */ diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPIConfiguration_v10_11.h b/ext-deps/DeckLink/Linux/DeckLinkAPIConfiguration_v10_11.h deleted file mode 100644 index e715b2078f..0000000000 --- a/ext-deps/DeckLink/Linux/DeckLinkAPIConfiguration_v10_11.h +++ /dev/null @@ -1,71 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2017 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPICONFIGURATION_v10_11_H -#define BMD_DECKLINKAPICONFIGURATION_v10_11_H - -#include "DeckLinkAPIConfiguration.h" - -// Interface ID Declarations - -BMD_CONST REFIID IID_IDeckLinkConfiguration_v10_11 = /* EF90380B-4AE5-4346-9077-E288E149F129 */ {0xEF,0x90,0x38,0x0B,0x4A,0xE5,0x43,0x46,0x90,0x77,0xE2,0x88,0xE1,0x49,0xF1,0x29}; - -/* Enum BMDDeckLinkConfigurationID_v10_11 - DeckLink Configuration ID */ - -typedef uint32_t BMDDeckLinkConfigurationID_v10_11; -enum _BMDDeckLinkConfigurationID_v10_11 { - - /* Video Input/Output Integers */ - - bmdDeckLinkConfigDuplexMode_v10_11 = /* 'dupx' */ 0x64757078, -}; - -// Forward Declarations - -class IDeckLinkConfiguration_v10_11; - -/* Interface IDeckLinkConfiguration_v10_11 - DeckLink Configuration interface */ - -class BMD_PUBLIC IDeckLinkConfiguration_v10_11 : public IUnknown -{ -public: - virtual HRESULT SetFlag (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ bool value) = 0; - virtual HRESULT GetFlag (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ bool *value) = 0; - virtual HRESULT SetInt (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ int64_t value) = 0; - virtual HRESULT GetInt (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ int64_t *value) = 0; - virtual HRESULT SetFloat (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ double value) = 0; - virtual HRESULT GetFloat (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ double *value) = 0; - virtual HRESULT SetString (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ const char *value) = 0; - virtual HRESULT GetString (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ const char **value) = 0; - virtual HRESULT WriteConfigurationToPreferences (void) = 0; - -protected: - virtual ~IDeckLinkConfiguration_v10_11 () {} // call Release method to drop reference count -}; - - -#endif /* defined(BMD_DECKLINKAPICONFIGURATION_v10_11_H) */ diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPIConfiguration_v10_2.h b/ext-deps/DeckLink/Linux/DeckLinkAPIConfiguration_v10_2.h deleted file mode 100644 index 457f041e99..0000000000 --- a/ext-deps/DeckLink/Linux/DeckLinkAPIConfiguration_v10_2.h +++ /dev/null @@ -1,60 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2014 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPICONFIGURATION_v10_2_H -#define BMD_DECKLINKAPICONFIGURATION_v10_2_H - -#include "DeckLinkAPIConfiguration.h" - -// Interface ID Declarations - -BMD_CONST REFIID IID_IDeckLinkConfiguration_v10_2 = /* C679A35B-610C-4D09-B748-1D0478100FC0 */ {0xC6,0x79,0xA3,0x5B,0x61,0x0C,0x4D,0x09,0xB7,0x48,0x1D,0x04,0x78,0x10,0x0F,0xC0}; - -// Forward Declarations - -class IDeckLinkConfiguration_v10_2; - -/* Interface IDeckLinkConfiguration_v10_2 - DeckLink Configuration interface */ - -class BMD_PUBLIC IDeckLinkConfiguration_v10_2 : public IUnknown -{ -public: - virtual HRESULT SetFlag (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ bool value) = 0; - virtual HRESULT GetFlag (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ bool *value) = 0; - virtual HRESULT SetInt (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ int64_t value) = 0; - virtual HRESULT GetInt (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ int64_t *value) = 0; - virtual HRESULT SetFloat (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ double value) = 0; - virtual HRESULT GetFloat (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ double *value) = 0; - virtual HRESULT SetString (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ const char *value) = 0; - virtual HRESULT GetString (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ const char **value) = 0; - virtual HRESULT WriteConfigurationToPreferences (void) = 0; - -protected: - virtual ~IDeckLinkConfiguration_v10_2 () {} // call Release method to drop reference count -}; - -#endif /* defined(BMD_DECKLINKAPICONFIGURATION_v10_2_H) */ diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPIConfiguration_v10_4.h b/ext-deps/DeckLink/Linux/DeckLinkAPIConfiguration_v10_4.h deleted file mode 100644 index c4d340f6f3..0000000000 --- a/ext-deps/DeckLink/Linux/DeckLinkAPIConfiguration_v10_4.h +++ /dev/null @@ -1,63 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2015 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPICONFIGURATION_v10_4_H -#define BMD_DECKLINKAPICONFIGURATION_v10_4_H - -#include "DeckLinkAPIConfiguration.h" - -// Interface ID Declarations - -BMD_CONST REFIID IID_IDeckLinkConfiguration_v10_4 = /* 1E69FCF6-4203-4936-8076-2A9F4CFD50CB */ {0x1E,0x69,0xFC,0xF6,0x42,0x03,0x49,0x36,0x80,0x76,0x2A,0x9F,0x4C,0xFD,0x50,0xCB}; - - -// -// Forward Declarations - -class IDeckLinkConfiguration_v10_4; - -/* Interface IDeckLinkConfiguration_v10_4 - DeckLink Configuration interface */ - -class BMD_PUBLIC IDeckLinkConfiguration_v10_4 : public IUnknown -{ -public: - virtual HRESULT SetFlag (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ bool value) = 0; - virtual HRESULT GetFlag (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ bool *value) = 0; - virtual HRESULT SetInt (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ int64_t value) = 0; - virtual HRESULT GetInt (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ int64_t *value) = 0; - virtual HRESULT SetFloat (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ double value) = 0; - virtual HRESULT GetFloat (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ double *value) = 0; - virtual HRESULT SetString (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ const char *value) = 0; - virtual HRESULT GetString (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ const char **value) = 0; - virtual HRESULT WriteConfigurationToPreferences (void) = 0; - -protected: - virtual ~IDeckLinkConfiguration_v10_4 () {} // call Release method to drop reference count -}; - - -#endif /* defined(BMD_DECKLINKAPICONFIGURATION_v10_4_H) */ diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPIConfiguration_v10_5.h b/ext-deps/DeckLink/Linux/DeckLinkAPIConfiguration_v10_5.h deleted file mode 100644 index 684b83bf04..0000000000 --- a/ext-deps/DeckLink/Linux/DeckLinkAPIConfiguration_v10_5.h +++ /dev/null @@ -1,60 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2015 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPICONFIGURATION_v10_5_H -#define BMD_DECKLINKAPICONFIGURATION_v10_5_H - -#include "DeckLinkAPIConfiguration.h" - -// Interface ID Declarations - -BMD_CONST REFIID IID_IDeckLinkEncoderConfiguration_v10_5 = /* 67455668-0848-45DF-8D8E-350A77C9A028 */ {0x67,0x45,0x56,0x68,0x08,0x48,0x45,0xDF,0x8D,0x8E,0x35,0x0A,0x77,0xC9,0xA0,0x28}; - -// Forward Declarations - -class IDeckLinkEncoderConfiguration_v10_5; - -/* Interface IDeckLinkEncoderConfiguration_v10_5 - DeckLink Encoder Configuration interface. Obtained from IDeckLinkEncoderInput */ - -class BMD_PUBLIC IDeckLinkEncoderConfiguration_v10_5 : public IUnknown -{ -public: - virtual HRESULT SetFlag (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* in */ bool value) = 0; - virtual HRESULT GetFlag (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* out */ bool *value) = 0; - virtual HRESULT SetInt (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* in */ int64_t value) = 0; - virtual HRESULT GetInt (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* out */ int64_t *value) = 0; - virtual HRESULT SetFloat (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* in */ double value) = 0; - virtual HRESULT GetFloat (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* out */ double *value) = 0; - virtual HRESULT SetString (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* in */ const char *value) = 0; - virtual HRESULT GetString (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* out */ const char **value) = 0; - virtual HRESULT GetDecoderConfigurationInfo (/* out */ void *buffer, /* in */ long bufferSize, /* out */ long *returnedSize) = 0; - -protected: - virtual ~IDeckLinkEncoderConfiguration_v10_5 () {} // call Release method to drop reference count -}; - -#endif /* defined(BMD_DECKLINKAPICONFIGURATION_v10_5_H) */ diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPIConfiguration_v10_9.h b/ext-deps/DeckLink/Linux/DeckLinkAPIConfiguration_v10_9.h deleted file mode 100644 index f507637a4b..0000000000 --- a/ext-deps/DeckLink/Linux/DeckLinkAPIConfiguration_v10_9.h +++ /dev/null @@ -1,62 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2017 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPICONFIGURATION_v10_9_H -#define BMD_DECKLINKAPICONFIGURATION_v10_9_H - -#include "DeckLinkAPIConfiguration.h" - -// Interface ID Declarations - -BMD_CONST REFIID IID_IDeckLinkConfiguration_v10_9 = /* CB71734A-FE37-4E8D-8E13-802133A1C3F2 */ {0xCB,0x71,0x73,0x4A,0xFE,0x37,0x4E,0x8D,0x8E,0x13,0x80,0x21,0x33,0xA1,0xC3,0xF2}; - -// -// Forward Declarations - -class IDeckLinkConfiguration_v10_9; - -/* Interface IDeckLinkConfiguration_v10_9 - DeckLink Configuration interface */ - -class BMD_PUBLIC IDeckLinkConfiguration_v10_9 : public IUnknown -{ -public: - virtual HRESULT SetFlag (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ bool value) = 0; - virtual HRESULT GetFlag (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ bool *value) = 0; - virtual HRESULT SetInt (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ int64_t value) = 0; - virtual HRESULT GetInt (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ int64_t *value) = 0; - virtual HRESULT SetFloat (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ double value) = 0; - virtual HRESULT GetFloat (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ double *value) = 0; - virtual HRESULT SetString (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ const char *value) = 0; - virtual HRESULT GetString (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ const char **value) = 0; - virtual HRESULT WriteConfigurationToPreferences (void) = 0; - -protected: - virtual ~IDeckLinkConfiguration_v10_9 () {} // call Release method to drop reference count -}; - - -#endif /* defined(BMD_DECKLINKAPICONFIGURATION_v10_9_H) */ diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPIDeckControl.h b/ext-deps/DeckLink/Linux/DeckLinkAPIDeckControl.h index 79e90f96fa..f2427d06b9 100644 --- a/ext-deps/DeckLink/Linux/DeckLinkAPIDeckControl.h +++ b/ext-deps/DeckLink/Linux/DeckLinkAPIDeckControl.h @@ -1,5 +1,5 @@ /* -LICENSE-START- -** Copyright (c) 2020 Blackmagic Design +** Copyright (c) 2023 Blackmagic Design ** ** Permission is hereby granted, free of charge, to any person or organization ** obtaining a copy of the software and accompanying documentation covered by @@ -217,5 +217,7 @@ extern "C" { } + + #endif /* defined(__cplusplus) */ #endif /* defined(BMD_DECKLINKAPIDECKCONTROL_H) */ diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPIDiscovery.h b/ext-deps/DeckLink/Linux/DeckLinkAPIDiscovery.h index e8f1a7b4f4..d769bf5ee6 100644 --- a/ext-deps/DeckLink/Linux/DeckLinkAPIDiscovery.h +++ b/ext-deps/DeckLink/Linux/DeckLinkAPIDiscovery.h @@ -1,5 +1,5 @@ /* -LICENSE-START- -** Copyright (c) 2020 Blackmagic Design +** Copyright (c) 2023 Blackmagic Design ** ** Permission is hereby granted, free of charge, to any person or organization ** obtaining a copy of the software and accompanying documentation covered by @@ -73,5 +73,7 @@ extern "C" { } + + #endif /* defined(__cplusplus) */ #endif /* defined(BMD_DECKLINKAPIDISCOVERY_H) */ diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPIDispatch.cpp b/ext-deps/DeckLink/Linux/DeckLinkAPIDispatch.cpp index 914e0b56b0..60ace88739 100644 --- a/ext-deps/DeckLink/Linux/DeckLinkAPIDispatch.cpp +++ b/ext-deps/DeckLink/Linux/DeckLinkAPIDispatch.cpp @@ -1,27 +1,40 @@ /* -LICENSE-START- ** Copyright (c) 2009 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: +** +** Permission is hereby granted, free of charge, to any person or organization +** obtaining a copy of the software and accompanying documentation (the +** "Software") to use, reproduce, display, distribute, sub-license, execute, +** and transmit the Software, and to prepare derivative works of the Software, +** and to permit third-parties to whom the Software is furnished to do so, in +** accordance with: ** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. +** (1) if the Software is obtained from Blackmagic Design, the End User License +** Agreement for the Software Development Kit (“EULA”) available at +** https://www.blackmagicdesign.com/EULA/DeckLinkSDK; or ** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +** (2) if the Software is obtained from any third party, such licensing terms +** as notified by that third party, +** +** and all subject to the following: +** +** (3) the copyright notices in the Software and this entire statement, +** including the above license grant, this restriction and the following +** disclaimer, must be included in all copies of the Software, in whole or in +** part, and all derivative works of the Software, unless such copies or +** derivative works are solely in the form of machine-executable object code +** generated by a source language processor. +** +** (4) THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER ** DEALINGS IN THE SOFTWARE. +** +** A copy of the Software is available free of charge at +** https://www.blackmagicdesign.com/desktopvideo_sdk under the EULA. +** ** -LICENSE-END- **/ @@ -37,6 +50,7 @@ typedef IDeckLinkIterator* (*CreateIteratorFunc)(void); typedef IDeckLinkAPIInformation* (*CreateAPIInformationFunc)(void); typedef IDeckLinkGLScreenPreviewHelper* (*CreateOpenGLScreenPreviewHelperFunc)(void); +typedef IDeckLinkGLScreenPreviewHelper* (*CreateOpenGL3ScreenPreviewHelperFunc)(void); typedef IDeckLinkVideoConversion* (*CreateVideoConversionInstanceFunc)(void); typedef IDeckLinkDiscovery* (*CreateDeckLinkDiscoveryInstanceFunc)(void); typedef IDeckLinkVideoFrameAncillaryPackets* (*CreateVideoFrameAncillaryPacketsInstanceFunc)(void); @@ -49,6 +63,7 @@ static bool gLoadedDeckLinkAPI = false; static CreateIteratorFunc gCreateIteratorFunc = NULL; static CreateAPIInformationFunc gCreateAPIInformationFunc = NULL; static CreateOpenGLScreenPreviewHelperFunc gCreateOpenGLPreviewFunc = NULL; +static CreateOpenGL3ScreenPreviewHelperFunc gCreateOpenGL3PreviewFunc = NULL; static CreateVideoConversionInstanceFunc gCreateVideoConversionFunc = NULL; static CreateDeckLinkDiscoveryInstanceFunc gCreateDeckLinkDiscoveryFunc = NULL; static CreateVideoFrameAncillaryPacketsInstanceFunc gCreateVideoFrameAncillaryPacketsFunc = NULL; @@ -96,10 +111,13 @@ static void InitDeckLinkPreviewAPI (void) gCreateOpenGLPreviewFunc = (CreateOpenGLScreenPreviewHelperFunc)dlsym(libraryHandle, "CreateOpenGLScreenPreviewHelper_0001"); if (!gCreateOpenGLPreviewFunc) fprintf(stderr, "%s\n", dlerror()); + gCreateOpenGL3PreviewFunc = (CreateOpenGL3ScreenPreviewHelperFunc)dlsym(libraryHandle, "CreateOpenGL3ScreenPreviewHelper_0001"); + if (!gCreateOpenGL3PreviewFunc) + fprintf(stderr, "%s\n", dlerror()); } static bool IsDeckLinkAPIPresent (void) __attribute__((unused)); -static bool IsDeckLinkAPIPresent (void) +bool IsDeckLinkAPIPresent (void) { // If the DeckLink API dynamic library was successfully loaded, return this knowledge to the caller return gLoadedDeckLinkAPI; @@ -133,6 +151,16 @@ IDeckLinkGLScreenPreviewHelper* CreateOpenGLScreenPreviewHelper (void) return gCreateOpenGLPreviewFunc(); } +IDeckLinkGLScreenPreviewHelper* CreateOpenGL3ScreenPreviewHelper (void) +{ + pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); + pthread_once(&gPreviewOnceControl, InitDeckLinkPreviewAPI); + + if (gCreateOpenGL3PreviewFunc == NULL) + return NULL; + return gCreateOpenGL3PreviewFunc(); +} + IDeckLinkVideoConversion* CreateVideoConversionInstance (void) { pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPIDispatch_v10_11.cpp b/ext-deps/DeckLink/Linux/DeckLinkAPIDispatch_v10_11.cpp deleted file mode 100644 index 219aaa1aa7..0000000000 --- a/ext-deps/DeckLink/Linux/DeckLinkAPIDispatch_v10_11.cpp +++ /dev/null @@ -1,160 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2019 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -**/ - -#include -#include -#include - -#include "DeckLinkAPI_v10_11.h" - -#define kDeckLinkAPI_Name "libDeckLinkAPI.so" -#define KDeckLinkPreviewAPI_Name "libDeckLinkPreviewAPI.so" - -typedef IDeckLinkIterator* (*CreateIteratorFunc)(void); -typedef IDeckLinkAPIInformation* (*CreateAPIInformationFunc)(void); -typedef IDeckLinkGLScreenPreviewHelper* (*CreateOpenGLScreenPreviewHelperFunc)(void); -typedef IDeckLinkVideoConversion* (*CreateVideoConversionInstanceFunc)(void); -typedef IDeckLinkDiscovery* (*CreateDeckLinkDiscoveryInstanceFunc)(void); -typedef IDeckLinkVideoFrameAncillaryPackets* (*CreateVideoFrameAncillaryPacketsInstanceFunc)(void); - -static pthread_once_t gDeckLinkOnceControl = PTHREAD_ONCE_INIT; -static pthread_once_t gPreviewOnceControl = PTHREAD_ONCE_INIT; - -static bool gLoadedDeckLinkAPI = false; - -static CreateIteratorFunc gCreateIteratorFunc = NULL; -static CreateAPIInformationFunc gCreateAPIInformationFunc = NULL; -static CreateOpenGLScreenPreviewHelperFunc gCreateOpenGLPreviewFunc = NULL; -static CreateVideoConversionInstanceFunc gCreateVideoConversionFunc = NULL; -static CreateDeckLinkDiscoveryInstanceFunc gCreateDeckLinkDiscoveryFunc = NULL; -static CreateVideoFrameAncillaryPacketsInstanceFunc gCreateVideoFrameAncillaryPacketsFunc = NULL; - -static void InitDeckLinkAPI (void) -{ - void *libraryHandle; - - libraryHandle = dlopen(kDeckLinkAPI_Name, RTLD_NOW|RTLD_GLOBAL); - if (!libraryHandle) - { - fprintf(stderr, "%s\n", dlerror()); - return; - } - - gLoadedDeckLinkAPI = true; - - gCreateIteratorFunc = (CreateIteratorFunc)dlsym(libraryHandle, "CreateDeckLinkIteratorInstance_0003"); - if (!gCreateIteratorFunc) - fprintf(stderr, "%s\n", dlerror()); - gCreateAPIInformationFunc = (CreateAPIInformationFunc)dlsym(libraryHandle, "CreateDeckLinkAPIInformationInstance_0001"); - if (!gCreateAPIInformationFunc) - fprintf(stderr, "%s\n", dlerror()); - gCreateVideoConversionFunc = (CreateVideoConversionInstanceFunc)dlsym(libraryHandle, "CreateVideoConversionInstance_0001"); - if (!gCreateVideoConversionFunc) - fprintf(stderr, "%s\n", dlerror()); - gCreateDeckLinkDiscoveryFunc = (CreateDeckLinkDiscoveryInstanceFunc)dlsym(libraryHandle, "CreateDeckLinkDiscoveryInstance_0002"); - if (!gCreateDeckLinkDiscoveryFunc) - fprintf(stderr, "%s\n", dlerror()); - gCreateVideoFrameAncillaryPacketsFunc = (CreateVideoFrameAncillaryPacketsInstanceFunc)dlsym(libraryHandle, "CreateVideoFrameAncillaryPacketsInstance_0001"); - if (!gCreateVideoFrameAncillaryPacketsFunc) - fprintf(stderr, "%s\n", dlerror()); -} - -static void InitDeckLinkPreviewAPI (void) -{ - void *libraryHandle; - - libraryHandle = dlopen(KDeckLinkPreviewAPI_Name, RTLD_NOW|RTLD_GLOBAL); - if (!libraryHandle) - { - fprintf(stderr, "%s\n", dlerror()); - return; - } - gCreateOpenGLPreviewFunc = (CreateOpenGLScreenPreviewHelperFunc)dlsym(libraryHandle, "CreateOpenGLScreenPreviewHelper_0001"); - if (!gCreateOpenGLPreviewFunc) - fprintf(stderr, "%s\n", dlerror()); -} - -bool IsDeckLinkAPIPresent_v10_11 (void) -{ - // If the DeckLink API dynamic library was successfully loaded, return this knowledge to the caller - return gLoadedDeckLinkAPI; -} - -IDeckLinkIterator* CreateDeckLinkIteratorInstance_v10_11 (void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateIteratorFunc == NULL) - return NULL; - return gCreateIteratorFunc(); -} - -IDeckLinkAPIInformation* CreateDeckLinkAPIInformationInstance_v10_11 (void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateAPIInformationFunc == NULL) - return NULL; - return gCreateAPIInformationFunc(); -} - -IDeckLinkGLScreenPreviewHelper* CreateOpenGLScreenPreviewHelper_v10_11 (void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - pthread_once(&gPreviewOnceControl, InitDeckLinkPreviewAPI); - - if (gCreateOpenGLPreviewFunc == NULL) - return NULL; - return gCreateOpenGLPreviewFunc(); -} - -IDeckLinkVideoConversion* CreateVideoConversionInstance_v10_11 (void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateVideoConversionFunc == NULL) - return NULL; - return gCreateVideoConversionFunc(); -} - -IDeckLinkDiscovery* CreateDeckLinkDiscoveryInstance_v10_11 (void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateDeckLinkDiscoveryFunc == NULL) - return NULL; - return gCreateDeckLinkDiscoveryFunc(); -} - -IDeckLinkVideoFrameAncillaryPackets* CreateVideoFrameAncillaryPacketsInstance_v10_11 (void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateVideoFrameAncillaryPacketsFunc == NULL) - return NULL; - return gCreateVideoFrameAncillaryPacketsFunc(); -} diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPIDispatch_v10_8.cpp b/ext-deps/DeckLink/Linux/DeckLinkAPIDispatch_v10_8.cpp deleted file mode 100644 index 3172ba5d9a..0000000000 --- a/ext-deps/DeckLink/Linux/DeckLinkAPIDispatch_v10_8.cpp +++ /dev/null @@ -1,146 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2009 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -**/ - -#include -#include -#include - -#include "DeckLinkAPI.h" - -#define kDeckLinkAPI_Name "libDeckLinkAPI.so" -#define KDeckLinkPreviewAPI_Name "libDeckLinkPreviewAPI.so" - -typedef IDeckLinkIterator* (*CreateIteratorFunc)(void); -typedef IDeckLinkAPIInformation* (*CreateAPIInformationFunc)(void); -typedef IDeckLinkGLScreenPreviewHelper* (*CreateOpenGLScreenPreviewHelperFunc)(void); -typedef IDeckLinkVideoConversion* (*CreateVideoConversionInstanceFunc)(void); -typedef IDeckLinkDiscovery* (*CreateDeckLinkDiscoveryInstanceFunc)(void); - -static pthread_once_t gDeckLinkOnceControl = PTHREAD_ONCE_INIT; -static pthread_once_t gPreviewOnceControl = PTHREAD_ONCE_INIT; - -static bool gLoadedDeckLinkAPI = false; - -static CreateIteratorFunc gCreateIteratorFunc = NULL; -static CreateAPIInformationFunc gCreateAPIInformationFunc = NULL; -static CreateOpenGLScreenPreviewHelperFunc gCreateOpenGLPreviewFunc = NULL; -static CreateVideoConversionInstanceFunc gCreateVideoConversionFunc = NULL; -static CreateDeckLinkDiscoveryInstanceFunc gCreateDeckLinkDiscoveryFunc = NULL; - -static void InitDeckLinkAPI(void) -{ - void *libraryHandle; - - libraryHandle = dlopen(kDeckLinkAPI_Name, RTLD_NOW | RTLD_GLOBAL); - if (!libraryHandle) - { - fprintf(stderr, "%s\n", dlerror()); - return; - } - - gLoadedDeckLinkAPI = true; - - gCreateIteratorFunc = (CreateIteratorFunc)dlsym(libraryHandle, "CreateDeckLinkIteratorInstance_0002"); - if (!gCreateIteratorFunc) - fprintf(stderr, "%s\n", dlerror()); - gCreateAPIInformationFunc = (CreateAPIInformationFunc)dlsym(libraryHandle, "CreateDeckLinkAPIInformationInstance_0001"); - if (!gCreateAPIInformationFunc) - fprintf(stderr, "%s\n", dlerror()); - gCreateVideoConversionFunc = (CreateVideoConversionInstanceFunc)dlsym(libraryHandle, "CreateVideoConversionInstance_0001"); - if (!gCreateVideoConversionFunc) - fprintf(stderr, "%s\n", dlerror()); - gCreateDeckLinkDiscoveryFunc = (CreateDeckLinkDiscoveryInstanceFunc)dlsym(libraryHandle, "CreateDeckLinkDiscoveryInstance_0001"); - if (!gCreateDeckLinkDiscoveryFunc) - fprintf(stderr, "%s\n", dlerror()); -} - -static void InitDeckLinkPreviewAPI(void) -{ - void *libraryHandle; - - libraryHandle = dlopen(KDeckLinkPreviewAPI_Name, RTLD_NOW | RTLD_GLOBAL); - if (!libraryHandle) - { - fprintf(stderr, "%s\n", dlerror()); - return; - } - gCreateOpenGLPreviewFunc = (CreateOpenGLScreenPreviewHelperFunc)dlsym(libraryHandle, "CreateOpenGLScreenPreviewHelper_0001"); - if (!gCreateOpenGLPreviewFunc) - fprintf(stderr, "%s\n", dlerror()); -} - -bool IsDeckLinkAPIPresent(void) -{ - // If the DeckLink API dynamic library was successfully loaded, return this knowledge to the caller - return gLoadedDeckLinkAPI; -} - -IDeckLinkIterator* CreateDeckLinkIteratorInstance(void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateIteratorFunc == NULL) - return NULL; - return gCreateIteratorFunc(); -} - -IDeckLinkAPIInformation* CreateDeckLinkAPIInformationInstance(void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateAPIInformationFunc == NULL) - return NULL; - return gCreateAPIInformationFunc(); -} - -IDeckLinkGLScreenPreviewHelper* CreateOpenGLScreenPreviewHelper(void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - pthread_once(&gPreviewOnceControl, InitDeckLinkPreviewAPI); - - if (gCreateOpenGLPreviewFunc == NULL) - return NULL; - return gCreateOpenGLPreviewFunc(); -} - -IDeckLinkVideoConversion* CreateVideoConversionInstance(void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateVideoConversionFunc == NULL) - return NULL; - return gCreateVideoConversionFunc(); -} - -IDeckLinkDiscovery* CreateDeckLinkDiscoveryInstance(void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateDeckLinkDiscoveryFunc == NULL) - return NULL; - return gCreateDeckLinkDiscoveryFunc(); -} diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPIDispatch_v7_6.cpp b/ext-deps/DeckLink/Linux/DeckLinkAPIDispatch_v7_6.cpp deleted file mode 100644 index 3726624392..0000000000 --- a/ext-deps/DeckLink/Linux/DeckLinkAPIDispatch_v7_6.cpp +++ /dev/null @@ -1,109 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2009 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -**/ - -#include -#include -#include - -#include "DeckLinkAPI_v7_6.h" - -#define kDeckLinkAPI_Name "libDeckLinkAPI.so" -#define KDeckLinkPreviewAPI_Name "libDeckLinkPreviewAPI.so" - -typedef IDeckLinkIterator* (*CreateIteratorFunc_v7_6)(void); -typedef IDeckLinkGLScreenPreviewHelper_v7_6* (*CreateOpenGLScreenPreviewHelperFunc_v7_6)(void); -typedef IDeckLinkVideoConversion_v7_6* (*CreateVideoConversionInstanceFunc_v7_6)(void); - -static pthread_once_t gDeckLinkOnceControl = PTHREAD_ONCE_INIT; -static pthread_once_t gPreviewOnceControl = PTHREAD_ONCE_INIT; - -static CreateIteratorFunc_v7_6 gCreateIteratorFunc = NULL; -static CreateOpenGLScreenPreviewHelperFunc_v7_6 gCreateOpenGLPreviewFunc = NULL; -static CreateVideoConversionInstanceFunc_v7_6 gCreateVideoConversionFunc = NULL; - -static void InitDeckLinkAPI_v7_6 (void) -{ - void *libraryHandle; - - libraryHandle = dlopen(kDeckLinkAPI_Name, RTLD_NOW|RTLD_GLOBAL); - if (!libraryHandle) - { - fprintf(stderr, "%s\n", dlerror()); - return; - } - - gCreateIteratorFunc = (CreateIteratorFunc_v7_6)dlsym(libraryHandle, "CreateDeckLinkIteratorInstance"); - if (!gCreateIteratorFunc) - fprintf(stderr, "%s\n", dlerror()); - gCreateVideoConversionFunc = (CreateVideoConversionInstanceFunc_v7_6)dlsym(libraryHandle, "CreateVideoConversionInstance"); - if (!gCreateVideoConversionFunc) - fprintf(stderr, "%s\n", dlerror()); -} - -static void InitDeckLinkPreviewAPI_v7_6 (void) -{ - void *libraryHandle; - - libraryHandle = dlopen(KDeckLinkPreviewAPI_Name, RTLD_NOW|RTLD_GLOBAL); - if (!libraryHandle) - { - fprintf(stderr, "%s\n", dlerror()); - return; - } - gCreateOpenGLPreviewFunc = (CreateOpenGLScreenPreviewHelperFunc_v7_6)dlsym(libraryHandle, "CreateOpenGLScreenPreviewHelper"); - if (!gCreateOpenGLPreviewFunc) - fprintf(stderr, "%s\n", dlerror()); -} - -IDeckLinkIterator* CreateDeckLinkIteratorInstance_v7_6 (void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI_v7_6); - - if (gCreateIteratorFunc == NULL) - return NULL; - return gCreateIteratorFunc(); -} - -IDeckLinkGLScreenPreviewHelper_v7_6* CreateOpenGLScreenPreviewHelper_v7_6 (void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI_v7_6); - pthread_once(&gPreviewOnceControl, InitDeckLinkPreviewAPI_v7_6); - - if (gCreateOpenGLPreviewFunc == NULL) - return NULL; - return gCreateOpenGLPreviewFunc(); -} - -IDeckLinkVideoConversion_v7_6* CreateVideoConversionInstance_v7_6 (void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI_v7_6); - - if (gCreateVideoConversionFunc == NULL) - return NULL; - return gCreateVideoConversionFunc(); -} - diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPIDispatch_v8_0.cpp b/ext-deps/DeckLink/Linux/DeckLinkAPIDispatch_v8_0.cpp deleted file mode 100644 index 1a924f7cf1..0000000000 --- a/ext-deps/DeckLink/Linux/DeckLinkAPIDispatch_v8_0.cpp +++ /dev/null @@ -1,133 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2011 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -**/ - -#include -#include -#include - -#include "DeckLinkAPI_v8_0.h" - -#define kDeckLinkAPI_Name "libDeckLinkAPI.so" -#define KDeckLinkPreviewAPI_Name "libDeckLinkPreviewAPI.so" - -typedef IDeckLinkIterator_v8_0* (*CreateIteratorFunc)(void); -typedef IDeckLinkAPIInformation* (*CreateAPIInformationFunc)(void); -typedef IDeckLinkGLScreenPreviewHelper* (*CreateOpenGLScreenPreviewHelperFunc)(void); -typedef IDeckLinkVideoConversion* (*CreateVideoConversionInstanceFunc)(void); - -static pthread_once_t gDeckLinkOnceControl = PTHREAD_ONCE_INIT; -static pthread_once_t gPreviewOnceControl = PTHREAD_ONCE_INIT; - -static bool gLoadedDeckLinkAPI = false; - -static CreateIteratorFunc gCreateIteratorFunc = NULL; -static CreateAPIInformationFunc gCreateAPIInformationFunc = NULL; -static CreateOpenGLScreenPreviewHelperFunc gCreateOpenGLPreviewFunc = NULL; -static CreateVideoConversionInstanceFunc gCreateVideoConversionFunc = NULL; - -static void InitDeckLinkAPI (void) -{ - void *libraryHandle; - - libraryHandle = dlopen(kDeckLinkAPI_Name, RTLD_NOW|RTLD_GLOBAL); - if (!libraryHandle) - { - fprintf(stderr, "%s\n", dlerror()); - return; - } - - gLoadedDeckLinkAPI = true; - - gCreateIteratorFunc = (CreateIteratorFunc)dlsym(libraryHandle, "CreateDeckLinkIteratorInstance_0001"); - if (!gCreateIteratorFunc) - fprintf(stderr, "%s\n", dlerror()); - gCreateAPIInformationFunc = (CreateAPIInformationFunc)dlsym(libraryHandle, "CreateDeckLinkAPIInformationInstance_0001"); - if (!gCreateAPIInformationFunc) - fprintf(stderr, "%s\n", dlerror()); - gCreateVideoConversionFunc = (CreateVideoConversionInstanceFunc)dlsym(libraryHandle, "CreateVideoConversionInstance_0001"); - if (!gCreateVideoConversionFunc) - fprintf(stderr, "%s\n", dlerror()); -} - -static void InitDeckLinkPreviewAPI (void) -{ - void *libraryHandle; - - libraryHandle = dlopen(KDeckLinkPreviewAPI_Name, RTLD_NOW|RTLD_GLOBAL); - if (!libraryHandle) - { - fprintf(stderr, "%s\n", dlerror()); - return; - } - gCreateOpenGLPreviewFunc = (CreateOpenGLScreenPreviewHelperFunc)dlsym(libraryHandle, "CreateOpenGLScreenPreviewHelper_0001"); - if (!gCreateOpenGLPreviewFunc) - fprintf(stderr, "%s\n", dlerror()); -} - -bool IsDeckLinkAPIPresent (void) -{ - // If the DeckLink API dynamic library was successfully loaded, return this knowledge to the caller - return gLoadedDeckLinkAPI; -} - -IDeckLinkIterator_v8_0* CreateDeckLinkIteratorInstance (void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateIteratorFunc == NULL) - return NULL; - return gCreateIteratorFunc(); -} - -IDeckLinkAPIInformation* CreateDeckLinkAPIInformationInstance (void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateAPIInformationFunc == NULL) - return NULL; - return gCreateAPIInformationFunc(); -} - -IDeckLinkGLScreenPreviewHelper* CreateOpenGLScreenPreviewHelper (void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - pthread_once(&gPreviewOnceControl, InitDeckLinkPreviewAPI); - - if (gCreateOpenGLPreviewFunc == NULL) - return NULL; - return gCreateOpenGLPreviewFunc(); -} - -IDeckLinkVideoConversion* CreateVideoConversionInstance (void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateVideoConversionFunc == NULL) - return NULL; - return gCreateVideoConversionFunc(); -} - diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPIModes.h b/ext-deps/DeckLink/Linux/DeckLinkAPIModes.h index a7d14ee619..78e2187fef 100644 --- a/ext-deps/DeckLink/Linux/DeckLinkAPIModes.h +++ b/ext-deps/DeckLink/Linux/DeckLinkAPIModes.h @@ -1,5 +1,5 @@ /* -LICENSE-START- -** Copyright (c) 2020 Blackmagic Design +** Copyright (c) 2023 Blackmagic Design ** ** Permission is hereby granted, free of charge, to any person or organization ** obtaining a copy of the software and accompanying documentation covered by @@ -219,7 +219,7 @@ enum _BMDPixelFormat { bmdFormat10BitYUV = /* 'v210' */ 0x76323130, bmdFormat8BitARGB = 32, bmdFormat8BitBGRA = /* 'BGRA' */ 0x42475241, - bmdFormat10BitRGB = /* 'r210' */ 0x72323130, // Big-endian RGB 10-bit per component with SMPTE video levels (64-960). Packed as 2:10:10:10 + bmdFormat10BitRGB = /* 'r210' */ 0x72323130, // Big-endian RGB 10-bit per component with SMPTE video levels (64-940). Packed as 2:10:10:10 bmdFormat12BitRGB = /* 'R12B' */ 0x52313242, // Big-endian RGB 12-bit per component with full range (0-4095). Packed as 12-bit per component bmdFormat12BitRGBLE = /* 'R12L' */ 0x5231324C, // Little-endian RGB 12-bit per component with full range (0-4095). Packed as 12-bit per component bmdFormat10BitRGBXLE = /* 'R10l' */ 0x5231306C, // Little-endian 10-bit RGB with SMPTE video levels (64-940) @@ -283,5 +283,7 @@ extern "C" { } + + #endif /* defined(__cplusplus) */ #endif /* defined(BMD_DECKLINKAPIMODES_H) */ diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPITypes.h b/ext-deps/DeckLink/Linux/DeckLinkAPITypes.h index 1dbab7427f..2cd54f4cf6 100644 --- a/ext-deps/DeckLink/Linux/DeckLinkAPITypes.h +++ b/ext-deps/DeckLink/Linux/DeckLinkAPITypes.h @@ -1,5 +1,5 @@ /* -LICENSE-START- -** Copyright (c) 2020 Blackmagic Design +** Copyright (c) 2023 Blackmagic Design ** ** Permission is hereby granted, free of charge, to any person or organization ** obtaining a copy of the software and accompanying documentation covered by @@ -74,7 +74,9 @@ enum _BMDVideoConnection { bmdVideoConnectionOpticalSDI = 1 << 2, bmdVideoConnectionComponent = 1 << 3, bmdVideoConnectionComposite = 1 << 4, - bmdVideoConnectionSVideo = 1 << 5 + bmdVideoConnectionSVideo = 1 << 5, + bmdVideoConnectionEthernet = 1 << 6, + bmdVideoConnectionOpticalEthernet = 1 << 7 }; /* Enum BMDAudioConnection - Audio connection types */ @@ -126,5 +128,7 @@ extern "C" { } + + #endif /* defined(__cplusplus) */ #endif /* defined(BMD_DECKLINKAPITYPES_H) */ diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPIVersion.h b/ext-deps/DeckLink/Linux/DeckLinkAPIVersion.h index dcdeeb1ca2..4004523560 100644 --- a/ext-deps/DeckLink/Linux/DeckLinkAPIVersion.h +++ b/ext-deps/DeckLink/Linux/DeckLinkAPIVersion.h @@ -1,27 +1,40 @@ /* -LICENSE-START- * ** Copyright (c) 2014 Blackmagic Design - * ** - * ** Permission is hereby granted, free of charge, to any person or organization - * ** obtaining a copy of the software and accompanying documentation covered by - * ** this license (the "Software") to use, reproduce, display, distribute, - * ** execute, and transmit the Software, and to prepare derivative works of the - * ** Software, and to permit third-parties to whom the Software is furnished to - * ** do so, all subject to the following: + * ** + * ** Permission is hereby granted, free of charge, to any person or organization + * ** obtaining a copy of the software and accompanying documentation (the + * ** "Software") to use, reproduce, display, distribute, sub-license, execute, + * ** and transmit the Software, and to prepare derivative works of the Software, + * ** and to permit third-parties to whom the Software is furnished to do so, in + * ** accordance with: * ** - * ** The copyright notices in the Software and this entire statement, including - * ** the above license grant, this restriction and the following disclaimer, - * ** must be included in all copies of the Software, in whole or in part, and - * ** all derivative works of the Software, unless such copies or derivative - * ** works are solely in the form of machine-executable object code generated by - * ** a source language processor. + * ** (1) if the Software is obtained from Blackmagic Design, the End User License + * ** Agreement for the Software Development Kit (“EULA”) available at + * ** https://www.blackmagicdesign.com/EULA/DeckLinkSDK; or * ** - * ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * ** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * ** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT - * ** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE - * ** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, - * ** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * ** (2) if the Software is obtained from any third party, such licensing terms + * ** as notified by that third party, + * ** + * ** and all subject to the following: + * ** + * ** (3) the copyright notices in the Software and this entire statement, + * ** including the above license grant, this restriction and the following + * ** disclaimer, must be included in all copies of the Software, in whole or in + * ** part, and all derivative works of the Software, unless such copies or + * ** derivative works are solely in the form of machine-executable object code + * ** generated by a source language processor. + * ** + * ** (4) THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * ** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * ** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT + * ** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE + * ** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, + * ** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * ** DEALINGS IN THE SOFTWARE. + * ** + * ** A copy of the Software is available free of charge at + * ** https://www.blackmagicdesign.com/desktopvideo_sdk under the EULA. + * ** * ** -LICENSE-END- * */ @@ -30,8 +43,8 @@ #ifndef __DeckLink_API_Version_h__ #define __DeckLink_API_Version_h__ -#define BLACKMAGIC_DECKLINK_API_VERSION 0x0b060000 -#define BLACKMAGIC_DECKLINK_API_VERSION_STRING "11.6" +#define BLACKMAGIC_DECKLINK_API_VERSION 0x0c060000 +#define BLACKMAGIC_DECKLINK_API_VERSION_STRING "12.6" #endif // __DeckLink_API_Version_h__ diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPIVideoEncoderInput_v10_11.h b/ext-deps/DeckLink/Linux/DeckLinkAPIVideoEncoderInput_v10_11.h deleted file mode 100644 index 0ddd8bbeba..0000000000 --- a/ext-deps/DeckLink/Linux/DeckLinkAPIVideoEncoderInput_v10_11.h +++ /dev/null @@ -1,74 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2017 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPIVIDEOENCODERINPUT_v10_11_H -#define BMD_DECKLINKAPIVIDEOENCODERINPUT_v10_11_H - -#include "DeckLinkAPI.h" -#include "DeckLinkAPI_v10_11.h" - -// Type Declarations -BMD_CONST REFIID IID_IDeckLinkEncoderInput_v10_11 = /* 270587DA-6B7D-42E7-A1F0-6D853F581185 */ {0x27,0x05,0x87,0xDA,0x6B,0x7D,0x42,0xE7,0xA1,0xF0,0x6D,0x85,0x3F,0x58,0x11,0x85}; - -/* Interface IDeckLinkEncoderInput_v10_11 - Created by QueryInterface from IDeckLink. */ - -class IDeckLinkEncoderInput_v10_11 : public IUnknown -{ -public: - virtual HRESULT DoesSupportVideoMode (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDVideoInputFlags flags, /* out */ BMDDisplayModeSupport_v10_11 *result, /* out */ IDeckLinkDisplayMode **resultDisplayMode) = 0; - virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator **iterator) = 0; - - /* Video Input */ - - virtual HRESULT EnableVideoInput (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDVideoInputFlags flags) = 0; - virtual HRESULT DisableVideoInput (void) = 0; - virtual HRESULT GetAvailablePacketsCount (/* out */ uint32_t *availablePacketsCount) = 0; - virtual HRESULT SetMemoryAllocator (/* in */ IDeckLinkMemoryAllocator *theAllocator) = 0; - - /* Audio Input */ - - virtual HRESULT EnableAudioInput (/* in */ BMDAudioFormat audioFormat, /* in */ BMDAudioSampleRate sampleRate, /* in */ BMDAudioSampleType sampleType, /* in */ uint32_t channelCount) = 0; - virtual HRESULT DisableAudioInput (void) = 0; - virtual HRESULT GetAvailableAudioSampleFrameCount (/* out */ uint32_t *availableSampleFrameCount) = 0; - - /* Input Control */ - - virtual HRESULT StartStreams (void) = 0; - virtual HRESULT StopStreams (void) = 0; - virtual HRESULT PauseStreams (void) = 0; - virtual HRESULT FlushStreams (void) = 0; - virtual HRESULT SetCallback (/* in */ IDeckLinkEncoderInputCallback *theCallback) = 0; - - /* Hardware Timing */ - - virtual HRESULT GetHardwareReferenceClock (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *hardwareTime, /* out */ BMDTimeValue *timeInFrame, /* out */ BMDTimeValue *ticksPerFrame) = 0; - -protected: - virtual ~IDeckLinkEncoderInput_v10_11 () {} // call Release method to drop reference count -}; - -#endif /* defined(BMD_DECKLINKAPIVIDEOENCODERINPUT_v10_11_H) */ diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPIVideoInput_v10_11.h b/ext-deps/DeckLink/Linux/DeckLinkAPIVideoInput_v10_11.h deleted file mode 100644 index a1e4753f36..0000000000 --- a/ext-deps/DeckLink/Linux/DeckLinkAPIVideoInput_v10_11.h +++ /dev/null @@ -1,76 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2017 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPIVIDEOINPUT_v10_11_H -#define BMD_DECKLINKAPIVIDEOINPUT_v10_11_H - -#include "DeckLinkAPI.h" -#include "DeckLinkAPI_v10_11.h" - -// Type Declarations -BMD_CONST REFIID IID_IDeckLinkInput_v10_11 = /* AF22762B-DFAC-4846-AA79-FA8883560995 */ {0xAF,0x22,0x76,0x2B,0xDF,0xAC,0x48,0x46,0xAA,0x79,0xFA,0x88,0x83,0x56,0x09,0x95}; - -/* Interface IDeckLinkInput_v10_11 - DeckLink input interface. */ - -class IDeckLinkInput_v10_11 : public IUnknown -{ -public: - virtual HRESULT DoesSupportVideoMode (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDVideoInputFlags flags, /* out */ BMDDisplayModeSupport_v10_11 *result, /* out */ IDeckLinkDisplayMode **resultDisplayMode) = 0; - virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator **iterator) = 0; - - virtual HRESULT SetScreenPreviewCallback (/* in */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; - - /* Video Input */ - - virtual HRESULT EnableVideoInput (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDVideoInputFlags flags) = 0; - virtual HRESULT DisableVideoInput (void) = 0; - virtual HRESULT GetAvailableVideoFrameCount (/* out */ uint32_t *availableFrameCount) = 0; - virtual HRESULT SetVideoInputFrameMemoryAllocator (/* in */ IDeckLinkMemoryAllocator *theAllocator) = 0; - - /* Audio Input */ - - virtual HRESULT EnableAudioInput (/* in */ BMDAudioSampleRate sampleRate, /* in */ BMDAudioSampleType sampleType, /* in */ uint32_t channelCount) = 0; - virtual HRESULT DisableAudioInput (void) = 0; - virtual HRESULT GetAvailableAudioSampleFrameCount (/* out */ uint32_t *availableSampleFrameCount) = 0; - - /* Input Control */ - - virtual HRESULT StartStreams (void) = 0; - virtual HRESULT StopStreams (void) = 0; - virtual HRESULT PauseStreams (void) = 0; - virtual HRESULT FlushStreams (void) = 0; - virtual HRESULT SetCallback (/* in */ IDeckLinkInputCallback *theCallback) = 0; - - /* Hardware Timing */ - - virtual HRESULT GetHardwareReferenceClock (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *hardwareTime, /* out */ BMDTimeValue *timeInFrame, /* out */ BMDTimeValue *ticksPerFrame) = 0; - -protected: - virtual ~IDeckLinkInput_v10_11 () {} // call Release method to drop reference count -}; - -#endif /* defined(BMD_DECKLINKAPIVIDEOINPUT_v10_11_H) */ diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPIVideoInput_v11_4.h b/ext-deps/DeckLink/Linux/DeckLinkAPIVideoInput_v11_4.h deleted file mode 100644 index daa61bdede..0000000000 --- a/ext-deps/DeckLink/Linux/DeckLinkAPIVideoInput_v11_4.h +++ /dev/null @@ -1,75 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2019 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPIVIDEOINPUT_v11_4_H -#define BMD_DECKLINKAPIVIDEOINPUT_v11_4_H - -#include "DeckLinkAPI.h" - -// Type Declarations -BMD_CONST REFIID IID_IDeckLinkInput_v11_4 = /* 2A88CF76-F494-4216-A7EF-DC74EEB83882 */ { 0x2A,0x88,0xCF,0x76,0xF4,0x94,0x42,0x16,0xA7,0xEF,0xDC,0x74,0xEE,0xB8,0x38,0x82 }; - -/* Interface IDeckLinkInput - Created by QueryInterface from IDeckLink. */ - -class BMD_PUBLIC IDeckLinkInput_v11_4 : public IUnknown -{ -public: - virtual HRESULT DoesSupportVideoMode (/* in */ BMDVideoConnection connection /* If a value of 0 is specified, the caller does not care about the connection */, /* in */ BMDDisplayMode requestedMode, /* in */ BMDPixelFormat requestedPixelFormat, /* in */ BMDSupportedVideoModeFlags flags, /* out */ bool* supported) = 0; - virtual HRESULT GetDisplayMode (/* in */ BMDDisplayMode displayMode, /* out */ IDeckLinkDisplayMode** resultDisplayMode) = 0; - virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator** iterator) = 0; - virtual HRESULT SetScreenPreviewCallback (/* in */ IDeckLinkScreenPreviewCallback* previewCallback) = 0; - - /* Video Input */ - - virtual HRESULT EnableVideoInput (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDVideoInputFlags flags) = 0; - virtual HRESULT DisableVideoInput (void) = 0; - virtual HRESULT GetAvailableVideoFrameCount (/* out */ uint32_t* availableFrameCount) = 0; - virtual HRESULT SetVideoInputFrameMemoryAllocator (/* in */ IDeckLinkMemoryAllocator* theAllocator) = 0; - - /* Audio Input */ - - virtual HRESULT EnableAudioInput (/* in */ BMDAudioSampleRate sampleRate, /* in */ BMDAudioSampleType sampleType, /* in */ uint32_t channelCount) = 0; - virtual HRESULT DisableAudioInput (void) = 0; - virtual HRESULT GetAvailableAudioSampleFrameCount (/* out */ uint32_t* availableSampleFrameCount) = 0; - - /* Input Control */ - - virtual HRESULT StartStreams (void) = 0; - virtual HRESULT StopStreams (void) = 0; - virtual HRESULT PauseStreams (void) = 0; - virtual HRESULT FlushStreams (void) = 0; - virtual HRESULT SetCallback (/* in */ IDeckLinkInputCallback* theCallback) = 0; - - /* Hardware Timing */ - - virtual HRESULT GetHardwareReferenceClock (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue* hardwareTime, /* out */ BMDTimeValue* timeInFrame, /* out */ BMDTimeValue* ticksPerFrame) = 0; - -protected: - virtual ~IDeckLinkInput_v11_4 () {} // call Release method to drop reference count -}; - -#endif /* defined(BMD_DECKLINKAPIVIDEOINPUT_v11_4_H) */ diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPIVideoInput_v11_5_1.h b/ext-deps/DeckLink/Linux/DeckLinkAPIVideoInput_v11_5_1.h deleted file mode 100644 index cd031bd4bf..0000000000 --- a/ext-deps/DeckLink/Linux/DeckLinkAPIVideoInput_v11_5_1.h +++ /dev/null @@ -1,89 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2020 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPIVIDEOINPUT_v11_5_1_H -#define BMD_DECKLINKAPIVIDEOINPUT_v11_5_1_H - -#include "DeckLinkAPI.h" - -// Type Declarations - -BMD_CONST REFIID IID_IDeckLinkInputCallback_v11_5_1 = /* DD04E5EC-7415-42AB-AE4A-E80C4DFC044A */ { 0xDD, 0x04, 0xE5, 0xEC, 0x74, 0x15, 0x42, 0xAB, 0xAE, 0x4A, 0xE8, 0x0C, 0x4D, 0xFC, 0x04, 0x4A }; -BMD_CONST REFIID IID_IDeckLinkInput_v11_5_1 = /* 9434C6E4-B15D-4B1C-979E-661E3DDCB4B9 */ { 0x94, 0x34, 0xC6, 0xE4, 0xB1, 0x5D, 0x4B, 0x1C, 0x97, 0x9E, 0x66, 0x1E, 0x3D, 0xDC, 0xB4, 0xB9 }; - -/* Interface IDeckLinkInputCallback_v11_5_1 - Frame arrival callback. */ - -class BMD_PUBLIC IDeckLinkInputCallback_v11_5_1 : public IUnknown -{ -public: - virtual HRESULT VideoInputFormatChanged (/* in */ BMDVideoInputFormatChangedEvents notificationEvents, /* in */ IDeckLinkDisplayMode* newDisplayMode, /* in */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0; - virtual HRESULT VideoInputFrameArrived (/* in */ IDeckLinkVideoInputFrame* videoFrame, /* in */ IDeckLinkAudioInputPacket* audioPacket) = 0; - -protected: - virtual ~IDeckLinkInputCallback_v11_5_1 () {} // call Release method to drop reference count -}; - -/* Interface IDeckLinkInput_v11_5_1 - Created by QueryInterface from IDeckLink. */ - -class BMD_PUBLIC IDeckLinkInput_v11_5_1 : public IUnknown -{ -public: - virtual HRESULT DoesSupportVideoMode (/* in */ BMDVideoConnection connection /* If a value of bmdVideoConnectionUnspecified is specified, the caller does not care about the connection */, /* in */ BMDDisplayMode requestedMode, /* in */ BMDPixelFormat requestedPixelFormat, /* in */ BMDVideoInputConversionMode conversionMode, /* in */ BMDSupportedVideoModeFlags flags, /* out */ BMDDisplayMode* actualMode, /* out */ bool* supported) = 0; - virtual HRESULT GetDisplayMode (/* in */ BMDDisplayMode displayMode, /* out */ IDeckLinkDisplayMode** resultDisplayMode) = 0; - virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator** iterator) = 0; - virtual HRESULT SetScreenPreviewCallback (/* in */ IDeckLinkScreenPreviewCallback* previewCallback) = 0; - - /* Video Input */ - - virtual HRESULT EnableVideoInput (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDVideoInputFlags flags) = 0; - virtual HRESULT DisableVideoInput (void) = 0; - virtual HRESULT GetAvailableVideoFrameCount (/* out */ uint32_t* availableFrameCount) = 0; - virtual HRESULT SetVideoInputFrameMemoryAllocator (/* in */ IDeckLinkMemoryAllocator* theAllocator) = 0; - - /* Audio Input */ - - virtual HRESULT EnableAudioInput (/* in */ BMDAudioSampleRate sampleRate, /* in */ BMDAudioSampleType sampleType, /* in */ uint32_t channelCount) = 0; - virtual HRESULT DisableAudioInput (void) = 0; - virtual HRESULT GetAvailableAudioSampleFrameCount (/* out */ uint32_t* availableSampleFrameCount) = 0; - - /* Input Control */ - - virtual HRESULT StartStreams (void) = 0; - virtual HRESULT StopStreams (void) = 0; - virtual HRESULT PauseStreams (void) = 0; - virtual HRESULT FlushStreams (void) = 0; - virtual HRESULT SetCallback (/* in */ IDeckLinkInputCallback_v11_5_1* theCallback) = 0; - - /* Hardware Timing */ - - virtual HRESULT GetHardwareReferenceClock (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue* hardwareTime, /* out */ BMDTimeValue* timeInFrame, /* out */ BMDTimeValue* ticksPerFrame) = 0; - -protected: - virtual ~IDeckLinkInput_v11_5_1 () {} // call Release method to drop reference count -}; - -#endif /* defined(BMD_DECKLINKAPIVIDEOINPUT_v11_5_1_H) */ diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPIVideoOutput_v10_11.h b/ext-deps/DeckLink/Linux/DeckLinkAPIVideoOutput_v10_11.h deleted file mode 100644 index a593898702..0000000000 --- a/ext-deps/DeckLink/Linux/DeckLinkAPIVideoOutput_v10_11.h +++ /dev/null @@ -1,94 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2017 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPIVIDEOOUTPUT_v10_11_H -#define BMD_DECKLINKAPIVIDEOOUTPUT_v10_11_H - -#include "DeckLinkAPI.h" -#include "DeckLinkAPI_v10_11.h" - -// Type Declarations -BMD_CONST REFIID IID_IDeckLinkOutput_v10_11 = /* CC5C8A6E-3F2F-4B3A-87EA-FD78AF300564 */ {0xCC,0x5C,0x8A,0x6E,0x3F,0x2F,0x4B,0x3A,0x87,0xEA,0xFD,0x78,0xAF,0x30,0x05,0x64}; - -/* Interface IDeckLinkOutput_v10_11 - DeckLink output interface. */ - -class IDeckLinkOutput_v10_11 : public IUnknown -{ -public: - virtual HRESULT DoesSupportVideoMode (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDVideoOutputFlags flags, /* out */ BMDDisplayModeSupport_v10_11 *result, /* out */ IDeckLinkDisplayMode **resultDisplayMode) = 0; - virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator **iterator) = 0; - - virtual HRESULT SetScreenPreviewCallback (/* in */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; - - /* Video Output */ - - virtual HRESULT EnableVideoOutput (/* in */ BMDDisplayMode displayMode, /* in */ BMDVideoOutputFlags flags) = 0; - virtual HRESULT DisableVideoOutput (void) = 0; - - virtual HRESULT SetVideoOutputFrameMemoryAllocator (/* in */ IDeckLinkMemoryAllocator *theAllocator) = 0; - virtual HRESULT CreateVideoFrame (/* in */ int32_t width, /* in */ int32_t height, /* in */ int32_t rowBytes, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDFrameFlags flags, /* out */ IDeckLinkMutableVideoFrame **outFrame) = 0; - virtual HRESULT CreateAncillaryData (/* in */ BMDPixelFormat pixelFormat, /* out */ IDeckLinkVideoFrameAncillary **outBuffer) = 0; - - virtual HRESULT DisplayVideoFrameSync (/* in */ IDeckLinkVideoFrame *theFrame) = 0; - virtual HRESULT ScheduleVideoFrame (/* in */ IDeckLinkVideoFrame *theFrame, /* in */ BMDTimeValue displayTime, /* in */ BMDTimeValue displayDuration, /* in */ BMDTimeScale timeScale) = 0; - virtual HRESULT SetScheduledFrameCompletionCallback (/* in */ IDeckLinkVideoOutputCallback *theCallback) = 0; - virtual HRESULT GetBufferedVideoFrameCount (/* out */ uint32_t *bufferedFrameCount) = 0; - - /* Audio Output */ - - virtual HRESULT EnableAudioOutput (/* in */ BMDAudioSampleRate sampleRate, /* in */ BMDAudioSampleType sampleType, /* in */ uint32_t channelCount, /* in */ BMDAudioOutputStreamType streamType) = 0; - virtual HRESULT DisableAudioOutput (void) = 0; - - virtual HRESULT WriteAudioSamplesSync (/* in */ void *buffer, /* in */ uint32_t sampleFrameCount, /* out */ uint32_t *sampleFramesWritten) = 0; - - virtual HRESULT BeginAudioPreroll (void) = 0; - virtual HRESULT EndAudioPreroll (void) = 0; - virtual HRESULT ScheduleAudioSamples (/* in */ void *buffer, /* in */ uint32_t sampleFrameCount, /* in */ BMDTimeValue streamTime, /* in */ BMDTimeScale timeScale, /* out */ uint32_t *sampleFramesWritten) = 0; - - virtual HRESULT GetBufferedAudioSampleFrameCount (/* out */ uint32_t *bufferedSampleFrameCount) = 0; - virtual HRESULT FlushBufferedAudioSamples (void) = 0; - - virtual HRESULT SetAudioCallback (/* in */ IDeckLinkAudioOutputCallback *theCallback) = 0; - - /* Output Control */ - - virtual HRESULT StartScheduledPlayback (/* in */ BMDTimeValue playbackStartTime, /* in */ BMDTimeScale timeScale, /* in */ double playbackSpeed) = 0; - virtual HRESULT StopScheduledPlayback (/* in */ BMDTimeValue stopPlaybackAtTime, /* out */ BMDTimeValue *actualStopTime, /* in */ BMDTimeScale timeScale) = 0; - virtual HRESULT IsScheduledPlaybackRunning (/* out */ bool *active) = 0; - virtual HRESULT GetScheduledStreamTime (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *streamTime, /* out */ double *playbackSpeed) = 0; - virtual HRESULT GetReferenceStatus (/* out */ BMDReferenceStatus *referenceStatus) = 0; - - /* Hardware Timing */ - - virtual HRESULT GetHardwareReferenceClock (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *hardwareTime, /* out */ BMDTimeValue *timeInFrame, /* out */ BMDTimeValue *ticksPerFrame) = 0; - virtual HRESULT GetFrameCompletionReferenceTimestamp (/* in */ IDeckLinkVideoFrame *theFrame, /* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *frameCompletionTimestamp) = 0; - -protected: - virtual ~IDeckLinkOutput_v10_11 () {} // call Release method to drop reference count -}; - -#endif /* defined(BMD_DECKLINKAPIVIDEOOUTPUT_v10_11_H) */ diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPIVideoOutput_v11_4.h b/ext-deps/DeckLink/Linux/DeckLinkAPIVideoOutput_v11_4.h deleted file mode 100644 index 65de9c6cca..0000000000 --- a/ext-deps/DeckLink/Linux/DeckLinkAPIVideoOutput_v11_4.h +++ /dev/null @@ -1,87 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2019 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPIVIDEOOUTPUT_v11_4_H -#define BMD_DECKLINKAPIVIDEOOUTPUT_v11_4_H - -#include "DeckLinkAPI.h" - -// Type Declarations -BMD_CONST REFIID IID_IDeckLinkOutput_v11_4 = /* 065A0F6C-C508-4D0D-B919-F5EB0EBFC96B */ { 0x06,0x5A,0x0F,0x6C,0xC5,0x08,0x4D,0x0D,0xB9,0x19,0xF5,0xEB,0x0E,0xBF,0xC9,0x6B }; - -/* Interface IDeckLinkOutput_v11_4 - Created by QueryInterface from IDeckLink. */ - -class BMD_PUBLIC IDeckLinkOutput_v11_4 : public IUnknown -{ -public: - virtual HRESULT DoesSupportVideoMode (/* in */ BMDVideoConnection connection /* If a value of 0 is specified, the caller does not care about the connection */, /* in */ BMDDisplayMode requestedMode, /* in */ BMDPixelFormat requestedPixelFormat, /* in */ BMDSupportedVideoModeFlags flags, /* out */ BMDDisplayMode* actualMode, /* out */ bool* supported) = 0; - virtual HRESULT GetDisplayMode (/* in */ BMDDisplayMode displayMode, /* out */ IDeckLinkDisplayMode** resultDisplayMode) = 0; - virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator** iterator) = 0; - virtual HRESULT SetScreenPreviewCallback (/* in */ IDeckLinkScreenPreviewCallback* previewCallback) = 0; - - /* Video Output */ - - virtual HRESULT EnableVideoOutput (/* in */ BMDDisplayMode displayMode, /* in */ BMDVideoOutputFlags flags) = 0; - virtual HRESULT DisableVideoOutput (void) = 0; - virtual HRESULT SetVideoOutputFrameMemoryAllocator (/* in */ IDeckLinkMemoryAllocator* theAllocator) = 0; - virtual HRESULT CreateVideoFrame (/* in */ int32_t width, /* in */ int32_t height, /* in */ int32_t rowBytes, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDFrameFlags flags, /* out */ IDeckLinkMutableVideoFrame** outFrame) = 0; - virtual HRESULT CreateAncillaryData (/* in */ BMDPixelFormat pixelFormat, /* out */ IDeckLinkVideoFrameAncillary** outBuffer) = 0; // Use of IDeckLinkVideoFrameAncillaryPackets is preferred - virtual HRESULT DisplayVideoFrameSync (/* in */ IDeckLinkVideoFrame* theFrame) = 0; - virtual HRESULT ScheduleVideoFrame (/* in */ IDeckLinkVideoFrame* theFrame, /* in */ BMDTimeValue displayTime, /* in */ BMDTimeValue displayDuration, /* in */ BMDTimeScale timeScale) = 0; - virtual HRESULT SetScheduledFrameCompletionCallback (/* in */ IDeckLinkVideoOutputCallback* theCallback) = 0; - virtual HRESULT GetBufferedVideoFrameCount (/* out */ uint32_t* bufferedFrameCount) = 0; - - /* Audio Output */ - - virtual HRESULT EnableAudioOutput (/* in */ BMDAudioSampleRate sampleRate, /* in */ BMDAudioSampleType sampleType, /* in */ uint32_t channelCount, /* in */ BMDAudioOutputStreamType streamType) = 0; - virtual HRESULT DisableAudioOutput (void) = 0; - virtual HRESULT WriteAudioSamplesSync (/* in */ void* buffer, /* in */ uint32_t sampleFrameCount, /* out */ uint32_t* sampleFramesWritten) = 0; - virtual HRESULT BeginAudioPreroll (void) = 0; - virtual HRESULT EndAudioPreroll (void) = 0; - virtual HRESULT ScheduleAudioSamples (/* in */ void* buffer, /* in */ uint32_t sampleFrameCount, /* in */ BMDTimeValue streamTime, /* in */ BMDTimeScale timeScale, /* out */ uint32_t* sampleFramesWritten) = 0; - virtual HRESULT GetBufferedAudioSampleFrameCount (/* out */ uint32_t* bufferedSampleFrameCount) = 0; - virtual HRESULT FlushBufferedAudioSamples (void) = 0; - virtual HRESULT SetAudioCallback (/* in */ IDeckLinkAudioOutputCallback* theCallback) = 0; - - /* Output Control */ - - virtual HRESULT StartScheduledPlayback (/* in */ BMDTimeValue playbackStartTime, /* in */ BMDTimeScale timeScale, /* in */ double playbackSpeed) = 0; - virtual HRESULT StopScheduledPlayback (/* in */ BMDTimeValue stopPlaybackAtTime, /* out */ BMDTimeValue* actualStopTime, /* in */ BMDTimeScale timeScale) = 0; - virtual HRESULT IsScheduledPlaybackRunning (/* out */ bool* active) = 0; - virtual HRESULT GetScheduledStreamTime (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue* streamTime, /* out */ double* playbackSpeed) = 0; - virtual HRESULT GetReferenceStatus (/* out */ BMDReferenceStatus* referenceStatus) = 0; - - /* Hardware Timing */ - - virtual HRESULT GetHardwareReferenceClock (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue* hardwareTime, /* out */ BMDTimeValue* timeInFrame, /* out */ BMDTimeValue* ticksPerFrame) = 0; - virtual HRESULT GetFrameCompletionReferenceTimestamp (/* in */ IDeckLinkVideoFrame* theFrame, /* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue* frameCompletionTimestamp) = 0; - -protected: - virtual ~IDeckLinkOutput_v11_4 () {} // call Release method to drop reference count -}; - -#endif /* defined(BMD_DECKLINKAPIVIDEOOUTPUT_v11_4_H) */ diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPI_v10_11.h b/ext-deps/DeckLink/Linux/DeckLinkAPI_v10_11.h deleted file mode 100644 index 35aa3d4e33..0000000000 --- a/ext-deps/DeckLink/Linux/DeckLinkAPI_v10_11.h +++ /dev/null @@ -1,121 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2018 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPI_v10_11_H -#define BMD_DECKLINKAPI_v10_11_H - -#include "DeckLinkAPI.h" - -// Interface ID Declarations - -BMD_CONST REFIID IID_IDeckLinkAttributes_v10_11 = /* ABC11843-D966-44CB-96E2-A1CB5D3135C4 */ {0xAB,0xC1,0x18,0x43,0xD9,0x66,0x44,0xCB,0x96,0xE2,0xA1,0xCB,0x5D,0x31,0x35,0xC4}; -BMD_CONST REFIID IID_IDeckLinkNotification_v10_11 = /* 0A1FB207-E215-441B-9B19-6FA1575946C5 */ {0x0A,0x1F,0xB2,0x07,0xE2,0x15,0x44,0x1B,0x9B,0x19,0x6F,0xA1,0x57,0x59,0x46,0xC5}; - -/* Enum BMDDisplayModeSupport_v10_11 - Output mode supported flags */ - -typedef uint32_t BMDDisplayModeSupport_v10_11; -enum _BMDDisplayModeSupport_v10_11 { - bmdDisplayModeNotSupported_v10_11 = 0, - bmdDisplayModeSupported_v10_11, - bmdDisplayModeSupportedWithConversion_v10_11 -}; - -/* Enum BMDDuplexMode_v10_11 - Duplex for configurable ports */ - -typedef uint32_t BMDDuplexMode_v10_11; -enum _BMDDuplexMode_v10_11 { - bmdDuplexModeFull_v10_11 = /* 'fdup' */ 0x66647570, - bmdDuplexModeHalf_v10_11 = /* 'hdup' */ 0x68647570 -}; - -/* Enum BMDDeckLinkAttributeID_v10_11 - DeckLink Attribute ID */ - -enum _BMDDeckLinkAttributeID_v10_11 { - - /* Flags */ - - BMDDeckLinkSupportsDuplexModeConfiguration_v10_11 = 'dupx', - BMDDeckLinkSupportsHDKeying_v10_11 = 'keyh', - - /* Integers */ - - BMDDeckLinkPairedDevicePersistentID_v10_11 = 'ppid', - BMDDeckLinkSupportsFullDuplex_v10_11 = 'fdup', -}; - -enum _BMDDeckLinkStatusID_v10_11 { - bmdDeckLinkStatusDuplexMode_v10_11 = 'dupx', -}; - -typedef uint32_t BMDDuplexStatus_v10_11; -enum _BMDDuplexStatus_v10_11 { - bmdDuplexFullDuplex_v10_11 = 'fdup', - bmdDuplexHalfDuplex_v10_11 = 'hdup', - bmdDuplexSimplex_v10_11 = 'splx', - bmdDuplexInactive_v10_11 = 'inac', -}; - -#if defined(__cplusplus) - -/* Interface IDeckLinkAttributes_v10_11 - DeckLink Attribute interface */ - -class BMD_PUBLIC IDeckLinkAttributes_v10_11 : public IUnknown -{ -public: - virtual HRESULT GetFlag (/* in */ BMDDeckLinkAttributeID cfgID, /* out */ bool *value) = 0; - virtual HRESULT GetInt (/* in */ BMDDeckLinkAttributeID cfgID, /* out */ int64_t *value) = 0; - virtual HRESULT GetFloat (/* in */ BMDDeckLinkAttributeID cfgID, /* out */ double *value) = 0; - virtual HRESULT GetString (/* in */ BMDDeckLinkAttributeID cfgID, /* out */ const char **value) = 0; - -protected: - virtual ~IDeckLinkAttributes_v10_11 () {} // call Release method to drop reference count -}; - -/* Interface IDeckLinkNotification_v10_11 - DeckLink Notification interface */ - -class BMD_PUBLIC IDeckLinkNotification_v10_11 : public IUnknown -{ -public: - virtual HRESULT Subscribe (/* in */ BMDNotifications topic, /* in */ IDeckLinkNotificationCallback *theCallback) = 0; - virtual HRESULT Unsubscribe (/* in */ BMDNotifications topic, /* in */ IDeckLinkNotificationCallback *theCallback) = 0; -}; - -/* Functions */ - -extern "C" { - - IDeckLinkIterator* BMD_PUBLIC CreateDeckLinkIteratorInstance_v10_11 (void); - IDeckLinkDiscovery* BMD_PUBLIC CreateDeckLinkDiscoveryInstance_v10_11 (void); - IDeckLinkAPIInformation* BMD_PUBLIC CreateDeckLinkAPIInformationInstance_v10_11 (void); - IDeckLinkGLScreenPreviewHelper* BMD_PUBLIC CreateOpenGLScreenPreviewHelper_v10_11 (void); - IDeckLinkVideoConversion* BMD_PUBLIC CreateVideoConversionInstance_v10_11 (void); - IDeckLinkVideoFrameAncillaryPackets* BMD_PUBLIC CreateVideoFrameAncillaryPacketsInstance_v10_11 (void); // For use when creating a custom IDeckLinkVideoFrame without wrapping IDeckLinkOutput::CreateVideoFrame - -} - -#endif // defined(__cplusplus) -#endif /* defined(BMD_DECKLINKAPI_v10_11_H) */ diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPI_v10_2.h b/ext-deps/DeckLink/Linux/DeckLinkAPI_v10_2.h deleted file mode 100644 index ad2ff32d70..0000000000 --- a/ext-deps/DeckLink/Linux/DeckLinkAPI_v10_2.h +++ /dev/null @@ -1,55 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2014 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPI_v10_2_H -#define BMD_DECKLINKAPI_v10_2_H - -#include "DeckLinkAPI.h" - -// Type Declarations - -/* Enum BMDDeckLinkConfigurationID - DeckLink Configuration ID */ - -typedef uint32_t BMDDeckLinkConfigurationID_v10_2; -enum _BMDDeckLinkConfigurationID_v10_2 { - /* Video output flags */ - - bmdDeckLinkConfig3GBpsVideoOutput_v10_2 = '3gbs', -}; - -/* Enum BMDAudioConnection_v10_2 - Audio connection types */ - -typedef uint32_t BMDAudioConnection_v10_2; -enum _BMDAudioConnection_v10_2 { - bmdAudioConnectionEmbedded_v10_2 = /* 'embd' */ 0x656D6264, - bmdAudioConnectionAESEBU_v10_2 = /* 'aes ' */ 0x61657320, - bmdAudioConnectionAnalog_v10_2 = /* 'anlg' */ 0x616E6C67, - bmdAudioConnectionAnalogXLR_v10_2 = /* 'axlr' */ 0x61786C72, - bmdAudioConnectionAnalogRCA_v10_2 = /* 'arca' */ 0x61726361 -}; - -#endif /* defined(BMD_DECKLINKAPI_v10_2_H) */ diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPI_v10_4.h b/ext-deps/DeckLink/Linux/DeckLinkAPI_v10_4.h deleted file mode 100644 index 7e5019ca2b..0000000000 --- a/ext-deps/DeckLink/Linux/DeckLinkAPI_v10_4.h +++ /dev/null @@ -1,45 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2015 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPI_v10_4_H -#define BMD_DECKLINKAPI_v10_4_H - -#include "DeckLinkAPI.h" - -// Type Declarations - -/* Enum BMDDeckLinkConfigurationID - DeckLink Configuration ID */ - -typedef uint32_t BMDDeckLinkConfigurationID_v10_4; -enum _BMDDeckLinkConfigurationID_v10_4 { - - /* Video output flags */ - - bmdDeckLinkConfigSingleLinkVideoOutput_v10_4 = /* 'sglo' */ 0x73676C6F, -}; - -#endif /* defined(BMD_DECKLINKAPI_v10_4_H) */ diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPI_v10_5.h b/ext-deps/DeckLink/Linux/DeckLinkAPI_v10_5.h deleted file mode 100644 index 4439daef7b..0000000000 --- a/ext-deps/DeckLink/Linux/DeckLinkAPI_v10_5.h +++ /dev/null @@ -1,46 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2015 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPI_v10_5_H -#define BMD_DECKLINKAPI_v10_5_H - -#include "DeckLinkAPI.h" - -// Type Declarations - -/* Enum BMDDeckLinkAttributeID - DeckLink Attribute ID */ - -typedef uint32_t BMDDeckLinkAttributeID_v10_5; -enum _BMDDeckLinkAttributeID_v10_5 { - - /* Integers */ - - BMDDeckLinkDeviceBusyState_v10_5 = /* 'dbst' */ 0x64627374, -}; - -#endif /* defined(BMD_DECKLINKAPI_v10_5_H) */ - diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPI_v10_6.h b/ext-deps/DeckLink/Linux/DeckLinkAPI_v10_6.h deleted file mode 100644 index 3c93578951..0000000000 --- a/ext-deps/DeckLink/Linux/DeckLinkAPI_v10_6.h +++ /dev/null @@ -1,50 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2016 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPI_v10_6_H -#define BMD_DECKLINKAPI_v10_6_H - -#include "DeckLinkAPI.h" - -// Type Declarations - -/* Enum BMDDeckLinkAttributeID - DeckLink Attribute ID */ - -typedef uint32_t BMDDeckLinkAttributeID_c10_6; -enum _BMDDeckLinkAttributeID_v10_6 { - - /* Flags */ - - BMDDeckLinkSupportsDesktopDisplay_v10_6 = /* 'extd' */ 0x65787464, -}; - -typedef uint32_t BMDIdleVideoOutputOperation_v10_6; -enum _BMDIdleVideoOutputOperation_v10_6 { - bmdIdleVideoOutputDesktop_v10_6 = /* 'desk' */ 0x6465736B -}; - -#endif /* defined(BMD_DECKLINKAPI_v10_6_H) */ diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPI_v10_9.h b/ext-deps/DeckLink/Linux/DeckLinkAPI_v10_9.h deleted file mode 100644 index aec8c7c201..0000000000 --- a/ext-deps/DeckLink/Linux/DeckLinkAPI_v10_9.h +++ /dev/null @@ -1,45 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2017 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPI_v10_9_H -#define BMD_DECKLINKAPI_v10_9_H - -#include "DeckLinkAPI.h" - -// Type Declarations - -/* Enum BMDDeckLinkAttributeID - DeckLink Attribute ID */ - -typedef uint32_t BMDDeckLinkConfigurationID_v10_9; -enum _BMDDeckLinkConfigurationID_v10_9 { - - /* Flags */ - - bmdDeckLinkConfig1080pNotPsF_v10_9 = 'fpro', -}; - -#endif /* defined(BMD_DECKLINKAPI_v10_9_H) */ diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPI_v11_5.h b/ext-deps/DeckLink/Linux/DeckLinkAPI_v11_5.h deleted file mode 100644 index ad2df1f5ae..0000000000 --- a/ext-deps/DeckLink/Linux/DeckLinkAPI_v11_5.h +++ /dev/null @@ -1,100 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2020 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPI_v11_5_H -#define BMD_DECKLINKAPI_v11_5_H - -#include "DeckLinkAPI.h" - -BMD_CONST REFIID IID_IDeckLinkVideoFrameMetadataExtensions_v11_5 = /* D5973DC9-6432-46D0-8F0B-2496F8A1238F */ {0xD5,0x97,0x3D,0xC9,0x64,0x32,0x46,0xD0,0x8F,0x0B,0x24,0x96,0xF8,0xA1,0x23,0x8F}; - -/* Enum BMDDeckLinkFrameMetadataID - DeckLink Frame Metadata ID */ - -typedef uint32_t BMDDeckLinkFrameMetadataID_v11_5; -enum _BMDDeckLinkFrameMetadataID_v11_5 { - bmdDeckLinkFrameMetadataCintelFilmType_v11_5 = /* 'cfty' */ 0x63667479, // Current film type - bmdDeckLinkFrameMetadataCintelFilmGauge_v11_5 = /* 'cfga' */ 0x63666761, // Current film gauge - bmdDeckLinkFrameMetadataCintelKeykodeLow_v11_5 = /* 'ckkl' */ 0x636B6B6C, // Raw keykode value - low 64 bits - bmdDeckLinkFrameMetadataCintelKeykodeHigh_v11_5 = /* 'ckkh' */ 0x636B6B68, // Raw keykode value - high 64 bits - bmdDeckLinkFrameMetadataCintelTile1Size_v11_5 = /* 'ct1s' */ 0x63743173, // Size in bytes of compressed raw tile 1 - bmdDeckLinkFrameMetadataCintelTile2Size_v11_5 = /* 'ct2s' */ 0x63743273, // Size in bytes of compressed raw tile 2 - bmdDeckLinkFrameMetadataCintelTile3Size_v11_5 = /* 'ct3s' */ 0x63743373, // Size in bytes of compressed raw tile 3 - bmdDeckLinkFrameMetadataCintelTile4Size_v11_5 = /* 'ct4s' */ 0x63743473, // Size in bytes of compressed raw tile 4 - bmdDeckLinkFrameMetadataCintelImageWidth_v11_5 = /* 'IWPx' */ 0x49575078, // Width in pixels of image - bmdDeckLinkFrameMetadataCintelImageHeight_v11_5 = /* 'IHPx' */ 0x49485078, // Height in pixels of image - bmdDeckLinkFrameMetadataCintelLinearMaskingRedInRed_v11_5 = /* 'mrir' */ 0x6D726972, // Red in red linear masking parameter - bmdDeckLinkFrameMetadataCintelLinearMaskingGreenInRed_v11_5 = /* 'mgir' */ 0x6D676972, // Green in red linear masking parameter - bmdDeckLinkFrameMetadataCintelLinearMaskingBlueInRed_v11_5 = /* 'mbir' */ 0x6D626972, // Blue in red linear masking parameter - bmdDeckLinkFrameMetadataCintelLinearMaskingRedInGreen_v11_5 = /* 'mrig' */ 0x6D726967, // Red in green linear masking parameter - bmdDeckLinkFrameMetadataCintelLinearMaskingGreenInGreen_v11_5 = /* 'mgig' */ 0x6D676967, // Green in green linear masking parameter - bmdDeckLinkFrameMetadataCintelLinearMaskingBlueInGreen_v11_5 = /* 'mbig' */ 0x6D626967, // Blue in green linear masking parameter - bmdDeckLinkFrameMetadataCintelLinearMaskingRedInBlue_v11_5 = /* 'mrib' */ 0x6D726962, // Red in blue linear masking parameter - bmdDeckLinkFrameMetadataCintelLinearMaskingGreenInBlue_v11_5 = /* 'mgib' */ 0x6D676962, // Green in blue linear masking parameter - bmdDeckLinkFrameMetadataCintelLinearMaskingBlueInBlue_v11_5 = /* 'mbib' */ 0x6D626962, // Blue in blue linear masking parameter - bmdDeckLinkFrameMetadataCintelLogMaskingRedInRed_v11_5 = /* 'mlrr' */ 0x6D6C7272, // Red in red log masking parameter - bmdDeckLinkFrameMetadataCintelLogMaskingGreenInRed_v11_5 = /* 'mlgr' */ 0x6D6C6772, // Green in red log masking parameter - bmdDeckLinkFrameMetadataCintelLogMaskingBlueInRed_v11_5 = /* 'mlbr' */ 0x6D6C6272, // Blue in red log masking parameter - bmdDeckLinkFrameMetadataCintelLogMaskingRedInGreen_v11_5 = /* 'mlrg' */ 0x6D6C7267, // Red in green log masking parameter - bmdDeckLinkFrameMetadataCintelLogMaskingGreenInGreen_v11_5 = /* 'mlgg' */ 0x6D6C6767, // Green in green log masking parameter - bmdDeckLinkFrameMetadataCintelLogMaskingBlueInGreen_v11_5 = /* 'mlbg' */ 0x6D6C6267, // Blue in green log masking parameter - bmdDeckLinkFrameMetadataCintelLogMaskingRedInBlue_v11_5 = /* 'mlrb' */ 0x6D6C7262, // Red in blue log masking parameter - bmdDeckLinkFrameMetadataCintelLogMaskingGreenInBlue_v11_5 = /* 'mlgb' */ 0x6D6C6762, // Green in blue log masking parameter - bmdDeckLinkFrameMetadataCintelLogMaskingBlueInBlue_v11_5 = /* 'mlbb' */ 0x6D6C6262, // Blue in blue log masking parameter - bmdDeckLinkFrameMetadataCintelFilmFrameRate_v11_5 = /* 'cffr' */ 0x63666672, // Film frame rate - bmdDeckLinkFrameMetadataCintelOffsetToApplyHorizontal_v11_5 = /* 'otah' */ 0x6F746168, // Horizontal offset (pixels) to be applied to image - bmdDeckLinkFrameMetadataCintelOffsetToApplyVertical_v11_5 = /* 'otav' */ 0x6F746176, // Vertical offset (pixels) to be applied to image - bmdDeckLinkFrameMetadataCintelGainRed_v11_5 = /* 'LfRd' */ 0x4C665264, // Red gain parameter to apply after log - bmdDeckLinkFrameMetadataCintelGainGreen_v11_5 = /* 'LfGr' */ 0x4C664772, // Green gain parameter to apply after log - bmdDeckLinkFrameMetadataCintelGainBlue_v11_5 = /* 'LfBl' */ 0x4C66426C, // Blue gain parameter to apply after log - bmdDeckLinkFrameMetadataCintelLiftRed_v11_5 = /* 'GnRd' */ 0x476E5264, // Red lift parameter to apply after log and gain - bmdDeckLinkFrameMetadataCintelLiftGreen_v11_5 = /* 'GnGr' */ 0x476E4772, // Green lift parameter to apply after log and gain - bmdDeckLinkFrameMetadataCintelLiftBlue_v11_5 = /* 'GnBl' */ 0x476E426C, // Blue lift parameter to apply after log and gain - bmdDeckLinkFrameMetadataCintelHDRGainRed_v11_5 = /* 'HGRd' */ 0x48475264, // Red gain parameter to apply to linear data for HDR Combination - bmdDeckLinkFrameMetadataCintelHDRGainGreen_v11_5 = /* 'HGGr' */ 0x48474772, // Green gain parameter to apply to linear data for HDR Combination - bmdDeckLinkFrameMetadataCintelHDRGainBlue_v11_5 = /* 'HGBl' */ 0x4847426C, // Blue gain parameter to apply to linear data for HDR Combination - bmdDeckLinkFrameMetadataCintel16mmCropRequired_v11_5 = /* 'c16c' */ 0x63313663, // The image should be cropped to 16mm size - bmdDeckLinkFrameMetadataCintelInversionRequired_v11_5 = /* 'cinv' */ 0x63696E76, // The image should be colour inverted - bmdDeckLinkFrameMetadataCintelFlipRequired_v11_5 = /* 'cflr' */ 0x63666C72, // The image should be flipped horizontally - bmdDeckLinkFrameMetadataCintelFocusAssistEnabled_v11_5 = /* 'cfae' */ 0x63666165, // Focus Assist is currently enabled - bmdDeckLinkFrameMetadataCintelKeykodeIsInterpolated_v11_5 = /* 'kkii' */ 0x6B6B6969 // The keykode for this frame is interpolated from nearby keykodes -}; - -/* Interface IDeckLinkVideoFrameMetadataExtensions - Optional interface implemented on IDeckLinkVideoFrame to support frame metadata such as HDMI HDR information */ - -class BMD_PUBLIC IDeckLinkVideoFrameMetadataExtensions_v11_5 : public IUnknown -{ -public: - virtual HRESULT GetInt (/* in */ BMDDeckLinkFrameMetadataID_v11_5 metadataID, /* out */ int64_t *value) = 0; - virtual HRESULT GetFloat (/* in */ BMDDeckLinkFrameMetadataID_v11_5 metadataID, /* out */ double *value) = 0; - virtual HRESULT GetFlag (/* in */ BMDDeckLinkFrameMetadataID_v11_5 metadataID, /* out */ bool* value) = 0; - virtual HRESULT GetString (/* in */ BMDDeckLinkFrameMetadataID_v11_5 metadataID, /* out */ const char **value) = 0; - -protected: - virtual ~IDeckLinkVideoFrameMetadataExtensions_v11_5 () {} // call Release method to drop reference count -}; - -#endif /* defined(BMD_DECKLINKAPI_v11_5_H) */ diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPI_v11_5_1.h b/ext-deps/DeckLink/Linux/DeckLinkAPI_v11_5_1.h deleted file mode 100644 index 35d347716b..0000000000 --- a/ext-deps/DeckLink/Linux/DeckLinkAPI_v11_5_1.h +++ /dev/null @@ -1,44 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2020 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPI_v11_5_1_H -#define BMD_DECKLINKAPI_v11_5_1_H - -#include "DeckLinkAPI.h" - -/* Enum BMDDeckLinkStatusID - DeckLink Status ID */ - -typedef uint32_t BMDDeckLinkStatusID_v11_5_1; -enum _BMDDeckLinkStatusID_v11_5_1 { - - /* Video output flags */ - - bmdDeckLinkStatusDetectedVideoInputFlags_v11_5_1 = /* 'dvif' */ 0x64766966, - -}; - -#endif /* defined(BMD_DECKLINKAPI_v11_5_1_H) */ diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPI_v7_1.h b/ext-deps/DeckLink/Linux/DeckLinkAPI_v7_1.h deleted file mode 100644 index beb3a32c17..0000000000 --- a/ext-deps/DeckLink/Linux/DeckLinkAPI_v7_1.h +++ /dev/null @@ -1,199 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2009 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ -/* DeckLinkAPI_v7_1.h */ - -#ifndef __DeckLink_API_v7_1_h__ -#define __DeckLink_API_v7_1_h__ - -#include "DeckLinkAPI.h" -#include "DeckLinkAPI_v10_11.h" - -// "B28131B6-59AC-4857-B5AC-CD75D5883E2F" -#define IID_IDeckLinkDisplayModeIterator_v7_1 (REFIID){0xB2,0x81,0x31,0xB6,0x59,0xAC,0x48,0x57,0xB5,0xAC,0xCD,0x75,0xD5,0x88,0x3E,0x2F} - -// "AF0CD6D5-8376-435E-8433-54F9DD530AC3" -#define IID_IDeckLinkDisplayMode_v7_1 (REFIID){0xAF,0x0C,0xD6,0xD5,0x83,0x76,0x43,0x5E,0x84,0x33,0x54,0xF9,0xDD,0x53,0x0A,0xC3} - -// "EBD01AFA-E4B0-49C6-A01D-EDB9D1B55FD9" -#define IID_IDeckLinkVideoOutputCallback_v7_1 (REFIID){0xEB,0xD0,0x1A,0xFA,0xE4,0xB0,0x49,0xC6,0xA0,0x1D,0xED,0xB9,0xD1,0xB5,0x5F,0xD9} - -// "7F94F328-5ED4-4E9F-9729-76A86BDC99CC" -#define IID_IDeckLinkInputCallback_v7_1 (REFIID){0x7F,0x94,0xF3,0x28,0x5E,0xD4,0x4E,0x9F,0x97,0x29,0x76,0xA8,0x6B,0xDC,0x99,0xCC} - -// "AE5B3E9B-4E1E-4535-B6E8-480FF52F6CE5" -#define IID_IDeckLinkOutput_v7_1 (REFIID){0xAE,0x5B,0x3E,0x9B,0x4E,0x1E,0x45,0x35,0xB6,0xE8,0x48,0x0F,0xF5,0x2F,0x6C,0xE5} - -// "2B54EDEF-5B32-429F-BA11-BB990596EACD" -#define IID_IDeckLinkInput_v7_1 (REFIID){0x2B,0x54,0xED,0xEF,0x5B,0x32,0x42,0x9F,0xBA,0x11,0xBB,0x99,0x05,0x96,0xEA,0xCD} - -// "333F3A10-8C2D-43CF-B79D-46560FEEA1CE" -#define IID_IDeckLinkVideoFrame_v7_1 (REFIID){0x33,0x3F,0x3A,0x10,0x8C,0x2D,0x43,0xCF,0xB7,0x9D,0x46,0x56,0x0F,0xEE,0xA1,0xCE} - -// "C8B41D95-8848-40EE-9B37-6E3417FB114B" -#define IID_IDeckLinkVideoInputFrame_v7_1 (REFIID){0xC8,0xB4,0x1D,0x95,0x88,0x48,0x40,0xEE,0x9B,0x37,0x6E,0x34,0x17,0xFB,0x11,0x4B} - -// "C86DE4F6-A29F-42E3-AB3A-1363E29F0788" -#define IID_IDeckLinkAudioInputPacket_v7_1 (REFIID){0xC8,0x6D,0xE4,0xF6,0xA2,0x9F,0x42,0xE3,0xAB,0x3A,0x13,0x63,0xE2,0x9F,0x07,0x88} - -#if defined(__cplusplus) - -class IDeckLinkDisplayModeIterator_v7_1; -class IDeckLinkDisplayMode_v7_1; -class IDeckLinkVideoFrame_v7_1; -class IDeckLinkVideoInputFrame_v7_1; -class IDeckLinkAudioInputPacket_v7_1; - -class BMD_PUBLIC IDeckLinkDisplayModeIterator_v7_1 : public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE Next (IDeckLinkDisplayMode_v7_1* *deckLinkDisplayMode) = 0; -}; - - -class BMD_PUBLIC IDeckLinkDisplayMode_v7_1 : public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE GetName (const char **name) = 0; - virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode () = 0; - virtual long STDMETHODCALLTYPE GetWidth () = 0; - virtual long STDMETHODCALLTYPE GetHeight () = 0; - virtual HRESULT STDMETHODCALLTYPE GetFrameRate (BMDTimeValue *frameDuration, BMDTimeScale *timeScale) = 0; -}; - -class BMD_PUBLIC IDeckLinkVideoOutputCallback_v7_1 : public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted (IDeckLinkVideoFrame_v7_1* completedFrame, BMDOutputFrameCompletionResult result) = 0; -}; - -class BMD_PUBLIC IDeckLinkInputCallback_v7_1 : public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived (IDeckLinkVideoInputFrame_v7_1* videoFrame, IDeckLinkAudioInputPacket_v7_1* audioPacket) = 0; -}; - -// IDeckLinkOutput_v7_1. Created by QueryInterface from IDeckLink. -class BMD_PUBLIC IDeckLinkOutput_v7_1 : public IUnknown -{ -public: - // Display mode predicates - virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, BMDDisplayModeSupport_v10_11 *result) = 0; - virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator (IDeckLinkDisplayModeIterator_v7_1* *iterator) = 0; - - - // Video output - virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput (BMDDisplayMode displayMode) = 0; - virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput () = 0; - - virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator (IDeckLinkMemoryAllocator* theAllocator) = 0; - virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame (int32_t width, int32_t height, int32_t rowBytes, BMDPixelFormat pixelFormat, BMDFrameFlags flags, IDeckLinkVideoFrame_v7_1* *outFrame) = 0; - virtual HRESULT STDMETHODCALLTYPE CreateVideoFrameFromBuffer (void* buffer, int32_t width, int32_t height, int32_t rowBytes, BMDPixelFormat pixelFormat, BMDFrameFlags flags, IDeckLinkVideoFrame_v7_1* *outFrame) = 0; - - virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync (IDeckLinkVideoFrame_v7_1* theFrame) = 0; - virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame (IDeckLinkVideoFrame_v7_1* theFrame, BMDTimeValue displayTime, BMDTimeValue displayDuration, BMDTimeScale timeScale) = 0; - virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback (IDeckLinkVideoOutputCallback_v7_1* theCallback) = 0; - - - // Audio output - virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput (BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, uint32_t channelCount) = 0; - virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput () = 0; - - virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync (void* buffer, uint32_t sampleFrameCount, uint32_t *sampleFramesWritten) = 0; - - virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll () = 0; - virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll () = 0; - virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples (void* buffer, uint32_t sampleFrameCount, BMDTimeValue streamTime, BMDTimeScale timeScale, uint32_t *sampleFramesWritten) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount (uint32_t *bufferedSampleCount) = 0; - virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples () = 0; - - virtual HRESULT STDMETHODCALLTYPE SetAudioCallback (IDeckLinkAudioOutputCallback* theCallback) = 0; - - - // Output control - virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback (BMDTimeValue playbackStartTime, BMDTimeScale timeScale, double playbackSpeed) = 0; - virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback (BMDTimeValue stopPlaybackAtTime, BMDTimeValue *actualStopTime, BMDTimeScale timeScale) = 0; - virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock (BMDTimeScale desiredTimeScale, BMDTimeValue *elapsedTimeSinceSchedulerBegan) = 0; -}; - -// IDeckLinkInput_v7_1. Created by QueryInterface from IDeckLink. -class BMD_PUBLIC IDeckLinkInput_v7_1 : public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, BMDDisplayModeSupport_v10_11 *result) = 0; - virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator (IDeckLinkDisplayModeIterator_v7_1 **iterator) = 0; - - // Video input - virtual HRESULT STDMETHODCALLTYPE EnableVideoInput (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, BMDVideoInputFlags flags) = 0; - virtual HRESULT STDMETHODCALLTYPE DisableVideoInput () = 0; - - // Audio input - virtual HRESULT STDMETHODCALLTYPE EnableAudioInput (BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, uint32_t channelCount) = 0; - virtual HRESULT STDMETHODCALLTYPE DisableAudioInput () = 0; - virtual HRESULT STDMETHODCALLTYPE ReadAudioSamples (void* buffer, uint32_t sampleFrameCount, uint32_t *sampleFramesRead, BMDTimeValue *audioPacketTime, BMDTimeScale timeScale) = 0; - virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount (uint32_t *bufferedSampleCount) = 0; - - - virtual HRESULT STDMETHODCALLTYPE StartStreams () = 0; - virtual HRESULT STDMETHODCALLTYPE StopStreams () = 0; - virtual HRESULT STDMETHODCALLTYPE PauseStreams () = 0; - virtual HRESULT STDMETHODCALLTYPE SetCallback (IDeckLinkInputCallback_v7_1* theCallback) = 0; -}; - -// IDeckLinkVideoFrame_v7_1. Created by IDeckLinkOutput::CreateVideoFrame. -class BMD_PUBLIC IDeckLinkVideoFrame_v7_1 : public IUnknown -{ -public: - virtual long STDMETHODCALLTYPE GetWidth () = 0; - virtual long STDMETHODCALLTYPE GetHeight () = 0; - virtual long STDMETHODCALLTYPE GetRowBytes () = 0; - virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat () = 0; - virtual BMDFrameFlags STDMETHODCALLTYPE GetFlags () = 0; - virtual HRESULT STDMETHODCALLTYPE GetBytes (void* *buffer) = 0; -}; - -// IDeckLinkVideoInputFrame_v7_1. Provided by the IDeckLinkInput_v7_1 frame arrival callback. -class BMD_PUBLIC IDeckLinkVideoInputFrame_v7_1 : public IDeckLinkVideoFrame_v7_1 -{ -public: - virtual HRESULT STDMETHODCALLTYPE GetFrameTime (BMDTimeValue *frameTime, BMDTimeValue *frameDuration, BMDTimeScale timeScale) = 0; -}; - -// IDeckLinkAudioInputPacket_v7_1. Provided by the IDeckLinkInput_v7_1 callback. -class BMD_PUBLIC IDeckLinkAudioInputPacket_v7_1 : public IUnknown -{ -public: - virtual long STDMETHODCALLTYPE GetSampleCount () = 0; - virtual HRESULT STDMETHODCALLTYPE GetBytes (void* *buffer) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAudioPacketTime (BMDTimeValue *packetTime, BMDTimeScale timeScale) = 0; -}; - -#endif // defined(__cplusplus) - -#endif // __DeckLink_API_v7_1_h__ - diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPI_v7_3.h b/ext-deps/DeckLink/Linux/DeckLinkAPI_v7_3.h deleted file mode 100644 index fed1b5fd41..0000000000 --- a/ext-deps/DeckLink/Linux/DeckLinkAPI_v7_3.h +++ /dev/null @@ -1,174 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2009 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -/* DeckLinkAPI_v7_3.h */ - -#ifndef __DeckLink_API_v7_3_h__ -#define __DeckLink_API_v7_3_h__ - -#include "DeckLinkAPI.h" -#include "DeckLinkAPI_v7_6.h" -#include "DeckLinkAPI_v10_11.h" - -/* Interface ID Declarations */ - -#define IID_IDeckLinkInputCallback_v7_3 /* FD6F311D-4D00-444B-9ED4-1F25B5730AD0 */ (REFIID){0xFD,0x6F,0x31,0x1D,0x4D,0x00,0x44,0x4B,0x9E,0xD4,0x1F,0x25,0xB5,0x73,0x0A,0xD0} -#define IID_IDeckLinkOutput_v7_3 /* 271C65E3-C323-4344-A30F-D908BCB20AA3 */ (REFIID){0x27,0x1C,0x65,0xE3,0xC3,0x23,0x43,0x44,0xA3,0x0F,0xD9,0x08,0xBC,0xB2,0x0A,0xA3} -#define IID_IDeckLinkInput_v7_3 /* 4973F012-9925-458C-871C-18774CDBBECB */ (REFIID){0x49,0x73,0xF0,0x12,0x99,0x25,0x45,0x8C,0x87,0x1C,0x18,0x77,0x4C,0xDB,0xBE,0xCB} -#define IID_IDeckLinkVideoInputFrame_v7_3 /* CF317790-2894-11DE-8C30-0800200C9A66 */ (REFIID){0xCF,0x31,0x77,0x90,0x28,0x94,0x11,0xDE,0x8C,0x30,0x08,0x00,0x20,0x0C,0x9A,0x66} - -/* End Interface ID Declarations */ - -#if defined(__cplusplus) - -/* Forward Declarations */ - -class IDeckLinkVideoInputFrame_v7_3; - -/* End Forward Declarations */ - - -/* Interface IDeckLinkOutput - Created by QueryInterface from IDeckLink. */ - -class BMD_PUBLIC IDeckLinkOutput_v7_3 : public IUnknown -{ -public: - virtual HRESULT DoesSupportVideoMode (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, /* out */ BMDDisplayModeSupport_v10_11 *result) = 0; - virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0; - - virtual HRESULT SetScreenPreviewCallback (/* in */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; - - /* Video Output */ - - virtual HRESULT EnableVideoOutput (BMDDisplayMode displayMode, BMDVideoOutputFlags flags) = 0; - virtual HRESULT DisableVideoOutput (void) = 0; - - virtual HRESULT SetVideoOutputFrameMemoryAllocator (/* in */ IDeckLinkMemoryAllocator *theAllocator) = 0; - virtual HRESULT CreateVideoFrame (int32_t width, int32_t height, int32_t rowBytes, BMDPixelFormat pixelFormat, BMDFrameFlags flags, /* out */ IDeckLinkMutableVideoFrame_v7_6 **outFrame) = 0; - virtual HRESULT CreateAncillaryData (BMDPixelFormat pixelFormat, /* out */ IDeckLinkVideoFrameAncillary **outBuffer) = 0; - - virtual HRESULT DisplayVideoFrameSync (/* in */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0; - virtual HRESULT ScheduleVideoFrame (/* in */ IDeckLinkVideoFrame_v7_6 *theFrame, BMDTimeValue displayTime, BMDTimeValue displayDuration, BMDTimeScale timeScale) = 0; - virtual HRESULT SetScheduledFrameCompletionCallback (/* in */ IDeckLinkVideoOutputCallback *theCallback) = 0; - virtual HRESULT GetBufferedVideoFrameCount (/* out */ uint32_t *bufferedFrameCount) = 0; - - /* Audio Output */ - - virtual HRESULT EnableAudioOutput (BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, uint32_t channelCount, BMDAudioOutputStreamType streamType) = 0; - virtual HRESULT DisableAudioOutput (void) = 0; - - virtual HRESULT WriteAudioSamplesSync (/* in */ void *buffer, uint32_t sampleFrameCount, /* out */ uint32_t *sampleFramesWritten) = 0; - - virtual HRESULT BeginAudioPreroll (void) = 0; - virtual HRESULT EndAudioPreroll (void) = 0; - virtual HRESULT ScheduleAudioSamples (/* in */ void *buffer, uint32_t sampleFrameCount, BMDTimeValue streamTime, BMDTimeScale timeScale, /* out */ uint32_t *sampleFramesWritten) = 0; - - virtual HRESULT GetBufferedAudioSampleFrameCount (/* out */ uint32_t *bufferedSampleFrameCount) = 0; - virtual HRESULT FlushBufferedAudioSamples (void) = 0; - - virtual HRESULT SetAudioCallback (/* in */ IDeckLinkAudioOutputCallback *theCallback) = 0; - - /* Output Control */ - - virtual HRESULT StartScheduledPlayback (BMDTimeValue playbackStartTime, BMDTimeScale timeScale, double playbackSpeed) = 0; - virtual HRESULT StopScheduledPlayback (BMDTimeValue stopPlaybackAtTime, /* out */ BMDTimeValue *actualStopTime, BMDTimeScale timeScale) = 0; - virtual HRESULT IsScheduledPlaybackRunning (/* out */ bool *active) = 0; - virtual HRESULT GetHardwareReferenceClock (BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *elapsedTimeSinceSchedulerBegan) = 0; - -protected: - virtual ~IDeckLinkOutput_v7_3 () {}; // call Release method to drop reference count -}; - -/* End Interface IDeckLinkOutput */ - - -/* Interface IDeckLinkInputCallback - Frame arrival callback. */ - -class BMD_PUBLIC IDeckLinkInputCallback_v7_3 : public IUnknown -{ -public: - virtual HRESULT VideoInputFormatChanged (/* in */ BMDVideoInputFormatChangedEvents notificationEvents, /* in */ IDeckLinkDisplayMode_v7_6 *newDisplayMode, /* in */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0; - virtual HRESULT VideoInputFrameArrived (/* in */ IDeckLinkVideoInputFrame_v7_3 *videoFrame, /* in */ IDeckLinkAudioInputPacket *audioPacket) = 0; - -protected: - virtual ~IDeckLinkInputCallback_v7_3 () {}; // call Release method to drop reference count -}; - -/* End Interface IDeckLinkInputCallback */ - - -/* Interface IDeckLinkInput - Created by QueryInterface from IDeckLink. */ - -class BMD_PUBLIC IDeckLinkInput_v7_3 : public IUnknown -{ -public: - virtual HRESULT DoesSupportVideoMode (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, /* out */ BMDDisplayModeSupport_v10_11 *result) = 0; - virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0; - - virtual HRESULT SetScreenPreviewCallback (/* in */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; - - /* Video Input */ - - virtual HRESULT EnableVideoInput (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, BMDVideoInputFlags flags) = 0; - virtual HRESULT DisableVideoInput (void) = 0; - virtual HRESULT GetAvailableVideoFrameCount (/* out */ uint32_t *availableFrameCount) = 0; - - /* Audio Input */ - - virtual HRESULT EnableAudioInput (BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, uint32_t channelCount) = 0; - virtual HRESULT DisableAudioInput (void) = 0; - virtual HRESULT GetAvailableAudioSampleFrameCount (/* out */ uint32_t *availableSampleFrameCount) = 0; - - /* Input Control */ - - virtual HRESULT StartStreams (void) = 0; - virtual HRESULT StopStreams (void) = 0; - virtual HRESULT PauseStreams (void) = 0; - virtual HRESULT FlushStreams (void) = 0; - virtual HRESULT SetCallback (/* in */ IDeckLinkInputCallback_v7_3 *theCallback) = 0; - -protected: - virtual ~IDeckLinkInput_v7_3 () {}; // call Release method to drop reference count -}; - -/* End Interface IDeckLinkInput */ - -/* Interface IDeckLinkVideoInputFrame - Provided by the IDeckLinkVideoInput frame arrival callback. */ - -class BMD_PUBLIC IDeckLinkVideoInputFrame_v7_3 : public IDeckLinkVideoFrame_v7_6 -{ -public: - virtual HRESULT GetStreamTime (/* out */ BMDTimeValue *frameTime, /* out */ BMDTimeValue *frameDuration, BMDTimeScale timeScale) = 0; - -protected: - virtual ~IDeckLinkVideoInputFrame_v7_3 () {}; // call Release method to drop reference count -}; - -/* End Interface IDeckLinkVideoInputFrame */ - -#endif // defined(__cplusplus) -#endif // __DeckLink_API_v7_3_h__ diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPI_v7_6.h b/ext-deps/DeckLink/Linux/DeckLinkAPI_v7_6.h deleted file mode 100644 index 547ba99720..0000000000 --- a/ext-deps/DeckLink/Linux/DeckLinkAPI_v7_6.h +++ /dev/null @@ -1,405 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2009 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -/* DeckLinkAPI_v7_6.h */ - -#ifndef __DeckLink_API_v7_6_h__ -#define __DeckLink_API_v7_6_h__ - -#include "DeckLinkAPI.h" -#include "DeckLinkAPI_v10_11.h" - -// Interface ID Declarations - -#define IID_IDeckLinkVideoOutputCallback_v7_6 /* E763A626-4A3C-49D1-BF13-E7AD3692AE52 */ (REFIID){0xE7,0x63,0xA6,0x26,0x4A,0x3C,0x49,0xD1,0xBF,0x13,0xE7,0xAD,0x36,0x92,0xAE,0x52} -#define IID_IDeckLinkInputCallback_v7_6 /* 31D28EE7-88B6-4CB1-897A-CDBF79A26414 */ (REFIID){0x31,0xD2,0x8E,0xE7,0x88,0xB6,0x4C,0xB1,0x89,0x7A,0xCD,0xBF,0x79,0xA2,0x64,0x14} -#define IID_IDeckLinkDisplayModeIterator_v7_6 /* 455D741F-1779-4800-86F5-0B5D13D79751 */ (REFIID){0x45,0x5D,0x74,0x1F,0x17,0x79,0x48,0x00,0x86,0xF5,0x0B,0x5D,0x13,0xD7,0x97,0x51} -#define IID_IDeckLinkDisplayMode_v7_6 /* 87451E84-2B7E-439E-A629-4393EA4A8550 */ (REFIID){0x87,0x45,0x1E,0x84,0x2B,0x7E,0x43,0x9E,0xA6,0x29,0x43,0x93,0xEA,0x4A,0x85,0x50} -#define IID_IDeckLinkOutput_v7_6 /* 29228142-EB8C-4141-A621-F74026450955 */ (REFIID){0x29,0x22,0x81,0x42,0xEB,0x8C,0x41,0x41,0xA6,0x21,0xF7,0x40,0x26,0x45,0x09,0x55} -#define IID_IDeckLinkInput_v7_6 /* 300C135A-9F43-48E2-9906-6D7911D93CF1 */ (REFIID){0x30,0x0C,0x13,0x5A,0x9F,0x43,0x48,0xE2,0x99,0x06,0x6D,0x79,0x11,0xD9,0x3C,0xF1} -#define IID_IDeckLinkTimecode_v7_6 /* EFB9BCA6-A521-44F7-BD69-2332F24D9EE6 */ (REFIID){0xEF,0xB9,0xBC,0xA6,0xA5,0x21,0x44,0xF7,0xBD,0x69,0x23,0x32,0xF2,0x4D,0x9E,0xE6} -#define IID_IDeckLinkVideoFrame_v7_6 /* A8D8238E-6B18-4196-99E1-5AF717B83D32 */ (REFIID){0xA8,0xD8,0x23,0x8E,0x6B,0x18,0x41,0x96,0x99,0xE1,0x5A,0xF7,0x17,0xB8,0x3D,0x32} -#define IID_IDeckLinkMutableVideoFrame_v7_6 /* 46FCEE00-B4E6-43D0-91C0-023A7FCEB34F */ (REFIID){0x46,0xFC,0xEE,0x00,0xB4,0xE6,0x43,0xD0,0x91,0xC0,0x02,0x3A,0x7F,0xCE,0xB3,0x4F} -#define IID_IDeckLinkVideoInputFrame_v7_6 /* 9A74FA41-AE9F-47AC-8CF4-01F42DD59965 */ (REFIID){0x9A,0x74,0xFA,0x41,0xAE,0x9F,0x47,0xAC,0x8C,0xF4,0x01,0xF4,0x2D,0xD5,0x99,0x65} -#define IID_IDeckLinkScreenPreviewCallback_v7_6 /* 373F499D-4B4D-4518-AD22-6354E5A5825E */ (REFIID){0x37,0x3F,0x49,0x9D,0x4B,0x4D,0x45,0x18,0xAD,0x22,0x63,0x54,0xE5,0xA5,0x82,0x5E} -#define IID_IDeckLinkGLScreenPreviewHelper_v7_6 /* BA575CD9-A15E-497B-B2C2-F9AFE7BE4EBA */ (REFIID){0xBA,0x57,0x5C,0xD9,0xA1,0x5E,0x49,0x7B,0xB2,0xC2,0xF9,0xAF,0xE7,0xBE,0x4E,0xBA} -#define IID_IDeckLinkVideoConversion_v7_6 /* 3EB504C9-F97D-40FE-A158-D407D48CB53B */ (REFIID){0x3E,0xB5,0x04,0xC9,0xF9,0x7D,0x40,0xFE,0xA1,0x58,0xD4,0x07,0xD4,0x8C,0xB5,0x3B} -#define IID_IDeckLinkConfiguration_v7_6 /* B8EAD569-B764-47F0-A73F-AE40DF6CBF10 */ (REFIID){0xB8,0xEA,0xD5,0x69,0xB7,0x64,0x47,0xF0,0xA7,0x3F,0xAE,0x40,0xDF,0x6C,0xBF,0x10} - - -#if defined(__cplusplus) - -/* Enum BMDVideoConnection - Video connection types */ - -typedef uint32_t BMDVideoConnection_v7_6; -enum _BMDVideoConnection_v7_6 { - bmdVideoConnectionSDI_v7_6 = 'sdi ', - bmdVideoConnectionHDMI_v7_6 = 'hdmi', - bmdVideoConnectionOpticalSDI_v7_6 = 'opti', - bmdVideoConnectionComponent_v7_6 = 'cpnt', - bmdVideoConnectionComposite_v7_6 = 'cmst', - bmdVideoConnectionSVideo_v7_6 = 'svid' -}; - -// Forward Declarations - -class IDeckLinkVideoOutputCallback_v7_6; -class IDeckLinkInputCallback_v7_6; -class IDeckLinkDisplayModeIterator_v7_6; -class IDeckLinkDisplayMode_v7_6; -class IDeckLinkOutput_v7_6; -class IDeckLinkInput_v7_6; -class IDeckLinkTimecode_v7_6; -class IDeckLinkVideoFrame_v7_6; -class IDeckLinkMutableVideoFrame_v7_6; -class IDeckLinkVideoInputFrame_v7_6; -class IDeckLinkScreenPreviewCallback_v7_6; -class IDeckLinkGLScreenPreviewHelper_v7_6; -class IDeckLinkVideoConversion_v7_6; - - -/* Interface IDeckLinkVideoOutputCallback - Frame completion callback. */ - -class BMD_PUBLIC IDeckLinkVideoOutputCallback_v7_6 : public IUnknown -{ -public: - virtual HRESULT ScheduledFrameCompleted (/* in */ IDeckLinkVideoFrame_v7_6 *completedFrame, /* in */ BMDOutputFrameCompletionResult result) = 0; - virtual HRESULT ScheduledPlaybackHasStopped (void) = 0; - -protected: - virtual ~IDeckLinkVideoOutputCallback_v7_6 () {}; // call Release method to drop reference count -}; - - -/* Interface IDeckLinkInputCallback - Frame arrival callback. */ - -class BMD_PUBLIC IDeckLinkInputCallback_v7_6 : public IUnknown -{ -public: - virtual HRESULT VideoInputFormatChanged (/* in */ BMDVideoInputFormatChangedEvents notificationEvents, /* in */ IDeckLinkDisplayMode_v7_6 *newDisplayMode, /* in */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0; - virtual HRESULT VideoInputFrameArrived (/* in */ IDeckLinkVideoInputFrame_v7_6* videoFrame, /* in */ IDeckLinkAudioInputPacket* audioPacket) = 0; - -protected: - virtual ~IDeckLinkInputCallback_v7_6 () {}; // call Release method to drop reference count -}; - - -/* Interface IDeckLinkDisplayModeIterator - enumerates over supported input/output display modes. */ - -class BMD_PUBLIC IDeckLinkDisplayModeIterator_v7_6 : public IUnknown -{ -public: - virtual HRESULT Next (/* out */ IDeckLinkDisplayMode_v7_6 **deckLinkDisplayMode) = 0; - -protected: - virtual ~IDeckLinkDisplayModeIterator_v7_6 () {}; // call Release method to drop reference count -}; - - -/* Interface IDeckLinkDisplayMode - represents a display mode */ - -class BMD_PUBLIC IDeckLinkDisplayMode_v7_6 : public IUnknown -{ -public: - virtual HRESULT GetName (/* out */ const char **name) = 0; - virtual BMDDisplayMode GetDisplayMode (void) = 0; - virtual long GetWidth (void) = 0; - virtual long GetHeight (void) = 0; - virtual HRESULT GetFrameRate (/* out */ BMDTimeValue *frameDuration, /* out */ BMDTimeScale *timeScale) = 0; - virtual BMDFieldDominance GetFieldDominance (void) = 0; - -protected: - virtual ~IDeckLinkDisplayMode_v7_6 () {}; // call Release method to drop reference count -}; - - -/* Interface IDeckLinkOutput - Created by QueryInterface from IDeckLink. */ - -class BMD_PUBLIC IDeckLinkOutput_v7_6 : public IUnknown -{ -public: - virtual HRESULT DoesSupportVideoMode (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* out */ BMDDisplayModeSupport_v10_11 *result) = 0; - virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0; - - virtual HRESULT SetScreenPreviewCallback (/* in */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback) = 0; - - /* Video Output */ - - virtual HRESULT EnableVideoOutput (/* in */ BMDDisplayMode displayMode, /* in */ BMDVideoOutputFlags flags) = 0; - virtual HRESULT DisableVideoOutput (void) = 0; - - virtual HRESULT SetVideoOutputFrameMemoryAllocator (/* in */ IDeckLinkMemoryAllocator *theAllocator) = 0; - virtual HRESULT CreateVideoFrame (/* in */ int32_t width, /* in */ int32_t height, /* in */ int32_t rowBytes, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDFrameFlags flags, /* out */ IDeckLinkMutableVideoFrame_v7_6 **outFrame) = 0; - virtual HRESULT CreateAncillaryData (/* in */ BMDPixelFormat pixelFormat, /* out */ IDeckLinkVideoFrameAncillary **outBuffer) = 0; - - virtual HRESULT DisplayVideoFrameSync (/* in */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0; - virtual HRESULT ScheduleVideoFrame (/* in */ IDeckLinkVideoFrame_v7_6 *theFrame, /* in */ BMDTimeValue displayTime, /* in */ BMDTimeValue displayDuration, /* in */ BMDTimeScale timeScale) = 0; - virtual HRESULT SetScheduledFrameCompletionCallback (/* in */ IDeckLinkVideoOutputCallback_v7_6 *theCallback) = 0; - virtual HRESULT GetBufferedVideoFrameCount (/* out */ uint32_t *bufferedFrameCount) = 0; - - /* Audio Output */ - - virtual HRESULT EnableAudioOutput (/* in */ BMDAudioSampleRate sampleRate, /* in */ BMDAudioSampleType sampleType, /* in */ uint32_t channelCount, /* in */ BMDAudioOutputStreamType streamType) = 0; - virtual HRESULT DisableAudioOutput (void) = 0; - - virtual HRESULT WriteAudioSamplesSync (/* in */ void *buffer, /* in */ uint32_t sampleFrameCount, /* out */ uint32_t *sampleFramesWritten) = 0; - - virtual HRESULT BeginAudioPreroll (void) = 0; - virtual HRESULT EndAudioPreroll (void) = 0; - virtual HRESULT ScheduleAudioSamples (/* in */ void *buffer, /* in */ uint32_t sampleFrameCount, /* in */ BMDTimeValue streamTime, /* in */ BMDTimeScale timeScale, /* out */ uint32_t *sampleFramesWritten) = 0; - - virtual HRESULT GetBufferedAudioSampleFrameCount (/* out */ uint32_t *bufferedSampleFrameCount) = 0; - virtual HRESULT FlushBufferedAudioSamples (void) = 0; - - virtual HRESULT SetAudioCallback (/* in */ IDeckLinkAudioOutputCallback *theCallback) = 0; - - /* Output Control */ - - virtual HRESULT StartScheduledPlayback (/* in */ BMDTimeValue playbackStartTime, /* in */ BMDTimeScale timeScale, /* in */ double playbackSpeed) = 0; - virtual HRESULT StopScheduledPlayback (/* in */ BMDTimeValue stopPlaybackAtTime, /* out */ BMDTimeValue *actualStopTime, /* in */ BMDTimeScale timeScale) = 0; - virtual HRESULT IsScheduledPlaybackRunning (/* out */ bool *active) = 0; - virtual HRESULT GetScheduledStreamTime (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *streamTime, /* out */ double *playbackSpeed) = 0; - - /* Hardware Timing */ - - virtual HRESULT GetHardwareReferenceClock (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *hardwareTime, /* out */ BMDTimeValue *timeInFrame, /* out */ BMDTimeValue *ticksPerFrame) = 0; - -protected: - virtual ~IDeckLinkOutput_v7_6 () {}; // call Release method to drop reference count -}; - - -/* Interface IDeckLinkInput_v7_6 - Created by QueryInterface from IDeckLink. */ - -class BMD_PUBLIC IDeckLinkInput_v7_6 : public IUnknown -{ -public: - virtual HRESULT DoesSupportVideoMode (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* out */ BMDDisplayModeSupport_v10_11 *result) = 0; - virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0; - - virtual HRESULT SetScreenPreviewCallback (/* in */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback) = 0; - - /* Video Input */ - - virtual HRESULT EnableVideoInput (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDVideoInputFlags flags) = 0; - virtual HRESULT DisableVideoInput (void) = 0; - virtual HRESULT GetAvailableVideoFrameCount (/* out */ uint32_t *availableFrameCount) = 0; - - /* Audio Input */ - - virtual HRESULT EnableAudioInput (/* in */ BMDAudioSampleRate sampleRate, /* in */ BMDAudioSampleType sampleType, /* in */ uint32_t channelCount) = 0; - virtual HRESULT DisableAudioInput (void) = 0; - virtual HRESULT GetAvailableAudioSampleFrameCount (/* out */ uint32_t *availableSampleFrameCount) = 0; - - /* Input Control */ - - virtual HRESULT StartStreams (void) = 0; - virtual HRESULT StopStreams (void) = 0; - virtual HRESULT PauseStreams (void) = 0; - virtual HRESULT FlushStreams (void) = 0; - virtual HRESULT SetCallback (/* in */ IDeckLinkInputCallback_v7_6 *theCallback) = 0; - - /* Hardware Timing */ - - virtual HRESULT GetHardwareReferenceClock (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *hardwareTime, /* out */ BMDTimeValue *timeInFrame, /* out */ BMDTimeValue *ticksPerFrame) = 0; - -protected: - virtual ~IDeckLinkInput_v7_6 () {}; // call Release method to drop reference count -}; - - -/* Interface IDeckLinkTimecode - Used for video frame timecode representation. */ - -class BMD_PUBLIC IDeckLinkTimecode_v7_6 : public IUnknown -{ -public: - virtual BMDTimecodeBCD GetBCD (void) = 0; - virtual HRESULT GetComponents (/* out */ uint8_t *hours, /* out */ uint8_t *minutes, /* out */ uint8_t *seconds, /* out */ uint8_t *frames) = 0; - virtual HRESULT GetString (/* out */ const char **timecode) = 0; - virtual BMDTimecodeFlags GetFlags (void) = 0; - -protected: - virtual ~IDeckLinkTimecode_v7_6 () {}; // call Release method to drop reference count -}; - - -/* Interface IDeckLinkVideoFrame - Interface to encapsulate a video frame; can be caller-implemented. */ - -class BMD_PUBLIC IDeckLinkVideoFrame_v7_6 : public IUnknown -{ -public: - virtual long GetWidth (void) = 0; - virtual long GetHeight (void) = 0; - virtual long GetRowBytes (void) = 0; - virtual BMDPixelFormat GetPixelFormat (void) = 0; - virtual BMDFrameFlags GetFlags (void) = 0; - virtual HRESULT GetBytes (/* out */ void **buffer) = 0; - - virtual HRESULT GetTimecode (BMDTimecodeFormat format, /* out */ IDeckLinkTimecode_v7_6 **timecode) = 0; - virtual HRESULT GetAncillaryData (/* out */ IDeckLinkVideoFrameAncillary **ancillary) = 0; - -protected: - virtual ~IDeckLinkVideoFrame_v7_6 () {}; // call Release method to drop reference count -}; - - -/* Interface IDeckLinkMutableVideoFrame - Created by IDeckLinkOutput::CreateVideoFrame. */ - -class BMD_PUBLIC IDeckLinkMutableVideoFrame_v7_6 : public IDeckLinkVideoFrame_v7_6 -{ -public: - virtual HRESULT SetFlags (BMDFrameFlags newFlags) = 0; - - virtual HRESULT SetTimecode (BMDTimecodeFormat format, /* in */ IDeckLinkTimecode_v7_6 *timecode) = 0; - virtual HRESULT SetTimecodeFromComponents (BMDTimecodeFormat format, uint8_t hours, uint8_t minutes, uint8_t seconds, uint8_t frames, BMDTimecodeFlags flags) = 0; - virtual HRESULT SetAncillaryData (/* in */ IDeckLinkVideoFrameAncillary *ancillary) = 0; - -protected: - virtual ~IDeckLinkMutableVideoFrame_v7_6 () {}; // call Release method to drop reference count -}; - - -/* Interface IDeckLinkVideoInputFrame - Provided by the IDeckLinkVideoInput frame arrival callback. */ - -class BMD_PUBLIC IDeckLinkVideoInputFrame_v7_6 : public IDeckLinkVideoFrame_v7_6 -{ -public: - virtual HRESULT GetStreamTime (/* out */ BMDTimeValue *frameTime, /* out */ BMDTimeValue *frameDuration, BMDTimeScale timeScale) = 0; - virtual HRESULT GetHardwareReferenceTimestamp (BMDTimeScale timeScale, /* out */ BMDTimeValue *frameTime, /* out */ BMDTimeValue *frameDuration) = 0; - -protected: - virtual ~IDeckLinkVideoInputFrame_v7_6 () {}; // call Release method to drop reference count -}; - - -/* Interface IDeckLinkScreenPreviewCallback - Screen preview callback */ - -class BMD_PUBLIC IDeckLinkScreenPreviewCallback_v7_6 : public IUnknown -{ -public: - virtual HRESULT DrawFrame (/* in */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0; - -protected: - virtual ~IDeckLinkScreenPreviewCallback_v7_6 () {}; // call Release method to drop reference count -}; - - -/* Interface IDeckLinkGLScreenPreviewHelper - Created with CoCreateInstance(). */ - -class BMD_PUBLIC IDeckLinkGLScreenPreviewHelper_v7_6 : public IUnknown -{ -public: - - /* Methods must be called with OpenGL context set */ - - virtual HRESULT InitializeGL (void) = 0; - virtual HRESULT PaintGL (void) = 0; - virtual HRESULT SetFrame (/* in */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0; - -protected: - virtual ~IDeckLinkGLScreenPreviewHelper_v7_6 () {}; // call Release method to drop reference count -}; - - -/* Interface IDeckLinkVideoConversion - Created with CoCreateInstance(). */ - -class BMD_PUBLIC IDeckLinkVideoConversion_v7_6 : public IUnknown -{ -public: - virtual HRESULT ConvertFrame (/* in */ IDeckLinkVideoFrame_v7_6* srcFrame, /* in */ IDeckLinkVideoFrame_v7_6* dstFrame) = 0; - -protected: - virtual ~IDeckLinkVideoConversion_v7_6 () {}; // call Release method to drop reference count -}; - -/* Interface IDeckLinkConfiguration - Created by QueryInterface from IDeckLink. */ - -class BMD_PUBLIC IDeckLinkConfiguration_v7_6 : public IUnknown -{ -public: - virtual HRESULT GetConfigurationValidator (/* out */ IDeckLinkConfiguration_v7_6 **configObject) = 0; - virtual HRESULT WriteConfigurationToPreferences (void) = 0; - - /* Video Output Configuration */ - - virtual HRESULT SetVideoOutputFormat (/* in */ BMDVideoConnection_v7_6 videoOutputConnection) = 0; - virtual HRESULT IsVideoOutputActive (/* in */ BMDVideoConnection_v7_6 videoOutputConnection, /* out */ bool *active) = 0; - - virtual HRESULT SetAnalogVideoOutputFlags (/* in */ BMDAnalogVideoFlags analogVideoFlags) = 0; - virtual HRESULT GetAnalogVideoOutputFlags (/* out */ BMDAnalogVideoFlags *analogVideoFlags) = 0; - - virtual HRESULT EnableFieldFlickerRemovalWhenPaused (/* in */ bool enable) = 0; - virtual HRESULT IsEnabledFieldFlickerRemovalWhenPaused (/* out */ bool *enabled) = 0; - - virtual HRESULT Set444And3GBpsVideoOutput (/* in */ bool enable444VideoOutput, /* in */ bool enable3GbsOutput) = 0; - virtual HRESULT Get444And3GBpsVideoOutput (/* out */ bool *is444VideoOutputEnabled, /* out */ bool *threeGbsOutputEnabled) = 0; - - virtual HRESULT SetVideoOutputConversionMode (/* in */ BMDVideoOutputConversionMode conversionMode) = 0; - virtual HRESULT GetVideoOutputConversionMode (/* out */ BMDVideoOutputConversionMode *conversionMode) = 0; - - virtual HRESULT Set_HD1080p24_to_HD1080i5994_Conversion (/* in */ bool enable) = 0; - virtual HRESULT Get_HD1080p24_to_HD1080i5994_Conversion (/* out */ bool *enabled) = 0; - - /* Video Input Configuration */ - - virtual HRESULT SetVideoInputFormat (/* in */ BMDVideoConnection_v7_6 videoInputFormat) = 0; - virtual HRESULT GetVideoInputFormat (/* out */ BMDVideoConnection_v7_6 *videoInputFormat) = 0; - - virtual HRESULT SetAnalogVideoInputFlags (/* in */ BMDAnalogVideoFlags analogVideoFlags) = 0; - virtual HRESULT GetAnalogVideoInputFlags (/* out */ BMDAnalogVideoFlags *analogVideoFlags) = 0; - - virtual HRESULT SetVideoInputConversionMode (/* in */ BMDVideoInputConversionMode conversionMode) = 0; - virtual HRESULT GetVideoInputConversionMode (/* out */ BMDVideoInputConversionMode *conversionMode) = 0; - - virtual HRESULT SetBlackVideoOutputDuringCapture (/* in */ bool blackOutInCapture) = 0; - virtual HRESULT GetBlackVideoOutputDuringCapture (/* out */ bool *blackOutInCapture) = 0; - - virtual HRESULT Set32PulldownSequenceInitialTimecodeFrame (/* in */ uint32_t aFrameTimecode) = 0; - virtual HRESULT Get32PulldownSequenceInitialTimecodeFrame (/* out */ uint32_t *aFrameTimecode) = 0; - - virtual HRESULT SetVancSourceLineMapping (/* in */ uint32_t activeLine1VANCsource, /* in */ uint32_t activeLine2VANCsource, /* in */ uint32_t activeLine3VANCsource) = 0; - virtual HRESULT GetVancSourceLineMapping (/* out */ uint32_t *activeLine1VANCsource, /* out */ uint32_t *activeLine2VANCsource, /* out */ uint32_t *activeLine3VANCsource) = 0; - - /* Audio Input Configuration */ - - virtual HRESULT SetAudioInputFormat (/* in */ BMDAudioConnection audioInputFormat) = 0; - virtual HRESULT GetAudioInputFormat (/* out */ BMDAudioConnection *audioInputFormat) = 0; -}; - -/* Functions */ - -extern "C" { - - IDeckLinkIterator* BMD_PUBLIC CreateDeckLinkIteratorInstance_v7_6 (void); - IDeckLinkGLScreenPreviewHelper_v7_6* BMD_PUBLIC CreateOpenGLScreenPreviewHelper_v7_6 (void); - IDeckLinkVideoConversion_v7_6* BMD_PUBLIC CreateVideoConversionInstance_v7_6 (void); - -}; - - -#endif // defined(__cplusplus) -#endif // __DeckLink_API_v7_6_h__ diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPI_v7_9.h b/ext-deps/DeckLink/Linux/DeckLinkAPI_v7_9.h deleted file mode 100644 index c8e3faa28d..0000000000 --- a/ext-deps/DeckLink/Linux/DeckLinkAPI_v7_9.h +++ /dev/null @@ -1,88 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2010 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -/* DeckLinkAPI_v7_9.h */ - -#ifndef __DeckLink_API_v7_9_h__ -#define __DeckLink_API_v7_9_h__ - -#include "DeckLinkAPI.h" - -// Interface ID Declarations -#define IID_IDeckLinkDeckControl_v7_9 /* A4D81043-0619-42B7-8ED6-602D29041DF7 */ (REFIID){0xA4,0xD8,0x10,0x43,0x06,0x19,0x42,0xB7,0x8E,0xD6,0x60,0x2D,0x29,0x04,0x1D,0xF7} - -#if defined(__cplusplus) - - -// Forward Declarations -class IDeckLinkDeckControl_v7_9; - -/* Interface IDeckLinkDeckControl_v7_9 - Deck Control main interface */ -class BMD_PUBLIC IDeckLinkDeckControl_v7_9 : public IUnknown -{ -public: - virtual HRESULT Open (/* in */ BMDTimeScale timeScale, /* in */ BMDTimeValue timeValue, /* in */ bool timecodeIsDropFrame, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Close (/* in */ bool standbyOn) = 0; - virtual HRESULT GetCurrentState (/* out */ BMDDeckControlMode *mode, /* out */ BMDDeckControlVTRControlState *vtrControlState, /* out */ BMDDeckControlStatusFlags *flags) = 0; - virtual HRESULT SetStandby (/* in */ bool standbyOn) = 0; - virtual HRESULT Play (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Stop (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT TogglePlayStop (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Eject (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT GoToTimecode (/* in */ BMDTimecodeBCD timecode, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT FastForward (/* in */ bool viewTape, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Rewind (/* in */ bool viewTape, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT StepForward (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT StepBack (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Jog (/* in */ double rate, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Shuttle (/* in */ double rate, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT GetTimecodeString (/* out */ const char **currentTimeCode, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT GetTimecode (/* out */ IDeckLinkTimecode **currentTimecode, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT GetTimecodeBCD (/* out */ BMDTimecodeBCD *currentTimecode, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT SetPreroll (/* in */ uint32_t prerollSeconds) = 0; - virtual HRESULT GetPreroll (/* out */ uint32_t *prerollSeconds) = 0; - virtual HRESULT SetExportOffset (/* in */ int32_t exportOffsetFields) = 0; - virtual HRESULT GetExportOffset (/* out */ int32_t *exportOffsetFields) = 0; - virtual HRESULT GetManualExportOffset (/* out */ int32_t *deckManualExportOffsetFields) = 0; - virtual HRESULT SetCaptureOffset (/* in */ int32_t captureOffsetFields) = 0; - virtual HRESULT GetCaptureOffset (/* out */ int32_t *captureOffsetFields) = 0; - virtual HRESULT StartExport (/* in */ BMDTimecodeBCD inTimecode, /* in */ BMDTimecodeBCD outTimecode, /* in */ BMDDeckControlExportModeOpsFlags exportModeOps, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT StartCapture (/* in */ bool useVITC, /* in */ BMDTimecodeBCD inTimecode, /* in */ BMDTimecodeBCD outTimecode, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT GetDeviceID (/* out */ uint16_t *deviceId, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Abort (void) = 0; - virtual HRESULT CrashRecordStart (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT CrashRecordStop (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT SetCallback (/* in */ IDeckLinkDeckControlStatusCallback *callback) = 0; - -protected: - virtual ~IDeckLinkDeckControl_v7_9 () {}; // call Release method to drop reference count -}; - - - -#endif // defined(__cplusplus) -#endif // __DeckLink_API_v7_9_h__ diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPI_v8_0.h b/ext-deps/DeckLink/Linux/DeckLinkAPI_v8_0.h deleted file mode 100644 index 6cace7e100..0000000000 --- a/ext-deps/DeckLink/Linux/DeckLinkAPI_v8_0.h +++ /dev/null @@ -1,63 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2011 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPI_v8_0_H -#define BMD_DECKLINKAPI_v8_0_H - -#include "DeckLinkAPI.h" - -// Interface ID Declarations - -#define IID_IDeckLink_v8_0 /* 62BFF75D-6569-4E55-8D4D-66AA03829ABC */ (REFIID){0x62,0xBF,0xF7,0x5D,0x65,0x69,0x4E,0x55,0x8D,0x4D,0x66,0xAA,0x03,0x82,0x9A,0xBC} -#define IID_IDeckLinkIterator_v8_0 /* 74E936FC-CC28-4A67-81A0-1E94E52D4E69 */ (REFIID){0x74,0xE9,0x36,0xFC,0xCC,0x28,0x4A,0x67,0x81,0xA0,0x1E,0x94,0xE5,0x2D,0x4E,0x69} - -#if defined (__cplusplus) - -/* Interface IDeckLink_v8_0 - represents a DeckLink device */ - -class BMD_PUBLIC IDeckLink_v8_0 : public IUnknown -{ -public: - virtual HRESULT GetModelName (/* out */ const char **modelName) = 0; -}; - -/* Interface IDeckLinkIterator_v8_0 - enumerates installed DeckLink hardware */ - -class BMD_PUBLIC IDeckLinkIterator_v8_0 : public IUnknown -{ -public: - virtual HRESULT Next (/* out */ IDeckLink_v8_0 **deckLinkInstance) = 0; -}; - -extern "C" { - IDeckLinkIterator_v8_0* BMD_PUBLIC CreateDeckLinkIteratorInstance_v8_0 (void); -}; - -#endif // defined __cplusplus - -#endif /* defined(BMD_DECKLINKAPI_v8_0_H) */ - diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPI_v8_1.h b/ext-deps/DeckLink/Linux/DeckLinkAPI_v8_1.h deleted file mode 100644 index c7362aa4db..0000000000 --- a/ext-deps/DeckLink/Linux/DeckLinkAPI_v8_1.h +++ /dev/null @@ -1,111 +0,0 @@ -/* -LICENSE-START- - ** Copyright (c) 2011 Blackmagic Design - ** - ** Permission is hereby granted, free of charge, to any person or organization - ** obtaining a copy of the software and accompanying documentation covered by - ** this license (the "Software") to use, reproduce, display, distribute, - ** execute, and transmit the Software, and to prepare derivative works of the - ** Software, and to permit third-parties to whom the Software is furnished to - ** do so, all subject to the following: - ** - ** The copyright notices in the Software and this entire statement, including - ** the above license grant, this restriction and the following disclaimer, - ** must be included in all copies of the Software, in whole or in part, and - ** all derivative works of the Software, unless such copies or derivative - ** works are solely in the form of machine-executable object code generated by - ** a source language processor. - ** - ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - ** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - ** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT - ** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE - ** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, - ** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - ** DEALINGS IN THE SOFTWARE. - ** -LICENSE-END- - */ - -#ifndef BMD_DECKLINKAPI_v8_1_H -#define BMD_DECKLINKAPI_v8_1_H - -#include "DeckLinkAPI.h" - - -// Interface ID Declarations - -#define IID_IDeckLinkDeckControlStatusCallback_v8_1 /* E5F693C1-4283-4716-B18F-C1431521955B */ (REFIID){0xE5,0xF6,0x93,0xC1,0x42,0x83,0x47,0x16,0xB1,0x8F,0xC1,0x43,0x15,0x21,0x95,0x5B} -#define IID_IDeckLinkDeckControl_v8_1 /* 522A9E39-0F3C-4742-94EE-D80DE335DA1D */ (REFIID){0x52,0x2A,0x9E,0x39,0x0F,0x3C,0x47,0x42,0x94,0xEE,0xD8,0x0D,0xE3,0x35,0xDA,0x1D} - - -/* Enum BMDDeckControlVTRControlState_v8_1 - VTR Control state */ - -typedef uint32_t BMDDeckControlVTRControlState_v8_1; -enum _BMDDeckControlVTRControlState_v8_1 { - bmdDeckControlNotInVTRControlMode_v8_1 = 'nvcm', - bmdDeckControlVTRControlPlaying_v8_1 = 'vtrp', - bmdDeckControlVTRControlRecording_v8_1 = 'vtrr', - bmdDeckControlVTRControlStill_v8_1 = 'vtra', - bmdDeckControlVTRControlSeeking_v8_1 = 'vtrs', - bmdDeckControlVTRControlStopped_v8_1 = 'vtro' -}; - - -/* Interface IDeckLinkDeckControlStatusCallback_v8_1 - Deck control state change callback. */ - -class BMD_PUBLIC IDeckLinkDeckControlStatusCallback_v8_1 : public IUnknown -{ -public: - virtual HRESULT TimecodeUpdate (/* in */ BMDTimecodeBCD currentTimecode) = 0; - virtual HRESULT VTRControlStateChanged (/* in */ BMDDeckControlVTRControlState_v8_1 newState, /* in */ BMDDeckControlError error) = 0; - virtual HRESULT DeckControlEventReceived (/* in */ BMDDeckControlEvent event, /* in */ BMDDeckControlError error) = 0; - virtual HRESULT DeckControlStatusChanged (/* in */ BMDDeckControlStatusFlags flags, /* in */ uint32_t mask) = 0; - -protected: - virtual ~IDeckLinkDeckControlStatusCallback_v8_1 () {}; // call Release method to drop reference count -}; - -/* Interface IDeckLinkDeckControl_v8_1 - Deck Control main interface */ - -class BMD_PUBLIC IDeckLinkDeckControl_v8_1 : public IUnknown -{ -public: - virtual HRESULT Open (/* in */ BMDTimeScale timeScale, /* in */ BMDTimeValue timeValue, /* in */ bool timecodeIsDropFrame, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Close (/* in */ bool standbyOn) = 0; - virtual HRESULT GetCurrentState (/* out */ BMDDeckControlMode *mode, /* out */ BMDDeckControlVTRControlState_v8_1 *vtrControlState, /* out */ BMDDeckControlStatusFlags *flags) = 0; - virtual HRESULT SetStandby (/* in */ bool standbyOn) = 0; - virtual HRESULT SendCommand (/* in */ uint8_t *inBuffer, /* in */ uint32_t inBufferSize, /* out */ uint8_t *outBuffer, /* out */ uint32_t *outDataSize, /* in */ uint32_t outBufferSize, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Play (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Stop (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT TogglePlayStop (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Eject (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT GoToTimecode (/* in */ BMDTimecodeBCD timecode, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT FastForward (/* in */ bool viewTape, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Rewind (/* in */ bool viewTape, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT StepForward (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT StepBack (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Jog (/* in */ double rate, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Shuttle (/* in */ double rate, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT GetTimecodeString (/* out */ const char **currentTimeCode, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT GetTimecode (/* out */ IDeckLinkTimecode **currentTimecode, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT GetTimecodeBCD (/* out */ BMDTimecodeBCD *currentTimecode, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT SetPreroll (/* in */ uint32_t prerollSeconds) = 0; - virtual HRESULT GetPreroll (/* out */ uint32_t *prerollSeconds) = 0; - virtual HRESULT SetExportOffset (/* in */ int32_t exportOffsetFields) = 0; - virtual HRESULT GetExportOffset (/* out */ int32_t *exportOffsetFields) = 0; - virtual HRESULT GetManualExportOffset (/* out */ int32_t *deckManualExportOffsetFields) = 0; - virtual HRESULT SetCaptureOffset (/* in */ int32_t captureOffsetFields) = 0; - virtual HRESULT GetCaptureOffset (/* out */ int32_t *captureOffsetFields) = 0; - virtual HRESULT StartExport (/* in */ BMDTimecodeBCD inTimecode, /* in */ BMDTimecodeBCD outTimecode, /* in */ BMDDeckControlExportModeOpsFlags exportModeOps, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT StartCapture (/* in */ bool useVITC, /* in */ BMDTimecodeBCD inTimecode, /* in */ BMDTimecodeBCD outTimecode, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT GetDeviceID (/* out */ uint16_t *deviceId, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Abort (void) = 0; - virtual HRESULT CrashRecordStart (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT CrashRecordStop (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT SetCallback (/* in */ IDeckLinkDeckControlStatusCallback_v8_1 *callback) = 0; - -protected: - virtual ~IDeckLinkDeckControl_v8_1 () {}; // call Release method to drop reference count -}; - - -#endif // BMD_DECKLINKAPI_v8_1_H diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPI_v9_2.h b/ext-deps/DeckLink/Linux/DeckLinkAPI_v9_2.h deleted file mode 100644 index cb2d3d3fae..0000000000 --- a/ext-deps/DeckLink/Linux/DeckLinkAPI_v9_2.h +++ /dev/null @@ -1,82 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2012 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPI_v9_2_H -#define BMD_DECKLINKAPI_v9_2_H - -#include "DeckLinkAPI.h" -#include "DeckLinkAPI_v10_11.h" - - -// Interface ID Declarations - -#define IID_IDeckLinkInput_v9_2 /* 6D40EF78-28B9-4E21-990D-95BB7750A04F */ (REFIID){0x6D,0x40,0xEF,0x78,0x28,0xB9,0x4E,0x21,0x99,0x0D,0x95,0xBB,0x77,0x50,0xA0,0x4F} - - -#if defined(__cplusplus) - -/* Interface IDeckLinkInput - Created by QueryInterface from IDeckLink. */ - -class BMD_PUBLIC IDeckLinkInput_v9_2 : public IUnknown -{ -public: - virtual HRESULT DoesSupportVideoMode (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDVideoInputFlags flags, /* out */ BMDDisplayModeSupport_v10_11 *result, /* out */ IDeckLinkDisplayMode **resultDisplayMode) = 0; - virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator **iterator) = 0; - - virtual HRESULT SetScreenPreviewCallback (/* in */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; - - /* Video Input */ - - virtual HRESULT EnableVideoInput (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDVideoInputFlags flags) = 0; - virtual HRESULT DisableVideoInput (void) = 0; - virtual HRESULT GetAvailableVideoFrameCount (/* out */ uint32_t *availableFrameCount) = 0; - - /* Audio Input */ - - virtual HRESULT EnableAudioInput (/* in */ BMDAudioSampleRate sampleRate, /* in */ BMDAudioSampleType sampleType, /* in */ uint32_t channelCount) = 0; - virtual HRESULT DisableAudioInput (void) = 0; - virtual HRESULT GetAvailableAudioSampleFrameCount (/* out */ uint32_t *availableSampleFrameCount) = 0; - - /* Input Control */ - - virtual HRESULT StartStreams (void) = 0; - virtual HRESULT StopStreams (void) = 0; - virtual HRESULT PauseStreams (void) = 0; - virtual HRESULT FlushStreams (void) = 0; - virtual HRESULT SetCallback (/* in */ IDeckLinkInputCallback *theCallback) = 0; - - /* Hardware Timing */ - - virtual HRESULT GetHardwareReferenceClock (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *hardwareTime, /* out */ BMDTimeValue *timeInFrame, /* out */ BMDTimeValue *ticksPerFrame) = 0; - -protected: - virtual ~IDeckLinkInput_v9_2 () {}; // call Release method to drop reference count -}; - - -#endif // defined(__cplusplus) -#endif // BMD_DECKLINKAPI_v9_2_H diff --git a/ext-deps/DeckLink/Linux/DeckLinkAPI_v9_9.h b/ext-deps/DeckLink/Linux/DeckLinkAPI_v9_9.h deleted file mode 100644 index 501d16c74d..0000000000 --- a/ext-deps/DeckLink/Linux/DeckLinkAPI_v9_9.h +++ /dev/null @@ -1,99 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2013 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPI_v9_9_H -#define BMD_DECKLINKAPI_v9_9_H - -#include "DeckLinkAPI.h" -#include "DeckLinkAPI_v10_11.h" - - -// Interface ID Declarations - -#define IID_IDeckLinkOutput_v9_9 /* A3EF0963-0862-44ED-92A9-EE89ABF431C7 */ (REFIID){0xA3,0xEF,0x09,0x63,0x08,0x62,0x44,0xED,0x92,0xA9,0xEE,0x89,0xAB,0xF4,0x31,0xC7} - - -#if defined(__cplusplus) - -/* Interface IDeckLinkOutput - Created by QueryInterface from IDeckLink. */ - -class BMD_PUBLIC IDeckLinkOutput_v9_9 : public IUnknown -{ -public: - virtual HRESULT DoesSupportVideoMode (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDVideoOutputFlags flags, /* out */ BMDDisplayModeSupport_v10_11 *result, /* out */ IDeckLinkDisplayMode **resultDisplayMode) = 0; - virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator **iterator) = 0; - - virtual HRESULT SetScreenPreviewCallback (/* in */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; - - /* Video Output */ - - virtual HRESULT EnableVideoOutput (/* in */ BMDDisplayMode displayMode, /* in */ BMDVideoOutputFlags flags) = 0; - virtual HRESULT DisableVideoOutput (void) = 0; - - virtual HRESULT SetVideoOutputFrameMemoryAllocator (/* in */ IDeckLinkMemoryAllocator *theAllocator) = 0; - virtual HRESULT CreateVideoFrame (/* in */ int32_t width, /* in */ int32_t height, /* in */ int32_t rowBytes, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDFrameFlags flags, /* out */ IDeckLinkMutableVideoFrame **outFrame) = 0; - virtual HRESULT CreateAncillaryData (/* in */ BMDPixelFormat pixelFormat, /* out */ IDeckLinkVideoFrameAncillary **outBuffer) = 0; - - virtual HRESULT DisplayVideoFrameSync (/* in */ IDeckLinkVideoFrame *theFrame) = 0; - virtual HRESULT ScheduleVideoFrame (/* in */ IDeckLinkVideoFrame *theFrame, /* in */ BMDTimeValue displayTime, /* in */ BMDTimeValue displayDuration, /* in */ BMDTimeScale timeScale) = 0; - virtual HRESULT SetScheduledFrameCompletionCallback (/* in */ IDeckLinkVideoOutputCallback *theCallback) = 0; - virtual HRESULT GetBufferedVideoFrameCount (/* out */ uint32_t *bufferedFrameCount) = 0; - - /* Audio Output */ - - virtual HRESULT EnableAudioOutput (/* in */ BMDAudioSampleRate sampleRate, /* in */ BMDAudioSampleType sampleType, /* in */ uint32_t channelCount, /* in */ BMDAudioOutputStreamType streamType) = 0; - virtual HRESULT DisableAudioOutput (void) = 0; - - virtual HRESULT WriteAudioSamplesSync (/* in */ void *buffer, /* in */ uint32_t sampleFrameCount, /* out */ uint32_t *sampleFramesWritten) = 0; - - virtual HRESULT BeginAudioPreroll (void) = 0; - virtual HRESULT EndAudioPreroll (void) = 0; - virtual HRESULT ScheduleAudioSamples (/* in */ void *buffer, /* in */ uint32_t sampleFrameCount, /* in */ BMDTimeValue streamTime, /* in */ BMDTimeScale timeScale, /* out */ uint32_t *sampleFramesWritten) = 0; - - virtual HRESULT GetBufferedAudioSampleFrameCount (/* out */ uint32_t *bufferedSampleFrameCount) = 0; - virtual HRESULT FlushBufferedAudioSamples (void) = 0; - - virtual HRESULT SetAudioCallback (/* in */ IDeckLinkAudioOutputCallback *theCallback) = 0; - - /* Output Control */ - - virtual HRESULT StartScheduledPlayback (/* in */ BMDTimeValue playbackStartTime, /* in */ BMDTimeScale timeScale, /* in */ double playbackSpeed) = 0; - virtual HRESULT StopScheduledPlayback (/* in */ BMDTimeValue stopPlaybackAtTime, /* out */ BMDTimeValue *actualStopTime, /* in */ BMDTimeScale timeScale) = 0; - virtual HRESULT IsScheduledPlaybackRunning (/* out */ bool *active) = 0; - virtual HRESULT GetScheduledStreamTime (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *streamTime, /* out */ double *playbackSpeed) = 0; - virtual HRESULT GetReferenceStatus (/* out */ BMDReferenceStatus *referenceStatus) = 0; - - /* Hardware Timing */ - - virtual HRESULT GetHardwareReferenceClock (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *hardwareTime, /* out */ BMDTimeValue *timeInFrame, /* out */ BMDTimeValue *ticksPerFrame) = 0; - -protected: - virtual ~IDeckLinkOutput_v9_9 () {}; // call Release method to drop reference count -}; - -#endif // defined(__cplusplus) -#endif // BMD_DECKLINKAPI_v9_9_H diff --git a/ext-deps/DeckLink/Linux/LinuxCOM.h b/ext-deps/DeckLink/Linux/LinuxCOM.h index 663602bc52..cad638c234 100644 --- a/ext-deps/DeckLink/Linux/LinuxCOM.h +++ b/ext-deps/DeckLink/Linux/LinuxCOM.h @@ -1,27 +1,40 @@ /* -LICENSE-START- ** Copyright (c) 2009 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: +** +** Permission is hereby granted, free of charge, to any person or organization +** obtaining a copy of the software and accompanying documentation (the +** "Software") to use, reproduce, display, distribute, sub-license, execute, +** and transmit the Software, and to prepare derivative works of the Software, +** and to permit third-parties to whom the Software is furnished to do so, in +** accordance with: ** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. +** (1) if the Software is obtained from Blackmagic Design, the End User License +** Agreement for the Software Development Kit (“EULA”) available at +** https://www.blackmagicdesign.com/EULA/DeckLinkSDK; or ** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +** (2) if the Software is obtained from any third party, such licensing terms +** as notified by that third party, +** +** and all subject to the following: +** +** (3) the copyright notices in the Software and this entire statement, +** including the above license grant, this restriction and the following +** disclaimer, must be included in all copies of the Software, in whole or in +** part, and all derivative works of the Software, unless such copies or +** derivative works are solely in the form of machine-executable object code +** generated by a source language processor. +** +** (4) THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER ** DEALINGS IN THE SOFTWARE. +** +** A copy of the Software is available free of charge at +** https://www.blackmagicdesign.com/desktopvideo_sdk under the EULA. +** ** -LICENSE-END- */ diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPI.h b/ext-deps/DeckLink/Mac/DeckLinkAPI.h index 98e43f5a7e..dd58aa010d 100644 --- a/ext-deps/DeckLink/Mac/DeckLinkAPI.h +++ b/ext-deps/DeckLink/Mac/DeckLinkAPI.h @@ -1,29 +1,43 @@ /* -LICENSE-START- -** Copyright (c) 2020 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ + ** Copyright (c) 2023 Blackmagic Design + ** + ** Permission is hereby granted, free of charge, to any person or organization + ** obtaining a copy of the software and accompanying documentation (the + ** "Software") to use, reproduce, display, distribute, sub-license, execute, + ** and transmit the Software, and to prepare derivative works of the Software, + ** and to permit third-parties to whom the Software is furnished to do so, in + ** accordance with: + ** + ** (1) if the Software is obtained from Blackmagic Design, the End User License + ** Agreement for the Software Development Kit ("EULA") available at + ** https://www.blackmagicdesign.com/EULA/DeckLinkSDK; or + ** + ** (2) if the Software is obtained from any third party, such licensing terms + ** as notified by that third party, + ** + ** and all subject to the following: + ** + ** (3) the copyright notices in the Software and this entire statement, + ** including the above license grant, this restriction and the following + ** disclaimer, must be included in all copies of the Software, in whole or in + ** part, and all derivative works of the Software, unless such copies or + ** derivative works are solely in the form of machine-executable object code + ** generated by a source language processor. + ** + ** (4) THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + ** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + ** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT + ** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE + ** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, + ** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + ** DEALINGS IN THE SOFTWARE. + ** + ** A copy of the Software is available free of charge at + ** https://www.blackmagicdesign.com/desktopvideo_sdk under the EULA. + ** + ** -LICENSE-END- + */ + #ifndef BMD_DECKLINKAPI_H #define BMD_DECKLINKAPI_H @@ -90,6 +104,7 @@ BMD_CONST REFIID IID_IDeckLinkAudioInputPacket = /* E43D5870- BMD_CONST REFIID IID_IDeckLinkScreenPreviewCallback = /* B1D3F49A-85FE-4C5D-95C8-0B5D5DCCD438 */ { 0xB1,0xD3,0xF4,0x9A,0x85,0xFE,0x4C,0x5D,0x95,0xC8,0x0B,0x5D,0x5D,0xCC,0xD4,0x38 }; BMD_CONST REFIID IID_IDeckLinkCocoaScreenPreviewCallback = /* D174152F-8F96-4C07-83A5-DD5F5AF0A2AA */ { 0xD1,0x74,0x15,0x2F,0x8F,0x96,0x4C,0x07,0x83,0xA5,0xDD,0x5F,0x5A,0xF0,0xA2,0xAA }; BMD_CONST REFIID IID_IDeckLinkGLScreenPreviewHelper = /* 504E2209-CAC7-4C1A-9FB4-C5BB6274D22F */ { 0x50,0x4E,0x22,0x09,0xCA,0xC7,0x4C,0x1A,0x9F,0xB4,0xC5,0xBB,0x62,0x74,0xD2,0x2F }; +BMD_CONST REFIID IID_IDeckLinkMetalScreenPreviewHelper = /* 1AB252C5-DACB-4AE8-A58B-5320DE9CE373 */ { 0x1A,0xB2,0x52,0xC5,0xDA,0xCB,0x4A,0xE8,0xA5,0x8B,0x53,0x20,0xDE,0x9C,0xE3,0x73 }; BMD_CONST REFIID IID_IDeckLinkNotificationCallback = /* B002A1EC-070D-4288-8289-BD5D36E5FF0D */ { 0xB0,0x02,0xA1,0xEC,0x07,0x0D,0x42,0x88,0x82,0x89,0xBD,0x5D,0x36,0xE5,0xFF,0x0D }; BMD_CONST REFIID IID_IDeckLinkNotification = /* B85DF4C8-BDF5-47C1-8064-28162EBDD4EB */ { 0xB8,0x5D,0xF4,0xC8,0xBD,0xF5,0x47,0xC1,0x80,0x64,0x28,0x16,0x2E,0xBD,0xD4,0xEB }; BMD_CONST REFIID IID_IDeckLinkProfileAttributes = /* 17D4BF8E-4911-473A-80A0-731CF6FF345B */ { 0x17,0xD4,0xBF,0x8E,0x49,0x11,0x47,0x3A,0x80,0xA0,0x73,0x1C,0xF6,0xFF,0x34,0x5B }; @@ -204,6 +219,7 @@ enum _BMDOutputFrameCompletionResult { typedef uint32_t BMDReferenceStatus; enum _BMDReferenceStatus { + bmdReferenceUnlocked = 0, bmdReferenceNotSupportedByHardware = 1 << 0, bmdReferenceLocked = 1 << 1 }; @@ -256,7 +272,7 @@ enum _BMDTimecodeFormat { bmdTimecodeRP188VITC2 = /* 'rp12' */ 0x72703132, // RP188 timecode where DBB1 equals VITC2 (line 9 for progressive or line 571 for interlaced/PsF) bmdTimecodeRP188LTC = /* 'rplt' */ 0x72706C74, // RP188 timecode where DBB1 equals LTC (line 10) bmdTimecodeRP188HighFrameRate = /* 'rphr' */ 0x72706872, // RP188 timecode where DBB1 is an HFRTC (SMPTE ST 12-3), the only timecode allowing the frame value to go above 30 - bmdTimecodeRP188Any = /* 'rp18' */ 0x72703138, // Convenience for capture, returning the first valid timecode in {HFRTC (if supported), VITC1, LTC, VITC2} + bmdTimecodeRP188Any = /* 'rp18' */ 0x72703138, // Convenience for capture, returning the first valid timecode in {HFRTC (if supported), VITC1, VITC2, LTC } bmdTimecodeVITC = /* 'vitc' */ 0x76697463, bmdTimecodeVITCField2 = /* 'vit2' */ 0x76697432, bmdTimecodeSerial = /* 'seri' */ 0x73657269 @@ -425,6 +441,15 @@ enum _BMDDeckLinkFrameMetadataID { bmdDeckLinkFrameMetadataHDRMaximumFrameAverageLightLevel = /* 'fall' */ 0x66616C6C // Maximum Frame Average Light Level in range 1 cd/m2 - 65535 cd/m2 }; +/* Enum BMDEthernetLinkState - The state of the Ethernet link */ + +typedef uint32_t BMDEthernetLinkState; +enum _BMDEthernetLinkState { + bmdEthernetLinkStateDisconnected = /* 'elds' */ 0x656C6473, + bmdEthernetLinkStateConnectedUnbound = /* 'elcu' */ 0x656C6375, + bmdEthernetLinkStateConnectedBound = /* 'elcb' */ 0x656C6362 +}; + /* Enum BMDProfileID - Identifies a profile */ typedef uint32_t BMDProfileID; @@ -526,7 +551,8 @@ enum _BMDDeckLinkAttributeID { BMDDeckLinkVendorName = /* 'vndr' */ 0x766E6472, BMDDeckLinkDisplayName = /* 'dspn' */ 0x6473706E, BMDDeckLinkModelName = /* 'mdln' */ 0x6D646C6E, - BMDDeckLinkDeviceHandle = /* 'devh' */ 0x64657668 + BMDDeckLinkDeviceHandle = /* 'devh' */ 0x64657668, + BMDDeckLinkEthernetMACAddress = /* 'eMAC' */ 0x654D4143 }; /* Enum BMDDeckLinkAPIInformationID - DeckLinkAPI information ID */ @@ -557,6 +583,7 @@ enum _BMDDeckLinkStatusID { bmdDeckLinkStatusCurrentVideoInputFlags = /* 'cvif' */ 0x63766966, bmdDeckLinkStatusCurrentVideoOutputMode = /* 'cvom' */ 0x63766F6D, bmdDeckLinkStatusCurrentVideoOutputFlags = /* 'cvof' */ 0x63766F66, + bmdDeckLinkStatusEthernetLink = /* 'sels' */ 0x73656C73, bmdDeckLinkStatusPCIExpressLinkWidth = /* 'pwid' */ 0x70776964, bmdDeckLinkStatusPCIExpressLinkSpeed = /* 'plnk' */ 0x706C6E6B, bmdDeckLinkStatusLastVideoOutputPixelFormat = /* 'opix' */ 0x6F706978, @@ -571,6 +598,19 @@ enum _BMDDeckLinkStatusID { bmdDeckLinkStatusVideoInputSignalLocked = /* 'visl' */ 0x7669736C, bmdDeckLinkStatusReferenceSignalLocked = /* 'refl' */ 0x7265666C, + /* Strings */ + + bmdDeckLinkStatusEthernetLocalIPAddress = /* 'seip' */ 0x73656970, + bmdDeckLinkStatusEthernetSubnetMask = /* 'sesm' */ 0x7365736D, + bmdDeckLinkStatusEthernetGatewayIPAddress = /* 'segw' */ 0x73656777, + bmdDeckLinkStatusEthernetPrimaryDNS = /* 'sepd' */ 0x73657064, + bmdDeckLinkStatusEthernetSecondaryDNS = /* 'sesd' */ 0x73657364, + bmdDeckLinkStatusEthernetPTPGrandmasterIdentity = /* 'spid' */ 0x73706964, + bmdDeckLinkStatusEthernetVideoOutputAddress = /* 'soav' */ 0x736F6176, + bmdDeckLinkStatusEthernetAudioOutputAddress = /* 'soaa' */ 0x736F6161, + bmdDeckLinkStatusEthernetAncillaryOutputAddress = /* 'soaA' */ 0x736F6141, + bmdDeckLinkStatusEthernetAudioInputChannelOrder = /* 'saco' */ 0x7361636F, + /* Bytes */ bmdDeckLinkStatusReceivedEDID = /* 'edid' */ 0x65646964 @@ -670,6 +710,7 @@ class IDeckLinkAudioInputPacket; class IDeckLinkScreenPreviewCallback; class IDeckLinkCocoaScreenPreviewCallback; class IDeckLinkGLScreenPreviewHelper; +class IDeckLinkMetalScreenPreviewHelper; class IDeckLinkNotificationCallback; class IDeckLinkNotification; class IDeckLinkProfileAttributes; @@ -1113,7 +1154,7 @@ class BMD_PUBLIC IDeckLinkCocoaScreenPreviewCallback : public IDeckLinkScreenPre virtual ~IDeckLinkCocoaScreenPreviewCallback () {} // call Release method to drop reference count }; -/* Interface IDeckLinkGLScreenPreviewHelper - Created with CoCreateInstance on platforms with native COM support or from CreateOpenGLScreenPreviewHelper on other platforms. */ +/* Interface IDeckLinkGLScreenPreviewHelper - Created with CoCreateInstance on platforms with native COM support or from CreateOpenGLScreenPreviewHelper/CreateOpenGL3ScreenPreviewHelper on other platforms. */ class BMD_PUBLIC IDeckLinkGLScreenPreviewHelper : public IUnknown { @@ -1130,6 +1171,20 @@ class BMD_PUBLIC IDeckLinkGLScreenPreviewHelper : public IUnknown virtual ~IDeckLinkGLScreenPreviewHelper () {} // call Release method to drop reference count }; +/* Interface IDeckLinkMetalScreenPreviewHelper - Created with CreateMetalScreenPreviewHelper(). */ + +class BMD_PUBLIC IDeckLinkMetalScreenPreviewHelper : public IUnknown +{ +public: + virtual HRESULT Initialize (/* in */ void* device) = 0; + virtual HRESULT Draw (/* in */ void* cmdBuffer, /* in */ void* renderPassDescriptor, /* in */ void* viewport) = 0; + virtual HRESULT SetFrame (/* in */ IDeckLinkVideoFrame* theFrame) = 0; + virtual HRESULT Set3DPreviewFormat (/* in */ BMD3DPreviewFormat previewFormat) = 0; + +protected: + virtual ~IDeckLinkMetalScreenPreviewHelper () {} // call Release method to drop reference count +}; + /* Interface IDeckLinkNotificationCallback - DeckLink Notification Callback Interface */ class BMD_PUBLIC IDeckLinkNotificationCallback : public IUnknown @@ -1283,15 +1338,19 @@ class BMD_PUBLIC IDeckLinkDiscovery : public IUnknown extern "C" { - IDeckLinkIterator* BMD_PUBLIC CreateDeckLinkIteratorInstance(void); - IDeckLinkDiscovery* BMD_PUBLIC CreateDeckLinkDiscoveryInstance(void); - IDeckLinkAPIInformation* BMD_PUBLIC CreateDeckLinkAPIInformationInstance(void); - IDeckLinkGLScreenPreviewHelper* BMD_PUBLIC CreateOpenGLScreenPreviewHelper(void); - IDeckLinkCocoaScreenPreviewCallback* BMD_PUBLIC CreateCocoaScreenPreview(/* in */ void* /* (NSView*)*/ parentView); - IDeckLinkVideoConversion* BMD_PUBLIC CreateVideoConversionInstance(void); - IDeckLinkVideoFrameAncillaryPackets* BMD_PUBLIC CreateVideoFrameAncillaryPacketsInstance(void); // For use when creating a custom IDeckLinkVideoFrame without wrapping IDeckLinkOutput::CreateVideoFrame + BMD_PUBLIC IDeckLinkIterator* CreateDeckLinkIteratorInstance(void); + BMD_PUBLIC IDeckLinkDiscovery* CreateDeckLinkDiscoveryInstance(void); + BMD_PUBLIC IDeckLinkAPIInformation* CreateDeckLinkAPIInformationInstance(void); + BMD_PUBLIC IDeckLinkGLScreenPreviewHelper* CreateOpenGLScreenPreviewHelper(void); + BMD_PUBLIC IDeckLinkGLScreenPreviewHelper* CreateOpenGL3ScreenPreviewHelper(void); // Requires OpenGL 3.2 support and provides improved performance and color handling + BMD_PUBLIC IDeckLinkCocoaScreenPreviewCallback* CreateCocoaScreenPreview(/* in */ void* /* (NSView*)*/ parentView); + BMD_PUBLIC IDeckLinkMetalScreenPreviewHelper* CreateMetalScreenPreviewHelper(void); + BMD_PUBLIC IDeckLinkVideoConversion* CreateVideoConversionInstance(void); + BMD_PUBLIC IDeckLinkVideoFrameAncillaryPackets* CreateVideoFrameAncillaryPacketsInstance(void); // For use when creating a custom IDeckLinkVideoFrame without wrapping IDeckLinkOutput::CreateVideoFrame } + + #endif /* defined(__cplusplus) */ #endif /* defined(BMD_DECKLINKAPI_H) */ diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPIConfiguration.h b/ext-deps/DeckLink/Mac/DeckLinkAPIConfiguration.h index cd115bd320..47bd600199 100644 --- a/ext-deps/DeckLink/Mac/DeckLinkAPIConfiguration.h +++ b/ext-deps/DeckLink/Mac/DeckLinkAPIConfiguration.h @@ -1,5 +1,5 @@ /* -LICENSE-START- -** Copyright (c) 2020 Blackmagic Design +** Copyright (c) 2023 Blackmagic Design ** ** Permission is hereby granted, free of charge, to any person or organization ** obtaining a copy of the software and accompanying documentation covered by @@ -89,6 +89,7 @@ enum _BMDDeckLinkConfigurationID { bmdDeckLinkConfigVideoOutputConversionMode = /* 'vocm' */ 0x766F636D, bmdDeckLinkConfigAnalogVideoOutputFlags = /* 'avof' */ 0x61766F66, bmdDeckLinkConfigReferenceInputTimingOffset = /* 'glot' */ 0x676C6F74, + bmdDeckLinkConfigReferenceOutputMode = /* 'glOm' */ 0x676C4F6D, bmdDeckLinkConfigVideoOutputIdleOperation = /* 'voio' */ 0x766F696F, bmdDeckLinkConfigDefaultVideoOutputMode = /* 'dvom' */ 0x64766F6D, bmdDeckLinkConfigDefaultVideoOutputModeFlags = /* 'dvof' */ 0x64766F66, @@ -169,6 +170,27 @@ enum _BMDDeckLinkConfigurationID { bmdDeckLinkConfigDigitalAudioOutputScale = /* 'daos' */ 0x64616F73, bmdDeckLinkConfigHeadphoneVolume = /* 'hvol' */ 0x68766F6C, + /* Network Flags */ + + bmdDeckLinkConfigEthernetUseDHCP = /* 'DHCP' */ 0x44484350, + bmdDeckLinkConfigEthernetPTPFollowerOnly = /* 'PTPf' */ 0x50545066, + bmdDeckLinkConfigEthernetPTPUseUDPEncapsulation = /* 'PTPU' */ 0x50545055, + + /* Network Strings */ + + bmdDeckLinkConfigEthernetStaticLocalIPAddress = /* 'nsip' */ 0x6E736970, + bmdDeckLinkConfigEthernetStaticSubnetMask = /* 'nssm' */ 0x6E73736D, + bmdDeckLinkConfigEthernetStaticGatewayIPAddress = /* 'nsgw' */ 0x6E736777, + bmdDeckLinkConfigEthernetStaticPrimaryDNS = /* 'nspd' */ 0x6E737064, + bmdDeckLinkConfigEthernetStaticSecondaryDNS = /* 'nssd' */ 0x6E737364, + bmdDeckLinkConfigEthernetPTPPriority1 = /* 'PTP1' */ 0x50545031, + bmdDeckLinkConfigEthernetPTPPriority2 = /* 'PTP2' */ 0x50545032, + bmdDeckLinkConfigEthernetPTPDomain = /* 'PTPD' */ 0x50545044, + bmdDeckLinkConfigEthernetVideoOutputAddress = /* 'noav' */ 0x6E6F6176, + bmdDeckLinkConfigEthernetAudioOutputAddress = /* 'noaa' */ 0x6E6F6161, + bmdDeckLinkConfigEthernetAncillaryOutputAddress = /* 'noaA' */ 0x6E6F6141, + bmdDeckLinkConfigEthernetAudioOutputChannelOrder = /* 'caco' */ 0x6361636F, + /* Device Information Strings */ bmdDeckLinkConfigDeviceInformationLabel = /* 'dila' */ 0x64696C61, @@ -263,5 +285,7 @@ extern "C" { } + + #endif /* defined(__cplusplus) */ #endif /* defined(BMD_DECKLINKAPICONFIGURATION_H) */ diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPIConfiguration_v10_11.h b/ext-deps/DeckLink/Mac/DeckLinkAPIConfiguration_v10_11.h deleted file mode 100644 index a50a4e402b..0000000000 --- a/ext-deps/DeckLink/Mac/DeckLinkAPIConfiguration_v10_11.h +++ /dev/null @@ -1,71 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2017 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPICONFIGURATION_v10_11_H -#define BMD_DECKLINKAPICONFIGURATION_v10_11_H - -#include "DeckLinkAPIConfiguration.h" - -// Interface ID Declarations - -BMD_CONST REFIID IID_IDeckLinkConfiguration_v10_11 = /* EF90380B-4AE5-4346-9077-E288E149F129 */ {0xEF,0x90,0x38,0x0B,0x4A,0xE5,0x43,0x46,0x90,0x77,0xE2,0x88,0xE1,0x49,0xF1,0x29}; - -/* Enum BMDDeckLinkConfigurationID_v10_11 - DeckLink Configuration ID */ - -typedef uint32_t BMDDeckLinkConfigurationID_v10_11; -enum _BMDDeckLinkConfigurationID_v10_11 { - - /* Video Input/Output Integers */ - - bmdDeckLinkConfigDuplexMode_v10_11 = 'dupx', -}; - -// Forward Declarations - -class IDeckLinkConfiguration_v10_11; - -/* Interface IDeckLinkConfiguration_v10_11 - DeckLink Configuration interface */ - -class IDeckLinkConfiguration_v10_11 : public IUnknown -{ -public: - virtual HRESULT SetFlag (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ bool value) = 0; - virtual HRESULT GetFlag (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ bool *value) = 0; - virtual HRESULT SetInt (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ int64_t value) = 0; - virtual HRESULT GetInt (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ int64_t *value) = 0; - virtual HRESULT SetFloat (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ double value) = 0; - virtual HRESULT GetFloat (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ double *value) = 0; - virtual HRESULT SetString (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ CFStringRef value) = 0; - virtual HRESULT GetString (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ CFStringRef *value) = 0; - virtual HRESULT WriteConfigurationToPreferences (void) = 0; - -protected: - virtual ~IDeckLinkConfiguration_v10_11 () {} // call Release method to drop reference count -}; - - -#endif /* defined(BMD_DECKLINKAPICONFIGURATION_v10_11_H) */ diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPIConfiguration_v10_2.h b/ext-deps/DeckLink/Mac/DeckLinkAPIConfiguration_v10_2.h deleted file mode 100644 index 2c989a0694..0000000000 --- a/ext-deps/DeckLink/Mac/DeckLinkAPIConfiguration_v10_2.h +++ /dev/null @@ -1,60 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2014 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPICONFIGURATION_v10_2_H -#define BMD_DECKLINKAPICONFIGURATION_v10_2_H - -#include "DeckLinkAPIConfiguration.h" - -// Interface ID Declarations - -BMD_CONST REFIID IID_IDeckLinkConfiguration_v10_2 = /* C679A35B-610C-4D09-B748-1D0478100FC0 */ {0xC6,0x79,0xA3,0x5B,0x61,0x0C,0x4D,0x09,0xB7,0x48,0x1D,0x04,0x78,0x10,0x0F,0xC0}; - -// Forward Declarations - -class IDeckLinkConfiguration_v10_2; - -/* Interface IDeckLinkConfiguration_v10_2 - DeckLink Configuration interface */ - -class IDeckLinkConfiguration_v10_2 : public IUnknown -{ -public: - virtual HRESULT SetFlag (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ bool value) = 0; - virtual HRESULT GetFlag (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ bool *value) = 0; - virtual HRESULT SetInt (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ int64_t value) = 0; - virtual HRESULT GetInt (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ int64_t *value) = 0; - virtual HRESULT SetFloat (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ double value) = 0; - virtual HRESULT GetFloat (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ double *value) = 0; - virtual HRESULT SetString (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ CFStringRef value) = 0; - virtual HRESULT GetString (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ CFStringRef *value) = 0; - virtual HRESULT WriteConfigurationToPreferences (void) = 0; - -protected: - virtual ~IDeckLinkConfiguration_v10_2 () {} // call Release method to drop reference count -}; - -#endif /* defined(BMD_DECKLINKAPICONFIGURATION_v10_2_H) */ diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPIConfiguration_v10_4.h b/ext-deps/DeckLink/Mac/DeckLinkAPIConfiguration_v10_4.h deleted file mode 100644 index 21e02ee353..0000000000 --- a/ext-deps/DeckLink/Mac/DeckLinkAPIConfiguration_v10_4.h +++ /dev/null @@ -1,62 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2015 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPICONFIGURATION_v10_4_H -#define BMD_DECKLINKAPICONFIGURATION_v10_4_H - -#include "DeckLinkAPIConfiguration.h" - -// Interface ID Declarations - -BMD_CONST REFIID IID_IDeckLinkConfiguration_v10_4 = /* 1E69FCF6-4203-4936-8076-2A9F4CFD50CB */ {0x1E,0x69,0xFC,0xF6,0x42,0x03,0x49,0x36,0x80,0x76,0x2A,0x9F,0x4C,0xFD,0x50,0xCB}; - -// -// Forward Declarations - -class IDeckLinkConfiguration_v10_4; - -/* Interface IDeckLinkConfiguration_v10_4 - DeckLink Configuration interface */ - -class IDeckLinkConfiguration_v10_4 : public IUnknown -{ -public: - virtual HRESULT SetFlag (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ bool value) = 0; - virtual HRESULT GetFlag (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ bool *value) = 0; - virtual HRESULT SetInt (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ int64_t value) = 0; - virtual HRESULT GetInt (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ int64_t *value) = 0; - virtual HRESULT SetFloat (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ double value) = 0; - virtual HRESULT GetFloat (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ double *value) = 0; - virtual HRESULT SetString (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ CFStringRef value) = 0; - virtual HRESULT GetString (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ CFStringRef *value) = 0; - virtual HRESULT WriteConfigurationToPreferences (void) = 0; - -protected: - virtual ~IDeckLinkConfiguration_v10_4 () {} // call Release method to drop reference count -}; - - -#endif /* defined(BMD_DECKLINKAPICONFIGURATION_v10_4_H) */ diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPIConfiguration_v10_5.h b/ext-deps/DeckLink/Mac/DeckLinkAPIConfiguration_v10_5.h deleted file mode 100644 index 0808367d5b..0000000000 --- a/ext-deps/DeckLink/Mac/DeckLinkAPIConfiguration_v10_5.h +++ /dev/null @@ -1,60 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2015 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPICONFIGURATION_v10_5_H -#define BMD_DECKLINKAPICONFIGURATION_v10_5_H - -#include "DeckLinkAPIConfiguration.h" - -// Interface ID Declarations - -BMD_CONST REFIID IID_IDeckLinkEncoderConfiguration_v10_5 = /* 67455668-0848-45DF-8D8E-350A77C9A028 */ {0x67,0x45,0x56,0x68,0x08,0x48,0x45,0xDF,0x8D,0x8E,0x35,0x0A,0x77,0xC9,0xA0,0x28}; - -// Forward Declarations - -class IDeckLinkConfiguration_v10_5; - -/* Interface IDeckLinkEncoderConfiguration_v10_5 - DeckLink Encoder Configuration interface. Obtained from IDeckLinkEncoderInput */ - -class IDeckLinkEncoderConfiguration_v10_5 : public IUnknown -{ -public: - virtual HRESULT SetFlag (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* in */ bool value) = 0; - virtual HRESULT GetFlag (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* out */ bool *value) = 0; - virtual HRESULT SetInt (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* in */ int64_t value) = 0; - virtual HRESULT GetInt (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* out */ int64_t *value) = 0; - virtual HRESULT SetFloat (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* in */ double value) = 0; - virtual HRESULT GetFloat (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* out */ double *value) = 0; - virtual HRESULT SetString (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* in */ CFStringRef value) = 0; - virtual HRESULT GetString (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* out */ CFStringRef *value) = 0; - virtual HRESULT GetDecoderConfigurationInfo (/* out */ void *buffer, /* in */ long bufferSize, /* out */ long *returnedSize) = 0; - -protected: - virtual ~IDeckLinkEncoderConfiguration_v10_5 () {} // call Release method to drop reference count -}; - -#endif /* defined(BMD_DECKLINKAPICONFIGURATION_v10_5_H) */ diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPIConfiguration_v10_9.h b/ext-deps/DeckLink/Mac/DeckLinkAPIConfiguration_v10_9.h deleted file mode 100644 index e49a3ee3bb..0000000000 --- a/ext-deps/DeckLink/Mac/DeckLinkAPIConfiguration_v10_9.h +++ /dev/null @@ -1,62 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2017 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPICONFIGURATION_v10_9_H -#define BMD_DECKLINKAPICONFIGURATION_v10_9_H - -#include "DeckLinkAPIConfiguration.h" - -// Interface ID Declarations - -BMD_CONST REFIID IID_IDeckLinkConfiguration_v10_9 = /* CB71734A-FE37-4E8D-8E13-802133A1C3F2 */ {0xCB,0x71,0x73,0x4A,0xFE,0x37,0x4E,0x8D,0x8E,0x13,0x80,0x21,0x33,0xA1,0xC3,0xF2}; - -// -// Forward Declarations - -class IDeckLinkConfiguration_v10_9; - -/* Interface IDeckLinkConfiguration_v10_9 - DeckLink Configuration interface */ - -class IDeckLinkConfiguration_v10_9 : public IUnknown -{ -public: - virtual HRESULT SetFlag (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ bool value) = 0; - virtual HRESULT GetFlag (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ bool *value) = 0; - virtual HRESULT SetInt (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ int64_t value) = 0; - virtual HRESULT GetInt (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ int64_t *value) = 0; - virtual HRESULT SetFloat (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ double value) = 0; - virtual HRESULT GetFloat (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ double *value) = 0; - virtual HRESULT SetString (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ CFStringRef value) = 0; - virtual HRESULT GetString (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ CFStringRef *value) = 0; - virtual HRESULT WriteConfigurationToPreferences (void) = 0; - -protected: - virtual ~IDeckLinkConfiguration_v10_9 () {} // call Release method to drop reference count -}; - - -#endif /* defined(BMD_DECKLINKAPICONFIGURATION_v10_9_H) */ diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPIDeckControl.h b/ext-deps/DeckLink/Mac/DeckLinkAPIDeckControl.h index fa9c17ea06..bfbf4714d7 100644 --- a/ext-deps/DeckLink/Mac/DeckLinkAPIDeckControl.h +++ b/ext-deps/DeckLink/Mac/DeckLinkAPIDeckControl.h @@ -1,5 +1,5 @@ /* -LICENSE-START- -** Copyright (c) 2020 Blackmagic Design +** Copyright (c) 2023 Blackmagic Design ** ** Permission is hereby granted, free of charge, to any person or organization ** obtaining a copy of the software and accompanying documentation covered by @@ -217,5 +217,7 @@ extern "C" { } + + #endif /* defined(__cplusplus) */ #endif /* defined(BMD_DECKLINKAPIDECKCONTROL_H) */ diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPIDiscovery.h b/ext-deps/DeckLink/Mac/DeckLinkAPIDiscovery.h index e03a29dfc6..05a9467ef8 100644 --- a/ext-deps/DeckLink/Mac/DeckLinkAPIDiscovery.h +++ b/ext-deps/DeckLink/Mac/DeckLinkAPIDiscovery.h @@ -1,5 +1,5 @@ /* -LICENSE-START- -** Copyright (c) 2020 Blackmagic Design +** Copyright (c) 2023 Blackmagic Design ** ** Permission is hereby granted, free of charge, to any person or organization ** obtaining a copy of the software and accompanying documentation covered by @@ -73,5 +73,7 @@ extern "C" { } + + #endif /* defined(__cplusplus) */ #endif /* defined(BMD_DECKLINKAPIDISCOVERY_H) */ diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPIDispatch.cpp b/ext-deps/DeckLink/Mac/DeckLinkAPIDispatch.cpp index afce428f5f..abb03ac215 100644 --- a/ext-deps/DeckLink/Mac/DeckLinkAPIDispatch.cpp +++ b/ext-deps/DeckLink/Mac/DeckLinkAPIDispatch.cpp @@ -1,27 +1,40 @@ /* -LICENSE-START- ** Copyright (c) 2009 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: +** +** Permission is hereby granted, free of charge, to any person or organization +** obtaining a copy of the software and accompanying documentation (the +** "Software") to use, reproduce, display, distribute, sub-license, execute, +** and transmit the Software, and to prepare derivative works of the Software, +** and to permit third-parties to whom the Software is furnished to do so, in +** accordance with: ** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. +** (1) if the Software is obtained from Blackmagic Design, the End User License +** Agreement for the Software Development Kit (“EULA”) available at +** https://www.blackmagicdesign.com/EULA/DeckLinkSDK; or ** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +** (2) if the Software is obtained from any third party, such licensing terms +** as notified by that third party, +** +** and all subject to the following: +** +** (3) the copyright notices in the Software and this entire statement, +** including the above license grant, this restriction and the following +** disclaimer, must be included in all copies of the Software, in whole or in +** part, and all derivative works of the Software, unless such copies or +** derivative works are solely in the form of machine-executable object code +** generated by a source language processor. +** +** (4) THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER ** DEALINGS IN THE SOFTWARE. +** +** A copy of the Software is available free of charge at +** https://www.blackmagicdesign.com/desktopvideo_sdk under the EULA. +** ** -LICENSE-END- */ /* DeckLinkAPIDispatch.cpp */ @@ -39,6 +52,8 @@ typedef IDeckLinkIterator* (*CreateIteratorFunc)(void); typedef IDeckLinkAPIInformation* (*CreateAPIInformationFunc)(void); typedef IDeckLinkGLScreenPreviewHelper* (*CreateOpenGLScreenPreviewHelperFunc)(void); +typedef IDeckLinkGLScreenPreviewHelper* (*CreateOpenGL3ScreenPreviewHelperFunc)(void); +typedef IDeckLinkMetalScreenPreviewHelper* (*CreateMetalScreenPreviewHelperFunc)(void); typedef IDeckLinkCocoaScreenPreviewCallback* (*CreateCocoaScreenPreviewFunc)(void*); typedef IDeckLinkVideoConversion* (*CreateVideoConversionInstanceFunc)(void); typedef IDeckLinkDiscovery* (*CreateDeckLinkDiscoveryInstanceFunc)(void); @@ -49,6 +64,8 @@ static CFBundleRef gDeckLinkAPIBundleRef = NULL; static CreateIteratorFunc gCreateIteratorFunc = NULL; static CreateAPIInformationFunc gCreateAPIInformationFunc = NULL; static CreateOpenGLScreenPreviewHelperFunc gCreateOpenGLPreviewFunc = NULL; +static CreateOpenGL3ScreenPreviewHelperFunc gCreateOpenGL3PreviewFunc = NULL; +static CreateMetalScreenPreviewHelperFunc gCreateMetalPreviewFunc = NULL; static CreateCocoaScreenPreviewFunc gCreateCocoaPreviewFunc = NULL; static CreateVideoConversionInstanceFunc gCreateVideoConversionFunc = NULL; static CreateDeckLinkDiscoveryInstanceFunc gCreateDeckLinkDiscoveryFunc= NULL; @@ -68,6 +85,8 @@ static void InitDeckLinkAPI (void) gCreateIteratorFunc = (CreateIteratorFunc)CFBundleGetFunctionPointerForName(gDeckLinkAPIBundleRef, CFSTR("CreateDeckLinkIteratorInstance_0004")); gCreateAPIInformationFunc = (CreateAPIInformationFunc)CFBundleGetFunctionPointerForName(gDeckLinkAPIBundleRef, CFSTR("CreateDeckLinkAPIInformationInstance_0001")); gCreateOpenGLPreviewFunc = (CreateOpenGLScreenPreviewHelperFunc)CFBundleGetFunctionPointerForName(gDeckLinkAPIBundleRef, CFSTR("CreateOpenGLScreenPreviewHelper_0001")); + gCreateOpenGL3PreviewFunc = (CreateOpenGL3ScreenPreviewHelperFunc)CFBundleGetFunctionPointerForName(gDeckLinkAPIBundleRef, CFSTR("CreateOpenGL3ScreenPreviewHelper_0001")); + gCreateMetalPreviewFunc = (CreateMetalScreenPreviewHelperFunc)CFBundleGetFunctionPointerForName(gDeckLinkAPIBundleRef, CFSTR("CreateMetalScreenPreviewHelper_0001")); gCreateCocoaPreviewFunc = (CreateCocoaScreenPreviewFunc)CFBundleGetFunctionPointerForName(gDeckLinkAPIBundleRef, CFSTR("CreateCocoaScreenPreview_0001")); gCreateVideoConversionFunc = (CreateVideoConversionInstanceFunc)CFBundleGetFunctionPointerForName(gDeckLinkAPIBundleRef, CFSTR("CreateVideoConversionInstance_0001")); gCreateDeckLinkDiscoveryFunc = (CreateDeckLinkDiscoveryInstanceFunc)CFBundleGetFunctionPointerForName(gDeckLinkAPIBundleRef, CFSTR("CreateDeckLinkDiscoveryInstance_0003")); @@ -116,6 +135,26 @@ IDeckLinkGLScreenPreviewHelper* CreateOpenGLScreenPreviewHelper (void) return gCreateOpenGLPreviewFunc(); } +IDeckLinkGLScreenPreviewHelper* CreateOpenGL3ScreenPreviewHelper (void) +{ + pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); + + if (gCreateOpenGL3PreviewFunc == NULL) + return NULL; + + return gCreateOpenGL3PreviewFunc(); +} + +IDeckLinkMetalScreenPreviewHelper* CreateMetalScreenPreviewHelper (void) +{ + pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); + + if (gCreateMetalPreviewFunc == NULL) + return NULL; + + return gCreateMetalPreviewFunc(); +} + IDeckLinkCocoaScreenPreviewCallback* CreateCocoaScreenPreview (void* parentView) { pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPIDispatch_v10_11.cpp b/ext-deps/DeckLink/Mac/DeckLinkAPIDispatch_v10_11.cpp deleted file mode 100644 index f5b528ff6e..0000000000 --- a/ext-deps/DeckLink/Mac/DeckLinkAPIDispatch_v10_11.cpp +++ /dev/null @@ -1,206 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2019 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ -/* DeckLinkAPIDispatch.cpp */ - -#include "DeckLinkAPI_v10_11.h" -#include - -#if BLACKMAGIC_DECKLINK_API_MAGIC != 1 - #error The DeckLink API version of DeckLinkAPIDispatch.cpp is not the same version as DeckLinkAPI.h -#endif - -#define kDeckLinkAPI_BundlePath "/Library/Frameworks/DeckLinkAPI.framework" - - -typedef IDeckLinkIterator* (*CreateIteratorFunc)(void); -typedef IDeckLinkAPIInformation* (*CreateAPIInformationFunc)(void); -typedef IDeckLinkGLScreenPreviewHelper* (*CreateOpenGLScreenPreviewHelperFunc)(void); -typedef IDeckLinkCocoaScreenPreviewCallback* (*CreateCocoaScreenPreviewFunc)(void*); -typedef IDeckLinkVideoConversion* (*CreateVideoConversionInstanceFunc)(void); -typedef IDeckLinkDiscovery* (*CreateDeckLinkDiscoveryInstanceFunc)(void); -typedef IDeckLinkVideoFrameAncillaryPackets* (*CreateVideoFrameAncillaryPacketsInstanceFunc)(void); - -static pthread_once_t gDeckLinkOnceControl = PTHREAD_ONCE_INIT; -static CFBundleRef gDeckLinkAPIBundleRef = NULL; -static CreateIteratorFunc gCreateIteratorFunc = NULL; -static CreateAPIInformationFunc gCreateAPIInformationFunc = NULL; -static CreateOpenGLScreenPreviewHelperFunc gCreateOpenGLPreviewFunc = NULL; -static CreateCocoaScreenPreviewFunc gCreateCocoaPreviewFunc = NULL; -static CreateVideoConversionInstanceFunc gCreateVideoConversionFunc = NULL; -static CreateDeckLinkDiscoveryInstanceFunc gCreateDeckLinkDiscoveryFunc= NULL; -static CreateVideoFrameAncillaryPacketsInstanceFunc gCreateVideoFrameAncillaryPacketsFunc = NULL; - - -static void InitDeckLinkAPI (void) -{ - CFURLRef bundleURL; - - bundleURL = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, CFSTR(kDeckLinkAPI_BundlePath), kCFURLPOSIXPathStyle, true); - if (bundleURL != NULL) - { - gDeckLinkAPIBundleRef = CFBundleCreate(kCFAllocatorDefault, bundleURL); - if (gDeckLinkAPIBundleRef != NULL) - { - gCreateIteratorFunc = (CreateIteratorFunc)CFBundleGetFunctionPointerForName(gDeckLinkAPIBundleRef, CFSTR("CreateDeckLinkIteratorInstance_0003")); - gCreateAPIInformationFunc = (CreateAPIInformationFunc)CFBundleGetFunctionPointerForName(gDeckLinkAPIBundleRef, CFSTR("CreateDeckLinkAPIInformationInstance_0001")); - gCreateOpenGLPreviewFunc = (CreateOpenGLScreenPreviewHelperFunc)CFBundleGetFunctionPointerForName(gDeckLinkAPIBundleRef, CFSTR("CreateOpenGLScreenPreviewHelper_0001")); - gCreateCocoaPreviewFunc = (CreateCocoaScreenPreviewFunc)CFBundleGetFunctionPointerForName(gDeckLinkAPIBundleRef, CFSTR("CreateCocoaScreenPreview_0001")); - gCreateVideoConversionFunc = (CreateVideoConversionInstanceFunc)CFBundleGetFunctionPointerForName(gDeckLinkAPIBundleRef, CFSTR("CreateVideoConversionInstance_0001")); - gCreateDeckLinkDiscoveryFunc = (CreateDeckLinkDiscoveryInstanceFunc)CFBundleGetFunctionPointerForName(gDeckLinkAPIBundleRef, CFSTR("CreateDeckLinkDiscoveryInstance_0002")); - gCreateVideoFrameAncillaryPacketsFunc = (CreateVideoFrameAncillaryPacketsInstanceFunc)CFBundleGetFunctionPointerForName(gDeckLinkAPIBundleRef, CFSTR("CreateVideoFrameAncillaryPacketsInstance_0001")); - } - CFRelease(bundleURL); - } -} - -bool IsDeckLinkAPIPresent_v10_11 (void) -{ - // If the DeckLink API bundle was successfully loaded, return this knowledge to the caller - if (gDeckLinkAPIBundleRef != NULL) - return true; - - return false; -} - -IDeckLinkIterator* CreateDeckLinkIteratorInstance_v10_11 (void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateIteratorFunc == NULL) - return NULL; - - return gCreateIteratorFunc(); -} - -IDeckLinkAPIInformation* CreateDeckLinkAPIInformationInstance_v10_11 (void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateAPIInformationFunc == NULL) - return NULL; - - return gCreateAPIInformationFunc(); -} - -IDeckLinkGLScreenPreviewHelper* CreateOpenGLScreenPreviewHelper_v10_11 (void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateOpenGLPreviewFunc == NULL) - return NULL; - - return gCreateOpenGLPreviewFunc(); -} - -IDeckLinkCocoaScreenPreviewCallback* CreateCocoaScreenPreview_v10_11 (void* parentView) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateCocoaPreviewFunc == NULL) - return NULL; - - return gCreateCocoaPreviewFunc(parentView); -} - -IDeckLinkVideoConversion* CreateVideoConversionInstance_v10_11 (void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateVideoConversionFunc == NULL) - return NULL; - - return gCreateVideoConversionFunc(); -} - -IDeckLinkDiscovery* CreateDeckLinkDiscoveryInstance_v10_11 (void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateDeckLinkDiscoveryFunc == NULL) - return NULL; - - return gCreateDeckLinkDiscoveryFunc(); -} - -IDeckLinkVideoFrameAncillaryPackets* CreateVideoFrameAncillaryPacketsInstance_v10_11 (void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateVideoFrameAncillaryPacketsFunc == NULL) - return NULL; - - return gCreateVideoFrameAncillaryPacketsFunc(); -} - - -#define kBMDStreamingAPI_BundlePath "/Library/Application Support/Blackmagic Design/Streaming/BMDStreamingAPI.bundle" - -typedef IBMDStreamingDiscovery* (*CreateDiscoveryFunc)(void); -typedef IBMDStreamingH264NALParser* (*CreateNALParserFunc)(void); - -static pthread_once_t gBMDStreamingOnceControl = PTHREAD_ONCE_INIT; -static CFBundleRef gBMDStreamingAPIBundleRef = NULL; -static CreateDiscoveryFunc gCreateDiscoveryFunc = NULL; -static CreateNALParserFunc gCreateNALParserFunc = NULL; - -static void InitBMDStreamingAPI(void) -{ - CFURLRef bundleURL; - - bundleURL = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, CFSTR(kBMDStreamingAPI_BundlePath), kCFURLPOSIXPathStyle, true); - if (bundleURL != NULL) - { - gBMDStreamingAPIBundleRef = CFBundleCreate(kCFAllocatorDefault, bundleURL); - if (gBMDStreamingAPIBundleRef != NULL) - { - gCreateDiscoveryFunc = (CreateDiscoveryFunc)CFBundleGetFunctionPointerForName(gBMDStreamingAPIBundleRef, CFSTR("CreateBMDStreamingDiscoveryInstance_0002")); - gCreateNALParserFunc = (CreateNALParserFunc)CFBundleGetFunctionPointerForName(gBMDStreamingAPIBundleRef, CFSTR("CreateBMDStreamingH264NALParser_0001")); - } - - CFRelease(bundleURL); - } -} - -IBMDStreamingDiscovery* CreateBMDStreamingDiscoveryInstance_v10_11() -{ - pthread_once(&gBMDStreamingOnceControl, InitBMDStreamingAPI); - - if (gCreateDiscoveryFunc == NULL) - return NULL; - - return gCreateDiscoveryFunc(); -} - -IBMDStreamingH264NALParser* CreateBMDStreamingH264NALParser_v10_11() -{ - pthread_once(&gBMDStreamingOnceControl, InitBMDStreamingAPI); - - if (gCreateNALParserFunc == NULL) - return NULL; - - return gCreateNALParserFunc(); -} diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPIDispatch_v10_8.cpp b/ext-deps/DeckLink/Mac/DeckLinkAPIDispatch_v10_8.cpp deleted file mode 100644 index c412a107ec..0000000000 --- a/ext-deps/DeckLink/Mac/DeckLinkAPIDispatch_v10_8.cpp +++ /dev/null @@ -1,193 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2009 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ -/* DeckLinkAPIDispatch.cpp */ - -#include "DeckLinkAPI.h" -#include - -#if BLACKMAGIC_DECKLINK_API_MAGIC != 1 -#error The DeckLink API version of DeckLinkAPIDispatch.cpp is not the same version as DeckLinkAPI.h -#endif - -#define kDeckLinkAPI_BundlePath "/Library/Frameworks/DeckLinkAPI.framework" - - -typedef IDeckLinkIterator* (*CreateIteratorFunc)(void); -typedef IDeckLinkAPIInformation* (*CreateAPIInformationFunc)(void); -typedef IDeckLinkGLScreenPreviewHelper* (*CreateOpenGLScreenPreviewHelperFunc)(void); -typedef IDeckLinkCocoaScreenPreviewCallback* (*CreateCocoaScreenPreviewFunc)(void*); -typedef IDeckLinkVideoConversion* (*CreateVideoConversionInstanceFunc)(void); -typedef IDeckLinkDiscovery* (*CreateDeckLinkDiscoveryInstanceFunc)(void); - -static pthread_once_t gDeckLinkOnceControl = PTHREAD_ONCE_INIT; -static CFBundleRef gDeckLinkAPIBundleRef = NULL; -static CreateIteratorFunc gCreateIteratorFunc = NULL; -static CreateAPIInformationFunc gCreateAPIInformationFunc = NULL; -static CreateOpenGLScreenPreviewHelperFunc gCreateOpenGLPreviewFunc = NULL; -static CreateCocoaScreenPreviewFunc gCreateCocoaPreviewFunc = NULL; -static CreateVideoConversionInstanceFunc gCreateVideoConversionFunc = NULL; -static CreateDeckLinkDiscoveryInstanceFunc gCreateDeckLinkDiscoveryFunc = NULL; - - -static void InitDeckLinkAPI(void) -{ - CFURLRef bundleURL; - - bundleURL = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, CFSTR(kDeckLinkAPI_BundlePath), kCFURLPOSIXPathStyle, true); - if (bundleURL != NULL) - { - gDeckLinkAPIBundleRef = CFBundleCreate(kCFAllocatorDefault, bundleURL); - if (gDeckLinkAPIBundleRef != NULL) - { - gCreateIteratorFunc = (CreateIteratorFunc)CFBundleGetFunctionPointerForName(gDeckLinkAPIBundleRef, CFSTR("CreateDeckLinkIteratorInstance_0002")); - gCreateAPIInformationFunc = (CreateAPIInformationFunc)CFBundleGetFunctionPointerForName(gDeckLinkAPIBundleRef, CFSTR("CreateDeckLinkAPIInformationInstance_0001")); - gCreateOpenGLPreviewFunc = (CreateOpenGLScreenPreviewHelperFunc)CFBundleGetFunctionPointerForName(gDeckLinkAPIBundleRef, CFSTR("CreateOpenGLScreenPreviewHelper_0001")); - gCreateCocoaPreviewFunc = (CreateCocoaScreenPreviewFunc)CFBundleGetFunctionPointerForName(gDeckLinkAPIBundleRef, CFSTR("CreateCocoaScreenPreview_0001")); - gCreateVideoConversionFunc = (CreateVideoConversionInstanceFunc)CFBundleGetFunctionPointerForName(gDeckLinkAPIBundleRef, CFSTR("CreateVideoConversionInstance_0001")); - gCreateDeckLinkDiscoveryFunc = (CreateDeckLinkDiscoveryInstanceFunc)CFBundleGetFunctionPointerForName(gDeckLinkAPIBundleRef, CFSTR("CreateDeckLinkDiscoveryInstance_0001")); - } - CFRelease(bundleURL); - } -} - -bool IsDeckLinkAPIPresent(void) -{ - // If the DeckLink API bundle was successfully loaded, return this knowledge to the caller - if (gDeckLinkAPIBundleRef != NULL) - return true; - - return false; -} - -IDeckLinkIterator* CreateDeckLinkIteratorInstance(void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateIteratorFunc == NULL) - return NULL; - - return gCreateIteratorFunc(); -} - -IDeckLinkAPIInformation* CreateDeckLinkAPIInformationInstance(void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateAPIInformationFunc == NULL) - return NULL; - - return gCreateAPIInformationFunc(); -} - -IDeckLinkGLScreenPreviewHelper* CreateOpenGLScreenPreviewHelper(void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateOpenGLPreviewFunc == NULL) - return NULL; - - return gCreateOpenGLPreviewFunc(); -} - -IDeckLinkCocoaScreenPreviewCallback* CreateCocoaScreenPreview(void* parentView) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateCocoaPreviewFunc == NULL) - return NULL; - - return gCreateCocoaPreviewFunc(parentView); -} - -IDeckLinkVideoConversion* CreateVideoConversionInstance(void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateVideoConversionFunc == NULL) - return NULL; - - return gCreateVideoConversionFunc(); -} - -IDeckLinkDiscovery* CreateDeckLinkDiscoveryInstance(void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateDeckLinkDiscoveryFunc == NULL) - return NULL; - - return gCreateDeckLinkDiscoveryFunc(); -} - - -#define kBMDStreamingAPI_BundlePath "/Library/Application Support/Blackmagic Design/Streaming/BMDStreamingAPI.bundle" - -typedef IBMDStreamingDiscovery* (*CreateDiscoveryFunc)(void); -typedef IBMDStreamingH264NALParser* (*CreateNALParserFunc)(void); - -static pthread_once_t gBMDStreamingOnceControl = PTHREAD_ONCE_INIT; -static CFBundleRef gBMDStreamingAPIBundleRef = NULL; -static CreateDiscoveryFunc gCreateDiscoveryFunc = NULL; -static CreateNALParserFunc gCreateNALParserFunc = NULL; - -static void InitBMDStreamingAPI(void) -{ - CFURLRef bundleURL; - - bundleURL = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, CFSTR(kBMDStreamingAPI_BundlePath), kCFURLPOSIXPathStyle, true); - if (bundleURL != NULL) - { - gBMDStreamingAPIBundleRef = CFBundleCreate(kCFAllocatorDefault, bundleURL); - if (gBMDStreamingAPIBundleRef != NULL) - { - gCreateDiscoveryFunc = (CreateDiscoveryFunc)CFBundleGetFunctionPointerForName(gBMDStreamingAPIBundleRef, CFSTR("CreateBMDStreamingDiscoveryInstance_0001")); - gCreateNALParserFunc = (CreateNALParserFunc)CFBundleGetFunctionPointerForName(gBMDStreamingAPIBundleRef, CFSTR("CreateBMDStreamingH264NALParser_0001")); - } - - CFRelease(bundleURL); - } -} - -IBMDStreamingDiscovery* CreateBMDStreamingDiscoveryInstance() -{ - pthread_once(&gBMDStreamingOnceControl, InitBMDStreamingAPI); - - if (gCreateDiscoveryFunc == NULL) - return NULL; - - return gCreateDiscoveryFunc(); -} - -IBMDStreamingH264NALParser* CreateBMDStreamingH264NALParser() -{ - pthread_once(&gBMDStreamingOnceControl, InitBMDStreamingAPI); - - if (gCreateNALParserFunc == NULL) - return NULL; - - return gCreateNALParserFunc(); -} diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPIDispatch_v7_6.cpp b/ext-deps/DeckLink/Mac/DeckLinkAPIDispatch_v7_6.cpp deleted file mode 100644 index ba918b061e..0000000000 --- a/ext-deps/DeckLink/Mac/DeckLinkAPIDispatch_v7_6.cpp +++ /dev/null @@ -1,105 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2009 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ -/* DeckLinkAPIDispatch_v7_6.cpp */ - -#include "DeckLinkAPI_v7_6.h" -#include - -#define kDeckLinkAPI_BundlePath "/Library/Frameworks/DeckLinkAPI.framework" - -typedef IDeckLinkIterator* (*CreateIteratorFunc_v7_6)(void); -typedef IDeckLinkGLScreenPreviewHelper_v7_6* (*CreateOpenGLScreenPreviewHelperFunc_v7_6)(void); -typedef IDeckLinkCocoaScreenPreviewCallback_v7_6* (*CreateCocoaScreenPreviewFunc_v7_6)(void*); -typedef IDeckLinkVideoConversion_v7_6* (*CreateVideoConversionInstanceFunc_v7_6)(void); - -static pthread_once_t gDeckLinkOnceControl = PTHREAD_ONCE_INIT; -static CFBundleRef gBundleRef = NULL; -static CreateIteratorFunc_v7_6 gCreateIteratorFunc = NULL; -static CreateOpenGLScreenPreviewHelperFunc_v7_6 gCreateOpenGLPreviewFunc = NULL; -static CreateCocoaScreenPreviewFunc_v7_6 gCreateCocoaPreviewFunc = NULL; -static CreateVideoConversionInstanceFunc_v7_6 gCreateVideoConversionFunc = NULL; - - -static void InitDeckLinkAPI_v7_6 (void) -{ - CFURLRef bundleURL; - - bundleURL = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, CFSTR(kDeckLinkAPI_BundlePath), kCFURLPOSIXPathStyle, true); - if (bundleURL != NULL) - { - gBundleRef = CFBundleCreate(kCFAllocatorDefault, bundleURL); - if (gBundleRef != NULL) - { - gCreateIteratorFunc = (CreateIteratorFunc_v7_6)CFBundleGetFunctionPointerForName(gBundleRef, CFSTR("CreateDeckLinkIteratorInstance")); - gCreateOpenGLPreviewFunc = (CreateOpenGLScreenPreviewHelperFunc_v7_6)CFBundleGetFunctionPointerForName(gBundleRef, CFSTR("CreateOpenGLScreenPreviewHelper")); - gCreateCocoaPreviewFunc = (CreateCocoaScreenPreviewFunc_v7_6)CFBundleGetFunctionPointerForName(gBundleRef, CFSTR("CreateCocoaScreenPreview")); - gCreateVideoConversionFunc = (CreateVideoConversionInstanceFunc_v7_6)CFBundleGetFunctionPointerForName(gBundleRef, CFSTR("CreateVideoConversionInstance")); - } - CFRelease(bundleURL); - } -} - -IDeckLinkIterator* CreateDeckLinkIteratorInstance_v7_6 (void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI_v7_6); - - if (gCreateIteratorFunc == NULL) - return NULL; - - return gCreateIteratorFunc(); -} - -IDeckLinkGLScreenPreviewHelper_v7_6* CreateOpenGLScreenPreviewHelper_v7_6 (void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI_v7_6); - - if (gCreateOpenGLPreviewFunc == NULL) - return NULL; - - return gCreateOpenGLPreviewFunc(); -} - -IDeckLinkCocoaScreenPreviewCallback_v7_6* CreateCocoaScreenPreview_v7_6 (void* parentView) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI_v7_6); - - if (gCreateCocoaPreviewFunc == NULL) - return NULL; - - return gCreateCocoaPreviewFunc(parentView); -} - -IDeckLinkVideoConversion_v7_6* CreateVideoConversionInstance_v7_6 (void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI_v7_6); - - if (gCreateVideoConversionFunc == NULL) - return NULL; - - return gCreateVideoConversionFunc(); -} - diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPIDispatch_v8_0.cpp b/ext-deps/DeckLink/Mac/DeckLinkAPIDispatch_v8_0.cpp deleted file mode 100644 index 3791bf48d1..0000000000 --- a/ext-deps/DeckLink/Mac/DeckLinkAPIDispatch_v8_0.cpp +++ /dev/null @@ -1,131 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2011 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ -/* DeckLinkAPIDispatch.cpp */ - -#include "DeckLinkAPI_v8_0.h" -#include - -#if BLACKMAGIC_DECKLINK_API_MAGIC != 1 - #error The DeckLink API version of DeckLinkAPIDispatch.cpp is not the same version as DeckLinkAPI.h -#endif - -#define kDeckLinkAPI_BundlePath "/Library/Frameworks/DeckLinkAPI.framework" - -typedef IDeckLinkIterator_v8_0* (*CreateIteratorFunc)(void); -typedef IDeckLinkAPIInformation* (*CreateAPIInformationFunc)(void); -typedef IDeckLinkGLScreenPreviewHelper* (*CreateOpenGLScreenPreviewHelperFunc)(void); -typedef IDeckLinkCocoaScreenPreviewCallback* (*CreateCocoaScreenPreviewFunc)(void*); -typedef IDeckLinkVideoConversion* (*CreateVideoConversionInstanceFunc)(void); - -static pthread_once_t gDeckLinkOnceControl = PTHREAD_ONCE_INIT; -static CFBundleRef gDeckLinkAPIBundleRef = NULL; -static CreateIteratorFunc gCreateIteratorFunc = NULL; -static CreateAPIInformationFunc gCreateAPIInformationFunc = NULL; -static CreateOpenGLScreenPreviewHelperFunc gCreateOpenGLPreviewFunc = NULL; -static CreateCocoaScreenPreviewFunc gCreateCocoaPreviewFunc = NULL; -static CreateVideoConversionInstanceFunc gCreateVideoConversionFunc = NULL; - - -static void InitDeckLinkAPI (void) -{ - CFURLRef bundleURL; - - bundleURL = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, CFSTR(kDeckLinkAPI_BundlePath), kCFURLPOSIXPathStyle, true); - if (bundleURL != NULL) - { - gDeckLinkAPIBundleRef = CFBundleCreate(kCFAllocatorDefault, bundleURL); - if (gDeckLinkAPIBundleRef != NULL) - { - gCreateIteratorFunc = (CreateIteratorFunc)CFBundleGetFunctionPointerForName(gDeckLinkAPIBundleRef, CFSTR("CreateDeckLinkIteratorInstance_0001")); - gCreateAPIInformationFunc = (CreateAPIInformationFunc)CFBundleGetFunctionPointerForName(gDeckLinkAPIBundleRef, CFSTR("CreateDeckLinkAPIInformationInstance_0001")); - gCreateOpenGLPreviewFunc = (CreateOpenGLScreenPreviewHelperFunc)CFBundleGetFunctionPointerForName(gDeckLinkAPIBundleRef, CFSTR("CreateOpenGLScreenPreviewHelper_0001")); - gCreateCocoaPreviewFunc = (CreateCocoaScreenPreviewFunc)CFBundleGetFunctionPointerForName(gDeckLinkAPIBundleRef, CFSTR("CreateCocoaScreenPreview_0001")); - gCreateVideoConversionFunc = (CreateVideoConversionInstanceFunc)CFBundleGetFunctionPointerForName(gDeckLinkAPIBundleRef, CFSTR("CreateVideoConversionInstance_0001")); - } - CFRelease(bundleURL); - } -} - -bool IsDeckLinkAPIPresent (void) -{ - // If the DeckLink API bundle was successfully loaded, return this knowledge to the caller - if (gDeckLinkAPIBundleRef != NULL) - return true; - - return false; -} - -IDeckLinkIterator_v8_0* CreateDeckLinkIteratorInstance (void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateIteratorFunc == NULL) - return NULL; - - return gCreateIteratorFunc(); -} - -IDeckLinkAPIInformation* CreateDeckLinkAPIInformationInstance (void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateAPIInformationFunc == NULL) - return NULL; - - return gCreateAPIInformationFunc(); -} - -IDeckLinkGLScreenPreviewHelper* CreateOpenGLScreenPreviewHelper (void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateOpenGLPreviewFunc == NULL) - return NULL; - - return gCreateOpenGLPreviewFunc(); -} - -IDeckLinkCocoaScreenPreviewCallback* CreateCocoaScreenPreview (void* parentView) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateCocoaPreviewFunc == NULL) - return NULL; - - return gCreateCocoaPreviewFunc(parentView); -} - -IDeckLinkVideoConversion* CreateVideoConversionInstance (void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateVideoConversionFunc == NULL) - return NULL; - - return gCreateVideoConversionFunc(); -} - diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPIModes.h b/ext-deps/DeckLink/Mac/DeckLinkAPIModes.h index 97fd4b0c5c..d734cad4ef 100644 --- a/ext-deps/DeckLink/Mac/DeckLinkAPIModes.h +++ b/ext-deps/DeckLink/Mac/DeckLinkAPIModes.h @@ -1,5 +1,5 @@ /* -LICENSE-START- -** Copyright (c) 2020 Blackmagic Design +** Copyright (c) 2023 Blackmagic Design ** ** Permission is hereby granted, free of charge, to any person or organization ** obtaining a copy of the software and accompanying documentation covered by @@ -219,7 +219,7 @@ enum _BMDPixelFormat { bmdFormat10BitYUV = /* 'v210' */ 0x76323130, bmdFormat8BitARGB = 32, bmdFormat8BitBGRA = /* 'BGRA' */ 0x42475241, - bmdFormat10BitRGB = /* 'r210' */ 0x72323130, // Big-endian RGB 10-bit per component with SMPTE video levels (64-960). Packed as 2:10:10:10 + bmdFormat10BitRGB = /* 'r210' */ 0x72323130, // Big-endian RGB 10-bit per component with SMPTE video levels (64-940). Packed as 2:10:10:10 bmdFormat12BitRGB = /* 'R12B' */ 0x52313242, // Big-endian RGB 12-bit per component with full range (0-4095). Packed as 12-bit per component bmdFormat12BitRGBLE = /* 'R12L' */ 0x5231324C, // Little-endian RGB 12-bit per component with full range (0-4095). Packed as 12-bit per component bmdFormat10BitRGBXLE = /* 'R10l' */ 0x5231306C, // Little-endian 10-bit RGB with SMPTE video levels (64-940) @@ -283,5 +283,7 @@ extern "C" { } + + #endif /* defined(__cplusplus) */ #endif /* defined(BMD_DECKLINKAPIMODES_H) */ diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPIStreaming.h b/ext-deps/DeckLink/Mac/DeckLinkAPIStreaming.h index 15faf083c7..5699746d4a 100644 --- a/ext-deps/DeckLink/Mac/DeckLinkAPIStreaming.h +++ b/ext-deps/DeckLink/Mac/DeckLinkAPIStreaming.h @@ -1,5 +1,5 @@ /* -LICENSE-START- -** Copyright (c) 2020 Blackmagic Design +** Copyright (c) 2023 Blackmagic Design ** ** Permission is hereby granted, free of charge, to any person or organization ** obtaining a copy of the software and accompanying documentation covered by @@ -372,10 +372,12 @@ class BMD_PUBLIC IBMDStreamingH264NALParser : public IUnknown extern "C" { - IBMDStreamingDiscovery* BMD_PUBLIC CreateBMDStreamingDiscoveryInstance(void); - IBMDStreamingH264NALParser* BMD_PUBLIC CreateBMDStreamingH264NALParser(void); + BMD_PUBLIC IBMDStreamingDiscovery* CreateBMDStreamingDiscoveryInstance(void); + BMD_PUBLIC IBMDStreamingH264NALParser* CreateBMDStreamingH264NALParser(void); } + + #endif /* defined(__cplusplus) */ #endif /* defined(BMD_DECKLINKAPISTREAMING_H) */ diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPIStreaming_v10_11.h b/ext-deps/DeckLink/Mac/DeckLinkAPIStreaming_v10_11.h deleted file mode 100644 index 3ef8dd786c..0000000000 --- a/ext-deps/DeckLink/Mac/DeckLinkAPIStreaming_v10_11.h +++ /dev/null @@ -1,46 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2018 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPISTREAMING_H -#define BMD_DECKLINKAPISTREAMING_H - -#ifndef BMD_PUBLIC - #define BMD_PUBLIC -#endif - - -/* Functions */ - -extern "C" { - - IBMDStreamingDiscovery* BMD_PUBLIC CreateBMDStreamingDiscoveryInstance_v10_11 (void); - IBMDStreamingH264NALParser* BMD_PUBLIC CreateBMDStreamingH264NALParser_v10_11 (void); - -} - - -#endif /* defined(BMD_DECKLINKAPISTREAMING_H) */ diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPITypes.h b/ext-deps/DeckLink/Mac/DeckLinkAPITypes.h index 552e0c1bb4..b168376484 100644 --- a/ext-deps/DeckLink/Mac/DeckLinkAPITypes.h +++ b/ext-deps/DeckLink/Mac/DeckLinkAPITypes.h @@ -1,5 +1,5 @@ /* -LICENSE-START- -** Copyright (c) 2020 Blackmagic Design +** Copyright (c) 2023 Blackmagic Design ** ** Permission is hereby granted, free of charge, to any person or organization ** obtaining a copy of the software and accompanying documentation covered by @@ -74,7 +74,9 @@ enum _BMDVideoConnection { bmdVideoConnectionOpticalSDI = 1 << 2, bmdVideoConnectionComponent = 1 << 3, bmdVideoConnectionComposite = 1 << 4, - bmdVideoConnectionSVideo = 1 << 5 + bmdVideoConnectionSVideo = 1 << 5, + bmdVideoConnectionEthernet = 1 << 6, + bmdVideoConnectionOpticalEthernet = 1 << 7 }; /* Enum BMDAudioConnection - Audio connection types */ @@ -126,5 +128,7 @@ extern "C" { } + + #endif /* defined(__cplusplus) */ #endif /* defined(BMD_DECKLINKAPITYPES_H) */ diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPIVersion.h b/ext-deps/DeckLink/Mac/DeckLinkAPIVersion.h index dcdeeb1ca2..4004523560 100644 --- a/ext-deps/DeckLink/Mac/DeckLinkAPIVersion.h +++ b/ext-deps/DeckLink/Mac/DeckLinkAPIVersion.h @@ -1,27 +1,40 @@ /* -LICENSE-START- * ** Copyright (c) 2014 Blackmagic Design - * ** - * ** Permission is hereby granted, free of charge, to any person or organization - * ** obtaining a copy of the software and accompanying documentation covered by - * ** this license (the "Software") to use, reproduce, display, distribute, - * ** execute, and transmit the Software, and to prepare derivative works of the - * ** Software, and to permit third-parties to whom the Software is furnished to - * ** do so, all subject to the following: + * ** + * ** Permission is hereby granted, free of charge, to any person or organization + * ** obtaining a copy of the software and accompanying documentation (the + * ** "Software") to use, reproduce, display, distribute, sub-license, execute, + * ** and transmit the Software, and to prepare derivative works of the Software, + * ** and to permit third-parties to whom the Software is furnished to do so, in + * ** accordance with: * ** - * ** The copyright notices in the Software and this entire statement, including - * ** the above license grant, this restriction and the following disclaimer, - * ** must be included in all copies of the Software, in whole or in part, and - * ** all derivative works of the Software, unless such copies or derivative - * ** works are solely in the form of machine-executable object code generated by - * ** a source language processor. + * ** (1) if the Software is obtained from Blackmagic Design, the End User License + * ** Agreement for the Software Development Kit (“EULA”) available at + * ** https://www.blackmagicdesign.com/EULA/DeckLinkSDK; or * ** - * ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * ** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * ** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT - * ** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE - * ** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, - * ** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * ** (2) if the Software is obtained from any third party, such licensing terms + * ** as notified by that third party, + * ** + * ** and all subject to the following: + * ** + * ** (3) the copyright notices in the Software and this entire statement, + * ** including the above license grant, this restriction and the following + * ** disclaimer, must be included in all copies of the Software, in whole or in + * ** part, and all derivative works of the Software, unless such copies or + * ** derivative works are solely in the form of machine-executable object code + * ** generated by a source language processor. + * ** + * ** (4) THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * ** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * ** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT + * ** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE + * ** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, + * ** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * ** DEALINGS IN THE SOFTWARE. + * ** + * ** A copy of the Software is available free of charge at + * ** https://www.blackmagicdesign.com/desktopvideo_sdk under the EULA. + * ** * ** -LICENSE-END- * */ @@ -30,8 +43,8 @@ #ifndef __DeckLink_API_Version_h__ #define __DeckLink_API_Version_h__ -#define BLACKMAGIC_DECKLINK_API_VERSION 0x0b060000 -#define BLACKMAGIC_DECKLINK_API_VERSION_STRING "11.6" +#define BLACKMAGIC_DECKLINK_API_VERSION 0x0c060000 +#define BLACKMAGIC_DECKLINK_API_VERSION_STRING "12.6" #endif // __DeckLink_API_Version_h__ diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPIVideoEncoderInput_v10_11.h b/ext-deps/DeckLink/Mac/DeckLinkAPIVideoEncoderInput_v10_11.h deleted file mode 100644 index 80921c2d95..0000000000 --- a/ext-deps/DeckLink/Mac/DeckLinkAPIVideoEncoderInput_v10_11.h +++ /dev/null @@ -1,75 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2017 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPIVIDEOENCODERINPUT_v10_11_H -#define BMD_DECKLINKAPIVIDEOENCODERINPUT_v10_11_H - -#include "DeckLinkAPI.h" -#include "DeckLinkAPI_v10_11.h" - -// Type Declarations - -BMD_CONST REFIID IID_IDeckLinkEncoderInput_v10_11 = /* 270587DA-6B7D-42E7-A1F0-6D853F581185 */ {0x27,0x05,0x87,0xDA,0x6B,0x7D,0x42,0xE7,0xA1,0xF0,0x6D,0x85,0x3F,0x58,0x11,0x85}; - -/* Interface IDeckLinkEncoderInput_v10_11 - Created by QueryInterface from IDeckLink. */ - -class IDeckLinkEncoderInput_v10_11 : public IUnknown -{ -public: - virtual HRESULT DoesSupportVideoMode (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDVideoInputFlags flags, /* out */ BMDDisplayModeSupport_v10_11 *result, /* out */ IDeckLinkDisplayMode **resultDisplayMode) = 0; - virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator **iterator) = 0; - - /* Video Input */ - - virtual HRESULT EnableVideoInput (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDVideoInputFlags flags) = 0; - virtual HRESULT DisableVideoInput (void) = 0; - virtual HRESULT GetAvailablePacketsCount (/* out */ uint32_t *availablePacketsCount) = 0; - virtual HRESULT SetMemoryAllocator (/* in */ IDeckLinkMemoryAllocator *theAllocator) = 0; - - /* Audio Input */ - - virtual HRESULT EnableAudioInput (/* in */ BMDAudioFormat audioFormat, /* in */ BMDAudioSampleRate sampleRate, /* in */ BMDAudioSampleType sampleType, /* in */ uint32_t channelCount) = 0; - virtual HRESULT DisableAudioInput (void) = 0; - virtual HRESULT GetAvailableAudioSampleFrameCount (/* out */ uint32_t *availableSampleFrameCount) = 0; - - /* Input Control */ - - virtual HRESULT StartStreams (void) = 0; - virtual HRESULT StopStreams (void) = 0; - virtual HRESULT PauseStreams (void) = 0; - virtual HRESULT FlushStreams (void) = 0; - virtual HRESULT SetCallback (/* in */ IDeckLinkEncoderInputCallback *theCallback) = 0; - - /* Hardware Timing */ - - virtual HRESULT GetHardwareReferenceClock (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *hardwareTime, /* out */ BMDTimeValue *timeInFrame, /* out */ BMDTimeValue *ticksPerFrame) = 0; - -protected: - virtual ~IDeckLinkEncoderInput_v10_11 () {} // call Release method to drop reference count -}; - -#endif /* defined(BMD_DECKLINKAPIVIDEOENCODERINPUT_v10_11_H) */ diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPIVideoInput_v10_11.h b/ext-deps/DeckLink/Mac/DeckLinkAPIVideoInput_v10_11.h deleted file mode 100644 index 3751378574..0000000000 --- a/ext-deps/DeckLink/Mac/DeckLinkAPIVideoInput_v10_11.h +++ /dev/null @@ -1,77 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2017 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPIVIDEOINPUT_v10_11_H -#define BMD_DECKLINKAPIVIDEOINPUT_v10_11_H - -#include "DeckLinkAPI.h" -#include "DeckLinkAPI_v10_11.h" - -// Type Declarations - -BMD_CONST REFIID IID_IDeckLinkInput_v10_11 = /* AF22762B-DFAC-4846-AA79-FA8883560995 */ {0xAF,0x22,0x76,0x2B,0xDF,0xAC,0x48,0x46,0xAA,0x79,0xFA,0x88,0x83,0x56,0x09,0x95}; - -/* Interface IDeckLinkInput_v10_11 - DeckLink input interface. */ - -class IDeckLinkInput_v10_11 : public IUnknown -{ -public: - virtual HRESULT DoesSupportVideoMode (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDVideoInputFlags flags, /* out */ BMDDisplayModeSupport_v10_11 *result, /* out */ IDeckLinkDisplayMode **resultDisplayMode) = 0; - virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator **iterator) = 0; - - virtual HRESULT SetScreenPreviewCallback (/* in */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; - - /* Video Input */ - - virtual HRESULT EnableVideoInput (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDVideoInputFlags flags) = 0; - virtual HRESULT DisableVideoInput (void) = 0; - virtual HRESULT GetAvailableVideoFrameCount (/* out */ uint32_t *availableFrameCount) = 0; - virtual HRESULT SetVideoInputFrameMemoryAllocator (/* in */ IDeckLinkMemoryAllocator *theAllocator) = 0; - - /* Audio Input */ - - virtual HRESULT EnableAudioInput (/* in */ BMDAudioSampleRate sampleRate, /* in */ BMDAudioSampleType sampleType, /* in */ uint32_t channelCount) = 0; - virtual HRESULT DisableAudioInput (void) = 0; - virtual HRESULT GetAvailableAudioSampleFrameCount (/* out */ uint32_t *availableSampleFrameCount) = 0; - - /* Input Control */ - - virtual HRESULT StartStreams (void) = 0; - virtual HRESULT StopStreams (void) = 0; - virtual HRESULT PauseStreams (void) = 0; - virtual HRESULT FlushStreams (void) = 0; - virtual HRESULT SetCallback (/* in */ IDeckLinkInputCallback *theCallback) = 0; - - /* Hardware Timing */ - - virtual HRESULT GetHardwareReferenceClock (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *hardwareTime, /* out */ BMDTimeValue *timeInFrame, /* out */ BMDTimeValue *ticksPerFrame) = 0; - -protected: - virtual ~IDeckLinkInput_v10_11 () {} // call Release method to drop reference count -}; - -#endif /* defined(BMD_DECKLINKAPIVIDEOINPUT_v10_11_H) */ diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPIVideoInput_v11_4.h b/ext-deps/DeckLink/Mac/DeckLinkAPIVideoInput_v11_4.h deleted file mode 100644 index 785302a683..0000000000 --- a/ext-deps/DeckLink/Mac/DeckLinkAPIVideoInput_v11_4.h +++ /dev/null @@ -1,76 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2019 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPIVIDEOINPUT_v11_4_H -#define BMD_DECKLINKAPIVIDEOINPUT_v11_4_H - -#include "DeckLinkAPI.h" - -// Type Declarations - -BMD_CONST REFIID IID_IDeckLinkInput_v11_4 = /* 2A88CF76-F494-4216-A7EF-DC74EEB83882 */ { 0x2A,0x88,0xCF,0x76,0xF4,0x94,0x42,0x16,0xA7,0xEF,0xDC,0x74,0xEE,0xB8,0x38,0x82 }; - -/* Interface IDeckLinkInput_v11_4 - Created by QueryInterface from IDeckLink. */ - -class BMD_PUBLIC IDeckLinkInput_v11_4 : public IUnknown -{ -public: - virtual HRESULT DoesSupportVideoMode (/* in */ BMDVideoConnection connection /* If a value of 0 is specified, the caller does not care about the connection */, /* in */ BMDDisplayMode requestedMode, /* in */ BMDPixelFormat requestedPixelFormat, /* in */ BMDSupportedVideoModeFlags flags, /* out */ bool* supported) = 0; - virtual HRESULT GetDisplayMode (/* in */ BMDDisplayMode displayMode, /* out */ IDeckLinkDisplayMode** resultDisplayMode) = 0; - virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator** iterator) = 0; - virtual HRESULT SetScreenPreviewCallback (/* in */ IDeckLinkScreenPreviewCallback* previewCallback) = 0; - - /* Video Input */ - - virtual HRESULT EnableVideoInput (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDVideoInputFlags flags) = 0; - virtual HRESULT DisableVideoInput (void) = 0; - virtual HRESULT GetAvailableVideoFrameCount (/* out */ uint32_t* availableFrameCount) = 0; - virtual HRESULT SetVideoInputFrameMemoryAllocator (/* in */ IDeckLinkMemoryAllocator* theAllocator) = 0; - - /* Audio Input */ - - virtual HRESULT EnableAudioInput (/* in */ BMDAudioSampleRate sampleRate, /* in */ BMDAudioSampleType sampleType, /* in */ uint32_t channelCount) = 0; - virtual HRESULT DisableAudioInput (void) = 0; - virtual HRESULT GetAvailableAudioSampleFrameCount (/* out */ uint32_t* availableSampleFrameCount) = 0; - - /* Input Control */ - - virtual HRESULT StartStreams (void) = 0; - virtual HRESULT StopStreams (void) = 0; - virtual HRESULT PauseStreams (void) = 0; - virtual HRESULT FlushStreams (void) = 0; - virtual HRESULT SetCallback (/* in */ IDeckLinkInputCallback* theCallback) = 0; - - /* Hardware Timing */ - - virtual HRESULT GetHardwareReferenceClock (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue* hardwareTime, /* out */ BMDTimeValue* timeInFrame, /* out */ BMDTimeValue* ticksPerFrame) = 0; - -protected: - virtual ~IDeckLinkInput_v11_4 () {} // call Release method to drop reference count -}; - -#endif /* defined(BMD_DECKLINKAPIVIDEOINPUT_v11_4_H) */ diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPIVideoInput_v11_5_1.h b/ext-deps/DeckLink/Mac/DeckLinkAPIVideoInput_v11_5_1.h deleted file mode 100644 index cd031bd4bf..0000000000 --- a/ext-deps/DeckLink/Mac/DeckLinkAPIVideoInput_v11_5_1.h +++ /dev/null @@ -1,89 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2020 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPIVIDEOINPUT_v11_5_1_H -#define BMD_DECKLINKAPIVIDEOINPUT_v11_5_1_H - -#include "DeckLinkAPI.h" - -// Type Declarations - -BMD_CONST REFIID IID_IDeckLinkInputCallback_v11_5_1 = /* DD04E5EC-7415-42AB-AE4A-E80C4DFC044A */ { 0xDD, 0x04, 0xE5, 0xEC, 0x74, 0x15, 0x42, 0xAB, 0xAE, 0x4A, 0xE8, 0x0C, 0x4D, 0xFC, 0x04, 0x4A }; -BMD_CONST REFIID IID_IDeckLinkInput_v11_5_1 = /* 9434C6E4-B15D-4B1C-979E-661E3DDCB4B9 */ { 0x94, 0x34, 0xC6, 0xE4, 0xB1, 0x5D, 0x4B, 0x1C, 0x97, 0x9E, 0x66, 0x1E, 0x3D, 0xDC, 0xB4, 0xB9 }; - -/* Interface IDeckLinkInputCallback_v11_5_1 - Frame arrival callback. */ - -class BMD_PUBLIC IDeckLinkInputCallback_v11_5_1 : public IUnknown -{ -public: - virtual HRESULT VideoInputFormatChanged (/* in */ BMDVideoInputFormatChangedEvents notificationEvents, /* in */ IDeckLinkDisplayMode* newDisplayMode, /* in */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0; - virtual HRESULT VideoInputFrameArrived (/* in */ IDeckLinkVideoInputFrame* videoFrame, /* in */ IDeckLinkAudioInputPacket* audioPacket) = 0; - -protected: - virtual ~IDeckLinkInputCallback_v11_5_1 () {} // call Release method to drop reference count -}; - -/* Interface IDeckLinkInput_v11_5_1 - Created by QueryInterface from IDeckLink. */ - -class BMD_PUBLIC IDeckLinkInput_v11_5_1 : public IUnknown -{ -public: - virtual HRESULT DoesSupportVideoMode (/* in */ BMDVideoConnection connection /* If a value of bmdVideoConnectionUnspecified is specified, the caller does not care about the connection */, /* in */ BMDDisplayMode requestedMode, /* in */ BMDPixelFormat requestedPixelFormat, /* in */ BMDVideoInputConversionMode conversionMode, /* in */ BMDSupportedVideoModeFlags flags, /* out */ BMDDisplayMode* actualMode, /* out */ bool* supported) = 0; - virtual HRESULT GetDisplayMode (/* in */ BMDDisplayMode displayMode, /* out */ IDeckLinkDisplayMode** resultDisplayMode) = 0; - virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator** iterator) = 0; - virtual HRESULT SetScreenPreviewCallback (/* in */ IDeckLinkScreenPreviewCallback* previewCallback) = 0; - - /* Video Input */ - - virtual HRESULT EnableVideoInput (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDVideoInputFlags flags) = 0; - virtual HRESULT DisableVideoInput (void) = 0; - virtual HRESULT GetAvailableVideoFrameCount (/* out */ uint32_t* availableFrameCount) = 0; - virtual HRESULT SetVideoInputFrameMemoryAllocator (/* in */ IDeckLinkMemoryAllocator* theAllocator) = 0; - - /* Audio Input */ - - virtual HRESULT EnableAudioInput (/* in */ BMDAudioSampleRate sampleRate, /* in */ BMDAudioSampleType sampleType, /* in */ uint32_t channelCount) = 0; - virtual HRESULT DisableAudioInput (void) = 0; - virtual HRESULT GetAvailableAudioSampleFrameCount (/* out */ uint32_t* availableSampleFrameCount) = 0; - - /* Input Control */ - - virtual HRESULT StartStreams (void) = 0; - virtual HRESULT StopStreams (void) = 0; - virtual HRESULT PauseStreams (void) = 0; - virtual HRESULT FlushStreams (void) = 0; - virtual HRESULT SetCallback (/* in */ IDeckLinkInputCallback_v11_5_1* theCallback) = 0; - - /* Hardware Timing */ - - virtual HRESULT GetHardwareReferenceClock (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue* hardwareTime, /* out */ BMDTimeValue* timeInFrame, /* out */ BMDTimeValue* ticksPerFrame) = 0; - -protected: - virtual ~IDeckLinkInput_v11_5_1 () {} // call Release method to drop reference count -}; - -#endif /* defined(BMD_DECKLINKAPIVIDEOINPUT_v11_5_1_H) */ diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPIVideoOutput_v10_11.h b/ext-deps/DeckLink/Mac/DeckLinkAPIVideoOutput_v10_11.h deleted file mode 100644 index 41db8d56c4..0000000000 --- a/ext-deps/DeckLink/Mac/DeckLinkAPIVideoOutput_v10_11.h +++ /dev/null @@ -1,95 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2017 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPIVIDEOOUTPUT_v10_11_H -#define BMD_DECKLINKAPIVIDEOOUTPUT_v10_11_H - -#include "DeckLinkAPI.h" -#include "DeckLinkAPI_v10_11.h" - -// Type Declarations - -BMD_CONST REFIID IID_IDeckLinkOutput_v10_11 = /* CC5C8A6E-3F2F-4B3A-87EA-FD78AF300564 */ {0xCC,0x5C,0x8A,0x6E,0x3F,0x2F,0x4B,0x3A,0x87,0xEA,0xFD,0x78,0xAF,0x30,0x05,0x64}; - -/* Interface IDeckLinkOutput_v10_11 - DeckLink output interface. */ - -class IDeckLinkOutput_v10_11 : public IUnknown -{ -public: - virtual HRESULT DoesSupportVideoMode (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDVideoOutputFlags flags, /* out */ BMDDisplayModeSupport_v10_11 *result, /* out */ IDeckLinkDisplayMode **resultDisplayMode) = 0; - virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator **iterator) = 0; - - virtual HRESULT SetScreenPreviewCallback (/* in */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; - - /* Video Output */ - - virtual HRESULT EnableVideoOutput (/* in */ BMDDisplayMode displayMode, /* in */ BMDVideoOutputFlags flags) = 0; - virtual HRESULT DisableVideoOutput (void) = 0; - - virtual HRESULT SetVideoOutputFrameMemoryAllocator (/* in */ IDeckLinkMemoryAllocator *theAllocator) = 0; - virtual HRESULT CreateVideoFrame (/* in */ int32_t width, /* in */ int32_t height, /* in */ int32_t rowBytes, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDFrameFlags flags, /* out */ IDeckLinkMutableVideoFrame **outFrame) = 0; - virtual HRESULT CreateAncillaryData (/* in */ BMDPixelFormat pixelFormat, /* out */ IDeckLinkVideoFrameAncillary **outBuffer) = 0; - - virtual HRESULT DisplayVideoFrameSync (/* in */ IDeckLinkVideoFrame *theFrame) = 0; - virtual HRESULT ScheduleVideoFrame (/* in */ IDeckLinkVideoFrame *theFrame, /* in */ BMDTimeValue displayTime, /* in */ BMDTimeValue displayDuration, /* in */ BMDTimeScale timeScale) = 0; - virtual HRESULT SetScheduledFrameCompletionCallback (/* in */ IDeckLinkVideoOutputCallback *theCallback) = 0; - virtual HRESULT GetBufferedVideoFrameCount (/* out */ uint32_t *bufferedFrameCount) = 0; - - /* Audio Output */ - - virtual HRESULT EnableAudioOutput (/* in */ BMDAudioSampleRate sampleRate, /* in */ BMDAudioSampleType sampleType, /* in */ uint32_t channelCount, /* in */ BMDAudioOutputStreamType streamType) = 0; - virtual HRESULT DisableAudioOutput (void) = 0; - - virtual HRESULT WriteAudioSamplesSync (/* in */ void *buffer, /* in */ uint32_t sampleFrameCount, /* out */ uint32_t *sampleFramesWritten) = 0; - - virtual HRESULT BeginAudioPreroll (void) = 0; - virtual HRESULT EndAudioPreroll (void) = 0; - virtual HRESULT ScheduleAudioSamples (/* in */ void *buffer, /* in */ uint32_t sampleFrameCount, /* in */ BMDTimeValue streamTime, /* in */ BMDTimeScale timeScale, /* out */ uint32_t *sampleFramesWritten) = 0; - - virtual HRESULT GetBufferedAudioSampleFrameCount (/* out */ uint32_t *bufferedSampleFrameCount) = 0; - virtual HRESULT FlushBufferedAudioSamples (void) = 0; - - virtual HRESULT SetAudioCallback (/* in */ IDeckLinkAudioOutputCallback *theCallback) = 0; - - /* Output Control */ - - virtual HRESULT StartScheduledPlayback (/* in */ BMDTimeValue playbackStartTime, /* in */ BMDTimeScale timeScale, /* in */ double playbackSpeed) = 0; - virtual HRESULT StopScheduledPlayback (/* in */ BMDTimeValue stopPlaybackAtTime, /* out */ BMDTimeValue *actualStopTime, /* in */ BMDTimeScale timeScale) = 0; - virtual HRESULT IsScheduledPlaybackRunning (/* out */ bool *active) = 0; - virtual HRESULT GetScheduledStreamTime (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *streamTime, /* out */ double *playbackSpeed) = 0; - virtual HRESULT GetReferenceStatus (/* out */ BMDReferenceStatus *referenceStatus) = 0; - - /* Hardware Timing */ - - virtual HRESULT GetHardwareReferenceClock (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *hardwareTime, /* out */ BMDTimeValue *timeInFrame, /* out */ BMDTimeValue *ticksPerFrame) = 0; - virtual HRESULT GetFrameCompletionReferenceTimestamp (/* in */ IDeckLinkVideoFrame *theFrame, /* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *frameCompletionTimestamp) = 0; - -protected: - virtual ~IDeckLinkOutput_v10_11 () {} // call Release method to drop reference count -}; - -#endif /* defined(BMD_DECKLINKAPIVIDEOOUTPUT_v10_11_H) */ diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPIVideoOutput_v11_4.h b/ext-deps/DeckLink/Mac/DeckLinkAPIVideoOutput_v11_4.h deleted file mode 100644 index 6ce584dd18..0000000000 --- a/ext-deps/DeckLink/Mac/DeckLinkAPIVideoOutput_v11_4.h +++ /dev/null @@ -1,88 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2019 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPIVIDEOOUTPUT_v11_4_H -#define BMD_DECKLINKAPIVIDEOOUTPUT_v11_4_H - -#include "DeckLinkAPI.h" - -// Type Declarations - -BMD_CONST REFIID IID_IDeckLinkOutput_v11_4 = /* 065A0F6C-C508-4D0D-B919-F5EB0EBFC96B */ { 0x06,0x5A,0x0F,0x6C,0xC5,0x08,0x4D,0x0D,0xB9,0x19,0xF5,0xEB,0x0E,0xBF,0xC9,0x6B }; - -/* Interface IDeckLinkOutput_v11_4 - Created by QueryInterface from IDeckLink. */ - -class BMD_PUBLIC IDeckLinkOutput_v11_4 : public IUnknown -{ -public: - virtual HRESULT DoesSupportVideoMode (/* in */ BMDVideoConnection connection /* If a value of 0 is specified, the caller does not care about the connection */, /* in */ BMDDisplayMode requestedMode, /* in */ BMDPixelFormat requestedPixelFormat, /* in */ BMDSupportedVideoModeFlags flags, /* out */ BMDDisplayMode* actualMode, /* out */ bool* supported) = 0; - virtual HRESULT GetDisplayMode (/* in */ BMDDisplayMode displayMode, /* out */ IDeckLinkDisplayMode** resultDisplayMode) = 0; - virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator** iterator) = 0; - virtual HRESULT SetScreenPreviewCallback (/* in */ IDeckLinkScreenPreviewCallback* previewCallback) = 0; - - /* Video Output */ - - virtual HRESULT EnableVideoOutput (/* in */ BMDDisplayMode displayMode, /* in */ BMDVideoOutputFlags flags) = 0; - virtual HRESULT DisableVideoOutput (void) = 0; - virtual HRESULT SetVideoOutputFrameMemoryAllocator (/* in */ IDeckLinkMemoryAllocator* theAllocator) = 0; - virtual HRESULT CreateVideoFrame (/* in */ int32_t width, /* in */ int32_t height, /* in */ int32_t rowBytes, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDFrameFlags flags, /* out */ IDeckLinkMutableVideoFrame** outFrame) = 0; - virtual HRESULT CreateAncillaryData (/* in */ BMDPixelFormat pixelFormat, /* out */ IDeckLinkVideoFrameAncillary** outBuffer) = 0; // Use of IDeckLinkVideoFrameAncillaryPackets is preferred - virtual HRESULT DisplayVideoFrameSync (/* in */ IDeckLinkVideoFrame* theFrame) = 0; - virtual HRESULT ScheduleVideoFrame (/* in */ IDeckLinkVideoFrame* theFrame, /* in */ BMDTimeValue displayTime, /* in */ BMDTimeValue displayDuration, /* in */ BMDTimeScale timeScale) = 0; - virtual HRESULT SetScheduledFrameCompletionCallback (/* in */ IDeckLinkVideoOutputCallback* theCallback) = 0; - virtual HRESULT GetBufferedVideoFrameCount (/* out */ uint32_t* bufferedFrameCount) = 0; - - /* Audio Output */ - - virtual HRESULT EnableAudioOutput (/* in */ BMDAudioSampleRate sampleRate, /* in */ BMDAudioSampleType sampleType, /* in */ uint32_t channelCount, /* in */ BMDAudioOutputStreamType streamType) = 0; - virtual HRESULT DisableAudioOutput (void) = 0; - virtual HRESULT WriteAudioSamplesSync (/* in */ void* buffer, /* in */ uint32_t sampleFrameCount, /* out */ uint32_t* sampleFramesWritten) = 0; - virtual HRESULT BeginAudioPreroll (void) = 0; - virtual HRESULT EndAudioPreroll (void) = 0; - virtual HRESULT ScheduleAudioSamples (/* in */ void* buffer, /* in */ uint32_t sampleFrameCount, /* in */ BMDTimeValue streamTime, /* in */ BMDTimeScale timeScale, /* out */ uint32_t* sampleFramesWritten) = 0; - virtual HRESULT GetBufferedAudioSampleFrameCount (/* out */ uint32_t* bufferedSampleFrameCount) = 0; - virtual HRESULT FlushBufferedAudioSamples (void) = 0; - virtual HRESULT SetAudioCallback (/* in */ IDeckLinkAudioOutputCallback* theCallback) = 0; - - /* Output Control */ - - virtual HRESULT StartScheduledPlayback (/* in */ BMDTimeValue playbackStartTime, /* in */ BMDTimeScale timeScale, /* in */ double playbackSpeed) = 0; - virtual HRESULT StopScheduledPlayback (/* in */ BMDTimeValue stopPlaybackAtTime, /* out */ BMDTimeValue* actualStopTime, /* in */ BMDTimeScale timeScale) = 0; - virtual HRESULT IsScheduledPlaybackRunning (/* out */ bool* active) = 0; - virtual HRESULT GetScheduledStreamTime (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue* streamTime, /* out */ double* playbackSpeed) = 0; - virtual HRESULT GetReferenceStatus (/* out */ BMDReferenceStatus* referenceStatus) = 0; - - /* Hardware Timing */ - - virtual HRESULT GetHardwareReferenceClock (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue* hardwareTime, /* out */ BMDTimeValue* timeInFrame, /* out */ BMDTimeValue* ticksPerFrame) = 0; - virtual HRESULT GetFrameCompletionReferenceTimestamp (/* in */ IDeckLinkVideoFrame* theFrame, /* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue* frameCompletionTimestamp) = 0; - -protected: - virtual ~IDeckLinkOutput_v11_4 () {} // call Release method to drop reference count -}; - -#endif /* defined(BMD_DECKLINKAPIVIDEOOUTPUT_v11_4_H) */ diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPI_v10_11.h b/ext-deps/DeckLink/Mac/DeckLinkAPI_v10_11.h deleted file mode 100644 index 70a372e5b9..0000000000 --- a/ext-deps/DeckLink/Mac/DeckLinkAPI_v10_11.h +++ /dev/null @@ -1,122 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2018 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPI_v10_11_H -#define BMD_DECKLINKAPI_v10_11_H - -#include "DeckLinkAPI.h" - -// Interface ID Declarations - -BMD_CONST REFIID IID_IDeckLinkAttributes_v10_11 = /* ABC11843-D966-44CB-96E2-A1CB5D3135C4 */ {0xAB,0xC1,0x18,0x43,0xD9,0x66,0x44,0xCB,0x96,0xE2,0xA1,0xCB,0x5D,0x31,0x35,0xC4}; -BMD_CONST REFIID IID_IDeckLinkNotification_v10_11 = /* 0A1FB207-E215-441B-9B19-6FA1575946C5 */ {0x0A,0x1F,0xB2,0x07,0xE2,0x15,0x44,0x1B,0x9B,0x19,0x6F,0xA1,0x57,0x59,0x46,0xC5}; - -/* Enum BMDDisplayModeSupport_v10_11 - Output mode supported flags */ - -typedef uint32_t BMDDisplayModeSupport_v10_11; -enum _BMDDisplayModeSupport_v10_11 { - bmdDisplayModeNotSupported_v10_11 = 0, - bmdDisplayModeSupported_v10_11, - bmdDisplayModeSupportedWithConversion_v10_11 -}; - -/* Enum BMDDuplexMode_v10_11 - Duplex for configurable ports */ - -typedef uint32_t BMDDuplexMode_v10_11; -enum _BMDDuplexMode_v10_11 { - bmdDuplexModeFull_v10_11 = 'fdup', - bmdDuplexModeHalf_v10_11 = 'hdup' -}; - -/* Enum BMDDeckLinkAttributeID_v10_11 - DeckLink Attribute ID */ - -enum _BMDDeckLinkAttributeID_v10_11 { - - /* Flags */ - - BMDDeckLinkSupportsDuplexModeConfiguration_v10_11 = 'dupx', - BMDDeckLinkSupportsHDKeying_v10_11 = 'keyh', - - /* Integers */ - - BMDDeckLinkPairedDevicePersistentID_v10_11 = 'ppid', - BMDDeckLinkSupportsFullDuplex_v10_11 = 'fdup', -}; - -enum _BMDDeckLinkStatusID_v10_11 { - bmdDeckLinkStatusDuplexMode_v10_11 = 'dupx', -}; - -typedef uint32_t BMDDuplexStatus_v10_11; -enum _BMDDuplexStatus_v10_11 { - bmdDuplexFullDuplex_v10_11 = 'fdup', - bmdDuplexHalfDuplex_v10_11 = 'hdup', - bmdDuplexSimplex_v10_11 = 'splx', - bmdDuplexInactive_v10_11 = 'inac', -}; - -#if defined(__cplusplus) - -/* Interface IDeckLinkAttributes_v10_11 - DeckLink Attribute interface */ - -class BMD_PUBLIC IDeckLinkAttributes_v10_11 : public IUnknown -{ -public: - virtual HRESULT GetFlag (/* in */ BMDDeckLinkAttributeID cfgID, /* out */ bool *value) = 0; - virtual HRESULT GetInt (/* in */ BMDDeckLinkAttributeID cfgID, /* out */ int64_t *value) = 0; - virtual HRESULT GetFloat (/* in */ BMDDeckLinkAttributeID cfgID, /* out */ double *value) = 0; - virtual HRESULT GetString (/* in */ BMDDeckLinkAttributeID cfgID, /* out */ CFStringRef *value) = 0; - -protected: - virtual ~IDeckLinkAttributes_v10_11 () {} // call Release method to drop reference count -}; - -/* Interface IDeckLinkNotification_v10_11 - DeckLink Notification interface */ - -class BMD_PUBLIC IDeckLinkNotification_v10_11 : public IUnknown -{ -public: - virtual HRESULT Subscribe (/* in */ BMDNotifications topic, /* in */ IDeckLinkNotificationCallback *theCallback) = 0; - virtual HRESULT Unsubscribe (/* in */ BMDNotifications topic, /* in */ IDeckLinkNotificationCallback *theCallback) = 0; -}; - -/* Functions */ - -extern "C" { - - IDeckLinkIterator* BMD_PUBLIC CreateDeckLinkIteratorInstance_v10_11 (void); - IDeckLinkDiscovery* BMD_PUBLIC CreateDeckLinkDiscoveryInstance_v10_11 (void); - IDeckLinkAPIInformation* BMD_PUBLIC CreateDeckLinkAPIInformationInstance_v10_11 (void); - IDeckLinkGLScreenPreviewHelper* BMD_PUBLIC CreateOpenGLScreenPreviewHelper_v10_11 (void); - IDeckLinkCocoaScreenPreviewCallback* BMD_PUBLIC CreateCocoaScreenPreview_v10_11 (void* /* (NSView*) */ parentView); - IDeckLinkVideoConversion* BMD_PUBLIC CreateVideoConversionInstance_v10_11 (void); - IDeckLinkVideoFrameAncillaryPackets* BMD_PUBLIC CreateVideoFrameAncillaryPacketsInstance_v10_11 (void); // For use when creating a custom IDeckLinkVideoFrame without wrapping IDeckLinkOutput::CreateVideoFrame - -} - -#endif // defined(__cplusplus) -#endif /* defined(BMD_DECKLINKAPI_v10_11_H) */ diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPI_v10_2.h b/ext-deps/DeckLink/Mac/DeckLinkAPI_v10_2.h deleted file mode 100644 index e5c95e476c..0000000000 --- a/ext-deps/DeckLink/Mac/DeckLinkAPI_v10_2.h +++ /dev/null @@ -1,55 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2014 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPI_v10_2_H -#define BMD_DECKLINKAPI_v10_2_H - -#include "DeckLinkAPI.h" - -// Type Declarations - -/* Enum BMDDeckLinkConfigurationID - DeckLink Configuration ID */ - -typedef uint32_t BMDDeckLinkConfigurationID_v10_2; -enum _BMDDeckLinkConfigurationID_v10_2 { - /* Video output flags */ - - bmdDeckLinkConfig3GBpsVideoOutput_v10_2 = '3gbs', -}; - -/* Enum BMDAudioConnection_v10_2 - Audio connection types */ - -typedef uint32_t BMDAudioConnection_v10_2; -enum _BMDAudioConnection_v10_2 { - bmdAudioConnectionEmbedded_v10_2 = 'embd', - bmdAudioConnectionAESEBU_v10_2 = 'aes ', - bmdAudioConnectionAnalog_v10_2 = 'anlg', - bmdAudioConnectionAnalogXLR_v10_2 = 'axlr', - bmdAudioConnectionAnalogRCA_v10_2 = 'arca' -}; - -#endif /* defined(BMD_DECKLINKAPI_v10_2_H) */ diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPI_v10_4.h b/ext-deps/DeckLink/Mac/DeckLinkAPI_v10_4.h deleted file mode 100644 index 7e5019ca2b..0000000000 --- a/ext-deps/DeckLink/Mac/DeckLinkAPI_v10_4.h +++ /dev/null @@ -1,45 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2015 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPI_v10_4_H -#define BMD_DECKLINKAPI_v10_4_H - -#include "DeckLinkAPI.h" - -// Type Declarations - -/* Enum BMDDeckLinkConfigurationID - DeckLink Configuration ID */ - -typedef uint32_t BMDDeckLinkConfigurationID_v10_4; -enum _BMDDeckLinkConfigurationID_v10_4 { - - /* Video output flags */ - - bmdDeckLinkConfigSingleLinkVideoOutput_v10_4 = /* 'sglo' */ 0x73676C6F, -}; - -#endif /* defined(BMD_DECKLINKAPI_v10_4_H) */ diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPI_v10_5.h b/ext-deps/DeckLink/Mac/DeckLinkAPI_v10_5.h deleted file mode 100644 index 4439daef7b..0000000000 --- a/ext-deps/DeckLink/Mac/DeckLinkAPI_v10_5.h +++ /dev/null @@ -1,46 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2015 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPI_v10_5_H -#define BMD_DECKLINKAPI_v10_5_H - -#include "DeckLinkAPI.h" - -// Type Declarations - -/* Enum BMDDeckLinkAttributeID - DeckLink Attribute ID */ - -typedef uint32_t BMDDeckLinkAttributeID_v10_5; -enum _BMDDeckLinkAttributeID_v10_5 { - - /* Integers */ - - BMDDeckLinkDeviceBusyState_v10_5 = /* 'dbst' */ 0x64627374, -}; - -#endif /* defined(BMD_DECKLINKAPI_v10_5_H) */ - diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPI_v10_6.h b/ext-deps/DeckLink/Mac/DeckLinkAPI_v10_6.h deleted file mode 100644 index 7f78e53e6d..0000000000 --- a/ext-deps/DeckLink/Mac/DeckLinkAPI_v10_6.h +++ /dev/null @@ -1,51 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2016 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPI_v10_6_H -#define BMD_DECKLINKAPI_v10_6_H - -#include "DeckLinkAPI.h" - -// Type Declarations - -/* Enum BMDDeckLinkAttributeID - DeckLink Attribute ID */ - -typedef uint32_t BMDDeckLinkAttributeID_c10_6; -enum _BMDDeckLinkAttributeID_v10_6 { - - /* Flags */ - - BMDDeckLinkSupportsDesktopDisplay_v10_6 = 'extd', -}; - -typedef uint32_t BMDIdleVideoOutputOperation_v10_6; -enum _BMDIdleVideoOutputOperation_v10_6 { - bmdIdleVideoOutputDesktop_v10_6 = 'desk' -}; - - -#endif /* defined(BMD_DECKLINKAPI_v10_6_H) */ diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPI_v10_9.h b/ext-deps/DeckLink/Mac/DeckLinkAPI_v10_9.h deleted file mode 100644 index aec8c7c201..0000000000 --- a/ext-deps/DeckLink/Mac/DeckLinkAPI_v10_9.h +++ /dev/null @@ -1,45 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2017 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPI_v10_9_H -#define BMD_DECKLINKAPI_v10_9_H - -#include "DeckLinkAPI.h" - -// Type Declarations - -/* Enum BMDDeckLinkAttributeID - DeckLink Attribute ID */ - -typedef uint32_t BMDDeckLinkConfigurationID_v10_9; -enum _BMDDeckLinkConfigurationID_v10_9 { - - /* Flags */ - - bmdDeckLinkConfig1080pNotPsF_v10_9 = 'fpro', -}; - -#endif /* defined(BMD_DECKLINKAPI_v10_9_H) */ diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPI_v11_5.h b/ext-deps/DeckLink/Mac/DeckLinkAPI_v11_5.h deleted file mode 100644 index 01b74fa9f3..0000000000 --- a/ext-deps/DeckLink/Mac/DeckLinkAPI_v11_5.h +++ /dev/null @@ -1,100 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2020 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPI_v11_5_H -#define BMD_DECKLINKAPI_v11_5_H - -#include "DeckLinkAPI.h" - -BMD_CONST REFIID IID_IDeckLinkVideoFrameMetadataExtensions_v11_5 = /* D5973DC9-6432-46D0-8F0B-2496F8A1238F */ {0xD5,0x97,0x3D,0xC9,0x64,0x32,0x46,0xD0,0x8F,0x0B,0x24,0x96,0xF8,0xA1,0x23,0x8F}; - -/* Enum BMDDeckLinkFrameMetadataID - DeckLink Frame Metadata ID */ - -typedef uint32_t BMDDeckLinkFrameMetadataID_v11_5; -enum _BMDDeckLinkFrameMetadataID_v11_5 { - bmdDeckLinkFrameMetadataCintelFilmType_v11_5 = /* 'cfty' */ 0x63667479, // Current film type - bmdDeckLinkFrameMetadataCintelFilmGauge_v11_5 = /* 'cfga' */ 0x63666761, // Current film gauge - bmdDeckLinkFrameMetadataCintelKeykodeLow_v11_5 = /* 'ckkl' */ 0x636B6B6C, // Raw keykode value - low 64 bits - bmdDeckLinkFrameMetadataCintelKeykodeHigh_v11_5 = /* 'ckkh' */ 0x636B6B68, // Raw keykode value - high 64 bits - bmdDeckLinkFrameMetadataCintelTile1Size_v11_5 = /* 'ct1s' */ 0x63743173, // Size in bytes of compressed raw tile 1 - bmdDeckLinkFrameMetadataCintelTile2Size_v11_5 = /* 'ct2s' */ 0x63743273, // Size in bytes of compressed raw tile 2 - bmdDeckLinkFrameMetadataCintelTile3Size_v11_5 = /* 'ct3s' */ 0x63743373, // Size in bytes of compressed raw tile 3 - bmdDeckLinkFrameMetadataCintelTile4Size_v11_5 = /* 'ct4s' */ 0x63743473, // Size in bytes of compressed raw tile 4 - bmdDeckLinkFrameMetadataCintelImageWidth_v11_5 = /* 'IWPx' */ 0x49575078, // Width in pixels of image - bmdDeckLinkFrameMetadataCintelImageHeight_v11_5 = /* 'IHPx' */ 0x49485078, // Height in pixels of image - bmdDeckLinkFrameMetadataCintelLinearMaskingRedInRed_v11_5 = /* 'mrir' */ 0x6D726972, // Red in red linear masking parameter - bmdDeckLinkFrameMetadataCintelLinearMaskingGreenInRed_v11_5 = /* 'mgir' */ 0x6D676972, // Green in red linear masking parameter - bmdDeckLinkFrameMetadataCintelLinearMaskingBlueInRed_v11_5 = /* 'mbir' */ 0x6D626972, // Blue in red linear masking parameter - bmdDeckLinkFrameMetadataCintelLinearMaskingRedInGreen_v11_5 = /* 'mrig' */ 0x6D726967, // Red in green linear masking parameter - bmdDeckLinkFrameMetadataCintelLinearMaskingGreenInGreen_v11_5 = /* 'mgig' */ 0x6D676967, // Green in green linear masking parameter - bmdDeckLinkFrameMetadataCintelLinearMaskingBlueInGreen_v11_5 = /* 'mbig' */ 0x6D626967, // Blue in green linear masking parameter - bmdDeckLinkFrameMetadataCintelLinearMaskingRedInBlue_v11_5 = /* 'mrib' */ 0x6D726962, // Red in blue linear masking parameter - bmdDeckLinkFrameMetadataCintelLinearMaskingGreenInBlue_v11_5 = /* 'mgib' */ 0x6D676962, // Green in blue linear masking parameter - bmdDeckLinkFrameMetadataCintelLinearMaskingBlueInBlue_v11_5 = /* 'mbib' */ 0x6D626962, // Blue in blue linear masking parameter - bmdDeckLinkFrameMetadataCintelLogMaskingRedInRed_v11_5 = /* 'mlrr' */ 0x6D6C7272, // Red in red log masking parameter - bmdDeckLinkFrameMetadataCintelLogMaskingGreenInRed_v11_5 = /* 'mlgr' */ 0x6D6C6772, // Green in red log masking parameter - bmdDeckLinkFrameMetadataCintelLogMaskingBlueInRed_v11_5 = /* 'mlbr' */ 0x6D6C6272, // Blue in red log masking parameter - bmdDeckLinkFrameMetadataCintelLogMaskingRedInGreen_v11_5 = /* 'mlrg' */ 0x6D6C7267, // Red in green log masking parameter - bmdDeckLinkFrameMetadataCintelLogMaskingGreenInGreen_v11_5 = /* 'mlgg' */ 0x6D6C6767, // Green in green log masking parameter - bmdDeckLinkFrameMetadataCintelLogMaskingBlueInGreen_v11_5 = /* 'mlbg' */ 0x6D6C6267, // Blue in green log masking parameter - bmdDeckLinkFrameMetadataCintelLogMaskingRedInBlue_v11_5 = /* 'mlrb' */ 0x6D6C7262, // Red in blue log masking parameter - bmdDeckLinkFrameMetadataCintelLogMaskingGreenInBlue_v11_5 = /* 'mlgb' */ 0x6D6C6762, // Green in blue log masking parameter - bmdDeckLinkFrameMetadataCintelLogMaskingBlueInBlue_v11_5 = /* 'mlbb' */ 0x6D6C6262, // Blue in blue log masking parameter - bmdDeckLinkFrameMetadataCintelFilmFrameRate_v11_5 = /* 'cffr' */ 0x63666672, // Film frame rate - bmdDeckLinkFrameMetadataCintelOffsetToApplyHorizontal_v11_5 = /* 'otah' */ 0x6F746168, // Horizontal offset (pixels) to be applied to image - bmdDeckLinkFrameMetadataCintelOffsetToApplyVertical_v11_5 = /* 'otav' */ 0x6F746176, // Vertical offset (pixels) to be applied to image - bmdDeckLinkFrameMetadataCintelGainRed_v11_5 = /* 'LfRd' */ 0x4C665264, // Red gain parameter to apply after log - bmdDeckLinkFrameMetadataCintelGainGreen_v11_5 = /* 'LfGr' */ 0x4C664772, // Green gain parameter to apply after log - bmdDeckLinkFrameMetadataCintelGainBlue_v11_5 = /* 'LfBl' */ 0x4C66426C, // Blue gain parameter to apply after log - bmdDeckLinkFrameMetadataCintelLiftRed_v11_5 = /* 'GnRd' */ 0x476E5264, // Red lift parameter to apply after log and gain - bmdDeckLinkFrameMetadataCintelLiftGreen_v11_5 = /* 'GnGr' */ 0x476E4772, // Green lift parameter to apply after log and gain - bmdDeckLinkFrameMetadataCintelLiftBlue_v11_5 = /* 'GnBl' */ 0x476E426C, // Blue lift parameter to apply after log and gain - bmdDeckLinkFrameMetadataCintelHDRGainRed_v11_5 = /* 'HGRd' */ 0x48475264, // Red gain parameter to apply to linear data for HDR Combination - bmdDeckLinkFrameMetadataCintelHDRGainGreen_v11_5 = /* 'HGGr' */ 0x48474772, // Green gain parameter to apply to linear data for HDR Combination - bmdDeckLinkFrameMetadataCintelHDRGainBlue_v11_5 = /* 'HGBl' */ 0x4847426C, // Blue gain parameter to apply to linear data for HDR Combination - bmdDeckLinkFrameMetadataCintel16mmCropRequired_v11_5 = /* 'c16c' */ 0x63313663, // The image should be cropped to 16mm size - bmdDeckLinkFrameMetadataCintelInversionRequired_v11_5 = /* 'cinv' */ 0x63696E76, // The image should be colour inverted - bmdDeckLinkFrameMetadataCintelFlipRequired_v11_5 = /* 'cflr' */ 0x63666C72, // The image should be flipped horizontally - bmdDeckLinkFrameMetadataCintelFocusAssistEnabled_v11_5 = /* 'cfae' */ 0x63666165, // Focus Assist is currently enabled - bmdDeckLinkFrameMetadataCintelKeykodeIsInterpolated_v11_5 = /* 'kkii' */ 0x6B6B6969 // The keykode for this frame is interpolated from nearby keykodes -}; - -/* Interface IDeckLinkVideoFrameMetadataExtensions - Optional interface implemented on IDeckLinkVideoFrame to support frame metadata such as HDMI HDR information */ - -class BMD_PUBLIC IDeckLinkVideoFrameMetadataExtensions_v11_5 : public IUnknown -{ -public: - virtual HRESULT GetInt (/* in */ BMDDeckLinkFrameMetadataID_v11_5 metadataID, /* out */ int64_t *value) = 0; - virtual HRESULT GetFloat (/* in */ BMDDeckLinkFrameMetadataID_v11_5 metadataID, /* out */ double *value) = 0; - virtual HRESULT GetFlag (/* in */ BMDDeckLinkFrameMetadataID_v11_5 metadataID, /* out */ bool *value) = 0; - virtual HRESULT GetString (/* in */ BMDDeckLinkFrameMetadataID_v11_5 metadataID, /* out */ CFStringRef *value) = 0; - -protected: - virtual ~IDeckLinkVideoFrameMetadataExtensions_v11_5 () {} // call Release method to drop reference count -}; - -#endif /* defined(BMD_DECKLINKAPI_v11_5_H) */ diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPI_v11_5_1.h b/ext-deps/DeckLink/Mac/DeckLinkAPI_v11_5_1.h deleted file mode 100644 index 71ca171f6f..0000000000 --- a/ext-deps/DeckLink/Mac/DeckLinkAPI_v11_5_1.h +++ /dev/null @@ -1,44 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2020 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPI_v11_5_1_H -#define BMD_DECKLINKAPI_v11_5_1_H - -#include "DeckLinkAPI.h" - -/* Enum BMDDeckLinkStatusID - DeckLink Status ID */ - -typedef uint32_t BMDDeckLinkStatusID_v11_5_1; -enum _BMDDeckLinkStatusID_v11_5_1 { - - /* Video output flags */ - - bmdDeckLinkStatusDetectedVideoInputFlags_v11_5_1 = /* 'dvif' */ 0x64766966, - -}; - -#endif /* defined(BMD_DECKLINKAPI_v11_5_1_H) */ diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPI_v7_1.h b/ext-deps/DeckLink/Mac/DeckLinkAPI_v7_1.h deleted file mode 100644 index 8e38f07e78..0000000000 --- a/ext-deps/DeckLink/Mac/DeckLinkAPI_v7_1.h +++ /dev/null @@ -1,199 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2009 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ -/* DeckLinkAPI_v7_1.h */ - -#ifndef __DeckLink_API_v7_1_h__ -#define __DeckLink_API_v7_1_h__ - -#include "DeckLinkAPI.h" -#include "DeckLinkAPI_v10_11.h" - -// "B28131B6-59AC-4857-B5AC-CD75D5883E2F" -#define IID_IDeckLinkDisplayModeIterator_v7_1 (REFIID){0xB2,0x81,0x31,0xB6,0x59,0xAC,0x48,0x57,0xB5,0xAC,0xCD,0x75,0xD5,0x88,0x3E,0x2F} - -// "AF0CD6D5-8376-435E-8433-54F9DD530AC3" -#define IID_IDeckLinkDisplayMode_v7_1 (REFIID){0xAF,0x0C,0xD6,0xD5,0x83,0x76,0x43,0x5E,0x84,0x33,0x54,0xF9,0xDD,0x53,0x0A,0xC3} - -// "EBD01AFA-E4B0-49C6-A01D-EDB9D1B55FD9" -#define IID_IDeckLinkVideoOutputCallback_v7_1 (REFIID){0xEB,0xD0,0x1A,0xFA,0xE4,0xB0,0x49,0xC6,0xA0,0x1D,0xED,0xB9,0xD1,0xB5,0x5F,0xD9} - -// "7F94F328-5ED4-4E9F-9729-76A86BDC99CC" -#define IID_IDeckLinkInputCallback_v7_1 (REFIID){0x7F,0x94,0xF3,0x28,0x5E,0xD4,0x4E,0x9F,0x97,0x29,0x76,0xA8,0x6B,0xDC,0x99,0xCC} - -// "AE5B3E9B-4E1E-4535-B6E8-480FF52F6CE5" -#define IID_IDeckLinkOutput_v7_1 (REFIID){0xAE,0x5B,0x3E,0x9B,0x4E,0x1E,0x45,0x35,0xB6,0xE8,0x48,0x0F,0xF5,0x2F,0x6C,0xE5} - -// "2B54EDEF-5B32-429F-BA11-BB990596EACD" -#define IID_IDeckLinkInput_v7_1 (REFIID){0x2B,0x54,0xED,0xEF,0x5B,0x32,0x42,0x9F,0xBA,0x11,0xBB,0x99,0x05,0x96,0xEA,0xCD} - -// "333F3A10-8C2D-43CF-B79D-46560FEEA1CE" -#define IID_IDeckLinkVideoFrame_v7_1 (REFIID){0x33,0x3F,0x3A,0x10,0x8C,0x2D,0x43,0xCF,0xB7,0x9D,0x46,0x56,0x0F,0xEE,0xA1,0xCE} - -// "C8B41D95-8848-40EE-9B37-6E3417FB114B" -#define IID_IDeckLinkVideoInputFrame_v7_1 (REFIID){0xC8,0xB4,0x1D,0x95,0x88,0x48,0x40,0xEE,0x9B,0x37,0x6E,0x34,0x17,0xFB,0x11,0x4B} - -// "C86DE4F6-A29F-42E3-AB3A-1363E29F0788" -#define IID_IDeckLinkAudioInputPacket_v7_1 (REFIID){0xC8,0x6D,0xE4,0xF6,0xA2,0x9F,0x42,0xE3,0xAB,0x3A,0x13,0x63,0xE2,0x9F,0x07,0x88} - -#if defined(__cplusplus) - -class IDeckLinkVideoFrame_v7_1; -class IDeckLinkDisplayModeIterator_v7_1; -class IDeckLinkDisplayMode_v7_1; -class IDeckLinkVideoInputFrame_v7_1; -class IDeckLinkAudioInputPacket_v7_1; - -class IDeckLinkDisplayModeIterator_v7_1 : public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE Next (IDeckLinkDisplayMode_v7_1* *deckLinkDisplayMode) = 0; -}; - - -class IDeckLinkDisplayMode_v7_1 : public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE GetName (CFStringRef* name) = 0; - virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode () = 0; - virtual long STDMETHODCALLTYPE GetWidth () = 0; - virtual long STDMETHODCALLTYPE GetHeight () = 0; - virtual HRESULT STDMETHODCALLTYPE GetFrameRate (BMDTimeValue *frameDuration, BMDTimeScale *timeScale) = 0; -}; - -class IDeckLinkVideoOutputCallback_v7_1 : public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted (IDeckLinkVideoFrame_v7_1* completedFrame, BMDOutputFrameCompletionResult result) = 0; -}; - -class IDeckLinkInputCallback_v7_1 : public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived (IDeckLinkVideoInputFrame_v7_1* videoFrame, IDeckLinkAudioInputPacket_v7_1* audioPacket) = 0; -}; - -// IDeckLinkOutput_v7_1. Created by QueryInterface from IDeckLink. -class IDeckLinkOutput_v7_1 : public IUnknown -{ -public: - // Display mode predicates - virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, BMDDisplayModeSupport_v10_11 *result) = 0; - virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator (IDeckLinkDisplayModeIterator_v7_1* *iterator) = 0; - - - // Video output - virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput (BMDDisplayMode displayMode) = 0; - virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput () = 0; - - virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator (IDeckLinkMemoryAllocator* theAllocator) = 0; - virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame (int32_t width, int32_t height, int32_t rowBytes, BMDPixelFormat pixelFormat, BMDFrameFlags flags, IDeckLinkVideoFrame_v7_1* *outFrame) = 0; - virtual HRESULT STDMETHODCALLTYPE CreateVideoFrameFromBuffer (void* buffer, int32_t width, int32_t height, int32_t rowBytes, BMDPixelFormat pixelFormat, BMDFrameFlags flags, IDeckLinkVideoFrame_v7_1* *outFrame) = 0; - - virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync (IDeckLinkVideoFrame_v7_1* theFrame) = 0; - virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame (IDeckLinkVideoFrame_v7_1* theFrame, BMDTimeValue displayTime, BMDTimeValue displayDuration, BMDTimeScale timeScale) = 0; - virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback (IDeckLinkVideoOutputCallback_v7_1* theCallback) = 0; - - - // Audio output - virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput (BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, uint32_t channelCount) = 0; - virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput () = 0; - - virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync (void* buffer, uint32_t sampleFrameCount, uint32_t *sampleFramesWritten) = 0; - - virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll () = 0; - virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll () = 0; - virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples (void* buffer, uint32_t sampleFrameCount, BMDTimeValue streamTime, BMDTimeScale timeScale, uint32_t *sampleFramesWritten) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount (uint32_t *bufferedSampleCount) = 0; - virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples () = 0; - - virtual HRESULT STDMETHODCALLTYPE SetAudioCallback (IDeckLinkAudioOutputCallback* theCallback) = 0; - - - // Output control - virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback (BMDTimeValue playbackStartTime, BMDTimeScale timeScale, double playbackSpeed) = 0; - virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback (BMDTimeValue stopPlaybackAtTime, BMDTimeValue *actualStopTime, BMDTimeScale timeScale) = 0; - virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock (BMDTimeScale desiredTimeScale, BMDTimeValue *elapsedTimeSinceSchedulerBegan) = 0; -}; - -// IDeckLinkInput_v7_1. Created by QueryInterface from IDeckLink. -class IDeckLinkInput_v7_1 : public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, BMDDisplayModeSupport_v10_11 *result) = 0; - virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator (IDeckLinkDisplayModeIterator_v7_1 **iterator) = 0; - - // Video input - virtual HRESULT STDMETHODCALLTYPE EnableVideoInput (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, BMDVideoInputFlags flags) = 0; - virtual HRESULT STDMETHODCALLTYPE DisableVideoInput () = 0; - - // Audio input - virtual HRESULT STDMETHODCALLTYPE EnableAudioInput (BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, uint32_t channelCount) = 0; - virtual HRESULT STDMETHODCALLTYPE DisableAudioInput () = 0; - virtual HRESULT STDMETHODCALLTYPE ReadAudioSamples (void* buffer, uint32_t sampleFrameCount, uint32_t *sampleFramesRead, BMDTimeValue *audioPacketTime, BMDTimeScale timeScale) = 0; - virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount (uint32_t *bufferedSampleCount) = 0; - - // Input control - virtual HRESULT STDMETHODCALLTYPE StartStreams () = 0; - virtual HRESULT STDMETHODCALLTYPE StopStreams () = 0; - virtual HRESULT STDMETHODCALLTYPE PauseStreams () = 0; - virtual HRESULT STDMETHODCALLTYPE SetCallback (IDeckLinkInputCallback_v7_1* theCallback) = 0; -}; - -// IDeckLinkVideoFrame_v7_1. Created by IDeckLinkOutput::CreateVideoFrame. -class IDeckLinkVideoFrame_v7_1 : public IUnknown -{ -public: - virtual long STDMETHODCALLTYPE GetWidth () = 0; - virtual long STDMETHODCALLTYPE GetHeight () = 0; - virtual long STDMETHODCALLTYPE GetRowBytes () = 0; - virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat () = 0; - virtual BMDFrameFlags STDMETHODCALLTYPE GetFlags () = 0; - virtual HRESULT STDMETHODCALLTYPE GetBytes (void* *buffer) = 0; -}; - -// IDeckLinkVideoInputFrame_v7_1. Provided by the IDeckLinkInput_v7_1 frame arrival callback. -class IDeckLinkVideoInputFrame_v7_1 : public IDeckLinkVideoFrame_v7_1 -{ -public: - virtual HRESULT STDMETHODCALLTYPE GetFrameTime (BMDTimeValue *frameTime, BMDTimeValue *frameDuration, BMDTimeScale timeScale) = 0; -}; - -// IDeckLinkAudioInputPacket_v7_1. Provided by the IDeckLinkInput_v7_1 callback. -class IDeckLinkAudioInputPacket_v7_1 : public IUnknown -{ -public: - virtual long STDMETHODCALLTYPE GetSampleCount () = 0; - virtual HRESULT STDMETHODCALLTYPE GetBytes (void* *buffer) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAudioPacketTime (BMDTimeValue *packetTime, BMDTimeScale timeScale) = 0; -}; - -#endif // defined(__cplusplus) - -#endif // __DeckLink_API_v7_1_h__ - diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPI_v7_3.h b/ext-deps/DeckLink/Mac/DeckLinkAPI_v7_3.h deleted file mode 100644 index a0232b3765..0000000000 --- a/ext-deps/DeckLink/Mac/DeckLinkAPI_v7_3.h +++ /dev/null @@ -1,173 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2009 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -/* DeckLinkAPI_v7_3.h */ - -#ifndef __DeckLink_API_v7_3_h__ -#define __DeckLink_API_v7_3_h__ - -#include "DeckLinkAPI.h" -#include "DeckLinkAPI_v7_6.h" - -/* Interface ID Declarations */ - -#define IID_IDeckLinkInputCallback_v7_3 /* FD6F311D-4D00-444B-9ED4-1F25B5730AD0 */ (REFIID){0xFD,0x6F,0x31,0x1D,0x4D,0x00,0x44,0x4B,0x9E,0xD4,0x1F,0x25,0xB5,0x73,0x0A,0xD0} -#define IID_IDeckLinkOutput_v7_3 /* 271C65E3-C323-4344-A30F-D908BCB20AA3 */ (REFIID){0x27,0x1C,0x65,0xE3,0xC3,0x23,0x43,0x44,0xA3,0x0F,0xD9,0x08,0xBC,0xB2,0x0A,0xA3} -#define IID_IDeckLinkInput_v7_3 /* 4973F012-9925-458C-871C-18774CDBBECB */ (REFIID){0x49,0x73,0xF0,0x12,0x99,0x25,0x45,0x8C,0x87,0x1C,0x18,0x77,0x4C,0xDB,0xBE,0xCB} -#define IID_IDeckLinkVideoInputFrame_v7_3 /* CF317790-2894-11DE-8C30-0800200C9A66 */ (REFIID){0xCF,0x31,0x77,0x90,0x28,0x94,0x11,0xDE,0x8C,0x30,0x08,0x00,0x20,0x0C,0x9A,0x66} - -/* End Interface ID Declarations */ - -#if defined(__cplusplus) - -/* Forward Declarations */ - -class IDeckLinkVideoInputFrame_v7_3; - -/* End Forward Declarations */ - - -/* Interface IDeckLinkOutput - Created by QueryInterface from IDeckLink. */ - -class IDeckLinkOutput_v7_3 : public IUnknown -{ -public: - virtual HRESULT DoesSupportVideoMode (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, /* out */ BMDDisplayModeSupport_v10_11 *result) = 0; - virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0; - - virtual HRESULT SetScreenPreviewCallback (/* in */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; - - /* Video Output */ - - virtual HRESULT EnableVideoOutput (BMDDisplayMode displayMode, BMDVideoOutputFlags flags) = 0; - virtual HRESULT DisableVideoOutput (void) = 0; - - virtual HRESULT SetVideoOutputFrameMemoryAllocator (/* in */ IDeckLinkMemoryAllocator *theAllocator) = 0; - virtual HRESULT CreateVideoFrame (int32_t width, int32_t height, int32_t rowBytes, BMDPixelFormat pixelFormat, BMDFrameFlags flags, /* out */ IDeckLinkMutableVideoFrame_v7_6 **outFrame) = 0; - virtual HRESULT CreateAncillaryData (BMDPixelFormat pixelFormat, /* out */ IDeckLinkVideoFrameAncillary **outBuffer) = 0; - - virtual HRESULT DisplayVideoFrameSync (/* in */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0; - virtual HRESULT ScheduleVideoFrame (/* in */ IDeckLinkVideoFrame_v7_6 *theFrame, BMDTimeValue displayTime, BMDTimeValue displayDuration, BMDTimeScale timeScale) = 0; - virtual HRESULT SetScheduledFrameCompletionCallback (/* in */ IDeckLinkVideoOutputCallback *theCallback) = 0; - virtual HRESULT GetBufferedVideoFrameCount (/* out */ uint32_t *bufferedFrameCount) = 0; - - /* Audio Output */ - - virtual HRESULT EnableAudioOutput (BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, uint32_t channelCount, BMDAudioOutputStreamType streamType) = 0; - virtual HRESULT DisableAudioOutput (void) = 0; - - virtual HRESULT WriteAudioSamplesSync (/* in */ void *buffer, uint32_t sampleFrameCount, /* out */ uint32_t *sampleFramesWritten) = 0; - - virtual HRESULT BeginAudioPreroll (void) = 0; - virtual HRESULT EndAudioPreroll (void) = 0; - virtual HRESULT ScheduleAudioSamples (/* in */ void *buffer, uint32_t sampleFrameCount, BMDTimeValue streamTime, BMDTimeScale timeScale, /* out */ uint32_t *sampleFramesWritten) = 0; - - virtual HRESULT GetBufferedAudioSampleFrameCount (/* out */ uint32_t *bufferedSampleFrameCount) = 0; - virtual HRESULT FlushBufferedAudioSamples (void) = 0; - - virtual HRESULT SetAudioCallback (/* in */ IDeckLinkAudioOutputCallback *theCallback) = 0; - - /* Output Control */ - - virtual HRESULT StartScheduledPlayback (BMDTimeValue playbackStartTime, BMDTimeScale timeScale, double playbackSpeed) = 0; - virtual HRESULT StopScheduledPlayback (BMDTimeValue stopPlaybackAtTime, /* out */ BMDTimeValue *actualStopTime, BMDTimeScale timeScale) = 0; - virtual HRESULT IsScheduledPlaybackRunning (/* out */ bool *active) = 0; - virtual HRESULT GetHardwareReferenceClock (BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *elapsedTimeSinceSchedulerBegan) = 0; - -protected: - virtual ~IDeckLinkOutput_v7_3 () {}; // call Release method to drop reference count -}; - -/* End Interface IDeckLinkOutput */ - - -/* Interface IDeckLinkInputCallback - Frame arrival callback. */ - -class IDeckLinkInputCallback_v7_3 : public IUnknown -{ -public: - virtual HRESULT VideoInputFormatChanged (/* in */ BMDVideoInputFormatChangedEvents notificationEvents, /* in */ IDeckLinkDisplayMode_v7_6 *newDisplayMode, /* in */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0; - virtual HRESULT VideoInputFrameArrived (/* in */ IDeckLinkVideoInputFrame_v7_3 *videoFrame, /* in */ IDeckLinkAudioInputPacket *audioPacket) = 0; - -protected: - virtual ~IDeckLinkInputCallback_v7_3 () {}; // call Release method to drop reference count -}; - -/* End Interface IDeckLinkInputCallback */ - - -/* Interface IDeckLinkInput - Created by QueryInterface from IDeckLink. */ - -class IDeckLinkInput_v7_3 : public IUnknown -{ -public: - virtual HRESULT DoesSupportVideoMode (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, /* out */ BMDDisplayModeSupport_v10_11 *result) = 0; - virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0; - - virtual HRESULT SetScreenPreviewCallback (/* in */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; - - /* Video Input */ - - virtual HRESULT EnableVideoInput (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, BMDVideoInputFlags flags) = 0; - virtual HRESULT DisableVideoInput (void) = 0; - virtual HRESULT GetAvailableVideoFrameCount (/* out */ uint32_t *availableFrameCount) = 0; - - /* Audio Input */ - - virtual HRESULT EnableAudioInput (BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, uint32_t channelCount) = 0; - virtual HRESULT DisableAudioInput (void) = 0; - virtual HRESULT GetAvailableAudioSampleFrameCount (/* out */ uint32_t *availableSampleFrameCount) = 0; - - /* Input Control */ - - virtual HRESULT StartStreams (void) = 0; - virtual HRESULT StopStreams (void) = 0; - virtual HRESULT PauseStreams (void) = 0; - virtual HRESULT FlushStreams (void) = 0; - virtual HRESULT SetCallback (/* in */ IDeckLinkInputCallback_v7_3 *theCallback) = 0; - -protected: - virtual ~IDeckLinkInput_v7_3 () {}; // call Release method to drop reference count -}; - -/* End Interface IDeckLinkInput */ - -/* Interface IDeckLinkVideoInputFrame - Provided by the IDeckLinkVideoInput frame arrival callback. */ - -class IDeckLinkVideoInputFrame_v7_3 : public IDeckLinkVideoFrame_v7_6 -{ -public: - virtual HRESULT GetStreamTime (/* out */ BMDTimeValue *frameTime, /* out */ BMDTimeValue *frameDuration, BMDTimeScale timeScale) = 0; - -protected: - virtual ~IDeckLinkVideoInputFrame_v7_3 () {}; // call Release method to drop reference count -}; - -/* End Interface IDeckLinkVideoInputFrame */ - -#endif // defined(__cplusplus) -#endif // __DeckLink_API_v7_3_h__ diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPI_v7_6.h b/ext-deps/DeckLink/Mac/DeckLinkAPI_v7_6.h deleted file mode 100644 index 45505c4667..0000000000 --- a/ext-deps/DeckLink/Mac/DeckLinkAPI_v7_6.h +++ /dev/null @@ -1,422 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2009 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -/* DeckLinkAPI_v7_6.h */ - -#ifndef __DeckLink_API_v7_6_h__ -#define __DeckLink_API_v7_6_h__ - -#include "DeckLinkAPI.h" -#include "DeckLinkAPI_v10_11.h" - -// Interface ID Declarations - -#define IID_IDeckLinkVideoOutputCallback_v7_6 /* E763A626-4A3C-49D1-BF13-E7AD3692AE52 */ (REFIID){0xE7,0x63,0xA6,0x26,0x4A,0x3C,0x49,0xD1,0xBF,0x13,0xE7,0xAD,0x36,0x92,0xAE,0x52} -#define IID_IDeckLinkInputCallback_v7_6 /* 31D28EE7-88B6-4CB1-897A-CDBF79A26414 */ (REFIID){0x31,0xD2,0x8E,0xE7,0x88,0xB6,0x4C,0xB1,0x89,0x7A,0xCD,0xBF,0x79,0xA2,0x64,0x14} -#define IID_IDeckLinkDisplayModeIterator_v7_6 /* 455D741F-1779-4800-86F5-0B5D13D79751 */ (REFIID){0x45,0x5D,0x74,0x1F,0x17,0x79,0x48,0x00,0x86,0xF5,0x0B,0x5D,0x13,0xD7,0x97,0x51} -#define IID_IDeckLinkDisplayMode_v7_6 /* 87451E84-2B7E-439E-A629-4393EA4A8550 */ (REFIID){0x87,0x45,0x1E,0x84,0x2B,0x7E,0x43,0x9E,0xA6,0x29,0x43,0x93,0xEA,0x4A,0x85,0x50} -#define IID_IDeckLinkOutput_v7_6 /* 29228142-EB8C-4141-A621-F74026450955 */ (REFIID){0x29,0x22,0x81,0x42,0xEB,0x8C,0x41,0x41,0xA6,0x21,0xF7,0x40,0x26,0x45,0x09,0x55} -#define IID_IDeckLinkInput_v7_6 /* 300C135A-9F43-48E2-9906-6D7911D93CF1 */ (REFIID){0x30,0x0C,0x13,0x5A,0x9F,0x43,0x48,0xE2,0x99,0x06,0x6D,0x79,0x11,0xD9,0x3C,0xF1} -#define IID_IDeckLinkTimecode_v7_6 /* EFB9BCA6-A521-44F7-BD69-2332F24D9EE6 */ (REFIID){0xEF,0xB9,0xBC,0xA6,0xA5,0x21,0x44,0xF7,0xBD,0x69,0x23,0x32,0xF2,0x4D,0x9E,0xE6} -#define IID_IDeckLinkVideoFrame_v7_6 /* A8D8238E-6B18-4196-99E1-5AF717B83D32 */ (REFIID){0xA8,0xD8,0x23,0x8E,0x6B,0x18,0x41,0x96,0x99,0xE1,0x5A,0xF7,0x17,0xB8,0x3D,0x32} -#define IID_IDeckLinkMutableVideoFrame_v7_6 /* 46FCEE00-B4E6-43D0-91C0-023A7FCEB34F */ (REFIID){0x46,0xFC,0xEE,0x00,0xB4,0xE6,0x43,0xD0,0x91,0xC0,0x02,0x3A,0x7F,0xCE,0xB3,0x4F} -#define IID_IDeckLinkVideoInputFrame_v7_6 /* 9A74FA41-AE9F-47AC-8CF4-01F42DD59965 */ (REFIID){0x9A,0x74,0xFA,0x41,0xAE,0x9F,0x47,0xAC,0x8C,0xF4,0x01,0xF4,0x2D,0xD5,0x99,0x65} -#define IID_IDeckLinkScreenPreviewCallback_v7_6 /* 373F499D-4B4D-4518-AD22-6354E5A5825E */ (REFIID){0x37,0x3F,0x49,0x9D,0x4B,0x4D,0x45,0x18,0xAD,0x22,0x63,0x54,0xE5,0xA5,0x82,0x5E} -#define IID_IDeckLinkCocoaScreenPreviewCallback_v7_6 /* D174152F-8F96-4C07-83A5-DD5F5AF0A2AA */ (REFIID){0xD1,0x74,0x15,0x2F,0x8F,0x96,0x4C,0x07,0x83,0xA5,0xDD,0x5F,0x5A,0xF0,0xA2,0xAA} -#define IID_IDeckLinkGLScreenPreviewHelper_v7_6 /* BA575CD9-A15E-497B-B2C2-F9AFE7BE4EBA */ (REFIID){0xBA,0x57,0x5C,0xD9,0xA1,0x5E,0x49,0x7B,0xB2,0xC2,0xF9,0xAF,0xE7,0xBE,0x4E,0xBA} -#define IID_IDeckLinkVideoConversion_v7_6 /* 3EB504C9-F97D-40FE-A158-D407D48CB53B */ (REFIID){0x3E,0xB5,0x04,0xC9,0xF9,0x7D,0x40,0xFE,0xA1,0x58,0xD4,0x07,0xD4,0x8C,0xB5,0x3B} -#define IID_IDeckLinkConfiguration_v7_6 /* B8EAD569-B764-47F0-A73F-AE40DF6CBF10 */ (REFIID){0xB8,0xEA,0xD5,0x69,0xB7,0x64,0x47,0xF0,0xA7,0x3F,0xAE,0x40,0xDF,0x6C,0xBF,0x10} - - -#if defined(__cplusplus) - -/* Enum BMDVideoConnection - Video connection types */ - -typedef uint32_t BMDVideoConnection_v7_6; -enum _BMDVideoConnection_v7_6 { - bmdVideoConnectionSDI_v7_6 = 'sdi ', - bmdVideoConnectionHDMI_v7_6 = 'hdmi', - bmdVideoConnectionOpticalSDI_v7_6 = 'opti', - bmdVideoConnectionComponent_v7_6 = 'cpnt', - bmdVideoConnectionComposite_v7_6 = 'cmst', - bmdVideoConnectionSVideo_v7_6 = 'svid' -}; - - -// Forward Declarations - -class IDeckLinkVideoOutputCallback_v7_6; -class IDeckLinkInputCallback_v7_6; -class IDeckLinkDisplayModeIterator_v7_6; -class IDeckLinkDisplayMode_v7_6; -class IDeckLinkOutput_v7_6; -class IDeckLinkInput_v7_6; -class IDeckLinkTimecode_v7_6; -class IDeckLinkVideoFrame_v7_6; -class IDeckLinkMutableVideoFrame_v7_6; -class IDeckLinkVideoInputFrame_v7_6; -class IDeckLinkScreenPreviewCallback_v7_6; -class IDeckLinkCocoaScreenPreviewCallback_v7_6; -class IDeckLinkGLScreenPreviewHelper_v7_6; -class IDeckLinkVideoConversion_v7_6; - - -/* Interface IDeckLinkVideoOutputCallback - Frame completion callback. */ - -class IDeckLinkVideoOutputCallback_v7_6 : public IUnknown -{ -public: - virtual HRESULT ScheduledFrameCompleted (/* in */ IDeckLinkVideoFrame_v7_6 *completedFrame, /* in */ BMDOutputFrameCompletionResult result) = 0; - virtual HRESULT ScheduledPlaybackHasStopped (void) = 0; - -protected: - virtual ~IDeckLinkVideoOutputCallback_v7_6 () {}; // call Release method to drop reference count -}; - - -/* Interface IDeckLinkInputCallback - Frame arrival callback. */ - -class IDeckLinkInputCallback_v7_6 : public IUnknown -{ -public: - virtual HRESULT VideoInputFormatChanged (/* in */ BMDVideoInputFormatChangedEvents notificationEvents, /* in */ IDeckLinkDisplayMode_v7_6 *newDisplayMode, /* in */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0; - virtual HRESULT VideoInputFrameArrived (/* in */ IDeckLinkVideoInputFrame_v7_6* videoFrame, /* in */ IDeckLinkAudioInputPacket* audioPacket) = 0; - -protected: - virtual ~IDeckLinkInputCallback_v7_6 () {}; // call Release method to drop reference count -}; - - -/* Interface IDeckLinkDisplayModeIterator - enumerates over supported input/output display modes. */ - -class IDeckLinkDisplayModeIterator_v7_6 : public IUnknown -{ -public: - virtual HRESULT Next (/* out */ IDeckLinkDisplayMode_v7_6 **deckLinkDisplayMode) = 0; - -protected: - virtual ~IDeckLinkDisplayModeIterator_v7_6 () {}; // call Release method to drop reference count -}; - - -/* Interface IDeckLinkDisplayMode - represents a display mode */ - -class IDeckLinkDisplayMode_v7_6 : public IUnknown -{ -public: - virtual HRESULT GetName (/* out */ CFStringRef *name) = 0; - virtual BMDDisplayMode GetDisplayMode (void) = 0; - virtual long GetWidth (void) = 0; - virtual long GetHeight (void) = 0; - virtual HRESULT GetFrameRate (/* out */ BMDTimeValue *frameDuration, /* out */ BMDTimeScale *timeScale) = 0; - virtual BMDFieldDominance GetFieldDominance (void) = 0; - -protected: - virtual ~IDeckLinkDisplayMode_v7_6 () {}; // call Release method to drop reference count -}; - - -/* Interface IDeckLinkOutput - Created by QueryInterface from IDeckLink. */ - -class IDeckLinkOutput_v7_6 : public IUnknown -{ -public: - virtual HRESULT DoesSupportVideoMode (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* out */ BMDDisplayModeSupport_v10_11 *result) = 0; - virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0; - - virtual HRESULT SetScreenPreviewCallback (/* in */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback) = 0; - - /* Video Output */ - - virtual HRESULT EnableVideoOutput (/* in */ BMDDisplayMode displayMode, /* in */ BMDVideoOutputFlags flags) = 0; - virtual HRESULT DisableVideoOutput (void) = 0; - - virtual HRESULT SetVideoOutputFrameMemoryAllocator (/* in */ IDeckLinkMemoryAllocator *theAllocator) = 0; - virtual HRESULT CreateVideoFrame (/* in */ int32_t width, /* in */ int32_t height, /* in */ int32_t rowBytes, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDFrameFlags flags, /* out */ IDeckLinkMutableVideoFrame_v7_6 **outFrame) = 0; - virtual HRESULT CreateAncillaryData (/* in */ BMDPixelFormat pixelFormat, /* out */ IDeckLinkVideoFrameAncillary **outBuffer) = 0; - - virtual HRESULT DisplayVideoFrameSync (/* in */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0; - virtual HRESULT ScheduleVideoFrame (/* in */ IDeckLinkVideoFrame_v7_6 *theFrame, /* in */ BMDTimeValue displayTime, /* in */ BMDTimeValue displayDuration, /* in */ BMDTimeScale timeScale) = 0; - virtual HRESULT SetScheduledFrameCompletionCallback (/* in */ IDeckLinkVideoOutputCallback_v7_6 *theCallback) = 0; - virtual HRESULT GetBufferedVideoFrameCount (/* out */ uint32_t *bufferedFrameCount) = 0; - - /* Audio Output */ - - virtual HRESULT EnableAudioOutput (/* in */ BMDAudioSampleRate sampleRate, /* in */ BMDAudioSampleType sampleType, /* in */ uint32_t channelCount, /* in */ BMDAudioOutputStreamType streamType) = 0; - virtual HRESULT DisableAudioOutput (void) = 0; - - virtual HRESULT WriteAudioSamplesSync (/* in */ void *buffer, /* in */ uint32_t sampleFrameCount, /* out */ uint32_t *sampleFramesWritten) = 0; - - virtual HRESULT BeginAudioPreroll (void) = 0; - virtual HRESULT EndAudioPreroll (void) = 0; - virtual HRESULT ScheduleAudioSamples (/* in */ void *buffer, /* in */ uint32_t sampleFrameCount, /* in */ BMDTimeValue streamTime, /* in */ BMDTimeScale timeScale, /* out */ uint32_t *sampleFramesWritten) = 0; - - virtual HRESULT GetBufferedAudioSampleFrameCount (/* out */ uint32_t *bufferedSampleFrameCount) = 0; - virtual HRESULT FlushBufferedAudioSamples (void) = 0; - - virtual HRESULT SetAudioCallback (/* in */ IDeckLinkAudioOutputCallback *theCallback) = 0; - - /* Output Control */ - - virtual HRESULT StartScheduledPlayback (/* in */ BMDTimeValue playbackStartTime, /* in */ BMDTimeScale timeScale, /* in */ double playbackSpeed) = 0; - virtual HRESULT StopScheduledPlayback (/* in */ BMDTimeValue stopPlaybackAtTime, /* out */ BMDTimeValue *actualStopTime, /* in */ BMDTimeScale timeScale) = 0; - virtual HRESULT IsScheduledPlaybackRunning (/* out */ bool *active) = 0; - virtual HRESULT GetScheduledStreamTime (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *streamTime, /* out */ double *playbackSpeed) = 0; - - /* Hardware Timing */ - - virtual HRESULT GetHardwareReferenceClock (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *hardwareTime, /* out */ BMDTimeValue *timeInFrame, /* out */ BMDTimeValue *ticksPerFrame) = 0; - -protected: - virtual ~IDeckLinkOutput_v7_6 () {}; // call Release method to drop reference count -}; - - -/* Interface IDeckLinkInput_v7_6 - Created by QueryInterface from IDeckLink. */ - -class IDeckLinkInput_v7_6 : public IUnknown -{ -public: - virtual HRESULT DoesSupportVideoMode (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* out */ BMDDisplayModeSupport_v10_11 *result) = 0; - virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0; - - virtual HRESULT SetScreenPreviewCallback (/* in */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback) = 0; - - /* Video Input */ - - virtual HRESULT EnableVideoInput (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDVideoInputFlags flags) = 0; - virtual HRESULT DisableVideoInput (void) = 0; - virtual HRESULT GetAvailableVideoFrameCount (/* out */ uint32_t *availableFrameCount) = 0; - - /* Audio Input */ - - virtual HRESULT EnableAudioInput (/* in */ BMDAudioSampleRate sampleRate, /* in */ BMDAudioSampleType sampleType, /* in */ uint32_t channelCount) = 0; - virtual HRESULT DisableAudioInput (void) = 0; - virtual HRESULT GetAvailableAudioSampleFrameCount (/* out */ uint32_t *availableSampleFrameCount) = 0; - - /* Input Control */ - - virtual HRESULT StartStreams (void) = 0; - virtual HRESULT StopStreams (void) = 0; - virtual HRESULT PauseStreams (void) = 0; - virtual HRESULT FlushStreams (void) = 0; - virtual HRESULT SetCallback (/* in */ IDeckLinkInputCallback_v7_6 *theCallback) = 0; - - /* Hardware Timing */ - - virtual HRESULT GetHardwareReferenceClock (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *hardwareTime, /* out */ BMDTimeValue *timeInFrame, /* out */ BMDTimeValue *ticksPerFrame) = 0; - -protected: - virtual ~IDeckLinkInput_v7_6 () {}; // call Release method to drop reference count -}; - - -/* Interface IDeckLinkTimecode - Used for video frame timecode representation. */ - -class IDeckLinkTimecode_v7_6 : public IUnknown -{ -public: - virtual BMDTimecodeBCD GetBCD (void) = 0; - virtual HRESULT GetComponents (/* out */ uint8_t *hours, /* out */ uint8_t *minutes, /* out */ uint8_t *seconds, /* out */ uint8_t *frames) = 0; - virtual HRESULT GetString (/* out */ CFStringRef *timecode) = 0; - virtual BMDTimecodeFlags GetFlags (void) = 0; - -protected: - virtual ~IDeckLinkTimecode_v7_6 () {}; // call Release method to drop reference count -}; - - -/* Interface IDeckLinkVideoFrame - Interface to encapsulate a video frame; can be caller-implemented. */ - -class IDeckLinkVideoFrame_v7_6 : public IUnknown -{ -public: - virtual long GetWidth (void) = 0; - virtual long GetHeight (void) = 0; - virtual long GetRowBytes (void) = 0; - virtual BMDPixelFormat GetPixelFormat (void) = 0; - virtual BMDFrameFlags GetFlags (void) = 0; - virtual HRESULT GetBytes (/* out */ void **buffer) = 0; - - virtual HRESULT GetTimecode (BMDTimecodeFormat format, /* out */ IDeckLinkTimecode_v7_6 **timecode) = 0; - virtual HRESULT GetAncillaryData (/* out */ IDeckLinkVideoFrameAncillary **ancillary) = 0; - -protected: - virtual ~IDeckLinkVideoFrame_v7_6 () {}; // call Release method to drop reference count -}; - - -/* Interface IDeckLinkMutableVideoFrame - Created by IDeckLinkOutput::CreateVideoFrame. */ - -class IDeckLinkMutableVideoFrame_v7_6 : public IDeckLinkVideoFrame_v7_6 -{ -public: - virtual HRESULT SetFlags (BMDFrameFlags newFlags) = 0; - - virtual HRESULT SetTimecode (BMDTimecodeFormat format, /* in */ IDeckLinkTimecode_v7_6 *timecode) = 0; - virtual HRESULT SetTimecodeFromComponents (BMDTimecodeFormat format, uint8_t hours, uint8_t minutes, uint8_t seconds, uint8_t frames, BMDTimecodeFlags flags) = 0; - virtual HRESULT SetAncillaryData (/* in */ IDeckLinkVideoFrameAncillary *ancillary) = 0; - -protected: - virtual ~IDeckLinkMutableVideoFrame_v7_6 () {}; // call Release method to drop reference count -}; - - -/* Interface IDeckLinkVideoInputFrame - Provided by the IDeckLinkVideoInput frame arrival callback. */ - -class IDeckLinkVideoInputFrame_v7_6 : public IDeckLinkVideoFrame_v7_6 -{ -public: - virtual HRESULT GetStreamTime (/* out */ BMDTimeValue *frameTime, /* out */ BMDTimeValue *frameDuration, BMDTimeScale timeScale) = 0; - virtual HRESULT GetHardwareReferenceTimestamp (BMDTimeScale timeScale, /* out */ BMDTimeValue *frameTime, /* out */ BMDTimeValue *frameDuration) = 0; - -protected: - virtual ~IDeckLinkVideoInputFrame_v7_6 () {}; // call Release method to drop reference count -}; - - -/* Interface IDeckLinkScreenPreviewCallback - Screen preview callback */ - -class IDeckLinkScreenPreviewCallback_v7_6 : public IUnknown -{ -public: - virtual HRESULT DrawFrame (/* in */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0; - -protected: - virtual ~IDeckLinkScreenPreviewCallback_v7_6 () {}; // call Release method to drop reference count -}; - - -/* Interface IDeckLinkCocoaScreenPreviewCallback - Screen preview callback for Cocoa-based applications */ - -class IDeckLinkCocoaScreenPreviewCallback_v7_6 : public IDeckLinkScreenPreviewCallback_v7_6 -{ -public: - -protected: - virtual ~IDeckLinkCocoaScreenPreviewCallback_v7_6 () {}; // call Release method to drop reference count -}; - - -/* Interface IDeckLinkGLScreenPreviewHelper - Created with CoCreateInstance(). */ - -class IDeckLinkGLScreenPreviewHelper_v7_6 : public IUnknown -{ -public: - - /* Methods must be called with OpenGL context set */ - - virtual HRESULT InitializeGL (void) = 0; - virtual HRESULT PaintGL (void) = 0; - virtual HRESULT SetFrame (/* in */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0; - -protected: - virtual ~IDeckLinkGLScreenPreviewHelper_v7_6 () {}; // call Release method to drop reference count -}; - - -/* Interface IDeckLinkVideoConversion - Created with CoCreateInstance(). */ - -class IDeckLinkVideoConversion_v7_6 : public IUnknown -{ -public: - virtual HRESULT ConvertFrame (/* in */ IDeckLinkVideoFrame_v7_6* srcFrame, /* in */ IDeckLinkVideoFrame_v7_6* dstFrame) = 0; - -protected: - virtual ~IDeckLinkVideoConversion_v7_6 () {}; // call Release method to drop reference count -}; - -/* Interface IDeckLinkConfiguration - Created by QueryInterface from IDeckLink. */ - -class IDeckLinkConfiguration_v7_6 : public IUnknown -{ -public: - virtual HRESULT GetConfigurationValidator (/* out */ IDeckLinkConfiguration_v7_6 **configObject) = 0; - virtual HRESULT WriteConfigurationToPreferences (void) = 0; - - /* Video Output Configuration */ - - virtual HRESULT SetVideoOutputFormat (/* in */ BMDVideoConnection_v7_6 videoOutputConnection) = 0; - virtual HRESULT IsVideoOutputActive (/* in */ BMDVideoConnection_v7_6 videoOutputConnection, /* out */ bool *active) = 0; - - virtual HRESULT SetAnalogVideoOutputFlags (/* in */ BMDAnalogVideoFlags analogVideoFlags) = 0; - virtual HRESULT GetAnalogVideoOutputFlags (/* out */ BMDAnalogVideoFlags *analogVideoFlags) = 0; - - virtual HRESULT EnableFieldFlickerRemovalWhenPaused (/* in */ bool enable) = 0; - virtual HRESULT IsEnabledFieldFlickerRemovalWhenPaused (/* out */ bool *enabled) = 0; - - virtual HRESULT Set444And3GBpsVideoOutput (/* in */ bool enable444VideoOutput, /* in */ bool enable3GbsOutput) = 0; - virtual HRESULT Get444And3GBpsVideoOutput (/* out */ bool *is444VideoOutputEnabled, /* out */ bool *threeGbsOutputEnabled) = 0; - - virtual HRESULT SetVideoOutputConversionMode (/* in */ BMDVideoOutputConversionMode conversionMode) = 0; - virtual HRESULT GetVideoOutputConversionMode (/* out */ BMDVideoOutputConversionMode *conversionMode) = 0; - - virtual HRESULT Set_HD1080p24_to_HD1080i5994_Conversion (/* in */ bool enable) = 0; - virtual HRESULT Get_HD1080p24_to_HD1080i5994_Conversion (/* out */ bool *enabled) = 0; - - /* Video Input Configuration */ - - virtual HRESULT SetVideoInputFormat (/* in */ BMDVideoConnection_v7_6 videoInputFormat) = 0; - virtual HRESULT GetVideoInputFormat (/* out */ BMDVideoConnection_v7_6 *videoInputFormat) = 0; - - virtual HRESULT SetAnalogVideoInputFlags (/* in */ BMDAnalogVideoFlags analogVideoFlags) = 0; - virtual HRESULT GetAnalogVideoInputFlags (/* out */ BMDAnalogVideoFlags *analogVideoFlags) = 0; - - virtual HRESULT SetVideoInputConversionMode (/* in */ BMDVideoInputConversionMode conversionMode) = 0; - virtual HRESULT GetVideoInputConversionMode (/* out */ BMDVideoInputConversionMode *conversionMode) = 0; - - virtual HRESULT SetBlackVideoOutputDuringCapture (/* in */ bool blackOutInCapture) = 0; - virtual HRESULT GetBlackVideoOutputDuringCapture (/* out */ bool *blackOutInCapture) = 0; - - virtual HRESULT Set32PulldownSequenceInitialTimecodeFrame (/* in */ uint32_t aFrameTimecode) = 0; - virtual HRESULT Get32PulldownSequenceInitialTimecodeFrame (/* out */ uint32_t *aFrameTimecode) = 0; - - virtual HRESULT SetVancSourceLineMapping (/* in */ uint32_t activeLine1VANCsource, /* in */ uint32_t activeLine2VANCsource, /* in */ uint32_t activeLine3VANCsource) = 0; - virtual HRESULT GetVancSourceLineMapping (/* out */ uint32_t *activeLine1VANCsource, /* out */ uint32_t *activeLine2VANCsource, /* out */ uint32_t *activeLine3VANCsource) = 0; - - /* Audio Input Configuration */ - - virtual HRESULT SetAudioInputFormat (/* in */ BMDAudioConnection audioInputFormat) = 0; - virtual HRESULT GetAudioInputFormat (/* out */ BMDAudioConnection *audioInputFormat) = 0; -}; - - - -/* Functions */ - -extern "C" { - - IDeckLinkIterator* CreateDeckLinkIteratorInstance_v7_6 (void); - IDeckLinkGLScreenPreviewHelper_v7_6* CreateOpenGLScreenPreviewHelper_v7_6 (void); - IDeckLinkCocoaScreenPreviewCallback_v7_6* CreateCocoaScreenPreview_v7_6 (void* /* (NSView*) */ parentView); - IDeckLinkVideoConversion_v7_6* CreateVideoConversionInstance_v7_6 (void); - -}; - - -#endif // defined(__cplusplus) -#endif // __DeckLink_API_v7_6_h__ diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPI_v7_9.h b/ext-deps/DeckLink/Mac/DeckLinkAPI_v7_9.h deleted file mode 100644 index c882f61863..0000000000 --- a/ext-deps/DeckLink/Mac/DeckLinkAPI_v7_9.h +++ /dev/null @@ -1,91 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2010 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -/* DeckLinkAPI_v7_9.h */ - -#ifndef __DeckLink_API_v7_9_h__ -#define __DeckLink_API_v7_9_h__ - -#include "DeckLinkAPI.h" - -// Interface ID Declarations - -#define IID_IDeckLinkDeckControl_v7_9 /* A4D81043-0619-42B7-8ED6-602D29041DF7 */ (REFIID){0xA4,0xD8,0x10,0x43,0x06,0x19,0x42,0xB7,0x8E,0xD6,0x60,0x2D,0x29,0x04,0x1D,0xF7} - - -#if defined(__cplusplus) - -// Forward Declarations - -class IDeckLinkDeckControl_v7_9; - - -/* Interface IDeckLinkDeckControl_v7_9 - Deck Control main interface */ - -class IDeckLinkDeckControl_v7_9 : public IUnknown -{ -public: - virtual HRESULT Open (/* in */ BMDTimeScale timeScale, /* in */ BMDTimeValue timeValue, /* in */ bool timecodeIsDropFrame, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Close (/* in */ bool standbyOn) = 0; - virtual HRESULT GetCurrentState (/* out */ BMDDeckControlMode *mode, /* out */ BMDDeckControlVTRControlState *vtrControlState, /* out */ BMDDeckControlStatusFlags *flags) = 0; - virtual HRESULT SetStandby (/* in */ bool standbyOn) = 0; - virtual HRESULT Play (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Stop (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT TogglePlayStop (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Eject (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT GoToTimecode (/* in */ BMDTimecodeBCD timecode, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT FastForward (/* in */ bool viewTape, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Rewind (/* in */ bool viewTape, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT StepForward (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT StepBack (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Jog (/* in */ double rate, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Shuttle (/* in */ double rate, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT GetTimecodeString (/* out */ BMDstring *currentTimeCode, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT GetTimecode (/* out */ IDeckLinkTimecode **currentTimecode, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT GetTimecodeBCD (/* out */ BMDTimecodeBCD *currentTimecode, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT SetPreroll (/* in */ uint32_t prerollSeconds) = 0; - virtual HRESULT GetPreroll (/* out */ uint32_t *prerollSeconds) = 0; - virtual HRESULT SetExportOffset (/* in */ int32_t exportOffsetFields) = 0; - virtual HRESULT GetExportOffset (/* out */ int32_t *exportOffsetFields) = 0; - virtual HRESULT GetManualExportOffset (/* out */ int32_t *deckManualExportOffsetFields) = 0; - virtual HRESULT SetCaptureOffset (/* in */ int32_t captureOffsetFields) = 0; - virtual HRESULT GetCaptureOffset (/* out */ int32_t *captureOffsetFields) = 0; - virtual HRESULT StartExport (/* in */ BMDTimecodeBCD inTimecode, /* in */ BMDTimecodeBCD outTimecode, /* in */ BMDDeckControlExportModeOpsFlags exportModeOps, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT StartCapture (/* in */ bool useVITC, /* in */ BMDTimecodeBCD inTimecode, /* in */ BMDTimecodeBCD outTimecode, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT GetDeviceID (/* out */ uint16_t *deviceId, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Abort (void) = 0; - virtual HRESULT CrashRecordStart (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT CrashRecordStop (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT SetCallback (/* in */ IDeckLinkDeckControlStatusCallback *callback) = 0; - -protected: - virtual ~IDeckLinkDeckControl_v7_9 () {}; // call Release method to drop reference count -}; - - -#endif // defined(__cplusplus) -#endif // __DeckLink_API_v7_9_h__ diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPI_v8_0.h b/ext-deps/DeckLink/Mac/DeckLinkAPI_v8_0.h deleted file mode 100644 index ea061834f5..0000000000 --- a/ext-deps/DeckLink/Mac/DeckLinkAPI_v8_0.h +++ /dev/null @@ -1,63 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2011 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPI_v8_0_H -#define BMD_DECKLINKAPI_v8_0_H - -#include "DeckLinkAPI.h" - -// Interface ID Declarations - -#define IID_IDeckLink_v8_0 /* 62BFF75D-6569-4E55-8D4D-66AA03829ABC */ (REFIID){0x62,0xBF,0xF7,0x5D,0x65,0x69,0x4E,0x55,0x8D,0x4D,0x66,0xAA,0x03,0x82,0x9A,0xBC} -#define IID_IDeckLinkIterator_v8_0 /* 74E936FC-CC28-4A67-81A0-1E94E52D4E69 */ (REFIID){0x74,0xE9,0x36,0xFC,0xCC,0x28,0x4A,0x67,0x81,0xA0,0x1E,0x94,0xE5,0x2D,0x4E,0x69} - -#if defined (__cplusplus) - -/* Interface IDeckLink_v8_0 - represents a DeckLink device */ - -class IDeckLink_v8_0 : public IUnknown -{ -public: - virtual HRESULT GetModelName (/* out */ CFStringRef *modelName) = 0; -}; - -/* Interface IDeckLinkIterator_v8_0 - enumerates installed DeckLink hardware */ - -class IDeckLinkIterator_v8_0 : public IUnknown -{ -public: - virtual HRESULT Next (/* out */ IDeckLink_v8_0 **deckLinkInstance) = 0; -}; - -extern "C" { - IDeckLinkIterator_v8_0* CreateDeckLinkIteratorInstance_v8_0 (void); -}; - - -#endif // defined __cplusplus - -#endif /* defined(BMD_DECKLINKAPI_v8_0_H) */ diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPI_v8_1.h b/ext-deps/DeckLink/Mac/DeckLinkAPI_v8_1.h deleted file mode 100644 index 0eea69532d..0000000000 --- a/ext-deps/DeckLink/Mac/DeckLinkAPI_v8_1.h +++ /dev/null @@ -1,111 +0,0 @@ -/* -LICENSE-START- - ** Copyright (c) 2011 Blackmagic Design - ** - ** Permission is hereby granted, free of charge, to any person or organization - ** obtaining a copy of the software and accompanying documentation covered by - ** this license (the "Software") to use, reproduce, display, distribute, - ** execute, and transmit the Software, and to prepare derivative works of the - ** Software, and to permit third-parties to whom the Software is furnished to - ** do so, all subject to the following: - ** - ** The copyright notices in the Software and this entire statement, including - ** the above license grant, this restriction and the following disclaimer, - ** must be included in all copies of the Software, in whole or in part, and - ** all derivative works of the Software, unless such copies or derivative - ** works are solely in the form of machine-executable object code generated by - ** a source language processor. - ** - ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - ** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - ** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT - ** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE - ** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, - ** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - ** DEALINGS IN THE SOFTWARE. - ** -LICENSE-END- - */ - -#ifndef BMD_DECKLINKAPI_v8_1_H -#define BMD_DECKLINKAPI_v8_1_H - -#include "DeckLinkAPI.h" - - -// Interface ID Declarations - -#define IID_IDeckLinkDeckControlStatusCallback_v8_1 /* E5F693C1-4283-4716-B18F-C1431521955B */ (REFIID){0xE5,0xF6,0x93,0xC1,0x42,0x83,0x47,0x16,0xB1,0x8F,0xC1,0x43,0x15,0x21,0x95,0x5B} -#define IID_IDeckLinkDeckControl_v8_1 /* 522A9E39-0F3C-4742-94EE-D80DE335DA1D */ (REFIID){0x52,0x2A,0x9E,0x39,0x0F,0x3C,0x47,0x42,0x94,0xEE,0xD8,0x0D,0xE3,0x35,0xDA,0x1D} - - -/* Enum BMDDeckControlVTRControlState_v8_1 - VTR Control state */ - -typedef uint32_t BMDDeckControlVTRControlState_v8_1; -enum _BMDDeckControlVTRControlState_v8_1 { - bmdDeckControlNotInVTRControlMode_v8_1 = 'nvcm', - bmdDeckControlVTRControlPlaying_v8_1 = 'vtrp', - bmdDeckControlVTRControlRecording_v8_1 = 'vtrr', - bmdDeckControlVTRControlStill_v8_1 = 'vtra', - bmdDeckControlVTRControlSeeking_v8_1 = 'vtrs', - bmdDeckControlVTRControlStopped_v8_1 = 'vtro' -}; - - -/* Interface IDeckLinkDeckControlStatusCallback_v8_1 - Deck control state change callback. */ - -class IDeckLinkDeckControlStatusCallback_v8_1 : public IUnknown -{ -public: - virtual HRESULT TimecodeUpdate (/* in */ BMDTimecodeBCD currentTimecode) = 0; - virtual HRESULT VTRControlStateChanged (/* in */ BMDDeckControlVTRControlState_v8_1 newState, /* in */ BMDDeckControlError error) = 0; - virtual HRESULT DeckControlEventReceived (/* in */ BMDDeckControlEvent event, /* in */ BMDDeckControlError error) = 0; - virtual HRESULT DeckControlStatusChanged (/* in */ BMDDeckControlStatusFlags flags, /* in */ uint32_t mask) = 0; - -protected: - virtual ~IDeckLinkDeckControlStatusCallback_v8_1 () {}; // call Release method to drop reference count -}; - -/* Interface IDeckLinkDeckControl_v8_1 - Deck Control main interface */ - -class IDeckLinkDeckControl_v8_1 : public IUnknown -{ -public: - virtual HRESULT Open (/* in */ BMDTimeScale timeScale, /* in */ BMDTimeValue timeValue, /* in */ bool timecodeIsDropFrame, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Close (/* in */ bool standbyOn) = 0; - virtual HRESULT GetCurrentState (/* out */ BMDDeckControlMode *mode, /* out */ BMDDeckControlVTRControlState_v8_1 *vtrControlState, /* out */ BMDDeckControlStatusFlags *flags) = 0; - virtual HRESULT SetStandby (/* in */ bool standbyOn) = 0; - virtual HRESULT SendCommand (/* in */ uint8_t *inBuffer, /* in */ uint32_t inBufferSize, /* out */ uint8_t *outBuffer, /* out */ uint32_t *outDataSize, /* in */ uint32_t outBufferSize, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Play (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Stop (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT TogglePlayStop (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Eject (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT GoToTimecode (/* in */ BMDTimecodeBCD timecode, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT FastForward (/* in */ bool viewTape, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Rewind (/* in */ bool viewTape, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT StepForward (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT StepBack (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Jog (/* in */ double rate, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Shuttle (/* in */ double rate, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT GetTimecodeString (/* out */ CFStringRef *currentTimeCode, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT GetTimecode (/* out */ IDeckLinkTimecode **currentTimecode, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT GetTimecodeBCD (/* out */ BMDTimecodeBCD *currentTimecode, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT SetPreroll (/* in */ uint32_t prerollSeconds) = 0; - virtual HRESULT GetPreroll (/* out */ uint32_t *prerollSeconds) = 0; - virtual HRESULT SetExportOffset (/* in */ int32_t exportOffsetFields) = 0; - virtual HRESULT GetExportOffset (/* out */ int32_t *exportOffsetFields) = 0; - virtual HRESULT GetManualExportOffset (/* out */ int32_t *deckManualExportOffsetFields) = 0; - virtual HRESULT SetCaptureOffset (/* in */ int32_t captureOffsetFields) = 0; - virtual HRESULT GetCaptureOffset (/* out */ int32_t *captureOffsetFields) = 0; - virtual HRESULT StartExport (/* in */ BMDTimecodeBCD inTimecode, /* in */ BMDTimecodeBCD outTimecode, /* in */ BMDDeckControlExportModeOpsFlags exportModeOps, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT StartCapture (/* in */ bool useVITC, /* in */ BMDTimecodeBCD inTimecode, /* in */ BMDTimecodeBCD outTimecode, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT GetDeviceID (/* out */ uint16_t *deviceId, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Abort (void) = 0; - virtual HRESULT CrashRecordStart (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT CrashRecordStop (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT SetCallback (/* in */ IDeckLinkDeckControlStatusCallback_v8_1 *callback) = 0; - -protected: - virtual ~IDeckLinkDeckControl_v8_1 () {}; // call Release method to drop reference count -}; - - -#endif // BMD_DECKLINKAPI_v8_1_H diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPI_v9_2.h b/ext-deps/DeckLink/Mac/DeckLinkAPI_v9_2.h deleted file mode 100644 index e1c93022d7..0000000000 --- a/ext-deps/DeckLink/Mac/DeckLinkAPI_v9_2.h +++ /dev/null @@ -1,82 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2012 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPI_v9_2_H -#define BMD_DECKLINKAPI_v9_2_H - -#include "DeckLinkAPI.h" -#include "DeckLinkAPI_v10_11.h" - - -// Interface ID Declarations - -#define IID_IDeckLinkInput_v9_2 /* 6D40EF78-28B9-4E21-990D-95BB7750A04F */ (REFIID){0x6D,0x40,0xEF,0x78,0x28,0xB9,0x4E,0x21,0x99,0x0D,0x95,0xBB,0x77,0x50,0xA0,0x4F} - - -#if defined(__cplusplus) - -/* Interface IDeckLinkInput - Created by QueryInterface from IDeckLink. */ - -class IDeckLinkInput_v9_2 : public IUnknown -{ -public: - virtual HRESULT DoesSupportVideoMode (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDVideoInputFlags flags, /* out */ BMDDisplayModeSupport_v10_11 *result, /* out */ IDeckLinkDisplayMode **resultDisplayMode) = 0; - virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator **iterator) = 0; - - virtual HRESULT SetScreenPreviewCallback (/* in */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; - - /* Video Input */ - - virtual HRESULT EnableVideoInput (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDVideoInputFlags flags) = 0; - virtual HRESULT DisableVideoInput (void) = 0; - virtual HRESULT GetAvailableVideoFrameCount (/* out */ uint32_t *availableFrameCount) = 0; - - /* Audio Input */ - - virtual HRESULT EnableAudioInput (/* in */ BMDAudioSampleRate sampleRate, /* in */ BMDAudioSampleType sampleType, /* in */ uint32_t channelCount) = 0; - virtual HRESULT DisableAudioInput (void) = 0; - virtual HRESULT GetAvailableAudioSampleFrameCount (/* out */ uint32_t *availableSampleFrameCount) = 0; - - /* Input Control */ - - virtual HRESULT StartStreams (void) = 0; - virtual HRESULT StopStreams (void) = 0; - virtual HRESULT PauseStreams (void) = 0; - virtual HRESULT FlushStreams (void) = 0; - virtual HRESULT SetCallback (/* in */ IDeckLinkInputCallback *theCallback) = 0; - - /* Hardware Timing */ - - virtual HRESULT GetHardwareReferenceClock (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *hardwareTime, /* out */ BMDTimeValue *timeInFrame, /* out */ BMDTimeValue *ticksPerFrame) = 0; - -protected: - virtual ~IDeckLinkInput_v9_2 () {}; // call Release method to drop reference count -}; - - -#endif // defined(__cplusplus) -#endif // BMD_DECKLINKAPI_v9_2_H diff --git a/ext-deps/DeckLink/Mac/DeckLinkAPI_v9_9.h b/ext-deps/DeckLink/Mac/DeckLinkAPI_v9_9.h deleted file mode 100644 index 751cc73800..0000000000 --- a/ext-deps/DeckLink/Mac/DeckLinkAPI_v9_9.h +++ /dev/null @@ -1,102 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2013 Blackmagic Design -** -** Permission is hereby granted, free of charge, to any person or organization -** obtaining a copy of the software and accompanying documentation covered by -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPI_v9_9_H -#define BMD_DECKLINKAPI_v9_9_H - -#include "DeckLinkAPI.h" -#include "DeckLinkAPI_v10_11.h" - -// Interface ID Declarations - -BMD_CONST REFIID IID_IDeckLinkOutput_v9_9 = /* A3EF0963-0862-44ED-92A9-EE89ABF431C7 */ {0xA3,0xEF,0x09,0x63,0x08,0x62,0x44,0xED,0x92,0xA9,0xEE,0x89,0xAB,0xF4,0x31,0xC7}; - - -#if defined(__cplusplus) - -// Forward Declarations -class IDeckLinkOutput_v9_9; - -/* Interface IDeckLinkOutput - Created by QueryInterface from IDeckLink. */ - -class IDeckLinkOutput_v9_9 : public IUnknown -{ -public: - virtual HRESULT DoesSupportVideoMode (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDVideoOutputFlags flags, /* out */ BMDDisplayModeSupport_v10_11 *result, /* out */ IDeckLinkDisplayMode **resultDisplayMode) = 0; - virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator **iterator) = 0; - - virtual HRESULT SetScreenPreviewCallback (/* in */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; - - /* Video Output */ - - virtual HRESULT EnableVideoOutput (/* in */ BMDDisplayMode displayMode, /* in */ BMDVideoOutputFlags flags) = 0; - virtual HRESULT DisableVideoOutput (void) = 0; - - virtual HRESULT SetVideoOutputFrameMemoryAllocator (/* in */ IDeckLinkMemoryAllocator *theAllocator) = 0; - virtual HRESULT CreateVideoFrame (/* in */ int32_t width, /* in */ int32_t height, /* in */ int32_t rowBytes, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDFrameFlags flags, /* out */ IDeckLinkMutableVideoFrame **outFrame) = 0; - virtual HRESULT CreateAncillaryData (/* in */ BMDPixelFormat pixelFormat, /* out */ IDeckLinkVideoFrameAncillary **outBuffer) = 0; - - virtual HRESULT DisplayVideoFrameSync (/* in */ IDeckLinkVideoFrame *theFrame) = 0; - virtual HRESULT ScheduleVideoFrame (/* in */ IDeckLinkVideoFrame *theFrame, /* in */ BMDTimeValue displayTime, /* in */ BMDTimeValue displayDuration, /* in */ BMDTimeScale timeScale) = 0; - virtual HRESULT SetScheduledFrameCompletionCallback (/* in */ IDeckLinkVideoOutputCallback *theCallback) = 0; - virtual HRESULT GetBufferedVideoFrameCount (/* out */ uint32_t *bufferedFrameCount) = 0; - - /* Audio Output */ - - virtual HRESULT EnableAudioOutput (/* in */ BMDAudioSampleRate sampleRate, /* in */ BMDAudioSampleType sampleType, /* in */ uint32_t channelCount, /* in */ BMDAudioOutputStreamType streamType) = 0; - virtual HRESULT DisableAudioOutput (void) = 0; - - virtual HRESULT WriteAudioSamplesSync (/* in */ void *buffer, /* in */ uint32_t sampleFrameCount, /* out */ uint32_t *sampleFramesWritten) = 0; - - virtual HRESULT BeginAudioPreroll (void) = 0; - virtual HRESULT EndAudioPreroll (void) = 0; - virtual HRESULT ScheduleAudioSamples (/* in */ void *buffer, /* in */ uint32_t sampleFrameCount, /* in */ BMDTimeValue streamTime, /* in */ BMDTimeScale timeScale, /* out */ uint32_t *sampleFramesWritten) = 0; - - virtual HRESULT GetBufferedAudioSampleFrameCount (/* out */ uint32_t *bufferedSampleFrameCount) = 0; - virtual HRESULT FlushBufferedAudioSamples (void) = 0; - - virtual HRESULT SetAudioCallback (/* in */ IDeckLinkAudioOutputCallback *theCallback) = 0; - - /* Output Control */ - - virtual HRESULT StartScheduledPlayback (/* in */ BMDTimeValue playbackStartTime, /* in */ BMDTimeScale timeScale, /* in */ double playbackSpeed) = 0; - virtual HRESULT StopScheduledPlayback (/* in */ BMDTimeValue stopPlaybackAtTime, /* out */ BMDTimeValue *actualStopTime, /* in */ BMDTimeScale timeScale) = 0; - virtual HRESULT IsScheduledPlaybackRunning (/* out */ bool *active) = 0; - virtual HRESULT GetScheduledStreamTime (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *streamTime, /* out */ double *playbackSpeed) = 0; - virtual HRESULT GetReferenceStatus (/* out */ BMDReferenceStatus *referenceStatus) = 0; - - /* Hardware Timing */ - - virtual HRESULT GetHardwareReferenceClock (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *hardwareTime, /* out */ BMDTimeValue *timeInFrame, /* out */ BMDTimeValue *ticksPerFrame) = 0; - -protected: - virtual ~IDeckLinkOutput_v9_9 () {}; // call Release method to drop reference count -}; - -#endif // defined(__cplusplus) -#endif /* defined(BMD_DECKLINKAPI_v9_9_H) */ - diff --git a/ext-deps/DeckLink/Windows/DeckLinkAPI_h.h b/ext-deps/DeckLink/Windows/DeckLinkAPI.h similarity index 79% rename from ext-deps/DeckLink/Windows/DeckLinkAPI_h.h rename to ext-deps/DeckLink/Windows/DeckLinkAPI.h index 3af2eb2334..f803b46299 100644 --- a/ext-deps/DeckLink/Windows/DeckLinkAPI_h.h +++ b/ext-deps/DeckLink/Windows/DeckLinkAPI.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 5.8 from DeckLinkAPI.idl - Do not edit ***/ +/*** Autogenerated by WIDL 9.20 from DeckLinkAPI.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ @@ -412,6 +412,14 @@ interface IDeckLinkDX9ScreenPreviewHelper; #endif /* __cplusplus */ #endif +#ifndef __IDeckLinkWPFDX9ScreenPreviewHelper_FWD_DEFINED__ +#define __IDeckLinkWPFDX9ScreenPreviewHelper_FWD_DEFINED__ +typedef interface IDeckLinkWPFDX9ScreenPreviewHelper IDeckLinkWPFDX9ScreenPreviewHelper; +#ifdef __cplusplus +interface IDeckLinkWPFDX9ScreenPreviewHelper; +#endif /* __cplusplus */ +#endif + #ifndef __IDeckLinkNotificationCallback_FWD_DEFINED__ #define __IDeckLinkNotificationCallback_FWD_DEFINED__ typedef interface IDeckLinkNotificationCallback IDeckLinkNotificationCallback; @@ -535,6 +543,15 @@ typedef struct CDeckLinkGLScreenPreviewHelper CDeckLinkGLScreenPreviewHelper; #endif /* defined __cplusplus */ #endif /* defined __CDeckLinkGLScreenPreviewHelper_FWD_DEFINED__ */ +#ifndef __CDeckLinkGL3ScreenPreviewHelper_FWD_DEFINED__ +#define __CDeckLinkGL3ScreenPreviewHelper_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CDeckLinkGL3ScreenPreviewHelper CDeckLinkGL3ScreenPreviewHelper; +#else +typedef struct CDeckLinkGL3ScreenPreviewHelper CDeckLinkGL3ScreenPreviewHelper; +#endif /* defined __cplusplus */ +#endif /* defined __CDeckLinkGL3ScreenPreviewHelper_FWD_DEFINED__ */ + #ifndef __CDeckLinkDX9ScreenPreviewHelper_FWD_DEFINED__ #define __CDeckLinkDX9ScreenPreviewHelper_FWD_DEFINED__ #ifdef __cplusplus @@ -544,6 +561,15 @@ typedef struct CDeckLinkDX9ScreenPreviewHelper CDeckLinkDX9ScreenPreviewHelper; #endif /* defined __cplusplus */ #endif /* defined __CDeckLinkDX9ScreenPreviewHelper_FWD_DEFINED__ */ +#ifndef __CDeckLinkWPFDX9ScreenPreviewHelper_FWD_DEFINED__ +#define __CDeckLinkWPFDX9ScreenPreviewHelper_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CDeckLinkWPFDX9ScreenPreviewHelper CDeckLinkWPFDX9ScreenPreviewHelper; +#else +typedef struct CDeckLinkWPFDX9ScreenPreviewHelper CDeckLinkWPFDX9ScreenPreviewHelper; +#endif /* defined __cplusplus */ +#endif /* defined __CDeckLinkWPFDX9ScreenPreviewHelper_FWD_DEFINED__ */ + #ifndef __CDeckLinkVideoConversion_FWD_DEFINED__ #define __CDeckLinkVideoConversion_FWD_DEFINED__ #ifdef __cplusplus @@ -571,19 +597,19 @@ typedef struct CDeckLinkVideoFrameAncillaryPackets CDeckLinkVideoFrameAncillaryP #endif /* defined __cplusplus */ #endif /* defined __CDeckLinkVideoFrameAncillaryPackets_FWD_DEFINED__ */ -#ifndef __IDeckLinkOutput_v11_4_FWD_DEFINED__ -#define __IDeckLinkOutput_v11_4_FWD_DEFINED__ -typedef interface IDeckLinkOutput_v11_4 IDeckLinkOutput_v11_4; +#ifndef __IDeckLinkInputCallback_v11_5_1_FWD_DEFINED__ +#define __IDeckLinkInputCallback_v11_5_1_FWD_DEFINED__ +typedef interface IDeckLinkInputCallback_v11_5_1 IDeckLinkInputCallback_v11_5_1; #ifdef __cplusplus -interface IDeckLinkOutput_v11_4; +interface IDeckLinkInputCallback_v11_5_1; #endif /* __cplusplus */ #endif -#ifndef __IDeckLinkInput_v11_4_FWD_DEFINED__ -#define __IDeckLinkInput_v11_4_FWD_DEFINED__ -typedef interface IDeckLinkInput_v11_4 IDeckLinkInput_v11_4; +#ifndef __IDeckLinkInput_v11_5_1_FWD_DEFINED__ +#define __IDeckLinkInput_v11_5_1_FWD_DEFINED__ +typedef interface IDeckLinkInput_v11_5_1 IDeckLinkInput_v11_5_1; #ifdef __cplusplus -interface IDeckLinkInput_v11_4; +interface IDeckLinkInput_v11_5_1; #endif /* __cplusplus */ #endif @@ -653,19 +679,36 @@ typedef struct CDeckLinkDiscovery_v10_11 CDeckLinkDiscovery_v10_11; #endif /* defined __cplusplus */ #endif /* defined __CDeckLinkDiscovery_v10_11_FWD_DEFINED__ */ -#ifndef __IDeckLinkInputCallback_v11_5_1_FWD_DEFINED__ -#define __IDeckLinkInputCallback_v11_5_1_FWD_DEFINED__ -typedef interface IDeckLinkInputCallback_v11_5_1 IDeckLinkInputCallback_v11_5_1; +#ifndef __IDeckLinkConfiguration_v10_9_FWD_DEFINED__ +#define __IDeckLinkConfiguration_v10_9_FWD_DEFINED__ +typedef interface IDeckLinkConfiguration_v10_9 IDeckLinkConfiguration_v10_9; #ifdef __cplusplus -interface IDeckLinkInputCallback_v11_5_1; +interface IDeckLinkConfiguration_v10_9; #endif /* __cplusplus */ #endif -#ifndef __IDeckLinkInput_v11_5_1_FWD_DEFINED__ -#define __IDeckLinkInput_v11_5_1_FWD_DEFINED__ -typedef interface IDeckLinkInput_v11_5_1 IDeckLinkInput_v11_5_1; +#ifndef __CBMDStreamingDiscovery_v10_8_FWD_DEFINED__ +#define __CBMDStreamingDiscovery_v10_8_FWD_DEFINED__ #ifdef __cplusplus -interface IDeckLinkInput_v11_5_1; +typedef class CBMDStreamingDiscovery_v10_8 CBMDStreamingDiscovery_v10_8; +#else +typedef struct CBMDStreamingDiscovery_v10_8 CBMDStreamingDiscovery_v10_8; +#endif /* defined __cplusplus */ +#endif /* defined __CBMDStreamingDiscovery_v10_8_FWD_DEFINED__ */ + +#ifndef __IDeckLinkConfiguration_v10_4_FWD_DEFINED__ +#define __IDeckLinkConfiguration_v10_4_FWD_DEFINED__ +typedef interface IDeckLinkConfiguration_v10_4 IDeckLinkConfiguration_v10_4; +#ifdef __cplusplus +interface IDeckLinkConfiguration_v10_4; +#endif /* __cplusplus */ +#endif + +#ifndef __IDeckLinkConfiguration_v10_2_FWD_DEFINED__ +#define __IDeckLinkConfiguration_v10_2_FWD_DEFINED__ +typedef interface IDeckLinkConfiguration_v10_2 IDeckLinkConfiguration_v10_2; +#ifdef __cplusplus +interface IDeckLinkConfiguration_v10_2; #endif /* __cplusplus */ #endif @@ -677,22 +720,21 @@ interface IDeckLinkVideoFrameMetadataExtensions_v11_5; #endif /* __cplusplus */ #endif -#ifndef __IDeckLinkConfiguration_v10_9_FWD_DEFINED__ -#define __IDeckLinkConfiguration_v10_9_FWD_DEFINED__ -typedef interface IDeckLinkConfiguration_v10_9 IDeckLinkConfiguration_v10_9; +#ifndef __IDeckLinkOutput_v11_4_FWD_DEFINED__ +#define __IDeckLinkOutput_v11_4_FWD_DEFINED__ +typedef interface IDeckLinkOutput_v11_4 IDeckLinkOutput_v11_4; #ifdef __cplusplus -interface IDeckLinkConfiguration_v10_9; +interface IDeckLinkOutput_v11_4; #endif /* __cplusplus */ #endif -#ifndef __CBMDStreamingDiscovery_v10_8_FWD_DEFINED__ -#define __CBMDStreamingDiscovery_v10_8_FWD_DEFINED__ +#ifndef __IDeckLinkInput_v11_4_FWD_DEFINED__ +#define __IDeckLinkInput_v11_4_FWD_DEFINED__ +typedef interface IDeckLinkInput_v11_4 IDeckLinkInput_v11_4; #ifdef __cplusplus -typedef class CBMDStreamingDiscovery_v10_8 CBMDStreamingDiscovery_v10_8; -#else -typedef struct CBMDStreamingDiscovery_v10_8 CBMDStreamingDiscovery_v10_8; -#endif /* defined __cplusplus */ -#endif /* defined __CBMDStreamingDiscovery_v10_8_FWD_DEFINED__ */ +interface IDeckLinkInput_v11_4; +#endif /* __cplusplus */ +#endif #ifndef __CDeckLinkIterator_v10_8_FWD_DEFINED__ #define __CDeckLinkIterator_v10_8_FWD_DEFINED__ @@ -720,22 +762,6 @@ interface IDeckLinkEncoderConfiguration_v10_5; #endif /* __cplusplus */ #endif -#ifndef __IDeckLinkConfiguration_v10_4_FWD_DEFINED__ -#define __IDeckLinkConfiguration_v10_4_FWD_DEFINED__ -typedef interface IDeckLinkConfiguration_v10_4 IDeckLinkConfiguration_v10_4; -#ifdef __cplusplus -interface IDeckLinkConfiguration_v10_4; -#endif /* __cplusplus */ -#endif - -#ifndef __IDeckLinkConfiguration_v10_2_FWD_DEFINED__ -#define __IDeckLinkConfiguration_v10_2_FWD_DEFINED__ -typedef interface IDeckLinkConfiguration_v10_2 IDeckLinkConfiguration_v10_2; -#ifdef __cplusplus -interface IDeckLinkConfiguration_v10_2; -#endif /* __cplusplus */ -#endif - #ifndef __IDeckLinkOutput_v9_9_FWD_DEFINED__ #define __IDeckLinkOutput_v9_9_FWD_DEFINED__ typedef interface IDeckLinkOutput_v9_9 IDeckLinkOutput_v9_9; @@ -1043,6 +1069,8 @@ interface IDeckLinkAudioInputPacket_v7_1; extern "C" { #endif +#ifndef __DeckLinkAPI_LIBRARY_DEFINED__ +#define __DeckLinkAPI_LIBRARY_DEFINED__ DEFINE_GUID(LIBID_DeckLinkAPI, 0xd864517a, 0xedd5, 0x466d, 0x86,0x7d, 0xc8,0x19,0xf1,0xc0,0x52,0xbb); @@ -1069,7 +1097,9 @@ typedef enum _BMDVideoConnection { bmdVideoConnectionOpticalSDI = 1 << 2, bmdVideoConnectionComponent = 1 << 3, bmdVideoConnectionComposite = 1 << 4, - bmdVideoConnectionSVideo = 1 << 5 + bmdVideoConnectionSVideo = 1 << 5, + bmdVideoConnectionEthernet = 1 << 6, + bmdVideoConnectionOpticalEthernet = 1 << 7 } BMDVideoConnection; typedef enum _BMDAudioConnection { bmdAudioConnectionEmbedded = 1 << 0, @@ -1184,29 +1214,29 @@ interface IDeckLinkTimecode { #define IDeckLinkTimecode_GetTimecodeUserBits(This,userBits) (This)->lpVtbl->GetTimecodeUserBits(This,userBits) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkTimecode_QueryInterface(IDeckLinkTimecode* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkTimecode_QueryInterface(IDeckLinkTimecode* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkTimecode_AddRef(IDeckLinkTimecode* This) { +static inline ULONG IDeckLinkTimecode_AddRef(IDeckLinkTimecode* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkTimecode_Release(IDeckLinkTimecode* This) { +static inline ULONG IDeckLinkTimecode_Release(IDeckLinkTimecode* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkTimecode methods ***/ -static FORCEINLINE BMDTimecodeBCD IDeckLinkTimecode_GetBCD(IDeckLinkTimecode* This) { +static inline BMDTimecodeBCD IDeckLinkTimecode_GetBCD(IDeckLinkTimecode* This) { return This->lpVtbl->GetBCD(This); } -static FORCEINLINE HRESULT IDeckLinkTimecode_GetComponents(IDeckLinkTimecode* This,unsigned char *hours,unsigned char *minutes,unsigned char *seconds,unsigned char *frames) { +static inline HRESULT IDeckLinkTimecode_GetComponents(IDeckLinkTimecode* This,unsigned char *hours,unsigned char *minutes,unsigned char *seconds,unsigned char *frames) { return This->lpVtbl->GetComponents(This,hours,minutes,seconds,frames); } -static FORCEINLINE HRESULT IDeckLinkTimecode_GetString(IDeckLinkTimecode* This,BSTR *timecode) { +static inline HRESULT IDeckLinkTimecode_GetString(IDeckLinkTimecode* This,BSTR *timecode) { return This->lpVtbl->GetString(This,timecode); } -static FORCEINLINE BMDTimecodeFlags IDeckLinkTimecode_GetFlags(IDeckLinkTimecode* This) { +static inline BMDTimecodeFlags IDeckLinkTimecode_GetFlags(IDeckLinkTimecode* This) { return This->lpVtbl->GetFlags(This); } -static FORCEINLINE HRESULT IDeckLinkTimecode_GetTimecodeUserBits(IDeckLinkTimecode* This,BMDTimecodeUserBits *userBits) { +static inline HRESULT IDeckLinkTimecode_GetTimecodeUserBits(IDeckLinkTimecode* This,BMDTimecodeUserBits *userBits) { return This->lpVtbl->GetTimecodeUserBits(This,userBits); } #endif @@ -1433,17 +1463,17 @@ interface IDeckLinkDisplayModeIterator { #define IDeckLinkDisplayModeIterator_Next(This,deckLinkDisplayMode) (This)->lpVtbl->Next(This,deckLinkDisplayMode) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkDisplayModeIterator_QueryInterface(IDeckLinkDisplayModeIterator* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkDisplayModeIterator_QueryInterface(IDeckLinkDisplayModeIterator* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkDisplayModeIterator_AddRef(IDeckLinkDisplayModeIterator* This) { +static inline ULONG IDeckLinkDisplayModeIterator_AddRef(IDeckLinkDisplayModeIterator* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkDisplayModeIterator_Release(IDeckLinkDisplayModeIterator* This) { +static inline ULONG IDeckLinkDisplayModeIterator_Release(IDeckLinkDisplayModeIterator* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkDisplayModeIterator methods ***/ -static FORCEINLINE HRESULT IDeckLinkDisplayModeIterator_Next(IDeckLinkDisplayModeIterator* This,IDeckLinkDisplayMode **deckLinkDisplayMode) { +static inline HRESULT IDeckLinkDisplayModeIterator_Next(IDeckLinkDisplayModeIterator* This,IDeckLinkDisplayMode **deckLinkDisplayMode) { return This->lpVtbl->Next(This,deckLinkDisplayMode); } #endif @@ -1555,35 +1585,35 @@ interface IDeckLinkDisplayMode { #define IDeckLinkDisplayMode_GetFlags(This) (This)->lpVtbl->GetFlags(This) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkDisplayMode_QueryInterface(IDeckLinkDisplayMode* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkDisplayMode_QueryInterface(IDeckLinkDisplayMode* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkDisplayMode_AddRef(IDeckLinkDisplayMode* This) { +static inline ULONG IDeckLinkDisplayMode_AddRef(IDeckLinkDisplayMode* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkDisplayMode_Release(IDeckLinkDisplayMode* This) { +static inline ULONG IDeckLinkDisplayMode_Release(IDeckLinkDisplayMode* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkDisplayMode methods ***/ -static FORCEINLINE HRESULT IDeckLinkDisplayMode_GetName(IDeckLinkDisplayMode* This,BSTR *name) { +static inline HRESULT IDeckLinkDisplayMode_GetName(IDeckLinkDisplayMode* This,BSTR *name) { return This->lpVtbl->GetName(This,name); } -static FORCEINLINE BMDDisplayMode IDeckLinkDisplayMode_GetDisplayMode(IDeckLinkDisplayMode* This) { +static inline BMDDisplayMode IDeckLinkDisplayMode_GetDisplayMode(IDeckLinkDisplayMode* This) { return This->lpVtbl->GetDisplayMode(This); } -static FORCEINLINE LONG IDeckLinkDisplayMode_GetWidth(IDeckLinkDisplayMode* This) { +static inline LONG IDeckLinkDisplayMode_GetWidth(IDeckLinkDisplayMode* This) { return This->lpVtbl->GetWidth(This); } -static FORCEINLINE LONG IDeckLinkDisplayMode_GetHeight(IDeckLinkDisplayMode* This) { +static inline LONG IDeckLinkDisplayMode_GetHeight(IDeckLinkDisplayMode* This) { return This->lpVtbl->GetHeight(This); } -static FORCEINLINE HRESULT IDeckLinkDisplayMode_GetFrameRate(IDeckLinkDisplayMode* This,BMDTimeValue *frameDuration,BMDTimeScale *timeScale) { +static inline HRESULT IDeckLinkDisplayMode_GetFrameRate(IDeckLinkDisplayMode* This,BMDTimeValue *frameDuration,BMDTimeScale *timeScale) { return This->lpVtbl->GetFrameRate(This,frameDuration,timeScale); } -static FORCEINLINE BMDFieldDominance IDeckLinkDisplayMode_GetFieldDominance(IDeckLinkDisplayMode* This) { +static inline BMDFieldDominance IDeckLinkDisplayMode_GetFieldDominance(IDeckLinkDisplayMode* This) { return This->lpVtbl->GetFieldDominance(This); } -static FORCEINLINE BMDDisplayModeFlags IDeckLinkDisplayMode_GetFlags(IDeckLinkDisplayMode* This) { +static inline BMDDisplayModeFlags IDeckLinkDisplayMode_GetFlags(IDeckLinkDisplayMode* This) { return This->lpVtbl->GetFlags(This); } #endif @@ -1668,20 +1698,20 @@ interface IDeckLink { #define IDeckLink_GetDisplayName(This,displayName) (This)->lpVtbl->GetDisplayName(This,displayName) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLink_QueryInterface(IDeckLink* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLink_QueryInterface(IDeckLink* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLink_AddRef(IDeckLink* This) { +static inline ULONG IDeckLink_AddRef(IDeckLink* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLink_Release(IDeckLink* This) { +static inline ULONG IDeckLink_Release(IDeckLink* This) { return This->lpVtbl->Release(This); } /*** IDeckLink methods ***/ -static FORCEINLINE HRESULT IDeckLink_GetModelName(IDeckLink* This,BSTR *modelName) { +static inline HRESULT IDeckLink_GetModelName(IDeckLink* This,BSTR *modelName) { return This->lpVtbl->GetModelName(This,modelName); } -static FORCEINLINE HRESULT IDeckLink_GetDisplayName(IDeckLink* This,BSTR *displayName) { +static inline HRESULT IDeckLink_GetDisplayName(IDeckLink* This,BSTR *displayName) { return This->lpVtbl->GetDisplayName(This,displayName); } #endif @@ -1716,6 +1746,7 @@ typedef enum _BMDDeckLinkConfigurationID { bmdDeckLinkConfigVideoOutputConversionMode = 0x766f636d, bmdDeckLinkConfigAnalogVideoOutputFlags = 0x61766f66, bmdDeckLinkConfigReferenceInputTimingOffset = 0x676c6f74, + bmdDeckLinkConfigReferenceOutputMode = 0x676c4f6d, bmdDeckLinkConfigVideoOutputIdleOperation = 0x766f696f, bmdDeckLinkConfigDefaultVideoOutputMode = 0x64766f6d, bmdDeckLinkConfigDefaultVideoOutputModeFlags = 0x64766f66, @@ -1765,6 +1796,21 @@ typedef enum _BMDDeckLinkConfigurationID { bmdDeckLinkConfigAnalogAudioOutputScaleChannel4 = 0x616f7334, bmdDeckLinkConfigDigitalAudioOutputScale = 0x64616f73, bmdDeckLinkConfigHeadphoneVolume = 0x68766f6c, + bmdDeckLinkConfigEthernetUseDHCP = 0x44484350, + bmdDeckLinkConfigEthernetPTPFollowerOnly = 0x50545066, + bmdDeckLinkConfigEthernetPTPUseUDPEncapsulation = 0x50545055, + bmdDeckLinkConfigEthernetStaticLocalIPAddress = 0x6e736970, + bmdDeckLinkConfigEthernetStaticSubnetMask = 0x6e73736d, + bmdDeckLinkConfigEthernetStaticGatewayIPAddress = 0x6e736777, + bmdDeckLinkConfigEthernetStaticPrimaryDNS = 0x6e737064, + bmdDeckLinkConfigEthernetStaticSecondaryDNS = 0x6e737364, + bmdDeckLinkConfigEthernetPTPPriority1 = 0x50545031, + bmdDeckLinkConfigEthernetPTPPriority2 = 0x50545032, + bmdDeckLinkConfigEthernetPTPDomain = 0x50545044, + bmdDeckLinkConfigEthernetVideoOutputAddress = 0x6e6f6176, + bmdDeckLinkConfigEthernetAudioOutputAddress = 0x6e6f6161, + bmdDeckLinkConfigEthernetAncillaryOutputAddress = 0x6e6f6141, + bmdDeckLinkConfigEthernetAudioOutputChannelOrder = 0x6361636f, bmdDeckLinkConfigDeviceInformationLabel = 0x64696c61, bmdDeckLinkConfigDeviceInformationSerialNumber = 0x6469736e, bmdDeckLinkConfigDeviceInformationCompany = 0x6469636f, @@ -1933,41 +1979,41 @@ interface IDeckLinkConfiguration { #define IDeckLinkConfiguration_WriteConfigurationToPreferences(This) (This)->lpVtbl->WriteConfigurationToPreferences(This) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkConfiguration_QueryInterface(IDeckLinkConfiguration* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkConfiguration_QueryInterface(IDeckLinkConfiguration* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkConfiguration_AddRef(IDeckLinkConfiguration* This) { +static inline ULONG IDeckLinkConfiguration_AddRef(IDeckLinkConfiguration* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkConfiguration_Release(IDeckLinkConfiguration* This) { +static inline ULONG IDeckLinkConfiguration_Release(IDeckLinkConfiguration* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkConfiguration methods ***/ -static FORCEINLINE HRESULT IDeckLinkConfiguration_SetFlag(IDeckLinkConfiguration* This,BMDDeckLinkConfigurationID cfgID,BOOL value) { +static inline HRESULT IDeckLinkConfiguration_SetFlag(IDeckLinkConfiguration* This,BMDDeckLinkConfigurationID cfgID,BOOL value) { return This->lpVtbl->SetFlag(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_GetFlag(IDeckLinkConfiguration* This,BMDDeckLinkConfigurationID cfgID,BOOL *value) { +static inline HRESULT IDeckLinkConfiguration_GetFlag(IDeckLinkConfiguration* This,BMDDeckLinkConfigurationID cfgID,BOOL *value) { return This->lpVtbl->GetFlag(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_SetInt(IDeckLinkConfiguration* This,BMDDeckLinkConfigurationID cfgID,LONGLONG value) { +static inline HRESULT IDeckLinkConfiguration_SetInt(IDeckLinkConfiguration* This,BMDDeckLinkConfigurationID cfgID,LONGLONG value) { return This->lpVtbl->SetInt(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_GetInt(IDeckLinkConfiguration* This,BMDDeckLinkConfigurationID cfgID,LONGLONG *value) { +static inline HRESULT IDeckLinkConfiguration_GetInt(IDeckLinkConfiguration* This,BMDDeckLinkConfigurationID cfgID,LONGLONG *value) { return This->lpVtbl->GetInt(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_SetFloat(IDeckLinkConfiguration* This,BMDDeckLinkConfigurationID cfgID,double value) { +static inline HRESULT IDeckLinkConfiguration_SetFloat(IDeckLinkConfiguration* This,BMDDeckLinkConfigurationID cfgID,double value) { return This->lpVtbl->SetFloat(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_GetFloat(IDeckLinkConfiguration* This,BMDDeckLinkConfigurationID cfgID,double *value) { +static inline HRESULT IDeckLinkConfiguration_GetFloat(IDeckLinkConfiguration* This,BMDDeckLinkConfigurationID cfgID,double *value) { return This->lpVtbl->GetFloat(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_SetString(IDeckLinkConfiguration* This,BMDDeckLinkConfigurationID cfgID,BSTR value) { +static inline HRESULT IDeckLinkConfiguration_SetString(IDeckLinkConfiguration* This,BMDDeckLinkConfigurationID cfgID,BSTR value) { return This->lpVtbl->SetString(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_GetString(IDeckLinkConfiguration* This,BMDDeckLinkConfigurationID cfgID,BSTR *value) { +static inline HRESULT IDeckLinkConfiguration_GetString(IDeckLinkConfiguration* This,BMDDeckLinkConfigurationID cfgID,BSTR *value) { return This->lpVtbl->GetString(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_WriteConfigurationToPreferences(IDeckLinkConfiguration* This) { +static inline HRESULT IDeckLinkConfiguration_WriteConfigurationToPreferences(IDeckLinkConfiguration* This) { return This->lpVtbl->WriteConfigurationToPreferences(This); } #endif @@ -2118,41 +2164,41 @@ interface IDeckLinkEncoderConfiguration { #define IDeckLinkEncoderConfiguration_GetBytes(This,cfgID,buffer,bufferSize) (This)->lpVtbl->GetBytes(This,cfgID,buffer,bufferSize) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_QueryInterface(IDeckLinkEncoderConfiguration* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkEncoderConfiguration_QueryInterface(IDeckLinkEncoderConfiguration* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkEncoderConfiguration_AddRef(IDeckLinkEncoderConfiguration* This) { +static inline ULONG IDeckLinkEncoderConfiguration_AddRef(IDeckLinkEncoderConfiguration* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkEncoderConfiguration_Release(IDeckLinkEncoderConfiguration* This) { +static inline ULONG IDeckLinkEncoderConfiguration_Release(IDeckLinkEncoderConfiguration* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkEncoderConfiguration methods ***/ -static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_SetFlag(IDeckLinkEncoderConfiguration* This,BMDDeckLinkEncoderConfigurationID cfgID,BOOL value) { +static inline HRESULT IDeckLinkEncoderConfiguration_SetFlag(IDeckLinkEncoderConfiguration* This,BMDDeckLinkEncoderConfigurationID cfgID,BOOL value) { return This->lpVtbl->SetFlag(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_GetFlag(IDeckLinkEncoderConfiguration* This,BMDDeckLinkEncoderConfigurationID cfgID,BOOL *value) { +static inline HRESULT IDeckLinkEncoderConfiguration_GetFlag(IDeckLinkEncoderConfiguration* This,BMDDeckLinkEncoderConfigurationID cfgID,BOOL *value) { return This->lpVtbl->GetFlag(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_SetInt(IDeckLinkEncoderConfiguration* This,BMDDeckLinkEncoderConfigurationID cfgID,LONGLONG value) { +static inline HRESULT IDeckLinkEncoderConfiguration_SetInt(IDeckLinkEncoderConfiguration* This,BMDDeckLinkEncoderConfigurationID cfgID,LONGLONG value) { return This->lpVtbl->SetInt(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_GetInt(IDeckLinkEncoderConfiguration* This,BMDDeckLinkEncoderConfigurationID cfgID,LONGLONG *value) { +static inline HRESULT IDeckLinkEncoderConfiguration_GetInt(IDeckLinkEncoderConfiguration* This,BMDDeckLinkEncoderConfigurationID cfgID,LONGLONG *value) { return This->lpVtbl->GetInt(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_SetFloat(IDeckLinkEncoderConfiguration* This,BMDDeckLinkEncoderConfigurationID cfgID,double value) { +static inline HRESULT IDeckLinkEncoderConfiguration_SetFloat(IDeckLinkEncoderConfiguration* This,BMDDeckLinkEncoderConfigurationID cfgID,double value) { return This->lpVtbl->SetFloat(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_GetFloat(IDeckLinkEncoderConfiguration* This,BMDDeckLinkEncoderConfigurationID cfgID,double *value) { +static inline HRESULT IDeckLinkEncoderConfiguration_GetFloat(IDeckLinkEncoderConfiguration* This,BMDDeckLinkEncoderConfigurationID cfgID,double *value) { return This->lpVtbl->GetFloat(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_SetString(IDeckLinkEncoderConfiguration* This,BMDDeckLinkEncoderConfigurationID cfgID,BSTR value) { +static inline HRESULT IDeckLinkEncoderConfiguration_SetString(IDeckLinkEncoderConfiguration* This,BMDDeckLinkEncoderConfigurationID cfgID,BSTR value) { return This->lpVtbl->SetString(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_GetString(IDeckLinkEncoderConfiguration* This,BMDDeckLinkEncoderConfigurationID cfgID,BSTR *value) { +static inline HRESULT IDeckLinkEncoderConfiguration_GetString(IDeckLinkEncoderConfiguration* This,BMDDeckLinkEncoderConfigurationID cfgID,BSTR *value) { return This->lpVtbl->GetString(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_GetBytes(IDeckLinkEncoderConfiguration* This,BMDDeckLinkEncoderConfigurationID cfgID,void *buffer,unsigned int *bufferSize) { +static inline HRESULT IDeckLinkEncoderConfiguration_GetBytes(IDeckLinkEncoderConfiguration* This,BMDDeckLinkEncoderConfigurationID cfgID,void *buffer,unsigned int *bufferSize) { return This->lpVtbl->GetBytes(This,cfgID,buffer,bufferSize); } #endif @@ -2338,26 +2384,26 @@ interface IDeckLinkDeckControlStatusCallback { #define IDeckLinkDeckControlStatusCallback_DeckControlStatusChanged(This,flags,mask) (This)->lpVtbl->DeckControlStatusChanged(This,flags,mask) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkDeckControlStatusCallback_QueryInterface(IDeckLinkDeckControlStatusCallback* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkDeckControlStatusCallback_QueryInterface(IDeckLinkDeckControlStatusCallback* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkDeckControlStatusCallback_AddRef(IDeckLinkDeckControlStatusCallback* This) { +static inline ULONG IDeckLinkDeckControlStatusCallback_AddRef(IDeckLinkDeckControlStatusCallback* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkDeckControlStatusCallback_Release(IDeckLinkDeckControlStatusCallback* This) { +static inline ULONG IDeckLinkDeckControlStatusCallback_Release(IDeckLinkDeckControlStatusCallback* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkDeckControlStatusCallback methods ***/ -static FORCEINLINE HRESULT IDeckLinkDeckControlStatusCallback_TimecodeUpdate(IDeckLinkDeckControlStatusCallback* This,BMDTimecodeBCD currentTimecode) { +static inline HRESULT IDeckLinkDeckControlStatusCallback_TimecodeUpdate(IDeckLinkDeckControlStatusCallback* This,BMDTimecodeBCD currentTimecode) { return This->lpVtbl->TimecodeUpdate(This,currentTimecode); } -static FORCEINLINE HRESULT IDeckLinkDeckControlStatusCallback_VTRControlStateChanged(IDeckLinkDeckControlStatusCallback* This,BMDDeckControlVTRControlState newState,BMDDeckControlError error) { +static inline HRESULT IDeckLinkDeckControlStatusCallback_VTRControlStateChanged(IDeckLinkDeckControlStatusCallback* This,BMDDeckControlVTRControlState newState,BMDDeckControlError error) { return This->lpVtbl->VTRControlStateChanged(This,newState,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControlStatusCallback_DeckControlEventReceived(IDeckLinkDeckControlStatusCallback* This,BMDDeckControlEvent event,BMDDeckControlError error) { +static inline HRESULT IDeckLinkDeckControlStatusCallback_DeckControlEventReceived(IDeckLinkDeckControlStatusCallback* This,BMDDeckControlEvent event,BMDDeckControlError error) { return This->lpVtbl->DeckControlEventReceived(This,event,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControlStatusCallback_DeckControlStatusChanged(IDeckLinkDeckControlStatusCallback* This,BMDDeckControlStatusFlags flags,unsigned int mask) { +static inline HRESULT IDeckLinkDeckControlStatusCallback_DeckControlStatusChanged(IDeckLinkDeckControlStatusCallback* This,BMDDeckControlStatusFlags flags,unsigned int mask) { return This->lpVtbl->DeckControlStatusChanged(This,flags,mask); } #endif @@ -2729,113 +2775,113 @@ interface IDeckLinkDeckControl { #define IDeckLinkDeckControl_SetCallback(This,callback) (This)->lpVtbl->SetCallback(This,callback) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkDeckControl_QueryInterface(IDeckLinkDeckControl* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkDeckControl_QueryInterface(IDeckLinkDeckControl* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkDeckControl_AddRef(IDeckLinkDeckControl* This) { +static inline ULONG IDeckLinkDeckControl_AddRef(IDeckLinkDeckControl* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkDeckControl_Release(IDeckLinkDeckControl* This) { +static inline ULONG IDeckLinkDeckControl_Release(IDeckLinkDeckControl* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkDeckControl methods ***/ -static FORCEINLINE HRESULT IDeckLinkDeckControl_Open(IDeckLinkDeckControl* This,BMDTimeScale timeScale,BMDTimeValue timeValue,BOOL timecodeIsDropFrame,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_Open(IDeckLinkDeckControl* This,BMDTimeScale timeScale,BMDTimeValue timeValue,BOOL timecodeIsDropFrame,BMDDeckControlError *error) { return This->lpVtbl->Open(This,timeScale,timeValue,timecodeIsDropFrame,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_Close(IDeckLinkDeckControl* This,BOOL standbyOn) { +static inline HRESULT IDeckLinkDeckControl_Close(IDeckLinkDeckControl* This,BOOL standbyOn) { return This->lpVtbl->Close(This,standbyOn); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_GetCurrentState(IDeckLinkDeckControl* This,BMDDeckControlMode *mode,BMDDeckControlVTRControlState *vtrControlState,BMDDeckControlStatusFlags *flags) { +static inline HRESULT IDeckLinkDeckControl_GetCurrentState(IDeckLinkDeckControl* This,BMDDeckControlMode *mode,BMDDeckControlVTRControlState *vtrControlState,BMDDeckControlStatusFlags *flags) { return This->lpVtbl->GetCurrentState(This,mode,vtrControlState,flags); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_SetStandby(IDeckLinkDeckControl* This,BOOL standbyOn) { +static inline HRESULT IDeckLinkDeckControl_SetStandby(IDeckLinkDeckControl* This,BOOL standbyOn) { return This->lpVtbl->SetStandby(This,standbyOn); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_SendCommand(IDeckLinkDeckControl* This,unsigned char *inBuffer,unsigned int inBufferSize,unsigned char *outBuffer,unsigned int *outDataSize,unsigned int outBufferSize,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_SendCommand(IDeckLinkDeckControl* This,unsigned char *inBuffer,unsigned int inBufferSize,unsigned char *outBuffer,unsigned int *outDataSize,unsigned int outBufferSize,BMDDeckControlError *error) { return This->lpVtbl->SendCommand(This,inBuffer,inBufferSize,outBuffer,outDataSize,outBufferSize,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_Play(IDeckLinkDeckControl* This,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_Play(IDeckLinkDeckControl* This,BMDDeckControlError *error) { return This->lpVtbl->Play(This,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_Stop(IDeckLinkDeckControl* This,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_Stop(IDeckLinkDeckControl* This,BMDDeckControlError *error) { return This->lpVtbl->Stop(This,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_TogglePlayStop(IDeckLinkDeckControl* This,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_TogglePlayStop(IDeckLinkDeckControl* This,BMDDeckControlError *error) { return This->lpVtbl->TogglePlayStop(This,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_Eject(IDeckLinkDeckControl* This,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_Eject(IDeckLinkDeckControl* This,BMDDeckControlError *error) { return This->lpVtbl->Eject(This,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_GoToTimecode(IDeckLinkDeckControl* This,BMDTimecodeBCD timecode,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_GoToTimecode(IDeckLinkDeckControl* This,BMDTimecodeBCD timecode,BMDDeckControlError *error) { return This->lpVtbl->GoToTimecode(This,timecode,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_FastForward(IDeckLinkDeckControl* This,BOOL viewTape,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_FastForward(IDeckLinkDeckControl* This,BOOL viewTape,BMDDeckControlError *error) { return This->lpVtbl->FastForward(This,viewTape,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_Rewind(IDeckLinkDeckControl* This,BOOL viewTape,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_Rewind(IDeckLinkDeckControl* This,BOOL viewTape,BMDDeckControlError *error) { return This->lpVtbl->Rewind(This,viewTape,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_StepForward(IDeckLinkDeckControl* This,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_StepForward(IDeckLinkDeckControl* This,BMDDeckControlError *error) { return This->lpVtbl->StepForward(This,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_StepBack(IDeckLinkDeckControl* This,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_StepBack(IDeckLinkDeckControl* This,BMDDeckControlError *error) { return This->lpVtbl->StepBack(This,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_Jog(IDeckLinkDeckControl* This,double rate,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_Jog(IDeckLinkDeckControl* This,double rate,BMDDeckControlError *error) { return This->lpVtbl->Jog(This,rate,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_Shuttle(IDeckLinkDeckControl* This,double rate,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_Shuttle(IDeckLinkDeckControl* This,double rate,BMDDeckControlError *error) { return This->lpVtbl->Shuttle(This,rate,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_GetTimecodeString(IDeckLinkDeckControl* This,BSTR *currentTimeCode,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_GetTimecodeString(IDeckLinkDeckControl* This,BSTR *currentTimeCode,BMDDeckControlError *error) { return This->lpVtbl->GetTimecodeString(This,currentTimeCode,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_GetTimecode(IDeckLinkDeckControl* This,IDeckLinkTimecode **currentTimecode,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_GetTimecode(IDeckLinkDeckControl* This,IDeckLinkTimecode **currentTimecode,BMDDeckControlError *error) { return This->lpVtbl->GetTimecode(This,currentTimecode,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_GetTimecodeBCD(IDeckLinkDeckControl* This,BMDTimecodeBCD *currentTimecode,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_GetTimecodeBCD(IDeckLinkDeckControl* This,BMDTimecodeBCD *currentTimecode,BMDDeckControlError *error) { return This->lpVtbl->GetTimecodeBCD(This,currentTimecode,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_SetPreroll(IDeckLinkDeckControl* This,unsigned int prerollSeconds) { +static inline HRESULT IDeckLinkDeckControl_SetPreroll(IDeckLinkDeckControl* This,unsigned int prerollSeconds) { return This->lpVtbl->SetPreroll(This,prerollSeconds); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_GetPreroll(IDeckLinkDeckControl* This,unsigned int *prerollSeconds) { +static inline HRESULT IDeckLinkDeckControl_GetPreroll(IDeckLinkDeckControl* This,unsigned int *prerollSeconds) { return This->lpVtbl->GetPreroll(This,prerollSeconds); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_SetExportOffset(IDeckLinkDeckControl* This,int exportOffsetFields) { +static inline HRESULT IDeckLinkDeckControl_SetExportOffset(IDeckLinkDeckControl* This,int exportOffsetFields) { return This->lpVtbl->SetExportOffset(This,exportOffsetFields); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_GetExportOffset(IDeckLinkDeckControl* This,int *exportOffsetFields) { +static inline HRESULT IDeckLinkDeckControl_GetExportOffset(IDeckLinkDeckControl* This,int *exportOffsetFields) { return This->lpVtbl->GetExportOffset(This,exportOffsetFields); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_GetManualExportOffset(IDeckLinkDeckControl* This,int *deckManualExportOffsetFields) { +static inline HRESULT IDeckLinkDeckControl_GetManualExportOffset(IDeckLinkDeckControl* This,int *deckManualExportOffsetFields) { return This->lpVtbl->GetManualExportOffset(This,deckManualExportOffsetFields); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_SetCaptureOffset(IDeckLinkDeckControl* This,int captureOffsetFields) { +static inline HRESULT IDeckLinkDeckControl_SetCaptureOffset(IDeckLinkDeckControl* This,int captureOffsetFields) { return This->lpVtbl->SetCaptureOffset(This,captureOffsetFields); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_GetCaptureOffset(IDeckLinkDeckControl* This,int *captureOffsetFields) { +static inline HRESULT IDeckLinkDeckControl_GetCaptureOffset(IDeckLinkDeckControl* This,int *captureOffsetFields) { return This->lpVtbl->GetCaptureOffset(This,captureOffsetFields); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_StartExport(IDeckLinkDeckControl* This,BMDTimecodeBCD inTimecode,BMDTimecodeBCD outTimecode,BMDDeckControlExportModeOpsFlags exportModeOps,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_StartExport(IDeckLinkDeckControl* This,BMDTimecodeBCD inTimecode,BMDTimecodeBCD outTimecode,BMDDeckControlExportModeOpsFlags exportModeOps,BMDDeckControlError *error) { return This->lpVtbl->StartExport(This,inTimecode,outTimecode,exportModeOps,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_StartCapture(IDeckLinkDeckControl* This,BOOL useVITC,BMDTimecodeBCD inTimecode,BMDTimecodeBCD outTimecode,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_StartCapture(IDeckLinkDeckControl* This,BOOL useVITC,BMDTimecodeBCD inTimecode,BMDTimecodeBCD outTimecode,BMDDeckControlError *error) { return This->lpVtbl->StartCapture(This,useVITC,inTimecode,outTimecode,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_GetDeviceID(IDeckLinkDeckControl* This,unsigned short *deviceId,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_GetDeviceID(IDeckLinkDeckControl* This,unsigned short *deviceId,BMDDeckControlError *error) { return This->lpVtbl->GetDeviceID(This,deviceId,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_Abort(IDeckLinkDeckControl* This) { +static inline HRESULT IDeckLinkDeckControl_Abort(IDeckLinkDeckControl* This) { return This->lpVtbl->Abort(This); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_CrashRecordStart(IDeckLinkDeckControl* This,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_CrashRecordStart(IDeckLinkDeckControl* This,BMDDeckControlError *error) { return This->lpVtbl->CrashRecordStart(This,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_CrashRecordStop(IDeckLinkDeckControl* This,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_CrashRecordStop(IDeckLinkDeckControl* This,BMDDeckControlError *error) { return This->lpVtbl->CrashRecordStop(This,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_SetCallback(IDeckLinkDeckControl* This,IDeckLinkDeckControlStatusCallback *callback) { +static inline HRESULT IDeckLinkDeckControl_SetCallback(IDeckLinkDeckControl* This,IDeckLinkDeckControlStatusCallback *callback) { return This->lpVtbl->SetCallback(This,callback); } #endif @@ -3074,23 +3120,23 @@ interface IBMDStreamingDeviceNotificationCallback { #define IBMDStreamingDeviceNotificationCallback_StreamingDeviceModeChanged(This,device,mode) (This)->lpVtbl->StreamingDeviceModeChanged(This,device,mode) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IBMDStreamingDeviceNotificationCallback_QueryInterface(IBMDStreamingDeviceNotificationCallback* This,REFIID riid,void **ppvObject) { +static inline HRESULT IBMDStreamingDeviceNotificationCallback_QueryInterface(IBMDStreamingDeviceNotificationCallback* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IBMDStreamingDeviceNotificationCallback_AddRef(IBMDStreamingDeviceNotificationCallback* This) { +static inline ULONG IBMDStreamingDeviceNotificationCallback_AddRef(IBMDStreamingDeviceNotificationCallback* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IBMDStreamingDeviceNotificationCallback_Release(IBMDStreamingDeviceNotificationCallback* This) { +static inline ULONG IBMDStreamingDeviceNotificationCallback_Release(IBMDStreamingDeviceNotificationCallback* This) { return This->lpVtbl->Release(This); } /*** IBMDStreamingDeviceNotificationCallback methods ***/ -static FORCEINLINE HRESULT IBMDStreamingDeviceNotificationCallback_StreamingDeviceArrived(IBMDStreamingDeviceNotificationCallback* This,IDeckLink *device) { +static inline HRESULT IBMDStreamingDeviceNotificationCallback_StreamingDeviceArrived(IBMDStreamingDeviceNotificationCallback* This,IDeckLink *device) { return This->lpVtbl->StreamingDeviceArrived(This,device); } -static FORCEINLINE HRESULT IBMDStreamingDeviceNotificationCallback_StreamingDeviceRemoved(IBMDStreamingDeviceNotificationCallback* This,IDeckLink *device) { +static inline HRESULT IBMDStreamingDeviceNotificationCallback_StreamingDeviceRemoved(IBMDStreamingDeviceNotificationCallback* This,IDeckLink *device) { return This->lpVtbl->StreamingDeviceRemoved(This,device); } -static FORCEINLINE HRESULT IBMDStreamingDeviceNotificationCallback_StreamingDeviceModeChanged(IBMDStreamingDeviceNotificationCallback* This,IDeckLink *device,BMDStreamingDeviceMode mode) { +static inline HRESULT IBMDStreamingDeviceNotificationCallback_StreamingDeviceModeChanged(IBMDStreamingDeviceNotificationCallback* This,IDeckLink *device,BMDStreamingDeviceMode mode) { return This->lpVtbl->StreamingDeviceModeChanged(This,device,mode); } #endif @@ -3194,32 +3240,32 @@ interface IBMDStreamingH264InputCallback { #define IBMDStreamingH264InputCallback_H264VideoInputModeChanged(This) (This)->lpVtbl->H264VideoInputModeChanged(This) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IBMDStreamingH264InputCallback_QueryInterface(IBMDStreamingH264InputCallback* This,REFIID riid,void **ppvObject) { +static inline HRESULT IBMDStreamingH264InputCallback_QueryInterface(IBMDStreamingH264InputCallback* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IBMDStreamingH264InputCallback_AddRef(IBMDStreamingH264InputCallback* This) { +static inline ULONG IBMDStreamingH264InputCallback_AddRef(IBMDStreamingH264InputCallback* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IBMDStreamingH264InputCallback_Release(IBMDStreamingH264InputCallback* This) { +static inline ULONG IBMDStreamingH264InputCallback_Release(IBMDStreamingH264InputCallback* This) { return This->lpVtbl->Release(This); } /*** IBMDStreamingH264InputCallback methods ***/ -static FORCEINLINE HRESULT IBMDStreamingH264InputCallback_H264NALPacketArrived(IBMDStreamingH264InputCallback* This,IBMDStreamingH264NALPacket *nalPacket) { +static inline HRESULT IBMDStreamingH264InputCallback_H264NALPacketArrived(IBMDStreamingH264InputCallback* This,IBMDStreamingH264NALPacket *nalPacket) { return This->lpVtbl->H264NALPacketArrived(This,nalPacket); } -static FORCEINLINE HRESULT IBMDStreamingH264InputCallback_H264AudioPacketArrived(IBMDStreamingH264InputCallback* This,IBMDStreamingAudioPacket *audioPacket) { +static inline HRESULT IBMDStreamingH264InputCallback_H264AudioPacketArrived(IBMDStreamingH264InputCallback* This,IBMDStreamingAudioPacket *audioPacket) { return This->lpVtbl->H264AudioPacketArrived(This,audioPacket); } -static FORCEINLINE HRESULT IBMDStreamingH264InputCallback_MPEG2TSPacketArrived(IBMDStreamingH264InputCallback* This,IBMDStreamingMPEG2TSPacket *tsPacket) { +static inline HRESULT IBMDStreamingH264InputCallback_MPEG2TSPacketArrived(IBMDStreamingH264InputCallback* This,IBMDStreamingMPEG2TSPacket *tsPacket) { return This->lpVtbl->MPEG2TSPacketArrived(This,tsPacket); } -static FORCEINLINE HRESULT IBMDStreamingH264InputCallback_H264VideoInputConnectorScanningChanged(IBMDStreamingH264InputCallback* This) { +static inline HRESULT IBMDStreamingH264InputCallback_H264VideoInputConnectorScanningChanged(IBMDStreamingH264InputCallback* This) { return This->lpVtbl->H264VideoInputConnectorScanningChanged(This); } -static FORCEINLINE HRESULT IBMDStreamingH264InputCallback_H264VideoInputConnectorChanged(IBMDStreamingH264InputCallback* This) { +static inline HRESULT IBMDStreamingH264InputCallback_H264VideoInputConnectorChanged(IBMDStreamingH264InputCallback* This) { return This->lpVtbl->H264VideoInputConnectorChanged(This); } -static FORCEINLINE HRESULT IBMDStreamingH264InputCallback_H264VideoInputModeChanged(IBMDStreamingH264InputCallback* This) { +static inline HRESULT IBMDStreamingH264InputCallback_H264VideoInputModeChanged(IBMDStreamingH264InputCallback* This) { return This->lpVtbl->H264VideoInputModeChanged(This); } #endif @@ -3293,20 +3339,20 @@ interface IBMDStreamingDiscovery { #define IBMDStreamingDiscovery_UninstallDeviceNotifications(This) (This)->lpVtbl->UninstallDeviceNotifications(This) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IBMDStreamingDiscovery_QueryInterface(IBMDStreamingDiscovery* This,REFIID riid,void **ppvObject) { +static inline HRESULT IBMDStreamingDiscovery_QueryInterface(IBMDStreamingDiscovery* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IBMDStreamingDiscovery_AddRef(IBMDStreamingDiscovery* This) { +static inline ULONG IBMDStreamingDiscovery_AddRef(IBMDStreamingDiscovery* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IBMDStreamingDiscovery_Release(IBMDStreamingDiscovery* This) { +static inline ULONG IBMDStreamingDiscovery_Release(IBMDStreamingDiscovery* This) { return This->lpVtbl->Release(This); } /*** IBMDStreamingDiscovery methods ***/ -static FORCEINLINE HRESULT IBMDStreamingDiscovery_InstallDeviceNotifications(IBMDStreamingDiscovery* This,IBMDStreamingDeviceNotificationCallback *theCallback) { +static inline HRESULT IBMDStreamingDiscovery_InstallDeviceNotifications(IBMDStreamingDiscovery* This,IBMDStreamingDeviceNotificationCallback *theCallback) { return This->lpVtbl->InstallDeviceNotifications(This,theCallback); } -static FORCEINLINE HRESULT IBMDStreamingDiscovery_UninstallDeviceNotifications(IBMDStreamingDiscovery* This) { +static inline HRESULT IBMDStreamingDiscovery_UninstallDeviceNotifications(IBMDStreamingDiscovery* This) { return This->lpVtbl->UninstallDeviceNotifications(This); } #endif @@ -3470,53 +3516,53 @@ interface IBMDStreamingVideoEncodingMode { #define IBMDStreamingVideoEncodingMode_CreateMutableVideoEncodingMode(This,newEncodingMode) (This)->lpVtbl->CreateMutableVideoEncodingMode(This,newEncodingMode) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IBMDStreamingVideoEncodingMode_QueryInterface(IBMDStreamingVideoEncodingMode* This,REFIID riid,void **ppvObject) { +static inline HRESULT IBMDStreamingVideoEncodingMode_QueryInterface(IBMDStreamingVideoEncodingMode* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IBMDStreamingVideoEncodingMode_AddRef(IBMDStreamingVideoEncodingMode* This) { +static inline ULONG IBMDStreamingVideoEncodingMode_AddRef(IBMDStreamingVideoEncodingMode* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IBMDStreamingVideoEncodingMode_Release(IBMDStreamingVideoEncodingMode* This) { +static inline ULONG IBMDStreamingVideoEncodingMode_Release(IBMDStreamingVideoEncodingMode* This) { return This->lpVtbl->Release(This); } /*** IBMDStreamingVideoEncodingMode methods ***/ -static FORCEINLINE HRESULT IBMDStreamingVideoEncodingMode_GetName(IBMDStreamingVideoEncodingMode* This,BSTR *name) { +static inline HRESULT IBMDStreamingVideoEncodingMode_GetName(IBMDStreamingVideoEncodingMode* This,BSTR *name) { return This->lpVtbl->GetName(This,name); } -static FORCEINLINE unsigned int IBMDStreamingVideoEncodingMode_GetPresetID(IBMDStreamingVideoEncodingMode* This) { +static inline unsigned int IBMDStreamingVideoEncodingMode_GetPresetID(IBMDStreamingVideoEncodingMode* This) { return This->lpVtbl->GetPresetID(This); } -static FORCEINLINE unsigned int IBMDStreamingVideoEncodingMode_GetSourcePositionX(IBMDStreamingVideoEncodingMode* This) { +static inline unsigned int IBMDStreamingVideoEncodingMode_GetSourcePositionX(IBMDStreamingVideoEncodingMode* This) { return This->lpVtbl->GetSourcePositionX(This); } -static FORCEINLINE unsigned int IBMDStreamingVideoEncodingMode_GetSourcePositionY(IBMDStreamingVideoEncodingMode* This) { +static inline unsigned int IBMDStreamingVideoEncodingMode_GetSourcePositionY(IBMDStreamingVideoEncodingMode* This) { return This->lpVtbl->GetSourcePositionY(This); } -static FORCEINLINE unsigned int IBMDStreamingVideoEncodingMode_GetSourceWidth(IBMDStreamingVideoEncodingMode* This) { +static inline unsigned int IBMDStreamingVideoEncodingMode_GetSourceWidth(IBMDStreamingVideoEncodingMode* This) { return This->lpVtbl->GetSourceWidth(This); } -static FORCEINLINE unsigned int IBMDStreamingVideoEncodingMode_GetSourceHeight(IBMDStreamingVideoEncodingMode* This) { +static inline unsigned int IBMDStreamingVideoEncodingMode_GetSourceHeight(IBMDStreamingVideoEncodingMode* This) { return This->lpVtbl->GetSourceHeight(This); } -static FORCEINLINE unsigned int IBMDStreamingVideoEncodingMode_GetDestWidth(IBMDStreamingVideoEncodingMode* This) { +static inline unsigned int IBMDStreamingVideoEncodingMode_GetDestWidth(IBMDStreamingVideoEncodingMode* This) { return This->lpVtbl->GetDestWidth(This); } -static FORCEINLINE unsigned int IBMDStreamingVideoEncodingMode_GetDestHeight(IBMDStreamingVideoEncodingMode* This) { +static inline unsigned int IBMDStreamingVideoEncodingMode_GetDestHeight(IBMDStreamingVideoEncodingMode* This) { return This->lpVtbl->GetDestHeight(This); } -static FORCEINLINE HRESULT IBMDStreamingVideoEncodingMode_GetFlag(IBMDStreamingVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,BOOL *value) { +static inline HRESULT IBMDStreamingVideoEncodingMode_GetFlag(IBMDStreamingVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,BOOL *value) { return This->lpVtbl->GetFlag(This,cfgID,value); } -static FORCEINLINE HRESULT IBMDStreamingVideoEncodingMode_GetInt(IBMDStreamingVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,LONGLONG *value) { +static inline HRESULT IBMDStreamingVideoEncodingMode_GetInt(IBMDStreamingVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,LONGLONG *value) { return This->lpVtbl->GetInt(This,cfgID,value); } -static FORCEINLINE HRESULT IBMDStreamingVideoEncodingMode_GetFloat(IBMDStreamingVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,double *value) { +static inline HRESULT IBMDStreamingVideoEncodingMode_GetFloat(IBMDStreamingVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,double *value) { return This->lpVtbl->GetFloat(This,cfgID,value); } -static FORCEINLINE HRESULT IBMDStreamingVideoEncodingMode_GetString(IBMDStreamingVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,BSTR *value) { +static inline HRESULT IBMDStreamingVideoEncodingMode_GetString(IBMDStreamingVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,BSTR *value) { return This->lpVtbl->GetString(This,cfgID,value); } -static FORCEINLINE HRESULT IBMDStreamingVideoEncodingMode_CreateMutableVideoEncodingMode(IBMDStreamingVideoEncodingMode* This,IBMDStreamingMutableVideoEncodingMode **newEncodingMode) { +static inline HRESULT IBMDStreamingVideoEncodingMode_CreateMutableVideoEncodingMode(IBMDStreamingVideoEncodingMode* This,IBMDStreamingMutableVideoEncodingMode **newEncodingMode) { return This->lpVtbl->CreateMutableVideoEncodingMode(This,newEncodingMode); } #endif @@ -3703,72 +3749,72 @@ interface IBMDStreamingMutableVideoEncodingMode { #define IBMDStreamingMutableVideoEncodingMode_SetString(This,cfgID,value) (This)->lpVtbl->SetString(This,cfgID,value) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IBMDStreamingMutableVideoEncodingMode_QueryInterface(IBMDStreamingMutableVideoEncodingMode* This,REFIID riid,void **ppvObject) { +static inline HRESULT IBMDStreamingMutableVideoEncodingMode_QueryInterface(IBMDStreamingMutableVideoEncodingMode* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IBMDStreamingMutableVideoEncodingMode_AddRef(IBMDStreamingMutableVideoEncodingMode* This) { +static inline ULONG IBMDStreamingMutableVideoEncodingMode_AddRef(IBMDStreamingMutableVideoEncodingMode* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IBMDStreamingMutableVideoEncodingMode_Release(IBMDStreamingMutableVideoEncodingMode* This) { +static inline ULONG IBMDStreamingMutableVideoEncodingMode_Release(IBMDStreamingMutableVideoEncodingMode* This) { return This->lpVtbl->Release(This); } /*** IBMDStreamingVideoEncodingMode methods ***/ -static FORCEINLINE HRESULT IBMDStreamingMutableVideoEncodingMode_GetName(IBMDStreamingMutableVideoEncodingMode* This,BSTR *name) { +static inline HRESULT IBMDStreamingMutableVideoEncodingMode_GetName(IBMDStreamingMutableVideoEncodingMode* This,BSTR *name) { return This->lpVtbl->GetName(This,name); } -static FORCEINLINE unsigned int IBMDStreamingMutableVideoEncodingMode_GetPresetID(IBMDStreamingMutableVideoEncodingMode* This) { +static inline unsigned int IBMDStreamingMutableVideoEncodingMode_GetPresetID(IBMDStreamingMutableVideoEncodingMode* This) { return This->lpVtbl->GetPresetID(This); } -static FORCEINLINE unsigned int IBMDStreamingMutableVideoEncodingMode_GetSourcePositionX(IBMDStreamingMutableVideoEncodingMode* This) { +static inline unsigned int IBMDStreamingMutableVideoEncodingMode_GetSourcePositionX(IBMDStreamingMutableVideoEncodingMode* This) { return This->lpVtbl->GetSourcePositionX(This); } -static FORCEINLINE unsigned int IBMDStreamingMutableVideoEncodingMode_GetSourcePositionY(IBMDStreamingMutableVideoEncodingMode* This) { +static inline unsigned int IBMDStreamingMutableVideoEncodingMode_GetSourcePositionY(IBMDStreamingMutableVideoEncodingMode* This) { return This->lpVtbl->GetSourcePositionY(This); } -static FORCEINLINE unsigned int IBMDStreamingMutableVideoEncodingMode_GetSourceWidth(IBMDStreamingMutableVideoEncodingMode* This) { +static inline unsigned int IBMDStreamingMutableVideoEncodingMode_GetSourceWidth(IBMDStreamingMutableVideoEncodingMode* This) { return This->lpVtbl->GetSourceWidth(This); } -static FORCEINLINE unsigned int IBMDStreamingMutableVideoEncodingMode_GetSourceHeight(IBMDStreamingMutableVideoEncodingMode* This) { +static inline unsigned int IBMDStreamingMutableVideoEncodingMode_GetSourceHeight(IBMDStreamingMutableVideoEncodingMode* This) { return This->lpVtbl->GetSourceHeight(This); } -static FORCEINLINE unsigned int IBMDStreamingMutableVideoEncodingMode_GetDestWidth(IBMDStreamingMutableVideoEncodingMode* This) { +static inline unsigned int IBMDStreamingMutableVideoEncodingMode_GetDestWidth(IBMDStreamingMutableVideoEncodingMode* This) { return This->lpVtbl->GetDestWidth(This); } -static FORCEINLINE unsigned int IBMDStreamingMutableVideoEncodingMode_GetDestHeight(IBMDStreamingMutableVideoEncodingMode* This) { +static inline unsigned int IBMDStreamingMutableVideoEncodingMode_GetDestHeight(IBMDStreamingMutableVideoEncodingMode* This) { return This->lpVtbl->GetDestHeight(This); } -static FORCEINLINE HRESULT IBMDStreamingMutableVideoEncodingMode_GetFlag(IBMDStreamingMutableVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,BOOL *value) { +static inline HRESULT IBMDStreamingMutableVideoEncodingMode_GetFlag(IBMDStreamingMutableVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,BOOL *value) { return This->lpVtbl->GetFlag(This,cfgID,value); } -static FORCEINLINE HRESULT IBMDStreamingMutableVideoEncodingMode_GetInt(IBMDStreamingMutableVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,LONGLONG *value) { +static inline HRESULT IBMDStreamingMutableVideoEncodingMode_GetInt(IBMDStreamingMutableVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,LONGLONG *value) { return This->lpVtbl->GetInt(This,cfgID,value); } -static FORCEINLINE HRESULT IBMDStreamingMutableVideoEncodingMode_GetFloat(IBMDStreamingMutableVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,double *value) { +static inline HRESULT IBMDStreamingMutableVideoEncodingMode_GetFloat(IBMDStreamingMutableVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,double *value) { return This->lpVtbl->GetFloat(This,cfgID,value); } -static FORCEINLINE HRESULT IBMDStreamingMutableVideoEncodingMode_GetString(IBMDStreamingMutableVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,BSTR *value) { +static inline HRESULT IBMDStreamingMutableVideoEncodingMode_GetString(IBMDStreamingMutableVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,BSTR *value) { return This->lpVtbl->GetString(This,cfgID,value); } -static FORCEINLINE HRESULT IBMDStreamingMutableVideoEncodingMode_CreateMutableVideoEncodingMode(IBMDStreamingMutableVideoEncodingMode* This,IBMDStreamingMutableVideoEncodingMode **newEncodingMode) { +static inline HRESULT IBMDStreamingMutableVideoEncodingMode_CreateMutableVideoEncodingMode(IBMDStreamingMutableVideoEncodingMode* This,IBMDStreamingMutableVideoEncodingMode **newEncodingMode) { return This->lpVtbl->CreateMutableVideoEncodingMode(This,newEncodingMode); } /*** IBMDStreamingMutableVideoEncodingMode methods ***/ -static FORCEINLINE HRESULT IBMDStreamingMutableVideoEncodingMode_SetSourceRect(IBMDStreamingMutableVideoEncodingMode* This,unsigned int posX,unsigned int posY,unsigned int width,unsigned int height) { +static inline HRESULT IBMDStreamingMutableVideoEncodingMode_SetSourceRect(IBMDStreamingMutableVideoEncodingMode* This,unsigned int posX,unsigned int posY,unsigned int width,unsigned int height) { return This->lpVtbl->SetSourceRect(This,posX,posY,width,height); } -static FORCEINLINE HRESULT IBMDStreamingMutableVideoEncodingMode_SetDestSize(IBMDStreamingMutableVideoEncodingMode* This,unsigned int width,unsigned int height) { +static inline HRESULT IBMDStreamingMutableVideoEncodingMode_SetDestSize(IBMDStreamingMutableVideoEncodingMode* This,unsigned int width,unsigned int height) { return This->lpVtbl->SetDestSize(This,width,height); } -static FORCEINLINE HRESULT IBMDStreamingMutableVideoEncodingMode_SetFlag(IBMDStreamingMutableVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,BOOL value) { +static inline HRESULT IBMDStreamingMutableVideoEncodingMode_SetFlag(IBMDStreamingMutableVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,BOOL value) { return This->lpVtbl->SetFlag(This,cfgID,value); } -static FORCEINLINE HRESULT IBMDStreamingMutableVideoEncodingMode_SetInt(IBMDStreamingMutableVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,LONGLONG value) { +static inline HRESULT IBMDStreamingMutableVideoEncodingMode_SetInt(IBMDStreamingMutableVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,LONGLONG value) { return This->lpVtbl->SetInt(This,cfgID,value); } -static FORCEINLINE HRESULT IBMDStreamingMutableVideoEncodingMode_SetFloat(IBMDStreamingMutableVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,double value) { +static inline HRESULT IBMDStreamingMutableVideoEncodingMode_SetFloat(IBMDStreamingMutableVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,double value) { return This->lpVtbl->SetFloat(This,cfgID,value); } -static FORCEINLINE HRESULT IBMDStreamingMutableVideoEncodingMode_SetString(IBMDStreamingMutableVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,BSTR value) { +static inline HRESULT IBMDStreamingMutableVideoEncodingMode_SetString(IBMDStreamingMutableVideoEncodingMode* This,BMDStreamingEncodingModePropertyID cfgID,BSTR value) { return This->lpVtbl->SetString(This,cfgID,value); } #endif @@ -3835,17 +3881,17 @@ interface IBMDStreamingVideoEncodingModePresetIterator { #define IBMDStreamingVideoEncodingModePresetIterator_Next(This,videoEncodingMode) (This)->lpVtbl->Next(This,videoEncodingMode) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IBMDStreamingVideoEncodingModePresetIterator_QueryInterface(IBMDStreamingVideoEncodingModePresetIterator* This,REFIID riid,void **ppvObject) { +static inline HRESULT IBMDStreamingVideoEncodingModePresetIterator_QueryInterface(IBMDStreamingVideoEncodingModePresetIterator* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IBMDStreamingVideoEncodingModePresetIterator_AddRef(IBMDStreamingVideoEncodingModePresetIterator* This) { +static inline ULONG IBMDStreamingVideoEncodingModePresetIterator_AddRef(IBMDStreamingVideoEncodingModePresetIterator* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IBMDStreamingVideoEncodingModePresetIterator_Release(IBMDStreamingVideoEncodingModePresetIterator* This) { +static inline ULONG IBMDStreamingVideoEncodingModePresetIterator_Release(IBMDStreamingVideoEncodingModePresetIterator* This) { return This->lpVtbl->Release(This); } /*** IBMDStreamingVideoEncodingModePresetIterator methods ***/ -static FORCEINLINE HRESULT IBMDStreamingVideoEncodingModePresetIterator_Next(IBMDStreamingVideoEncodingModePresetIterator* This,IBMDStreamingVideoEncodingMode **videoEncodingMode) { +static inline HRESULT IBMDStreamingVideoEncodingModePresetIterator_Next(IBMDStreamingVideoEncodingModePresetIterator* This,IBMDStreamingVideoEncodingMode **videoEncodingMode) { return This->lpVtbl->Next(This,videoEncodingMode); } #endif @@ -4000,47 +4046,47 @@ interface IBMDStreamingDeviceInput { #define IBMDStreamingDeviceInput_SetCallback(This,theCallback) (This)->lpVtbl->SetCallback(This,theCallback) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IBMDStreamingDeviceInput_QueryInterface(IBMDStreamingDeviceInput* This,REFIID riid,void **ppvObject) { +static inline HRESULT IBMDStreamingDeviceInput_QueryInterface(IBMDStreamingDeviceInput* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IBMDStreamingDeviceInput_AddRef(IBMDStreamingDeviceInput* This) { +static inline ULONG IBMDStreamingDeviceInput_AddRef(IBMDStreamingDeviceInput* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IBMDStreamingDeviceInput_Release(IBMDStreamingDeviceInput* This) { +static inline ULONG IBMDStreamingDeviceInput_Release(IBMDStreamingDeviceInput* This) { return This->lpVtbl->Release(This); } /*** IBMDStreamingDeviceInput methods ***/ -static FORCEINLINE HRESULT IBMDStreamingDeviceInput_DoesSupportVideoInputMode(IBMDStreamingDeviceInput* This,BMDDisplayMode inputMode,BOOL *result) { +static inline HRESULT IBMDStreamingDeviceInput_DoesSupportVideoInputMode(IBMDStreamingDeviceInput* This,BMDDisplayMode inputMode,BOOL *result) { return This->lpVtbl->DoesSupportVideoInputMode(This,inputMode,result); } -static FORCEINLINE HRESULT IBMDStreamingDeviceInput_GetVideoInputModeIterator(IBMDStreamingDeviceInput* This,IDeckLinkDisplayModeIterator **iterator) { +static inline HRESULT IBMDStreamingDeviceInput_GetVideoInputModeIterator(IBMDStreamingDeviceInput* This,IDeckLinkDisplayModeIterator **iterator) { return This->lpVtbl->GetVideoInputModeIterator(This,iterator); } -static FORCEINLINE HRESULT IBMDStreamingDeviceInput_SetVideoInputMode(IBMDStreamingDeviceInput* This,BMDDisplayMode inputMode) { +static inline HRESULT IBMDStreamingDeviceInput_SetVideoInputMode(IBMDStreamingDeviceInput* This,BMDDisplayMode inputMode) { return This->lpVtbl->SetVideoInputMode(This,inputMode); } -static FORCEINLINE HRESULT IBMDStreamingDeviceInput_GetCurrentDetectedVideoInputMode(IBMDStreamingDeviceInput* This,BMDDisplayMode *detectedMode) { +static inline HRESULT IBMDStreamingDeviceInput_GetCurrentDetectedVideoInputMode(IBMDStreamingDeviceInput* This,BMDDisplayMode *detectedMode) { return This->lpVtbl->GetCurrentDetectedVideoInputMode(This,detectedMode); } -static FORCEINLINE HRESULT IBMDStreamingDeviceInput_GetVideoEncodingMode(IBMDStreamingDeviceInput* This,IBMDStreamingVideoEncodingMode **encodingMode) { +static inline HRESULT IBMDStreamingDeviceInput_GetVideoEncodingMode(IBMDStreamingDeviceInput* This,IBMDStreamingVideoEncodingMode **encodingMode) { return This->lpVtbl->GetVideoEncodingMode(This,encodingMode); } -static FORCEINLINE HRESULT IBMDStreamingDeviceInput_GetVideoEncodingModePresetIterator(IBMDStreamingDeviceInput* This,BMDDisplayMode inputMode,IBMDStreamingVideoEncodingModePresetIterator **iterator) { +static inline HRESULT IBMDStreamingDeviceInput_GetVideoEncodingModePresetIterator(IBMDStreamingDeviceInput* This,BMDDisplayMode inputMode,IBMDStreamingVideoEncodingModePresetIterator **iterator) { return This->lpVtbl->GetVideoEncodingModePresetIterator(This,inputMode,iterator); } -static FORCEINLINE HRESULT IBMDStreamingDeviceInput_DoesSupportVideoEncodingMode(IBMDStreamingDeviceInput* This,BMDDisplayMode inputMode,IBMDStreamingVideoEncodingMode *encodingMode,BMDStreamingEncodingSupport *result,IBMDStreamingVideoEncodingMode **changedEncodingMode) { +static inline HRESULT IBMDStreamingDeviceInput_DoesSupportVideoEncodingMode(IBMDStreamingDeviceInput* This,BMDDisplayMode inputMode,IBMDStreamingVideoEncodingMode *encodingMode,BMDStreamingEncodingSupport *result,IBMDStreamingVideoEncodingMode **changedEncodingMode) { return This->lpVtbl->DoesSupportVideoEncodingMode(This,inputMode,encodingMode,result,changedEncodingMode); } -static FORCEINLINE HRESULT IBMDStreamingDeviceInput_SetVideoEncodingMode(IBMDStreamingDeviceInput* This,IBMDStreamingVideoEncodingMode *encodingMode) { +static inline HRESULT IBMDStreamingDeviceInput_SetVideoEncodingMode(IBMDStreamingDeviceInput* This,IBMDStreamingVideoEncodingMode *encodingMode) { return This->lpVtbl->SetVideoEncodingMode(This,encodingMode); } -static FORCEINLINE HRESULT IBMDStreamingDeviceInput_StartCapture(IBMDStreamingDeviceInput* This) { +static inline HRESULT IBMDStreamingDeviceInput_StartCapture(IBMDStreamingDeviceInput* This) { return This->lpVtbl->StartCapture(This); } -static FORCEINLINE HRESULT IBMDStreamingDeviceInput_StopCapture(IBMDStreamingDeviceInput* This) { +static inline HRESULT IBMDStreamingDeviceInput_StopCapture(IBMDStreamingDeviceInput* This) { return This->lpVtbl->StopCapture(This); } -static FORCEINLINE HRESULT IBMDStreamingDeviceInput_SetCallback(IBMDStreamingDeviceInput* This,IUnknown *theCallback) { +static inline HRESULT IBMDStreamingDeviceInput_SetCallback(IBMDStreamingDeviceInput* This,IUnknown *theCallback) { return This->lpVtbl->SetCallback(This,theCallback); } #endif @@ -4140,29 +4186,29 @@ interface IBMDStreamingH264NALPacket { #define IBMDStreamingH264NALPacket_GetPacketIndex(This,packetIndex) (This)->lpVtbl->GetPacketIndex(This,packetIndex) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IBMDStreamingH264NALPacket_QueryInterface(IBMDStreamingH264NALPacket* This,REFIID riid,void **ppvObject) { +static inline HRESULT IBMDStreamingH264NALPacket_QueryInterface(IBMDStreamingH264NALPacket* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IBMDStreamingH264NALPacket_AddRef(IBMDStreamingH264NALPacket* This) { +static inline ULONG IBMDStreamingH264NALPacket_AddRef(IBMDStreamingH264NALPacket* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IBMDStreamingH264NALPacket_Release(IBMDStreamingH264NALPacket* This) { +static inline ULONG IBMDStreamingH264NALPacket_Release(IBMDStreamingH264NALPacket* This) { return This->lpVtbl->Release(This); } /*** IBMDStreamingH264NALPacket methods ***/ -static FORCEINLINE LONG IBMDStreamingH264NALPacket_GetPayloadSize(IBMDStreamingH264NALPacket* This) { +static inline LONG IBMDStreamingH264NALPacket_GetPayloadSize(IBMDStreamingH264NALPacket* This) { return This->lpVtbl->GetPayloadSize(This); } -static FORCEINLINE HRESULT IBMDStreamingH264NALPacket_GetBytes(IBMDStreamingH264NALPacket* This,void **buffer) { +static inline HRESULT IBMDStreamingH264NALPacket_GetBytes(IBMDStreamingH264NALPacket* This,void **buffer) { return This->lpVtbl->GetBytes(This,buffer); } -static FORCEINLINE HRESULT IBMDStreamingH264NALPacket_GetBytesWithSizePrefix(IBMDStreamingH264NALPacket* This,void **buffer) { +static inline HRESULT IBMDStreamingH264NALPacket_GetBytesWithSizePrefix(IBMDStreamingH264NALPacket* This,void **buffer) { return This->lpVtbl->GetBytesWithSizePrefix(This,buffer); } -static FORCEINLINE HRESULT IBMDStreamingH264NALPacket_GetDisplayTime(IBMDStreamingH264NALPacket* This,ULONGLONG requestedTimeScale,ULONGLONG *displayTime) { +static inline HRESULT IBMDStreamingH264NALPacket_GetDisplayTime(IBMDStreamingH264NALPacket* This,ULONGLONG requestedTimeScale,ULONGLONG *displayTime) { return This->lpVtbl->GetDisplayTime(This,requestedTimeScale,displayTime); } -static FORCEINLINE HRESULT IBMDStreamingH264NALPacket_GetPacketIndex(IBMDStreamingH264NALPacket* This,unsigned int *packetIndex) { +static inline HRESULT IBMDStreamingH264NALPacket_GetPacketIndex(IBMDStreamingH264NALPacket* This,unsigned int *packetIndex) { return This->lpVtbl->GetPacketIndex(This,packetIndex); } #endif @@ -4261,29 +4307,29 @@ interface IBMDStreamingAudioPacket { #define IBMDStreamingAudioPacket_GetPacketIndex(This,packetIndex) (This)->lpVtbl->GetPacketIndex(This,packetIndex) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IBMDStreamingAudioPacket_QueryInterface(IBMDStreamingAudioPacket* This,REFIID riid,void **ppvObject) { +static inline HRESULT IBMDStreamingAudioPacket_QueryInterface(IBMDStreamingAudioPacket* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IBMDStreamingAudioPacket_AddRef(IBMDStreamingAudioPacket* This) { +static inline ULONG IBMDStreamingAudioPacket_AddRef(IBMDStreamingAudioPacket* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IBMDStreamingAudioPacket_Release(IBMDStreamingAudioPacket* This) { +static inline ULONG IBMDStreamingAudioPacket_Release(IBMDStreamingAudioPacket* This) { return This->lpVtbl->Release(This); } /*** IBMDStreamingAudioPacket methods ***/ -static FORCEINLINE BMDStreamingAudioCodec IBMDStreamingAudioPacket_GetCodec(IBMDStreamingAudioPacket* This) { +static inline BMDStreamingAudioCodec IBMDStreamingAudioPacket_GetCodec(IBMDStreamingAudioPacket* This) { return This->lpVtbl->GetCodec(This); } -static FORCEINLINE LONG IBMDStreamingAudioPacket_GetPayloadSize(IBMDStreamingAudioPacket* This) { +static inline LONG IBMDStreamingAudioPacket_GetPayloadSize(IBMDStreamingAudioPacket* This) { return This->lpVtbl->GetPayloadSize(This); } -static FORCEINLINE HRESULT IBMDStreamingAudioPacket_GetBytes(IBMDStreamingAudioPacket* This,void **buffer) { +static inline HRESULT IBMDStreamingAudioPacket_GetBytes(IBMDStreamingAudioPacket* This,void **buffer) { return This->lpVtbl->GetBytes(This,buffer); } -static FORCEINLINE HRESULT IBMDStreamingAudioPacket_GetPlayTime(IBMDStreamingAudioPacket* This,ULONGLONG requestedTimeScale,ULONGLONG *playTime) { +static inline HRESULT IBMDStreamingAudioPacket_GetPlayTime(IBMDStreamingAudioPacket* This,ULONGLONG requestedTimeScale,ULONGLONG *playTime) { return This->lpVtbl->GetPlayTime(This,requestedTimeScale,playTime); } -static FORCEINLINE HRESULT IBMDStreamingAudioPacket_GetPacketIndex(IBMDStreamingAudioPacket* This,unsigned int *packetIndex) { +static inline HRESULT IBMDStreamingAudioPacket_GetPacketIndex(IBMDStreamingAudioPacket* This,unsigned int *packetIndex) { return This->lpVtbl->GetPacketIndex(This,packetIndex); } #endif @@ -4357,20 +4403,20 @@ interface IBMDStreamingMPEG2TSPacket { #define IBMDStreamingMPEG2TSPacket_GetBytes(This,buffer) (This)->lpVtbl->GetBytes(This,buffer) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IBMDStreamingMPEG2TSPacket_QueryInterface(IBMDStreamingMPEG2TSPacket* This,REFIID riid,void **ppvObject) { +static inline HRESULT IBMDStreamingMPEG2TSPacket_QueryInterface(IBMDStreamingMPEG2TSPacket* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IBMDStreamingMPEG2TSPacket_AddRef(IBMDStreamingMPEG2TSPacket* This) { +static inline ULONG IBMDStreamingMPEG2TSPacket_AddRef(IBMDStreamingMPEG2TSPacket* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IBMDStreamingMPEG2TSPacket_Release(IBMDStreamingMPEG2TSPacket* This) { +static inline ULONG IBMDStreamingMPEG2TSPacket_Release(IBMDStreamingMPEG2TSPacket* This) { return This->lpVtbl->Release(This); } /*** IBMDStreamingMPEG2TSPacket methods ***/ -static FORCEINLINE LONG IBMDStreamingMPEG2TSPacket_GetPayloadSize(IBMDStreamingMPEG2TSPacket* This) { +static inline LONG IBMDStreamingMPEG2TSPacket_GetPayloadSize(IBMDStreamingMPEG2TSPacket* This) { return This->lpVtbl->GetPayloadSize(This); } -static FORCEINLINE HRESULT IBMDStreamingMPEG2TSPacket_GetBytes(IBMDStreamingMPEG2TSPacket* This,void **buffer) { +static inline HRESULT IBMDStreamingMPEG2TSPacket_GetBytes(IBMDStreamingMPEG2TSPacket* This,void **buffer) { return This->lpVtbl->GetBytes(This,buffer); } #endif @@ -4459,23 +4505,23 @@ interface IBMDStreamingH264NALParser { #define IBMDStreamingH264NALParser_GetProfileAndLevelFromSPS(This,nal,profileIdc,profileCompatability,levelIdc) (This)->lpVtbl->GetProfileAndLevelFromSPS(This,nal,profileIdc,profileCompatability,levelIdc) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IBMDStreamingH264NALParser_QueryInterface(IBMDStreamingH264NALParser* This,REFIID riid,void **ppvObject) { +static inline HRESULT IBMDStreamingH264NALParser_QueryInterface(IBMDStreamingH264NALParser* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IBMDStreamingH264NALParser_AddRef(IBMDStreamingH264NALParser* This) { +static inline ULONG IBMDStreamingH264NALParser_AddRef(IBMDStreamingH264NALParser* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IBMDStreamingH264NALParser_Release(IBMDStreamingH264NALParser* This) { +static inline ULONG IBMDStreamingH264NALParser_Release(IBMDStreamingH264NALParser* This) { return This->lpVtbl->Release(This); } /*** IBMDStreamingH264NALParser methods ***/ -static FORCEINLINE HRESULT IBMDStreamingH264NALParser_IsNALSequenceParameterSet(IBMDStreamingH264NALParser* This,IBMDStreamingH264NALPacket *nal) { +static inline HRESULT IBMDStreamingH264NALParser_IsNALSequenceParameterSet(IBMDStreamingH264NALParser* This,IBMDStreamingH264NALPacket *nal) { return This->lpVtbl->IsNALSequenceParameterSet(This,nal); } -static FORCEINLINE HRESULT IBMDStreamingH264NALParser_IsNALPictureParameterSet(IBMDStreamingH264NALParser* This,IBMDStreamingH264NALPacket *nal) { +static inline HRESULT IBMDStreamingH264NALParser_IsNALPictureParameterSet(IBMDStreamingH264NALParser* This,IBMDStreamingH264NALPacket *nal) { return This->lpVtbl->IsNALPictureParameterSet(This,nal); } -static FORCEINLINE HRESULT IBMDStreamingH264NALParser_GetProfileAndLevelFromSPS(IBMDStreamingH264NALParser* This,IBMDStreamingH264NALPacket *nal,unsigned int *profileIdc,unsigned int *profileCompatability,unsigned int *levelIdc) { +static inline HRESULT IBMDStreamingH264NALParser_GetProfileAndLevelFromSPS(IBMDStreamingH264NALParser* This,IBMDStreamingH264NALPacket *nal,unsigned int *profileIdc,unsigned int *profileCompatability,unsigned int *levelIdc) { return This->lpVtbl->GetProfileAndLevelFromSPS(This,nal,profileIdc,profileCompatability,levelIdc); } #endif @@ -4587,6 +4633,7 @@ typedef enum _BMDOutputFrameCompletionResult { bmdOutputFrameFlushed = 3 } BMDOutputFrameCompletionResult; typedef enum _BMDReferenceStatus { + bmdReferenceUnlocked = 0, bmdReferenceNotSupportedByHardware = 1 << 0, bmdReferenceLocked = 1 << 1 } BMDReferenceStatus; @@ -4715,6 +4762,11 @@ typedef enum _BMDDeckLinkFrameMetadataID { bmdDeckLinkFrameMetadataHDRMaximumContentLightLevel = 0x6d636c6c, bmdDeckLinkFrameMetadataHDRMaximumFrameAverageLightLevel = 0x66616c6c } BMDDeckLinkFrameMetadataID; +typedef enum _BMDEthernetLinkState { + bmdEthernetLinkStateDisconnected = 0x656c6473, + bmdEthernetLinkStateConnectedUnbound = 0x656c6375, + bmdEthernetLinkStateConnectedBound = 0x656c6362 +} BMDEthernetLinkState; typedef enum _BMDProfileID { bmdProfileOneSubDeviceFullDuplex = 0x31646664, bmdProfileOneSubDeviceHalfDuplex = 0x31646864, @@ -4789,7 +4841,8 @@ typedef enum _BMDDeckLinkAttributeID { BMDDeckLinkVendorName = 0x766e6472, BMDDeckLinkDisplayName = 0x6473706e, BMDDeckLinkModelName = 0x6d646c6e, - BMDDeckLinkDeviceHandle = 0x64657668 + BMDDeckLinkDeviceHandle = 0x64657668, + BMDDeckLinkEthernetMACAddress = 0x654d4143 } BMDDeckLinkAttributeID; typedef enum _BMDDeckLinkAPIInformationID { BMDDeckLinkAPIVersion = 0x76657273 @@ -4806,6 +4859,7 @@ typedef enum _BMDDeckLinkStatusID { bmdDeckLinkStatusCurrentVideoInputFlags = 0x63766966, bmdDeckLinkStatusCurrentVideoOutputMode = 0x63766f6d, bmdDeckLinkStatusCurrentVideoOutputFlags = 0x63766f66, + bmdDeckLinkStatusEthernetLink = 0x73656c73, bmdDeckLinkStatusPCIExpressLinkWidth = 0x70776964, bmdDeckLinkStatusPCIExpressLinkSpeed = 0x706c6e6b, bmdDeckLinkStatusLastVideoOutputPixelFormat = 0x6f706978, @@ -4816,6 +4870,16 @@ typedef enum _BMDDeckLinkStatusID { bmdDeckLinkStatusDeviceTemperature = 0x64746d70, bmdDeckLinkStatusVideoInputSignalLocked = 0x7669736c, bmdDeckLinkStatusReferenceSignalLocked = 0x7265666c, + bmdDeckLinkStatusEthernetLocalIPAddress = 0x73656970, + bmdDeckLinkStatusEthernetSubnetMask = 0x7365736d, + bmdDeckLinkStatusEthernetGatewayIPAddress = 0x73656777, + bmdDeckLinkStatusEthernetPrimaryDNS = 0x73657064, + bmdDeckLinkStatusEthernetSecondaryDNS = 0x73657364, + bmdDeckLinkStatusEthernetPTPGrandmasterIdentity = 0x73706964, + bmdDeckLinkStatusEthernetVideoOutputAddress = 0x736f6176, + bmdDeckLinkStatusEthernetAudioOutputAddress = 0x736f6161, + bmdDeckLinkStatusEthernetAncillaryOutputAddress = 0x736f6141, + bmdDeckLinkStatusEthernetAudioInputChannelOrder = 0x7361636f, bmdDeckLinkStatusReceivedEDID = 0x65646964 } BMDDeckLinkStatusID; typedef enum _BMDDeckLinkVideoStatusFlags { @@ -5076,6 +5140,14 @@ interface IDeckLinkDX9ScreenPreviewHelper; #endif /* __cplusplus */ #endif +#ifndef __IDeckLinkWPFDX9ScreenPreviewHelper_FWD_DEFINED__ +#define __IDeckLinkWPFDX9ScreenPreviewHelper_FWD_DEFINED__ +typedef interface IDeckLinkWPFDX9ScreenPreviewHelper IDeckLinkWPFDX9ScreenPreviewHelper; +#ifdef __cplusplus +interface IDeckLinkWPFDX9ScreenPreviewHelper; +#endif /* __cplusplus */ +#endif + #ifndef __IDeckLinkNotificationCallback_FWD_DEFINED__ #define __IDeckLinkNotificationCallback_FWD_DEFINED__ typedef interface IDeckLinkNotificationCallback IDeckLinkNotificationCallback; @@ -5237,20 +5309,20 @@ interface IDeckLinkVideoOutputCallback { #define IDeckLinkVideoOutputCallback_ScheduledPlaybackHasStopped(This) (This)->lpVtbl->ScheduledPlaybackHasStopped(This) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkVideoOutputCallback_QueryInterface(IDeckLinkVideoOutputCallback* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkVideoOutputCallback_QueryInterface(IDeckLinkVideoOutputCallback* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkVideoOutputCallback_AddRef(IDeckLinkVideoOutputCallback* This) { +static inline ULONG IDeckLinkVideoOutputCallback_AddRef(IDeckLinkVideoOutputCallback* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkVideoOutputCallback_Release(IDeckLinkVideoOutputCallback* This) { +static inline ULONG IDeckLinkVideoOutputCallback_Release(IDeckLinkVideoOutputCallback* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkVideoOutputCallback methods ***/ -static FORCEINLINE HRESULT IDeckLinkVideoOutputCallback_ScheduledFrameCompleted(IDeckLinkVideoOutputCallback* This,IDeckLinkVideoFrame *completedFrame,BMDOutputFrameCompletionResult result) { +static inline HRESULT IDeckLinkVideoOutputCallback_ScheduledFrameCompleted(IDeckLinkVideoOutputCallback* This,IDeckLinkVideoFrame *completedFrame,BMDOutputFrameCompletionResult result) { return This->lpVtbl->ScheduledFrameCompleted(This,completedFrame,result); } -static FORCEINLINE HRESULT IDeckLinkVideoOutputCallback_ScheduledPlaybackHasStopped(IDeckLinkVideoOutputCallback* This) { +static inline HRESULT IDeckLinkVideoOutputCallback_ScheduledPlaybackHasStopped(IDeckLinkVideoOutputCallback* This) { return This->lpVtbl->ScheduledPlaybackHasStopped(This); } #endif @@ -5331,20 +5403,20 @@ interface IDeckLinkInputCallback { #define IDeckLinkInputCallback_VideoInputFrameArrived(This,videoFrame,audioPacket) (This)->lpVtbl->VideoInputFrameArrived(This,videoFrame,audioPacket) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkInputCallback_QueryInterface(IDeckLinkInputCallback* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkInputCallback_QueryInterface(IDeckLinkInputCallback* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkInputCallback_AddRef(IDeckLinkInputCallback* This) { +static inline ULONG IDeckLinkInputCallback_AddRef(IDeckLinkInputCallback* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkInputCallback_Release(IDeckLinkInputCallback* This) { +static inline ULONG IDeckLinkInputCallback_Release(IDeckLinkInputCallback* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkInputCallback methods ***/ -static FORCEINLINE HRESULT IDeckLinkInputCallback_VideoInputFormatChanged(IDeckLinkInputCallback* This,BMDVideoInputFormatChangedEvents notificationEvents,IDeckLinkDisplayMode *newDisplayMode,BMDDetectedVideoInputFormatFlags detectedSignalFlags) { +static inline HRESULT IDeckLinkInputCallback_VideoInputFormatChanged(IDeckLinkInputCallback* This,BMDVideoInputFormatChangedEvents notificationEvents,IDeckLinkDisplayMode *newDisplayMode,BMDDetectedVideoInputFormatFlags detectedSignalFlags) { return This->lpVtbl->VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags); } -static FORCEINLINE HRESULT IDeckLinkInputCallback_VideoInputFrameArrived(IDeckLinkInputCallback* This,IDeckLinkVideoInputFrame *videoFrame,IDeckLinkAudioInputPacket *audioPacket) { +static inline HRESULT IDeckLinkInputCallback_VideoInputFrameArrived(IDeckLinkInputCallback* This,IDeckLinkVideoInputFrame *videoFrame,IDeckLinkAudioInputPacket *audioPacket) { return This->lpVtbl->VideoInputFrameArrived(This,videoFrame,audioPacket); } #endif @@ -5431,23 +5503,23 @@ interface IDeckLinkEncoderInputCallback { #define IDeckLinkEncoderInputCallback_AudioPacketArrived(This,audioPacket) (This)->lpVtbl->AudioPacketArrived(This,audioPacket) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkEncoderInputCallback_QueryInterface(IDeckLinkEncoderInputCallback* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkEncoderInputCallback_QueryInterface(IDeckLinkEncoderInputCallback* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkEncoderInputCallback_AddRef(IDeckLinkEncoderInputCallback* This) { +static inline ULONG IDeckLinkEncoderInputCallback_AddRef(IDeckLinkEncoderInputCallback* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkEncoderInputCallback_Release(IDeckLinkEncoderInputCallback* This) { +static inline ULONG IDeckLinkEncoderInputCallback_Release(IDeckLinkEncoderInputCallback* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkEncoderInputCallback methods ***/ -static FORCEINLINE HRESULT IDeckLinkEncoderInputCallback_VideoInputSignalChanged(IDeckLinkEncoderInputCallback* This,BMDVideoInputFormatChangedEvents notificationEvents,IDeckLinkDisplayMode *newDisplayMode,BMDDetectedVideoInputFormatFlags detectedSignalFlags) { +static inline HRESULT IDeckLinkEncoderInputCallback_VideoInputSignalChanged(IDeckLinkEncoderInputCallback* This,BMDVideoInputFormatChangedEvents notificationEvents,IDeckLinkDisplayMode *newDisplayMode,BMDDetectedVideoInputFormatFlags detectedSignalFlags) { return This->lpVtbl->VideoInputSignalChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags); } -static FORCEINLINE HRESULT IDeckLinkEncoderInputCallback_VideoPacketArrived(IDeckLinkEncoderInputCallback* This,IDeckLinkEncoderVideoPacket *videoPacket) { +static inline HRESULT IDeckLinkEncoderInputCallback_VideoPacketArrived(IDeckLinkEncoderInputCallback* This,IDeckLinkEncoderVideoPacket *videoPacket) { return This->lpVtbl->VideoPacketArrived(This,videoPacket); } -static FORCEINLINE HRESULT IDeckLinkEncoderInputCallback_AudioPacketArrived(IDeckLinkEncoderInputCallback* This,IDeckLinkEncoderAudioPacket *audioPacket) { +static inline HRESULT IDeckLinkEncoderInputCallback_AudioPacketArrived(IDeckLinkEncoderInputCallback* This,IDeckLinkEncoderAudioPacket *audioPacket) { return This->lpVtbl->AudioPacketArrived(This,audioPacket); } #endif @@ -5538,26 +5610,26 @@ interface IDeckLinkMemoryAllocator { #define IDeckLinkMemoryAllocator_Decommit(This) (This)->lpVtbl->Decommit(This) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkMemoryAllocator_QueryInterface(IDeckLinkMemoryAllocator* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkMemoryAllocator_QueryInterface(IDeckLinkMemoryAllocator* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkMemoryAllocator_AddRef(IDeckLinkMemoryAllocator* This) { +static inline ULONG IDeckLinkMemoryAllocator_AddRef(IDeckLinkMemoryAllocator* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkMemoryAllocator_Release(IDeckLinkMemoryAllocator* This) { +static inline ULONG IDeckLinkMemoryAllocator_Release(IDeckLinkMemoryAllocator* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkMemoryAllocator methods ***/ -static FORCEINLINE HRESULT IDeckLinkMemoryAllocator_AllocateBuffer(IDeckLinkMemoryAllocator* This,unsigned int bufferSize,void **allocatedBuffer) { +static inline HRESULT IDeckLinkMemoryAllocator_AllocateBuffer(IDeckLinkMemoryAllocator* This,unsigned int bufferSize,void **allocatedBuffer) { return This->lpVtbl->AllocateBuffer(This,bufferSize,allocatedBuffer); } -static FORCEINLINE HRESULT IDeckLinkMemoryAllocator_ReleaseBuffer(IDeckLinkMemoryAllocator* This,void *buffer) { +static inline HRESULT IDeckLinkMemoryAllocator_ReleaseBuffer(IDeckLinkMemoryAllocator* This,void *buffer) { return This->lpVtbl->ReleaseBuffer(This,buffer); } -static FORCEINLINE HRESULT IDeckLinkMemoryAllocator_Commit(IDeckLinkMemoryAllocator* This) { +static inline HRESULT IDeckLinkMemoryAllocator_Commit(IDeckLinkMemoryAllocator* This) { return This->lpVtbl->Commit(This); } -static FORCEINLINE HRESULT IDeckLinkMemoryAllocator_Decommit(IDeckLinkMemoryAllocator* This) { +static inline HRESULT IDeckLinkMemoryAllocator_Decommit(IDeckLinkMemoryAllocator* This) { return This->lpVtbl->Decommit(This); } #endif @@ -5624,17 +5696,17 @@ interface IDeckLinkAudioOutputCallback { #define IDeckLinkAudioOutputCallback_RenderAudioSamples(This,preroll) (This)->lpVtbl->RenderAudioSamples(This,preroll) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkAudioOutputCallback_QueryInterface(IDeckLinkAudioOutputCallback* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkAudioOutputCallback_QueryInterface(IDeckLinkAudioOutputCallback* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkAudioOutputCallback_AddRef(IDeckLinkAudioOutputCallback* This) { +static inline ULONG IDeckLinkAudioOutputCallback_AddRef(IDeckLinkAudioOutputCallback* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkAudioOutputCallback_Release(IDeckLinkAudioOutputCallback* This) { +static inline ULONG IDeckLinkAudioOutputCallback_Release(IDeckLinkAudioOutputCallback* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkAudioOutputCallback methods ***/ -static FORCEINLINE HRESULT IDeckLinkAudioOutputCallback_RenderAudioSamples(IDeckLinkAudioOutputCallback* This,BOOL preroll) { +static inline HRESULT IDeckLinkAudioOutputCallback_RenderAudioSamples(IDeckLinkAudioOutputCallback* This,BOOL preroll) { return This->lpVtbl->RenderAudioSamples(This,preroll); } #endif @@ -5701,17 +5773,17 @@ interface IDeckLinkIterator { #define IDeckLinkIterator_Next(This,deckLinkInstance) (This)->lpVtbl->Next(This,deckLinkInstance) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkIterator_QueryInterface(IDeckLinkIterator* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkIterator_QueryInterface(IDeckLinkIterator* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkIterator_AddRef(IDeckLinkIterator* This) { +static inline ULONG IDeckLinkIterator_AddRef(IDeckLinkIterator* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkIterator_Release(IDeckLinkIterator* This) { +static inline ULONG IDeckLinkIterator_Release(IDeckLinkIterator* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkIterator methods ***/ -static FORCEINLINE HRESULT IDeckLinkIterator_Next(IDeckLinkIterator* This,IDeckLink **deckLinkInstance) { +static inline HRESULT IDeckLinkIterator_Next(IDeckLinkIterator* This,IDeckLink **deckLinkInstance) { return This->lpVtbl->Next(This,deckLinkInstance); } #endif @@ -5810,26 +5882,26 @@ interface IDeckLinkAPIInformation { #define IDeckLinkAPIInformation_GetString(This,cfgID,value) (This)->lpVtbl->GetString(This,cfgID,value) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkAPIInformation_QueryInterface(IDeckLinkAPIInformation* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkAPIInformation_QueryInterface(IDeckLinkAPIInformation* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkAPIInformation_AddRef(IDeckLinkAPIInformation* This) { +static inline ULONG IDeckLinkAPIInformation_AddRef(IDeckLinkAPIInformation* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkAPIInformation_Release(IDeckLinkAPIInformation* This) { +static inline ULONG IDeckLinkAPIInformation_Release(IDeckLinkAPIInformation* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkAPIInformation methods ***/ -static FORCEINLINE HRESULT IDeckLinkAPIInformation_GetFlag(IDeckLinkAPIInformation* This,BMDDeckLinkAPIInformationID cfgID,BOOL *value) { +static inline HRESULT IDeckLinkAPIInformation_GetFlag(IDeckLinkAPIInformation* This,BMDDeckLinkAPIInformationID cfgID,BOOL *value) { return This->lpVtbl->GetFlag(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkAPIInformation_GetInt(IDeckLinkAPIInformation* This,BMDDeckLinkAPIInformationID cfgID,LONGLONG *value) { +static inline HRESULT IDeckLinkAPIInformation_GetInt(IDeckLinkAPIInformation* This,BMDDeckLinkAPIInformationID cfgID,LONGLONG *value) { return This->lpVtbl->GetInt(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkAPIInformation_GetFloat(IDeckLinkAPIInformation* This,BMDDeckLinkAPIInformationID cfgID,double *value) { +static inline HRESULT IDeckLinkAPIInformation_GetFloat(IDeckLinkAPIInformation* This,BMDDeckLinkAPIInformationID cfgID,double *value) { return This->lpVtbl->GetFloat(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkAPIInformation_GetString(IDeckLinkAPIInformation* This,BMDDeckLinkAPIInformationID cfgID,BSTR *value) { +static inline HRESULT IDeckLinkAPIInformation_GetString(IDeckLinkAPIInformation* This,BMDDeckLinkAPIInformationID cfgID,BSTR *value) { return This->lpVtbl->GetString(This,cfgID,value); } #endif @@ -6189,101 +6261,101 @@ interface IDeckLinkOutput { #define IDeckLinkOutput_GetFrameCompletionReferenceTimestamp(This,theFrame,desiredTimeScale,frameCompletionTimestamp) (This)->lpVtbl->GetFrameCompletionReferenceTimestamp(This,theFrame,desiredTimeScale,frameCompletionTimestamp) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkOutput_QueryInterface(IDeckLinkOutput* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkOutput_QueryInterface(IDeckLinkOutput* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkOutput_AddRef(IDeckLinkOutput* This) { +static inline ULONG IDeckLinkOutput_AddRef(IDeckLinkOutput* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkOutput_Release(IDeckLinkOutput* This) { +static inline ULONG IDeckLinkOutput_Release(IDeckLinkOutput* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkOutput methods ***/ -static FORCEINLINE HRESULT IDeckLinkOutput_DoesSupportVideoMode(IDeckLinkOutput* This,BMDVideoConnection connection,BMDDisplayMode requestedMode,BMDPixelFormat requestedPixelFormat,BMDVideoOutputConversionMode conversionMode,BMDSupportedVideoModeFlags flags,BMDDisplayMode *actualMode,BOOL *supported) { +static inline HRESULT IDeckLinkOutput_DoesSupportVideoMode(IDeckLinkOutput* This,BMDVideoConnection connection,BMDDisplayMode requestedMode,BMDPixelFormat requestedPixelFormat,BMDVideoOutputConversionMode conversionMode,BMDSupportedVideoModeFlags flags,BMDDisplayMode *actualMode,BOOL *supported) { return This->lpVtbl->DoesSupportVideoMode(This,connection,requestedMode,requestedPixelFormat,conversionMode,flags,actualMode,supported); } -static FORCEINLINE HRESULT IDeckLinkOutput_GetDisplayMode(IDeckLinkOutput* This,BMDDisplayMode displayMode,IDeckLinkDisplayMode **resultDisplayMode) { +static inline HRESULT IDeckLinkOutput_GetDisplayMode(IDeckLinkOutput* This,BMDDisplayMode displayMode,IDeckLinkDisplayMode **resultDisplayMode) { return This->lpVtbl->GetDisplayMode(This,displayMode,resultDisplayMode); } -static FORCEINLINE HRESULT IDeckLinkOutput_GetDisplayModeIterator(IDeckLinkOutput* This,IDeckLinkDisplayModeIterator **iterator) { +static inline HRESULT IDeckLinkOutput_GetDisplayModeIterator(IDeckLinkOutput* This,IDeckLinkDisplayModeIterator **iterator) { return This->lpVtbl->GetDisplayModeIterator(This,iterator); } -static FORCEINLINE HRESULT IDeckLinkOutput_SetScreenPreviewCallback(IDeckLinkOutput* This,IDeckLinkScreenPreviewCallback *previewCallback) { +static inline HRESULT IDeckLinkOutput_SetScreenPreviewCallback(IDeckLinkOutput* This,IDeckLinkScreenPreviewCallback *previewCallback) { return This->lpVtbl->SetScreenPreviewCallback(This,previewCallback); } -static FORCEINLINE HRESULT IDeckLinkOutput_EnableVideoOutput(IDeckLinkOutput* This,BMDDisplayMode displayMode,BMDVideoOutputFlags flags) { +static inline HRESULT IDeckLinkOutput_EnableVideoOutput(IDeckLinkOutput* This,BMDDisplayMode displayMode,BMDVideoOutputFlags flags) { return This->lpVtbl->EnableVideoOutput(This,displayMode,flags); } -static FORCEINLINE HRESULT IDeckLinkOutput_DisableVideoOutput(IDeckLinkOutput* This) { +static inline HRESULT IDeckLinkOutput_DisableVideoOutput(IDeckLinkOutput* This) { return This->lpVtbl->DisableVideoOutput(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_SetVideoOutputFrameMemoryAllocator(IDeckLinkOutput* This,IDeckLinkMemoryAllocator *theAllocator) { +static inline HRESULT IDeckLinkOutput_SetVideoOutputFrameMemoryAllocator(IDeckLinkOutput* This,IDeckLinkMemoryAllocator *theAllocator) { return This->lpVtbl->SetVideoOutputFrameMemoryAllocator(This,theAllocator); } -static FORCEINLINE HRESULT IDeckLinkOutput_CreateVideoFrame(IDeckLinkOutput* This,int width,int height,int rowBytes,BMDPixelFormat pixelFormat,BMDFrameFlags flags,IDeckLinkMutableVideoFrame **outFrame) { +static inline HRESULT IDeckLinkOutput_CreateVideoFrame(IDeckLinkOutput* This,int width,int height,int rowBytes,BMDPixelFormat pixelFormat,BMDFrameFlags flags,IDeckLinkMutableVideoFrame **outFrame) { return This->lpVtbl->CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame); } -static FORCEINLINE HRESULT IDeckLinkOutput_CreateAncillaryData(IDeckLinkOutput* This,BMDPixelFormat pixelFormat,IDeckLinkVideoFrameAncillary **outBuffer) { +static inline HRESULT IDeckLinkOutput_CreateAncillaryData(IDeckLinkOutput* This,BMDPixelFormat pixelFormat,IDeckLinkVideoFrameAncillary **outBuffer) { return This->lpVtbl->CreateAncillaryData(This,pixelFormat,outBuffer); } -static FORCEINLINE HRESULT IDeckLinkOutput_DisplayVideoFrameSync(IDeckLinkOutput* This,IDeckLinkVideoFrame *theFrame) { +static inline HRESULT IDeckLinkOutput_DisplayVideoFrameSync(IDeckLinkOutput* This,IDeckLinkVideoFrame *theFrame) { return This->lpVtbl->DisplayVideoFrameSync(This,theFrame); } -static FORCEINLINE HRESULT IDeckLinkOutput_ScheduleVideoFrame(IDeckLinkOutput* This,IDeckLinkVideoFrame *theFrame,BMDTimeValue displayTime,BMDTimeValue displayDuration,BMDTimeScale timeScale) { +static inline HRESULT IDeckLinkOutput_ScheduleVideoFrame(IDeckLinkOutput* This,IDeckLinkVideoFrame *theFrame,BMDTimeValue displayTime,BMDTimeValue displayDuration,BMDTimeScale timeScale) { return This->lpVtbl->ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale); } -static FORCEINLINE HRESULT IDeckLinkOutput_SetScheduledFrameCompletionCallback(IDeckLinkOutput* This,IDeckLinkVideoOutputCallback *theCallback) { +static inline HRESULT IDeckLinkOutput_SetScheduledFrameCompletionCallback(IDeckLinkOutput* This,IDeckLinkVideoOutputCallback *theCallback) { return This->lpVtbl->SetScheduledFrameCompletionCallback(This,theCallback); } -static FORCEINLINE HRESULT IDeckLinkOutput_GetBufferedVideoFrameCount(IDeckLinkOutput* This,unsigned int *bufferedFrameCount) { +static inline HRESULT IDeckLinkOutput_GetBufferedVideoFrameCount(IDeckLinkOutput* This,unsigned int *bufferedFrameCount) { return This->lpVtbl->GetBufferedVideoFrameCount(This,bufferedFrameCount); } -static FORCEINLINE HRESULT IDeckLinkOutput_EnableAudioOutput(IDeckLinkOutput* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount,BMDAudioOutputStreamType streamType) { +static inline HRESULT IDeckLinkOutput_EnableAudioOutput(IDeckLinkOutput* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount,BMDAudioOutputStreamType streamType) { return This->lpVtbl->EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType); } -static FORCEINLINE HRESULT IDeckLinkOutput_DisableAudioOutput(IDeckLinkOutput* This) { +static inline HRESULT IDeckLinkOutput_DisableAudioOutput(IDeckLinkOutput* This) { return This->lpVtbl->DisableAudioOutput(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_WriteAudioSamplesSync(IDeckLinkOutput* This,void *buffer,unsigned int sampleFrameCount,unsigned int *sampleFramesWritten) { +static inline HRESULT IDeckLinkOutput_WriteAudioSamplesSync(IDeckLinkOutput* This,void *buffer,unsigned int sampleFrameCount,unsigned int *sampleFramesWritten) { return This->lpVtbl->WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten); } -static FORCEINLINE HRESULT IDeckLinkOutput_BeginAudioPreroll(IDeckLinkOutput* This) { +static inline HRESULT IDeckLinkOutput_BeginAudioPreroll(IDeckLinkOutput* This) { return This->lpVtbl->BeginAudioPreroll(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_EndAudioPreroll(IDeckLinkOutput* This) { +static inline HRESULT IDeckLinkOutput_EndAudioPreroll(IDeckLinkOutput* This) { return This->lpVtbl->EndAudioPreroll(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_ScheduleAudioSamples(IDeckLinkOutput* This,void *buffer,unsigned int sampleFrameCount,BMDTimeValue streamTime,BMDTimeScale timeScale,unsigned int *sampleFramesWritten) { +static inline HRESULT IDeckLinkOutput_ScheduleAudioSamples(IDeckLinkOutput* This,void *buffer,unsigned int sampleFrameCount,BMDTimeValue streamTime,BMDTimeScale timeScale,unsigned int *sampleFramesWritten) { return This->lpVtbl->ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten); } -static FORCEINLINE HRESULT IDeckLinkOutput_GetBufferedAudioSampleFrameCount(IDeckLinkOutput* This,unsigned int *bufferedSampleFrameCount) { +static inline HRESULT IDeckLinkOutput_GetBufferedAudioSampleFrameCount(IDeckLinkOutput* This,unsigned int *bufferedSampleFrameCount) { return This->lpVtbl->GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount); } -static FORCEINLINE HRESULT IDeckLinkOutput_FlushBufferedAudioSamples(IDeckLinkOutput* This) { +static inline HRESULT IDeckLinkOutput_FlushBufferedAudioSamples(IDeckLinkOutput* This) { return This->lpVtbl->FlushBufferedAudioSamples(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_SetAudioCallback(IDeckLinkOutput* This,IDeckLinkAudioOutputCallback *theCallback) { +static inline HRESULT IDeckLinkOutput_SetAudioCallback(IDeckLinkOutput* This,IDeckLinkAudioOutputCallback *theCallback) { return This->lpVtbl->SetAudioCallback(This,theCallback); } -static FORCEINLINE HRESULT IDeckLinkOutput_StartScheduledPlayback(IDeckLinkOutput* This,BMDTimeValue playbackStartTime,BMDTimeScale timeScale,double playbackSpeed) { +static inline HRESULT IDeckLinkOutput_StartScheduledPlayback(IDeckLinkOutput* This,BMDTimeValue playbackStartTime,BMDTimeScale timeScale,double playbackSpeed) { return This->lpVtbl->StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed); } -static FORCEINLINE HRESULT IDeckLinkOutput_StopScheduledPlayback(IDeckLinkOutput* This,BMDTimeValue stopPlaybackAtTime,BMDTimeValue *actualStopTime,BMDTimeScale timeScale) { +static inline HRESULT IDeckLinkOutput_StopScheduledPlayback(IDeckLinkOutput* This,BMDTimeValue stopPlaybackAtTime,BMDTimeValue *actualStopTime,BMDTimeScale timeScale) { return This->lpVtbl->StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale); } -static FORCEINLINE HRESULT IDeckLinkOutput_IsScheduledPlaybackRunning(IDeckLinkOutput* This,BOOL *active) { +static inline HRESULT IDeckLinkOutput_IsScheduledPlaybackRunning(IDeckLinkOutput* This,BOOL *active) { return This->lpVtbl->IsScheduledPlaybackRunning(This,active); } -static FORCEINLINE HRESULT IDeckLinkOutput_GetScheduledStreamTime(IDeckLinkOutput* This,BMDTimeScale desiredTimeScale,BMDTimeValue *streamTime,double *playbackSpeed) { +static inline HRESULT IDeckLinkOutput_GetScheduledStreamTime(IDeckLinkOutput* This,BMDTimeScale desiredTimeScale,BMDTimeValue *streamTime,double *playbackSpeed) { return This->lpVtbl->GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed); } -static FORCEINLINE HRESULT IDeckLinkOutput_GetReferenceStatus(IDeckLinkOutput* This,BMDReferenceStatus *referenceStatus) { +static inline HRESULT IDeckLinkOutput_GetReferenceStatus(IDeckLinkOutput* This,BMDReferenceStatus *referenceStatus) { return This->lpVtbl->GetReferenceStatus(This,referenceStatus); } -static FORCEINLINE HRESULT IDeckLinkOutput_GetHardwareReferenceClock(IDeckLinkOutput* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) { +static inline HRESULT IDeckLinkOutput_GetHardwareReferenceClock(IDeckLinkOutput* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) { return This->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame); } -static FORCEINLINE HRESULT IDeckLinkOutput_GetFrameCompletionReferenceTimestamp(IDeckLinkOutput* This,IDeckLinkVideoFrame *theFrame,BMDTimeScale desiredTimeScale,BMDTimeValue *frameCompletionTimestamp) { +static inline HRESULT IDeckLinkOutput_GetFrameCompletionReferenceTimestamp(IDeckLinkOutput* This,IDeckLinkVideoFrame *theFrame,BMDTimeScale desiredTimeScale,BMDTimeValue *frameCompletionTimestamp) { return This->lpVtbl->GetFrameCompletionReferenceTimestamp(This,theFrame,desiredTimeScale,frameCompletionTimestamp); } #endif @@ -6500,65 +6572,65 @@ interface IDeckLinkInput { #define IDeckLinkInput_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) (This)->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkInput_QueryInterface(IDeckLinkInput* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkInput_QueryInterface(IDeckLinkInput* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkInput_AddRef(IDeckLinkInput* This) { +static inline ULONG IDeckLinkInput_AddRef(IDeckLinkInput* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkInput_Release(IDeckLinkInput* This) { +static inline ULONG IDeckLinkInput_Release(IDeckLinkInput* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkInput methods ***/ -static FORCEINLINE HRESULT IDeckLinkInput_DoesSupportVideoMode(IDeckLinkInput* This,BMDVideoConnection connection,BMDDisplayMode requestedMode,BMDPixelFormat requestedPixelFormat,BMDVideoInputConversionMode conversionMode,BMDSupportedVideoModeFlags flags,BMDDisplayMode *actualMode,BOOL *supported) { +static inline HRESULT IDeckLinkInput_DoesSupportVideoMode(IDeckLinkInput* This,BMDVideoConnection connection,BMDDisplayMode requestedMode,BMDPixelFormat requestedPixelFormat,BMDVideoInputConversionMode conversionMode,BMDSupportedVideoModeFlags flags,BMDDisplayMode *actualMode,BOOL *supported) { return This->lpVtbl->DoesSupportVideoMode(This,connection,requestedMode,requestedPixelFormat,conversionMode,flags,actualMode,supported); } -static FORCEINLINE HRESULT IDeckLinkInput_GetDisplayMode(IDeckLinkInput* This,BMDDisplayMode displayMode,IDeckLinkDisplayMode **resultDisplayMode) { +static inline HRESULT IDeckLinkInput_GetDisplayMode(IDeckLinkInput* This,BMDDisplayMode displayMode,IDeckLinkDisplayMode **resultDisplayMode) { return This->lpVtbl->GetDisplayMode(This,displayMode,resultDisplayMode); } -static FORCEINLINE HRESULT IDeckLinkInput_GetDisplayModeIterator(IDeckLinkInput* This,IDeckLinkDisplayModeIterator **iterator) { +static inline HRESULT IDeckLinkInput_GetDisplayModeIterator(IDeckLinkInput* This,IDeckLinkDisplayModeIterator **iterator) { return This->lpVtbl->GetDisplayModeIterator(This,iterator); } -static FORCEINLINE HRESULT IDeckLinkInput_SetScreenPreviewCallback(IDeckLinkInput* This,IDeckLinkScreenPreviewCallback *previewCallback) { +static inline HRESULT IDeckLinkInput_SetScreenPreviewCallback(IDeckLinkInput* This,IDeckLinkScreenPreviewCallback *previewCallback) { return This->lpVtbl->SetScreenPreviewCallback(This,previewCallback); } -static FORCEINLINE HRESULT IDeckLinkInput_EnableVideoInput(IDeckLinkInput* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags) { +static inline HRESULT IDeckLinkInput_EnableVideoInput(IDeckLinkInput* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags) { return This->lpVtbl->EnableVideoInput(This,displayMode,pixelFormat,flags); } -static FORCEINLINE HRESULT IDeckLinkInput_DisableVideoInput(IDeckLinkInput* This) { +static inline HRESULT IDeckLinkInput_DisableVideoInput(IDeckLinkInput* This) { return This->lpVtbl->DisableVideoInput(This); } -static FORCEINLINE HRESULT IDeckLinkInput_GetAvailableVideoFrameCount(IDeckLinkInput* This,unsigned int *availableFrameCount) { +static inline HRESULT IDeckLinkInput_GetAvailableVideoFrameCount(IDeckLinkInput* This,unsigned int *availableFrameCount) { return This->lpVtbl->GetAvailableVideoFrameCount(This,availableFrameCount); } -static FORCEINLINE HRESULT IDeckLinkInput_SetVideoInputFrameMemoryAllocator(IDeckLinkInput* This,IDeckLinkMemoryAllocator *theAllocator) { +static inline HRESULT IDeckLinkInput_SetVideoInputFrameMemoryAllocator(IDeckLinkInput* This,IDeckLinkMemoryAllocator *theAllocator) { return This->lpVtbl->SetVideoInputFrameMemoryAllocator(This,theAllocator); } -static FORCEINLINE HRESULT IDeckLinkInput_EnableAudioInput(IDeckLinkInput* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount) { +static inline HRESULT IDeckLinkInput_EnableAudioInput(IDeckLinkInput* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount) { return This->lpVtbl->EnableAudioInput(This,sampleRate,sampleType,channelCount); } -static FORCEINLINE HRESULT IDeckLinkInput_DisableAudioInput(IDeckLinkInput* This) { +static inline HRESULT IDeckLinkInput_DisableAudioInput(IDeckLinkInput* This) { return This->lpVtbl->DisableAudioInput(This); } -static FORCEINLINE HRESULT IDeckLinkInput_GetAvailableAudioSampleFrameCount(IDeckLinkInput* This,unsigned int *availableSampleFrameCount) { +static inline HRESULT IDeckLinkInput_GetAvailableAudioSampleFrameCount(IDeckLinkInput* This,unsigned int *availableSampleFrameCount) { return This->lpVtbl->GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount); } -static FORCEINLINE HRESULT IDeckLinkInput_StartStreams(IDeckLinkInput* This) { +static inline HRESULT IDeckLinkInput_StartStreams(IDeckLinkInput* This) { return This->lpVtbl->StartStreams(This); } -static FORCEINLINE HRESULT IDeckLinkInput_StopStreams(IDeckLinkInput* This) { +static inline HRESULT IDeckLinkInput_StopStreams(IDeckLinkInput* This) { return This->lpVtbl->StopStreams(This); } -static FORCEINLINE HRESULT IDeckLinkInput_PauseStreams(IDeckLinkInput* This) { +static inline HRESULT IDeckLinkInput_PauseStreams(IDeckLinkInput* This) { return This->lpVtbl->PauseStreams(This); } -static FORCEINLINE HRESULT IDeckLinkInput_FlushStreams(IDeckLinkInput* This) { +static inline HRESULT IDeckLinkInput_FlushStreams(IDeckLinkInput* This) { return This->lpVtbl->FlushStreams(This); } -static FORCEINLINE HRESULT IDeckLinkInput_SetCallback(IDeckLinkInput* This,IDeckLinkInputCallback *theCallback) { +static inline HRESULT IDeckLinkInput_SetCallback(IDeckLinkInput* This,IDeckLinkInputCallback *theCallback) { return This->lpVtbl->SetCallback(This,theCallback); } -static FORCEINLINE HRESULT IDeckLinkInput_GetHardwareReferenceClock(IDeckLinkInput* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) { +static inline HRESULT IDeckLinkInput_GetHardwareReferenceClock(IDeckLinkInput* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) { return This->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame); } #endif @@ -6644,23 +6716,23 @@ interface IDeckLinkHDMIInputEDID { #define IDeckLinkHDMIInputEDID_WriteToEDID(This) (This)->lpVtbl->WriteToEDID(This) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkHDMIInputEDID_QueryInterface(IDeckLinkHDMIInputEDID* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkHDMIInputEDID_QueryInterface(IDeckLinkHDMIInputEDID* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkHDMIInputEDID_AddRef(IDeckLinkHDMIInputEDID* This) { +static inline ULONG IDeckLinkHDMIInputEDID_AddRef(IDeckLinkHDMIInputEDID* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkHDMIInputEDID_Release(IDeckLinkHDMIInputEDID* This) { +static inline ULONG IDeckLinkHDMIInputEDID_Release(IDeckLinkHDMIInputEDID* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkHDMIInputEDID methods ***/ -static FORCEINLINE HRESULT IDeckLinkHDMIInputEDID_SetInt(IDeckLinkHDMIInputEDID* This,BMDDeckLinkHDMIInputEDIDID cfgID,LONGLONG value) { +static inline HRESULT IDeckLinkHDMIInputEDID_SetInt(IDeckLinkHDMIInputEDID* This,BMDDeckLinkHDMIInputEDIDID cfgID,LONGLONG value) { return This->lpVtbl->SetInt(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkHDMIInputEDID_GetInt(IDeckLinkHDMIInputEDID* This,BMDDeckLinkHDMIInputEDIDID cfgID,LONGLONG *value) { +static inline HRESULT IDeckLinkHDMIInputEDID_GetInt(IDeckLinkHDMIInputEDID* This,BMDDeckLinkHDMIInputEDIDID cfgID,LONGLONG *value) { return This->lpVtbl->GetInt(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkHDMIInputEDID_WriteToEDID(IDeckLinkHDMIInputEDID* This) { +static inline HRESULT IDeckLinkHDMIInputEDID_WriteToEDID(IDeckLinkHDMIInputEDID* This) { return This->lpVtbl->WriteToEDID(This); } #endif @@ -6869,62 +6941,62 @@ interface IDeckLinkEncoderInput { #define IDeckLinkEncoderInput_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) (This)->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkEncoderInput_QueryInterface(IDeckLinkEncoderInput* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkEncoderInput_QueryInterface(IDeckLinkEncoderInput* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkEncoderInput_AddRef(IDeckLinkEncoderInput* This) { +static inline ULONG IDeckLinkEncoderInput_AddRef(IDeckLinkEncoderInput* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkEncoderInput_Release(IDeckLinkEncoderInput* This) { +static inline ULONG IDeckLinkEncoderInput_Release(IDeckLinkEncoderInput* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkEncoderInput methods ***/ -static FORCEINLINE HRESULT IDeckLinkEncoderInput_DoesSupportVideoMode(IDeckLinkEncoderInput* This,BMDVideoConnection connection,BMDDisplayMode requestedMode,BMDPixelFormat requestedCodec,unsigned int requestedCodecProfile,BMDSupportedVideoModeFlags flags,BOOL *supported) { +static inline HRESULT IDeckLinkEncoderInput_DoesSupportVideoMode(IDeckLinkEncoderInput* This,BMDVideoConnection connection,BMDDisplayMode requestedMode,BMDPixelFormat requestedCodec,unsigned int requestedCodecProfile,BMDSupportedVideoModeFlags flags,BOOL *supported) { return This->lpVtbl->DoesSupportVideoMode(This,connection,requestedMode,requestedCodec,requestedCodecProfile,flags,supported); } -static FORCEINLINE HRESULT IDeckLinkEncoderInput_GetDisplayMode(IDeckLinkEncoderInput* This,BMDDisplayMode displayMode,IDeckLinkDisplayMode **resultDisplayMode) { +static inline HRESULT IDeckLinkEncoderInput_GetDisplayMode(IDeckLinkEncoderInput* This,BMDDisplayMode displayMode,IDeckLinkDisplayMode **resultDisplayMode) { return This->lpVtbl->GetDisplayMode(This,displayMode,resultDisplayMode); } -static FORCEINLINE HRESULT IDeckLinkEncoderInput_GetDisplayModeIterator(IDeckLinkEncoderInput* This,IDeckLinkDisplayModeIterator **iterator) { +static inline HRESULT IDeckLinkEncoderInput_GetDisplayModeIterator(IDeckLinkEncoderInput* This,IDeckLinkDisplayModeIterator **iterator) { return This->lpVtbl->GetDisplayModeIterator(This,iterator); } -static FORCEINLINE HRESULT IDeckLinkEncoderInput_EnableVideoInput(IDeckLinkEncoderInput* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags) { +static inline HRESULT IDeckLinkEncoderInput_EnableVideoInput(IDeckLinkEncoderInput* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags) { return This->lpVtbl->EnableVideoInput(This,displayMode,pixelFormat,flags); } -static FORCEINLINE HRESULT IDeckLinkEncoderInput_DisableVideoInput(IDeckLinkEncoderInput* This) { +static inline HRESULT IDeckLinkEncoderInput_DisableVideoInput(IDeckLinkEncoderInput* This) { return This->lpVtbl->DisableVideoInput(This); } -static FORCEINLINE HRESULT IDeckLinkEncoderInput_GetAvailablePacketsCount(IDeckLinkEncoderInput* This,unsigned int *availablePacketsCount) { +static inline HRESULT IDeckLinkEncoderInput_GetAvailablePacketsCount(IDeckLinkEncoderInput* This,unsigned int *availablePacketsCount) { return This->lpVtbl->GetAvailablePacketsCount(This,availablePacketsCount); } -static FORCEINLINE HRESULT IDeckLinkEncoderInput_SetMemoryAllocator(IDeckLinkEncoderInput* This,IDeckLinkMemoryAllocator *theAllocator) { +static inline HRESULT IDeckLinkEncoderInput_SetMemoryAllocator(IDeckLinkEncoderInput* This,IDeckLinkMemoryAllocator *theAllocator) { return This->lpVtbl->SetMemoryAllocator(This,theAllocator); } -static FORCEINLINE HRESULT IDeckLinkEncoderInput_EnableAudioInput(IDeckLinkEncoderInput* This,BMDAudioFormat audioFormat,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount) { +static inline HRESULT IDeckLinkEncoderInput_EnableAudioInput(IDeckLinkEncoderInput* This,BMDAudioFormat audioFormat,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount) { return This->lpVtbl->EnableAudioInput(This,audioFormat,sampleRate,sampleType,channelCount); } -static FORCEINLINE HRESULT IDeckLinkEncoderInput_DisableAudioInput(IDeckLinkEncoderInput* This) { +static inline HRESULT IDeckLinkEncoderInput_DisableAudioInput(IDeckLinkEncoderInput* This) { return This->lpVtbl->DisableAudioInput(This); } -static FORCEINLINE HRESULT IDeckLinkEncoderInput_GetAvailableAudioSampleFrameCount(IDeckLinkEncoderInput* This,unsigned int *availableSampleFrameCount) { +static inline HRESULT IDeckLinkEncoderInput_GetAvailableAudioSampleFrameCount(IDeckLinkEncoderInput* This,unsigned int *availableSampleFrameCount) { return This->lpVtbl->GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount); } -static FORCEINLINE HRESULT IDeckLinkEncoderInput_StartStreams(IDeckLinkEncoderInput* This) { +static inline HRESULT IDeckLinkEncoderInput_StartStreams(IDeckLinkEncoderInput* This) { return This->lpVtbl->StartStreams(This); } -static FORCEINLINE HRESULT IDeckLinkEncoderInput_StopStreams(IDeckLinkEncoderInput* This) { +static inline HRESULT IDeckLinkEncoderInput_StopStreams(IDeckLinkEncoderInput* This) { return This->lpVtbl->StopStreams(This); } -static FORCEINLINE HRESULT IDeckLinkEncoderInput_PauseStreams(IDeckLinkEncoderInput* This) { +static inline HRESULT IDeckLinkEncoderInput_PauseStreams(IDeckLinkEncoderInput* This) { return This->lpVtbl->PauseStreams(This); } -static FORCEINLINE HRESULT IDeckLinkEncoderInput_FlushStreams(IDeckLinkEncoderInput* This) { +static inline HRESULT IDeckLinkEncoderInput_FlushStreams(IDeckLinkEncoderInput* This) { return This->lpVtbl->FlushStreams(This); } -static FORCEINLINE HRESULT IDeckLinkEncoderInput_SetCallback(IDeckLinkEncoderInput* This,IDeckLinkEncoderInputCallback *theCallback) { +static inline HRESULT IDeckLinkEncoderInput_SetCallback(IDeckLinkEncoderInput* This,IDeckLinkEncoderInputCallback *theCallback) { return This->lpVtbl->SetCallback(This,theCallback); } -static FORCEINLINE HRESULT IDeckLinkEncoderInput_GetHardwareReferenceClock(IDeckLinkEncoderInput* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) { +static inline HRESULT IDeckLinkEncoderInput_GetHardwareReferenceClock(IDeckLinkEncoderInput* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) { return This->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame); } #endif @@ -7044,38 +7116,38 @@ interface IDeckLinkVideoFrame { #define IDeckLinkVideoFrame_GetAncillaryData(This,ancillary) (This)->lpVtbl->GetAncillaryData(This,ancillary) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkVideoFrame_QueryInterface(IDeckLinkVideoFrame* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkVideoFrame_QueryInterface(IDeckLinkVideoFrame* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkVideoFrame_AddRef(IDeckLinkVideoFrame* This) { +static inline ULONG IDeckLinkVideoFrame_AddRef(IDeckLinkVideoFrame* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkVideoFrame_Release(IDeckLinkVideoFrame* This) { +static inline ULONG IDeckLinkVideoFrame_Release(IDeckLinkVideoFrame* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkVideoFrame methods ***/ -static FORCEINLINE LONG IDeckLinkVideoFrame_GetWidth(IDeckLinkVideoFrame* This) { +static inline LONG IDeckLinkVideoFrame_GetWidth(IDeckLinkVideoFrame* This) { return This->lpVtbl->GetWidth(This); } -static FORCEINLINE LONG IDeckLinkVideoFrame_GetHeight(IDeckLinkVideoFrame* This) { +static inline LONG IDeckLinkVideoFrame_GetHeight(IDeckLinkVideoFrame* This) { return This->lpVtbl->GetHeight(This); } -static FORCEINLINE LONG IDeckLinkVideoFrame_GetRowBytes(IDeckLinkVideoFrame* This) { +static inline LONG IDeckLinkVideoFrame_GetRowBytes(IDeckLinkVideoFrame* This) { return This->lpVtbl->GetRowBytes(This); } -static FORCEINLINE BMDPixelFormat IDeckLinkVideoFrame_GetPixelFormat(IDeckLinkVideoFrame* This) { +static inline BMDPixelFormat IDeckLinkVideoFrame_GetPixelFormat(IDeckLinkVideoFrame* This) { return This->lpVtbl->GetPixelFormat(This); } -static FORCEINLINE BMDFrameFlags IDeckLinkVideoFrame_GetFlags(IDeckLinkVideoFrame* This) { +static inline BMDFrameFlags IDeckLinkVideoFrame_GetFlags(IDeckLinkVideoFrame* This) { return This->lpVtbl->GetFlags(This); } -static FORCEINLINE HRESULT IDeckLinkVideoFrame_GetBytes(IDeckLinkVideoFrame* This,void **buffer) { +static inline HRESULT IDeckLinkVideoFrame_GetBytes(IDeckLinkVideoFrame* This,void **buffer) { return This->lpVtbl->GetBytes(This,buffer); } -static FORCEINLINE HRESULT IDeckLinkVideoFrame_GetTimecode(IDeckLinkVideoFrame* This,BMDTimecodeFormat format,IDeckLinkTimecode **timecode) { +static inline HRESULT IDeckLinkVideoFrame_GetTimecode(IDeckLinkVideoFrame* This,BMDTimecodeFormat format,IDeckLinkTimecode **timecode) { return This->lpVtbl->GetTimecode(This,format,timecode); } -static FORCEINLINE HRESULT IDeckLinkVideoFrame_GetAncillaryData(IDeckLinkVideoFrame* This,IDeckLinkVideoFrameAncillary **ancillary) { +static inline HRESULT IDeckLinkVideoFrame_GetAncillaryData(IDeckLinkVideoFrame* This,IDeckLinkVideoFrameAncillary **ancillary) { return This->lpVtbl->GetAncillaryData(This,ancillary); } #endif @@ -7226,54 +7298,54 @@ interface IDeckLinkMutableVideoFrame { #define IDeckLinkMutableVideoFrame_SetTimecodeUserBits(This,format,userBits) (This)->lpVtbl->SetTimecodeUserBits(This,format,userBits) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_QueryInterface(IDeckLinkMutableVideoFrame* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkMutableVideoFrame_QueryInterface(IDeckLinkMutableVideoFrame* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkMutableVideoFrame_AddRef(IDeckLinkMutableVideoFrame* This) { +static inline ULONG IDeckLinkMutableVideoFrame_AddRef(IDeckLinkMutableVideoFrame* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkMutableVideoFrame_Release(IDeckLinkMutableVideoFrame* This) { +static inline ULONG IDeckLinkMutableVideoFrame_Release(IDeckLinkMutableVideoFrame* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkVideoFrame methods ***/ -static FORCEINLINE LONG IDeckLinkMutableVideoFrame_GetWidth(IDeckLinkMutableVideoFrame* This) { +static inline LONG IDeckLinkMutableVideoFrame_GetWidth(IDeckLinkMutableVideoFrame* This) { return This->lpVtbl->GetWidth(This); } -static FORCEINLINE LONG IDeckLinkMutableVideoFrame_GetHeight(IDeckLinkMutableVideoFrame* This) { +static inline LONG IDeckLinkMutableVideoFrame_GetHeight(IDeckLinkMutableVideoFrame* This) { return This->lpVtbl->GetHeight(This); } -static FORCEINLINE LONG IDeckLinkMutableVideoFrame_GetRowBytes(IDeckLinkMutableVideoFrame* This) { +static inline LONG IDeckLinkMutableVideoFrame_GetRowBytes(IDeckLinkMutableVideoFrame* This) { return This->lpVtbl->GetRowBytes(This); } -static FORCEINLINE BMDPixelFormat IDeckLinkMutableVideoFrame_GetPixelFormat(IDeckLinkMutableVideoFrame* This) { +static inline BMDPixelFormat IDeckLinkMutableVideoFrame_GetPixelFormat(IDeckLinkMutableVideoFrame* This) { return This->lpVtbl->GetPixelFormat(This); } -static FORCEINLINE BMDFrameFlags IDeckLinkMutableVideoFrame_GetFlags(IDeckLinkMutableVideoFrame* This) { +static inline BMDFrameFlags IDeckLinkMutableVideoFrame_GetFlags(IDeckLinkMutableVideoFrame* This) { return This->lpVtbl->GetFlags(This); } -static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_GetBytes(IDeckLinkMutableVideoFrame* This,void **buffer) { +static inline HRESULT IDeckLinkMutableVideoFrame_GetBytes(IDeckLinkMutableVideoFrame* This,void **buffer) { return This->lpVtbl->GetBytes(This,buffer); } -static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_GetTimecode(IDeckLinkMutableVideoFrame* This,BMDTimecodeFormat format,IDeckLinkTimecode **timecode) { +static inline HRESULT IDeckLinkMutableVideoFrame_GetTimecode(IDeckLinkMutableVideoFrame* This,BMDTimecodeFormat format,IDeckLinkTimecode **timecode) { return This->lpVtbl->GetTimecode(This,format,timecode); } -static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_GetAncillaryData(IDeckLinkMutableVideoFrame* This,IDeckLinkVideoFrameAncillary **ancillary) { +static inline HRESULT IDeckLinkMutableVideoFrame_GetAncillaryData(IDeckLinkMutableVideoFrame* This,IDeckLinkVideoFrameAncillary **ancillary) { return This->lpVtbl->GetAncillaryData(This,ancillary); } /*** IDeckLinkMutableVideoFrame methods ***/ -static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_SetFlags(IDeckLinkMutableVideoFrame* This,BMDFrameFlags newFlags) { +static inline HRESULT IDeckLinkMutableVideoFrame_SetFlags(IDeckLinkMutableVideoFrame* This,BMDFrameFlags newFlags) { return This->lpVtbl->SetFlags(This,newFlags); } -static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_SetTimecode(IDeckLinkMutableVideoFrame* This,BMDTimecodeFormat format,IDeckLinkTimecode *timecode) { +static inline HRESULT IDeckLinkMutableVideoFrame_SetTimecode(IDeckLinkMutableVideoFrame* This,BMDTimecodeFormat format,IDeckLinkTimecode *timecode) { return This->lpVtbl->SetTimecode(This,format,timecode); } -static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_SetTimecodeFromComponents(IDeckLinkMutableVideoFrame* This,BMDTimecodeFormat format,unsigned char hours,unsigned char minutes,unsigned char seconds,unsigned char frames,BMDTimecodeFlags flags) { +static inline HRESULT IDeckLinkMutableVideoFrame_SetTimecodeFromComponents(IDeckLinkMutableVideoFrame* This,BMDTimecodeFormat format,unsigned char hours,unsigned char minutes,unsigned char seconds,unsigned char frames,BMDTimecodeFlags flags) { return This->lpVtbl->SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags); } -static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_SetAncillaryData(IDeckLinkMutableVideoFrame* This,IDeckLinkVideoFrameAncillary *ancillary) { +static inline HRESULT IDeckLinkMutableVideoFrame_SetAncillaryData(IDeckLinkMutableVideoFrame* This,IDeckLinkVideoFrameAncillary *ancillary) { return This->lpVtbl->SetAncillaryData(This,ancillary); } -static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_SetTimecodeUserBits(IDeckLinkMutableVideoFrame* This,BMDTimecodeFormat format,BMDTimecodeUserBits userBits) { +static inline HRESULT IDeckLinkMutableVideoFrame_SetTimecodeUserBits(IDeckLinkMutableVideoFrame* This,BMDTimecodeFormat format,BMDTimecodeUserBits userBits) { return This->lpVtbl->SetTimecodeUserBits(This,format,userBits); } #endif @@ -7347,20 +7419,20 @@ interface IDeckLinkVideoFrame3DExtensions { #define IDeckLinkVideoFrame3DExtensions_GetFrameForRightEye(This,rightEyeFrame) (This)->lpVtbl->GetFrameForRightEye(This,rightEyeFrame) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkVideoFrame3DExtensions_QueryInterface(IDeckLinkVideoFrame3DExtensions* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkVideoFrame3DExtensions_QueryInterface(IDeckLinkVideoFrame3DExtensions* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkVideoFrame3DExtensions_AddRef(IDeckLinkVideoFrame3DExtensions* This) { +static inline ULONG IDeckLinkVideoFrame3DExtensions_AddRef(IDeckLinkVideoFrame3DExtensions* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkVideoFrame3DExtensions_Release(IDeckLinkVideoFrame3DExtensions* This) { +static inline ULONG IDeckLinkVideoFrame3DExtensions_Release(IDeckLinkVideoFrame3DExtensions* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkVideoFrame3DExtensions methods ***/ -static FORCEINLINE BMDVideo3DPackingFormat IDeckLinkVideoFrame3DExtensions_Get3DPackingFormat(IDeckLinkVideoFrame3DExtensions* This) { +static inline BMDVideo3DPackingFormat IDeckLinkVideoFrame3DExtensions_Get3DPackingFormat(IDeckLinkVideoFrame3DExtensions* This) { return This->lpVtbl->Get3DPackingFormat(This); } -static FORCEINLINE HRESULT IDeckLinkVideoFrame3DExtensions_GetFrameForRightEye(IDeckLinkVideoFrame3DExtensions* This,IDeckLinkVideoFrame **rightEyeFrame) { +static inline HRESULT IDeckLinkVideoFrame3DExtensions_GetFrameForRightEye(IDeckLinkVideoFrame3DExtensions* This,IDeckLinkVideoFrame **rightEyeFrame) { return This->lpVtbl->GetFrameForRightEye(This,rightEyeFrame); } #endif @@ -7471,29 +7543,29 @@ interface IDeckLinkVideoFrameMetadataExtensions { #define IDeckLinkVideoFrameMetadataExtensions_GetBytes(This,metadataID,buffer,bufferSize) (This)->lpVtbl->GetBytes(This,metadataID,buffer,bufferSize) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkVideoFrameMetadataExtensions_QueryInterface(IDeckLinkVideoFrameMetadataExtensions* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkVideoFrameMetadataExtensions_QueryInterface(IDeckLinkVideoFrameMetadataExtensions* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkVideoFrameMetadataExtensions_AddRef(IDeckLinkVideoFrameMetadataExtensions* This) { +static inline ULONG IDeckLinkVideoFrameMetadataExtensions_AddRef(IDeckLinkVideoFrameMetadataExtensions* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkVideoFrameMetadataExtensions_Release(IDeckLinkVideoFrameMetadataExtensions* This) { +static inline ULONG IDeckLinkVideoFrameMetadataExtensions_Release(IDeckLinkVideoFrameMetadataExtensions* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkVideoFrameMetadataExtensions methods ***/ -static FORCEINLINE HRESULT IDeckLinkVideoFrameMetadataExtensions_GetInt(IDeckLinkVideoFrameMetadataExtensions* This,BMDDeckLinkFrameMetadataID metadataID,LONGLONG *value) { +static inline HRESULT IDeckLinkVideoFrameMetadataExtensions_GetInt(IDeckLinkVideoFrameMetadataExtensions* This,BMDDeckLinkFrameMetadataID metadataID,LONGLONG *value) { return This->lpVtbl->GetInt(This,metadataID,value); } -static FORCEINLINE HRESULT IDeckLinkVideoFrameMetadataExtensions_GetFloat(IDeckLinkVideoFrameMetadataExtensions* This,BMDDeckLinkFrameMetadataID metadataID,double *value) { +static inline HRESULT IDeckLinkVideoFrameMetadataExtensions_GetFloat(IDeckLinkVideoFrameMetadataExtensions* This,BMDDeckLinkFrameMetadataID metadataID,double *value) { return This->lpVtbl->GetFloat(This,metadataID,value); } -static FORCEINLINE HRESULT IDeckLinkVideoFrameMetadataExtensions_GetFlag(IDeckLinkVideoFrameMetadataExtensions* This,BMDDeckLinkFrameMetadataID metadataID,BOOL *value) { +static inline HRESULT IDeckLinkVideoFrameMetadataExtensions_GetFlag(IDeckLinkVideoFrameMetadataExtensions* This,BMDDeckLinkFrameMetadataID metadataID,BOOL *value) { return This->lpVtbl->GetFlag(This,metadataID,value); } -static FORCEINLINE HRESULT IDeckLinkVideoFrameMetadataExtensions_GetString(IDeckLinkVideoFrameMetadataExtensions* This,BMDDeckLinkFrameMetadataID metadataID,BSTR *value) { +static inline HRESULT IDeckLinkVideoFrameMetadataExtensions_GetString(IDeckLinkVideoFrameMetadataExtensions* This,BMDDeckLinkFrameMetadataID metadataID,BSTR *value) { return This->lpVtbl->GetString(This,metadataID,value); } -static FORCEINLINE HRESULT IDeckLinkVideoFrameMetadataExtensions_GetBytes(IDeckLinkVideoFrameMetadataExtensions* This,BMDDeckLinkFrameMetadataID metadataID,void *buffer,unsigned int *bufferSize) { +static inline HRESULT IDeckLinkVideoFrameMetadataExtensions_GetBytes(IDeckLinkVideoFrameMetadataExtensions* This,BMDDeckLinkFrameMetadataID metadataID,void *buffer,unsigned int *bufferSize) { return This->lpVtbl->GetBytes(This,metadataID,buffer,bufferSize); } #endif @@ -7614,45 +7686,45 @@ interface IDeckLinkVideoInputFrame { #define IDeckLinkVideoInputFrame_GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) (This)->lpVtbl->GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_QueryInterface(IDeckLinkVideoInputFrame* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkVideoInputFrame_QueryInterface(IDeckLinkVideoInputFrame* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkVideoInputFrame_AddRef(IDeckLinkVideoInputFrame* This) { +static inline ULONG IDeckLinkVideoInputFrame_AddRef(IDeckLinkVideoInputFrame* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkVideoInputFrame_Release(IDeckLinkVideoInputFrame* This) { +static inline ULONG IDeckLinkVideoInputFrame_Release(IDeckLinkVideoInputFrame* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkVideoFrame methods ***/ -static FORCEINLINE LONG IDeckLinkVideoInputFrame_GetWidth(IDeckLinkVideoInputFrame* This) { +static inline LONG IDeckLinkVideoInputFrame_GetWidth(IDeckLinkVideoInputFrame* This) { return This->lpVtbl->GetWidth(This); } -static FORCEINLINE LONG IDeckLinkVideoInputFrame_GetHeight(IDeckLinkVideoInputFrame* This) { +static inline LONG IDeckLinkVideoInputFrame_GetHeight(IDeckLinkVideoInputFrame* This) { return This->lpVtbl->GetHeight(This); } -static FORCEINLINE LONG IDeckLinkVideoInputFrame_GetRowBytes(IDeckLinkVideoInputFrame* This) { +static inline LONG IDeckLinkVideoInputFrame_GetRowBytes(IDeckLinkVideoInputFrame* This) { return This->lpVtbl->GetRowBytes(This); } -static FORCEINLINE BMDPixelFormat IDeckLinkVideoInputFrame_GetPixelFormat(IDeckLinkVideoInputFrame* This) { +static inline BMDPixelFormat IDeckLinkVideoInputFrame_GetPixelFormat(IDeckLinkVideoInputFrame* This) { return This->lpVtbl->GetPixelFormat(This); } -static FORCEINLINE BMDFrameFlags IDeckLinkVideoInputFrame_GetFlags(IDeckLinkVideoInputFrame* This) { +static inline BMDFrameFlags IDeckLinkVideoInputFrame_GetFlags(IDeckLinkVideoInputFrame* This) { return This->lpVtbl->GetFlags(This); } -static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_GetBytes(IDeckLinkVideoInputFrame* This,void **buffer) { +static inline HRESULT IDeckLinkVideoInputFrame_GetBytes(IDeckLinkVideoInputFrame* This,void **buffer) { return This->lpVtbl->GetBytes(This,buffer); } -static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_GetTimecode(IDeckLinkVideoInputFrame* This,BMDTimecodeFormat format,IDeckLinkTimecode **timecode) { +static inline HRESULT IDeckLinkVideoInputFrame_GetTimecode(IDeckLinkVideoInputFrame* This,BMDTimecodeFormat format,IDeckLinkTimecode **timecode) { return This->lpVtbl->GetTimecode(This,format,timecode); } -static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_GetAncillaryData(IDeckLinkVideoInputFrame* This,IDeckLinkVideoFrameAncillary **ancillary) { +static inline HRESULT IDeckLinkVideoInputFrame_GetAncillaryData(IDeckLinkVideoInputFrame* This,IDeckLinkVideoFrameAncillary **ancillary) { return This->lpVtbl->GetAncillaryData(This,ancillary); } /*** IDeckLinkVideoInputFrame methods ***/ -static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_GetStreamTime(IDeckLinkVideoInputFrame* This,BMDTimeValue *frameTime,BMDTimeValue *frameDuration,BMDTimeScale timeScale) { +static inline HRESULT IDeckLinkVideoInputFrame_GetStreamTime(IDeckLinkVideoInputFrame* This,BMDTimeValue *frameTime,BMDTimeValue *frameDuration,BMDTimeScale timeScale) { return This->lpVtbl->GetStreamTime(This,frameTime,frameDuration,timeScale); } -static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_GetHardwareReferenceTimestamp(IDeckLinkVideoInputFrame* This,BMDTimeScale timeScale,BMDTimeValue *frameTime,BMDTimeValue *frameDuration) { +static inline HRESULT IDeckLinkVideoInputFrame_GetHardwareReferenceTimestamp(IDeckLinkVideoInputFrame* This,BMDTimeScale timeScale,BMDTimeValue *frameTime,BMDTimeValue *frameDuration) { return This->lpVtbl->GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration); } #endif @@ -7751,29 +7823,29 @@ interface IDeckLinkAncillaryPacket { #define IDeckLinkAncillaryPacket_GetDataStreamIndex(This) (This)->lpVtbl->GetDataStreamIndex(This) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkAncillaryPacket_QueryInterface(IDeckLinkAncillaryPacket* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkAncillaryPacket_QueryInterface(IDeckLinkAncillaryPacket* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkAncillaryPacket_AddRef(IDeckLinkAncillaryPacket* This) { +static inline ULONG IDeckLinkAncillaryPacket_AddRef(IDeckLinkAncillaryPacket* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkAncillaryPacket_Release(IDeckLinkAncillaryPacket* This) { +static inline ULONG IDeckLinkAncillaryPacket_Release(IDeckLinkAncillaryPacket* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkAncillaryPacket methods ***/ -static FORCEINLINE HRESULT IDeckLinkAncillaryPacket_GetBytes(IDeckLinkAncillaryPacket* This,BMDAncillaryPacketFormat format,const void **data,unsigned int *size) { +static inline HRESULT IDeckLinkAncillaryPacket_GetBytes(IDeckLinkAncillaryPacket* This,BMDAncillaryPacketFormat format,const void **data,unsigned int *size) { return This->lpVtbl->GetBytes(This,format,data,size); } -static FORCEINLINE unsigned char IDeckLinkAncillaryPacket_GetDID(IDeckLinkAncillaryPacket* This) { +static inline unsigned char IDeckLinkAncillaryPacket_GetDID(IDeckLinkAncillaryPacket* This) { return This->lpVtbl->GetDID(This); } -static FORCEINLINE unsigned char IDeckLinkAncillaryPacket_GetSDID(IDeckLinkAncillaryPacket* This) { +static inline unsigned char IDeckLinkAncillaryPacket_GetSDID(IDeckLinkAncillaryPacket* This) { return This->lpVtbl->GetSDID(This); } -static FORCEINLINE unsigned int IDeckLinkAncillaryPacket_GetLineNumber(IDeckLinkAncillaryPacket* This) { +static inline unsigned int IDeckLinkAncillaryPacket_GetLineNumber(IDeckLinkAncillaryPacket* This) { return This->lpVtbl->GetLineNumber(This); } -static FORCEINLINE unsigned char IDeckLinkAncillaryPacket_GetDataStreamIndex(IDeckLinkAncillaryPacket* This) { +static inline unsigned char IDeckLinkAncillaryPacket_GetDataStreamIndex(IDeckLinkAncillaryPacket* This) { return This->lpVtbl->GetDataStreamIndex(This); } #endif @@ -7840,17 +7912,17 @@ interface IDeckLinkAncillaryPacketIterator { #define IDeckLinkAncillaryPacketIterator_Next(This,packet) (This)->lpVtbl->Next(This,packet) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkAncillaryPacketIterator_QueryInterface(IDeckLinkAncillaryPacketIterator* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkAncillaryPacketIterator_QueryInterface(IDeckLinkAncillaryPacketIterator* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkAncillaryPacketIterator_AddRef(IDeckLinkAncillaryPacketIterator* This) { +static inline ULONG IDeckLinkAncillaryPacketIterator_AddRef(IDeckLinkAncillaryPacketIterator* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkAncillaryPacketIterator_Release(IDeckLinkAncillaryPacketIterator* This) { +static inline ULONG IDeckLinkAncillaryPacketIterator_Release(IDeckLinkAncillaryPacketIterator* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkAncillaryPacketIterator methods ***/ -static FORCEINLINE HRESULT IDeckLinkAncillaryPacketIterator_Next(IDeckLinkAncillaryPacketIterator* This,IDeckLinkAncillaryPacket **packet) { +static inline HRESULT IDeckLinkAncillaryPacketIterator_Next(IDeckLinkAncillaryPacketIterator* This,IDeckLinkAncillaryPacket **packet) { return This->lpVtbl->Next(This,packet); } #endif @@ -7952,29 +8024,29 @@ interface IDeckLinkVideoFrameAncillaryPackets { #define IDeckLinkVideoFrameAncillaryPackets_DetachAllPackets(This) (This)->lpVtbl->DetachAllPackets(This) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkVideoFrameAncillaryPackets_QueryInterface(IDeckLinkVideoFrameAncillaryPackets* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkVideoFrameAncillaryPackets_QueryInterface(IDeckLinkVideoFrameAncillaryPackets* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkVideoFrameAncillaryPackets_AddRef(IDeckLinkVideoFrameAncillaryPackets* This) { +static inline ULONG IDeckLinkVideoFrameAncillaryPackets_AddRef(IDeckLinkVideoFrameAncillaryPackets* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkVideoFrameAncillaryPackets_Release(IDeckLinkVideoFrameAncillaryPackets* This) { +static inline ULONG IDeckLinkVideoFrameAncillaryPackets_Release(IDeckLinkVideoFrameAncillaryPackets* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkVideoFrameAncillaryPackets methods ***/ -static FORCEINLINE HRESULT IDeckLinkVideoFrameAncillaryPackets_GetPacketIterator(IDeckLinkVideoFrameAncillaryPackets* This,IDeckLinkAncillaryPacketIterator **iterator) { +static inline HRESULT IDeckLinkVideoFrameAncillaryPackets_GetPacketIterator(IDeckLinkVideoFrameAncillaryPackets* This,IDeckLinkAncillaryPacketIterator **iterator) { return This->lpVtbl->GetPacketIterator(This,iterator); } -static FORCEINLINE HRESULT IDeckLinkVideoFrameAncillaryPackets_GetFirstPacketByID(IDeckLinkVideoFrameAncillaryPackets* This,unsigned char DID,unsigned char SDID,IDeckLinkAncillaryPacket **packet) { +static inline HRESULT IDeckLinkVideoFrameAncillaryPackets_GetFirstPacketByID(IDeckLinkVideoFrameAncillaryPackets* This,unsigned char DID,unsigned char SDID,IDeckLinkAncillaryPacket **packet) { return This->lpVtbl->GetFirstPacketByID(This,DID,SDID,packet); } -static FORCEINLINE HRESULT IDeckLinkVideoFrameAncillaryPackets_AttachPacket(IDeckLinkVideoFrameAncillaryPackets* This,IDeckLinkAncillaryPacket *packet) { +static inline HRESULT IDeckLinkVideoFrameAncillaryPackets_AttachPacket(IDeckLinkVideoFrameAncillaryPackets* This,IDeckLinkAncillaryPacket *packet) { return This->lpVtbl->AttachPacket(This,packet); } -static FORCEINLINE HRESULT IDeckLinkVideoFrameAncillaryPackets_DetachPacket(IDeckLinkVideoFrameAncillaryPackets* This,IDeckLinkAncillaryPacket *packet) { +static inline HRESULT IDeckLinkVideoFrameAncillaryPackets_DetachPacket(IDeckLinkVideoFrameAncillaryPackets* This,IDeckLinkAncillaryPacket *packet) { return This->lpVtbl->DetachPacket(This,packet); } -static FORCEINLINE HRESULT IDeckLinkVideoFrameAncillaryPackets_DetachAllPackets(IDeckLinkVideoFrameAncillaryPackets* This) { +static inline HRESULT IDeckLinkVideoFrameAncillaryPackets_DetachAllPackets(IDeckLinkVideoFrameAncillaryPackets* This) { return This->lpVtbl->DetachAllPackets(This); } #endif @@ -8057,23 +8129,23 @@ interface IDeckLinkVideoFrameAncillary { #define IDeckLinkVideoFrameAncillary_GetDisplayMode(This) (This)->lpVtbl->GetDisplayMode(This) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkVideoFrameAncillary_QueryInterface(IDeckLinkVideoFrameAncillary* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkVideoFrameAncillary_QueryInterface(IDeckLinkVideoFrameAncillary* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkVideoFrameAncillary_AddRef(IDeckLinkVideoFrameAncillary* This) { +static inline ULONG IDeckLinkVideoFrameAncillary_AddRef(IDeckLinkVideoFrameAncillary* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkVideoFrameAncillary_Release(IDeckLinkVideoFrameAncillary* This) { +static inline ULONG IDeckLinkVideoFrameAncillary_Release(IDeckLinkVideoFrameAncillary* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkVideoFrameAncillary methods ***/ -static FORCEINLINE HRESULT IDeckLinkVideoFrameAncillary_GetBufferForVerticalBlankingLine(IDeckLinkVideoFrameAncillary* This,unsigned int lineNumber,void **buffer) { +static inline HRESULT IDeckLinkVideoFrameAncillary_GetBufferForVerticalBlankingLine(IDeckLinkVideoFrameAncillary* This,unsigned int lineNumber,void **buffer) { return This->lpVtbl->GetBufferForVerticalBlankingLine(This,lineNumber,buffer); } -static FORCEINLINE BMDPixelFormat IDeckLinkVideoFrameAncillary_GetPixelFormat(IDeckLinkVideoFrameAncillary* This) { +static inline BMDPixelFormat IDeckLinkVideoFrameAncillary_GetPixelFormat(IDeckLinkVideoFrameAncillary* This) { return This->lpVtbl->GetPixelFormat(This); } -static FORCEINLINE BMDDisplayMode IDeckLinkVideoFrameAncillary_GetDisplayMode(IDeckLinkVideoFrameAncillary* This) { +static inline BMDDisplayMode IDeckLinkVideoFrameAncillary_GetDisplayMode(IDeckLinkVideoFrameAncillary* This) { return This->lpVtbl->GetDisplayMode(This); } #endif @@ -8164,26 +8236,26 @@ interface IDeckLinkEncoderPacket { #define IDeckLinkEncoderPacket_GetPacketType(This) (This)->lpVtbl->GetPacketType(This) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkEncoderPacket_QueryInterface(IDeckLinkEncoderPacket* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkEncoderPacket_QueryInterface(IDeckLinkEncoderPacket* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkEncoderPacket_AddRef(IDeckLinkEncoderPacket* This) { +static inline ULONG IDeckLinkEncoderPacket_AddRef(IDeckLinkEncoderPacket* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkEncoderPacket_Release(IDeckLinkEncoderPacket* This) { +static inline ULONG IDeckLinkEncoderPacket_Release(IDeckLinkEncoderPacket* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkEncoderPacket methods ***/ -static FORCEINLINE HRESULT IDeckLinkEncoderPacket_GetBytes(IDeckLinkEncoderPacket* This,void **buffer) { +static inline HRESULT IDeckLinkEncoderPacket_GetBytes(IDeckLinkEncoderPacket* This,void **buffer) { return This->lpVtbl->GetBytes(This,buffer); } -static FORCEINLINE LONG IDeckLinkEncoderPacket_GetSize(IDeckLinkEncoderPacket* This) { +static inline LONG IDeckLinkEncoderPacket_GetSize(IDeckLinkEncoderPacket* This) { return This->lpVtbl->GetSize(This); } -static FORCEINLINE HRESULT IDeckLinkEncoderPacket_GetStreamTime(IDeckLinkEncoderPacket* This,BMDTimeValue *frameTime,BMDTimeScale timeScale) { +static inline HRESULT IDeckLinkEncoderPacket_GetStreamTime(IDeckLinkEncoderPacket* This,BMDTimeValue *frameTime,BMDTimeScale timeScale) { return This->lpVtbl->GetStreamTime(This,frameTime,timeScale); } -static FORCEINLINE BMDPacketType IDeckLinkEncoderPacket_GetPacketType(IDeckLinkEncoderPacket* This) { +static inline BMDPacketType IDeckLinkEncoderPacket_GetPacketType(IDeckLinkEncoderPacket* This) { return This->lpVtbl->GetPacketType(This); } #endif @@ -8292,36 +8364,36 @@ interface IDeckLinkEncoderVideoPacket { #define IDeckLinkEncoderVideoPacket_GetTimecode(This,format,timecode) (This)->lpVtbl->GetTimecode(This,format,timecode) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkEncoderVideoPacket_QueryInterface(IDeckLinkEncoderVideoPacket* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkEncoderVideoPacket_QueryInterface(IDeckLinkEncoderVideoPacket* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkEncoderVideoPacket_AddRef(IDeckLinkEncoderVideoPacket* This) { +static inline ULONG IDeckLinkEncoderVideoPacket_AddRef(IDeckLinkEncoderVideoPacket* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkEncoderVideoPacket_Release(IDeckLinkEncoderVideoPacket* This) { +static inline ULONG IDeckLinkEncoderVideoPacket_Release(IDeckLinkEncoderVideoPacket* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkEncoderPacket methods ***/ -static FORCEINLINE HRESULT IDeckLinkEncoderVideoPacket_GetBytes(IDeckLinkEncoderVideoPacket* This,void **buffer) { +static inline HRESULT IDeckLinkEncoderVideoPacket_GetBytes(IDeckLinkEncoderVideoPacket* This,void **buffer) { return This->lpVtbl->GetBytes(This,buffer); } -static FORCEINLINE LONG IDeckLinkEncoderVideoPacket_GetSize(IDeckLinkEncoderVideoPacket* This) { +static inline LONG IDeckLinkEncoderVideoPacket_GetSize(IDeckLinkEncoderVideoPacket* This) { return This->lpVtbl->GetSize(This); } -static FORCEINLINE HRESULT IDeckLinkEncoderVideoPacket_GetStreamTime(IDeckLinkEncoderVideoPacket* This,BMDTimeValue *frameTime,BMDTimeScale timeScale) { +static inline HRESULT IDeckLinkEncoderVideoPacket_GetStreamTime(IDeckLinkEncoderVideoPacket* This,BMDTimeValue *frameTime,BMDTimeScale timeScale) { return This->lpVtbl->GetStreamTime(This,frameTime,timeScale); } -static FORCEINLINE BMDPacketType IDeckLinkEncoderVideoPacket_GetPacketType(IDeckLinkEncoderVideoPacket* This) { +static inline BMDPacketType IDeckLinkEncoderVideoPacket_GetPacketType(IDeckLinkEncoderVideoPacket* This) { return This->lpVtbl->GetPacketType(This); } /*** IDeckLinkEncoderVideoPacket methods ***/ -static FORCEINLINE BMDPixelFormat IDeckLinkEncoderVideoPacket_GetPixelFormat(IDeckLinkEncoderVideoPacket* This) { +static inline BMDPixelFormat IDeckLinkEncoderVideoPacket_GetPixelFormat(IDeckLinkEncoderVideoPacket* This) { return This->lpVtbl->GetPixelFormat(This); } -static FORCEINLINE HRESULT IDeckLinkEncoderVideoPacket_GetHardwareReferenceTimestamp(IDeckLinkEncoderVideoPacket* This,BMDTimeScale timeScale,BMDTimeValue *frameTime,BMDTimeValue *frameDuration) { +static inline HRESULT IDeckLinkEncoderVideoPacket_GetHardwareReferenceTimestamp(IDeckLinkEncoderVideoPacket* This,BMDTimeScale timeScale,BMDTimeValue *frameTime,BMDTimeValue *frameDuration) { return This->lpVtbl->GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration); } -static FORCEINLINE HRESULT IDeckLinkEncoderVideoPacket_GetTimecode(IDeckLinkEncoderVideoPacket* This,BMDTimecodeFormat format,IDeckLinkTimecode **timecode) { +static inline HRESULT IDeckLinkEncoderVideoPacket_GetTimecode(IDeckLinkEncoderVideoPacket* This,BMDTimecodeFormat format,IDeckLinkTimecode **timecode) { return This->lpVtbl->GetTimecode(This,format,timecode); } #endif @@ -8408,30 +8480,30 @@ interface IDeckLinkEncoderAudioPacket { #define IDeckLinkEncoderAudioPacket_GetAudioFormat(This) (This)->lpVtbl->GetAudioFormat(This) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkEncoderAudioPacket_QueryInterface(IDeckLinkEncoderAudioPacket* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkEncoderAudioPacket_QueryInterface(IDeckLinkEncoderAudioPacket* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkEncoderAudioPacket_AddRef(IDeckLinkEncoderAudioPacket* This) { +static inline ULONG IDeckLinkEncoderAudioPacket_AddRef(IDeckLinkEncoderAudioPacket* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkEncoderAudioPacket_Release(IDeckLinkEncoderAudioPacket* This) { +static inline ULONG IDeckLinkEncoderAudioPacket_Release(IDeckLinkEncoderAudioPacket* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkEncoderPacket methods ***/ -static FORCEINLINE HRESULT IDeckLinkEncoderAudioPacket_GetBytes(IDeckLinkEncoderAudioPacket* This,void **buffer) { +static inline HRESULT IDeckLinkEncoderAudioPacket_GetBytes(IDeckLinkEncoderAudioPacket* This,void **buffer) { return This->lpVtbl->GetBytes(This,buffer); } -static FORCEINLINE LONG IDeckLinkEncoderAudioPacket_GetSize(IDeckLinkEncoderAudioPacket* This) { +static inline LONG IDeckLinkEncoderAudioPacket_GetSize(IDeckLinkEncoderAudioPacket* This) { return This->lpVtbl->GetSize(This); } -static FORCEINLINE HRESULT IDeckLinkEncoderAudioPacket_GetStreamTime(IDeckLinkEncoderAudioPacket* This,BMDTimeValue *frameTime,BMDTimeScale timeScale) { +static inline HRESULT IDeckLinkEncoderAudioPacket_GetStreamTime(IDeckLinkEncoderAudioPacket* This,BMDTimeValue *frameTime,BMDTimeScale timeScale) { return This->lpVtbl->GetStreamTime(This,frameTime,timeScale); } -static FORCEINLINE BMDPacketType IDeckLinkEncoderAudioPacket_GetPacketType(IDeckLinkEncoderAudioPacket* This) { +static inline BMDPacketType IDeckLinkEncoderAudioPacket_GetPacketType(IDeckLinkEncoderAudioPacket* This) { return This->lpVtbl->GetPacketType(This); } /*** IDeckLinkEncoderAudioPacket methods ***/ -static FORCEINLINE BMDAudioFormat IDeckLinkEncoderAudioPacket_GetAudioFormat(IDeckLinkEncoderAudioPacket* This) { +static inline BMDAudioFormat IDeckLinkEncoderAudioPacket_GetAudioFormat(IDeckLinkEncoderAudioPacket* This) { return This->lpVtbl->GetAudioFormat(This); } #endif @@ -8553,46 +8625,46 @@ interface IDeckLinkH265NALPacket { #define IDeckLinkH265NALPacket_GetSizeNoPrefix(This) (This)->lpVtbl->GetSizeNoPrefix(This) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkH265NALPacket_QueryInterface(IDeckLinkH265NALPacket* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkH265NALPacket_QueryInterface(IDeckLinkH265NALPacket* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkH265NALPacket_AddRef(IDeckLinkH265NALPacket* This) { +static inline ULONG IDeckLinkH265NALPacket_AddRef(IDeckLinkH265NALPacket* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkH265NALPacket_Release(IDeckLinkH265NALPacket* This) { +static inline ULONG IDeckLinkH265NALPacket_Release(IDeckLinkH265NALPacket* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkEncoderPacket methods ***/ -static FORCEINLINE HRESULT IDeckLinkH265NALPacket_GetBytes(IDeckLinkH265NALPacket* This,void **buffer) { +static inline HRESULT IDeckLinkH265NALPacket_GetBytes(IDeckLinkH265NALPacket* This,void **buffer) { return This->lpVtbl->GetBytes(This,buffer); } -static FORCEINLINE LONG IDeckLinkH265NALPacket_GetSize(IDeckLinkH265NALPacket* This) { +static inline LONG IDeckLinkH265NALPacket_GetSize(IDeckLinkH265NALPacket* This) { return This->lpVtbl->GetSize(This); } -static FORCEINLINE HRESULT IDeckLinkH265NALPacket_GetStreamTime(IDeckLinkH265NALPacket* This,BMDTimeValue *frameTime,BMDTimeScale timeScale) { +static inline HRESULT IDeckLinkH265NALPacket_GetStreamTime(IDeckLinkH265NALPacket* This,BMDTimeValue *frameTime,BMDTimeScale timeScale) { return This->lpVtbl->GetStreamTime(This,frameTime,timeScale); } -static FORCEINLINE BMDPacketType IDeckLinkH265NALPacket_GetPacketType(IDeckLinkH265NALPacket* This) { +static inline BMDPacketType IDeckLinkH265NALPacket_GetPacketType(IDeckLinkH265NALPacket* This) { return This->lpVtbl->GetPacketType(This); } /*** IDeckLinkEncoderVideoPacket methods ***/ -static FORCEINLINE BMDPixelFormat IDeckLinkH265NALPacket_GetPixelFormat(IDeckLinkH265NALPacket* This) { +static inline BMDPixelFormat IDeckLinkH265NALPacket_GetPixelFormat(IDeckLinkH265NALPacket* This) { return This->lpVtbl->GetPixelFormat(This); } -static FORCEINLINE HRESULT IDeckLinkH265NALPacket_GetHardwareReferenceTimestamp(IDeckLinkH265NALPacket* This,BMDTimeScale timeScale,BMDTimeValue *frameTime,BMDTimeValue *frameDuration) { +static inline HRESULT IDeckLinkH265NALPacket_GetHardwareReferenceTimestamp(IDeckLinkH265NALPacket* This,BMDTimeScale timeScale,BMDTimeValue *frameTime,BMDTimeValue *frameDuration) { return This->lpVtbl->GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration); } -static FORCEINLINE HRESULT IDeckLinkH265NALPacket_GetTimecode(IDeckLinkH265NALPacket* This,BMDTimecodeFormat format,IDeckLinkTimecode **timecode) { +static inline HRESULT IDeckLinkH265NALPacket_GetTimecode(IDeckLinkH265NALPacket* This,BMDTimecodeFormat format,IDeckLinkTimecode **timecode) { return This->lpVtbl->GetTimecode(This,format,timecode); } /*** IDeckLinkH265NALPacket methods ***/ -static FORCEINLINE HRESULT IDeckLinkH265NALPacket_GetUnitType(IDeckLinkH265NALPacket* This,unsigned char *unitType) { +static inline HRESULT IDeckLinkH265NALPacket_GetUnitType(IDeckLinkH265NALPacket* This,unsigned char *unitType) { return This->lpVtbl->GetUnitType(This,unitType); } -static FORCEINLINE HRESULT IDeckLinkH265NALPacket_GetBytesNoPrefix(IDeckLinkH265NALPacket* This,void **buffer) { +static inline HRESULT IDeckLinkH265NALPacket_GetBytesNoPrefix(IDeckLinkH265NALPacket* This,void **buffer) { return This->lpVtbl->GetBytesNoPrefix(This,buffer); } -static FORCEINLINE LONG IDeckLinkH265NALPacket_GetSizeNoPrefix(IDeckLinkH265NALPacket* This) { +static inline LONG IDeckLinkH265NALPacket_GetSizeNoPrefix(IDeckLinkH265NALPacket* This) { return This->lpVtbl->GetSizeNoPrefix(This); } #endif @@ -8676,23 +8748,23 @@ interface IDeckLinkAudioInputPacket { #define IDeckLinkAudioInputPacket_GetPacketTime(This,packetTime,timeScale) (This)->lpVtbl->GetPacketTime(This,packetTime,timeScale) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkAudioInputPacket_QueryInterface(IDeckLinkAudioInputPacket* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkAudioInputPacket_QueryInterface(IDeckLinkAudioInputPacket* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkAudioInputPacket_AddRef(IDeckLinkAudioInputPacket* This) { +static inline ULONG IDeckLinkAudioInputPacket_AddRef(IDeckLinkAudioInputPacket* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkAudioInputPacket_Release(IDeckLinkAudioInputPacket* This) { +static inline ULONG IDeckLinkAudioInputPacket_Release(IDeckLinkAudioInputPacket* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkAudioInputPacket methods ***/ -static FORCEINLINE LONG IDeckLinkAudioInputPacket_GetSampleFrameCount(IDeckLinkAudioInputPacket* This) { +static inline LONG IDeckLinkAudioInputPacket_GetSampleFrameCount(IDeckLinkAudioInputPacket* This) { return This->lpVtbl->GetSampleFrameCount(This); } -static FORCEINLINE HRESULT IDeckLinkAudioInputPacket_GetBytes(IDeckLinkAudioInputPacket* This,void **buffer) { +static inline HRESULT IDeckLinkAudioInputPacket_GetBytes(IDeckLinkAudioInputPacket* This,void **buffer) { return This->lpVtbl->GetBytes(This,buffer); } -static FORCEINLINE HRESULT IDeckLinkAudioInputPacket_GetPacketTime(IDeckLinkAudioInputPacket* This,BMDTimeValue *packetTime,BMDTimeScale timeScale) { +static inline HRESULT IDeckLinkAudioInputPacket_GetPacketTime(IDeckLinkAudioInputPacket* This,BMDTimeValue *packetTime,BMDTimeScale timeScale) { return This->lpVtbl->GetPacketTime(This,packetTime,timeScale); } #endif @@ -8759,17 +8831,17 @@ interface IDeckLinkScreenPreviewCallback { #define IDeckLinkScreenPreviewCallback_DrawFrame(This,theFrame) (This)->lpVtbl->DrawFrame(This,theFrame) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkScreenPreviewCallback_QueryInterface(IDeckLinkScreenPreviewCallback* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkScreenPreviewCallback_QueryInterface(IDeckLinkScreenPreviewCallback* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkScreenPreviewCallback_AddRef(IDeckLinkScreenPreviewCallback* This) { +static inline ULONG IDeckLinkScreenPreviewCallback_AddRef(IDeckLinkScreenPreviewCallback* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkScreenPreviewCallback_Release(IDeckLinkScreenPreviewCallback* This) { +static inline ULONG IDeckLinkScreenPreviewCallback_Release(IDeckLinkScreenPreviewCallback* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkScreenPreviewCallback methods ***/ -static FORCEINLINE HRESULT IDeckLinkScreenPreviewCallback_DrawFrame(IDeckLinkScreenPreviewCallback* This,IDeckLinkVideoFrame *theFrame) { +static inline HRESULT IDeckLinkScreenPreviewCallback_DrawFrame(IDeckLinkScreenPreviewCallback* This,IDeckLinkVideoFrame *theFrame) { return This->lpVtbl->DrawFrame(This,theFrame); } #endif @@ -8858,26 +8930,26 @@ interface IDeckLinkGLScreenPreviewHelper { #define IDeckLinkGLScreenPreviewHelper_Set3DPreviewFormat(This,previewFormat) (This)->lpVtbl->Set3DPreviewFormat(This,previewFormat) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkGLScreenPreviewHelper_QueryInterface(IDeckLinkGLScreenPreviewHelper* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkGLScreenPreviewHelper_QueryInterface(IDeckLinkGLScreenPreviewHelper* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkGLScreenPreviewHelper_AddRef(IDeckLinkGLScreenPreviewHelper* This) { +static inline ULONG IDeckLinkGLScreenPreviewHelper_AddRef(IDeckLinkGLScreenPreviewHelper* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkGLScreenPreviewHelper_Release(IDeckLinkGLScreenPreviewHelper* This) { +static inline ULONG IDeckLinkGLScreenPreviewHelper_Release(IDeckLinkGLScreenPreviewHelper* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkGLScreenPreviewHelper methods ***/ -static FORCEINLINE HRESULT IDeckLinkGLScreenPreviewHelper_InitializeGL(IDeckLinkGLScreenPreviewHelper* This) { +static inline HRESULT IDeckLinkGLScreenPreviewHelper_InitializeGL(IDeckLinkGLScreenPreviewHelper* This) { return This->lpVtbl->InitializeGL(This); } -static FORCEINLINE HRESULT IDeckLinkGLScreenPreviewHelper_PaintGL(IDeckLinkGLScreenPreviewHelper* This) { +static inline HRESULT IDeckLinkGLScreenPreviewHelper_PaintGL(IDeckLinkGLScreenPreviewHelper* This) { return This->lpVtbl->PaintGL(This); } -static FORCEINLINE HRESULT IDeckLinkGLScreenPreviewHelper_SetFrame(IDeckLinkGLScreenPreviewHelper* This,IDeckLinkVideoFrame *theFrame) { +static inline HRESULT IDeckLinkGLScreenPreviewHelper_SetFrame(IDeckLinkGLScreenPreviewHelper* This,IDeckLinkVideoFrame *theFrame) { return This->lpVtbl->SetFrame(This,theFrame); } -static FORCEINLINE HRESULT IDeckLinkGLScreenPreviewHelper_Set3DPreviewFormat(IDeckLinkGLScreenPreviewHelper* This,BMD3DPreviewFormat previewFormat) { +static inline HRESULT IDeckLinkGLScreenPreviewHelper_Set3DPreviewFormat(IDeckLinkGLScreenPreviewHelper* This,BMD3DPreviewFormat previewFormat) { return This->lpVtbl->Set3DPreviewFormat(This,previewFormat); } #endif @@ -8968,26 +9040,26 @@ interface IDeckLinkDX9ScreenPreviewHelper { #define IDeckLinkDX9ScreenPreviewHelper_Set3DPreviewFormat(This,previewFormat) (This)->lpVtbl->Set3DPreviewFormat(This,previewFormat) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkDX9ScreenPreviewHelper_QueryInterface(IDeckLinkDX9ScreenPreviewHelper* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkDX9ScreenPreviewHelper_QueryInterface(IDeckLinkDX9ScreenPreviewHelper* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkDX9ScreenPreviewHelper_AddRef(IDeckLinkDX9ScreenPreviewHelper* This) { +static inline ULONG IDeckLinkDX9ScreenPreviewHelper_AddRef(IDeckLinkDX9ScreenPreviewHelper* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkDX9ScreenPreviewHelper_Release(IDeckLinkDX9ScreenPreviewHelper* This) { +static inline ULONG IDeckLinkDX9ScreenPreviewHelper_Release(IDeckLinkDX9ScreenPreviewHelper* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkDX9ScreenPreviewHelper methods ***/ -static FORCEINLINE HRESULT IDeckLinkDX9ScreenPreviewHelper_Initialize(IDeckLinkDX9ScreenPreviewHelper* This,void *device) { +static inline HRESULT IDeckLinkDX9ScreenPreviewHelper_Initialize(IDeckLinkDX9ScreenPreviewHelper* This,void *device) { return This->lpVtbl->Initialize(This,device); } -static FORCEINLINE HRESULT IDeckLinkDX9ScreenPreviewHelper_Render(IDeckLinkDX9ScreenPreviewHelper* This,RECT *rc) { +static inline HRESULT IDeckLinkDX9ScreenPreviewHelper_Render(IDeckLinkDX9ScreenPreviewHelper* This,RECT *rc) { return This->lpVtbl->Render(This,rc); } -static FORCEINLINE HRESULT IDeckLinkDX9ScreenPreviewHelper_SetFrame(IDeckLinkDX9ScreenPreviewHelper* This,IDeckLinkVideoFrame *theFrame) { +static inline HRESULT IDeckLinkDX9ScreenPreviewHelper_SetFrame(IDeckLinkDX9ScreenPreviewHelper* This,IDeckLinkVideoFrame *theFrame) { return This->lpVtbl->SetFrame(This,theFrame); } -static FORCEINLINE HRESULT IDeckLinkDX9ScreenPreviewHelper_Set3DPreviewFormat(IDeckLinkDX9ScreenPreviewHelper* This,BMD3DPreviewFormat previewFormat) { +static inline HRESULT IDeckLinkDX9ScreenPreviewHelper_Set3DPreviewFormat(IDeckLinkDX9ScreenPreviewHelper* This,BMD3DPreviewFormat previewFormat) { return This->lpVtbl->Set3DPreviewFormat(This,previewFormat); } #endif @@ -8998,6 +9070,138 @@ static FORCEINLINE HRESULT IDeckLinkDX9ScreenPreviewHelper_Set3DPreviewFormat(ID #endif /* __IDeckLinkDX9ScreenPreviewHelper_INTERFACE_DEFINED__ */ +/***************************************************************************** + * IDeckLinkWPFDX9ScreenPreviewHelper interface + */ +#ifndef __IDeckLinkWPFDX9ScreenPreviewHelper_INTERFACE_DEFINED__ +#define __IDeckLinkWPFDX9ScreenPreviewHelper_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IDeckLinkWPFDX9ScreenPreviewHelper, 0xad8ec84a, 0x7dde, 0x11e9, 0x8f,0x9e, 0x2a,0x86,0xe4,0x08,0x5a,0x59); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ad8ec84a-7dde-11e9-8f9e-2a86e4085a59") +IDeckLinkWPFDX9ScreenPreviewHelper : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Initialize( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Render( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSurfaceSize( + unsigned int width, + unsigned int height) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFrame( + IDeckLinkVideoFrame *theFrame) = 0; + + virtual HRESULT STDMETHODCALLTYPE Set3DPreviewFormat( + BMD3DPreviewFormat previewFormat) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBackBuffer( + void **backBuffer) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IDeckLinkWPFDX9ScreenPreviewHelper, 0xad8ec84a, 0x7dde, 0x11e9, 0x8f,0x9e, 0x2a,0x86,0xe4,0x08,0x5a,0x59) +#endif +#else +typedef struct IDeckLinkWPFDX9ScreenPreviewHelperVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IDeckLinkWPFDX9ScreenPreviewHelper *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IDeckLinkWPFDX9ScreenPreviewHelper *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IDeckLinkWPFDX9ScreenPreviewHelper *This); + + /*** IDeckLinkWPFDX9ScreenPreviewHelper methods ***/ + HRESULT (STDMETHODCALLTYPE *Initialize)( + IDeckLinkWPFDX9ScreenPreviewHelper *This); + + HRESULT (STDMETHODCALLTYPE *Render)( + IDeckLinkWPFDX9ScreenPreviewHelper *This); + + HRESULT (STDMETHODCALLTYPE *SetSurfaceSize)( + IDeckLinkWPFDX9ScreenPreviewHelper *This, + unsigned int width, + unsigned int height); + + HRESULT (STDMETHODCALLTYPE *SetFrame)( + IDeckLinkWPFDX9ScreenPreviewHelper *This, + IDeckLinkVideoFrame *theFrame); + + HRESULT (STDMETHODCALLTYPE *Set3DPreviewFormat)( + IDeckLinkWPFDX9ScreenPreviewHelper *This, + BMD3DPreviewFormat previewFormat); + + HRESULT (STDMETHODCALLTYPE *GetBackBuffer)( + IDeckLinkWPFDX9ScreenPreviewHelper *This, + void **backBuffer); + + END_INTERFACE +} IDeckLinkWPFDX9ScreenPreviewHelperVtbl; + +interface IDeckLinkWPFDX9ScreenPreviewHelper { + CONST_VTBL IDeckLinkWPFDX9ScreenPreviewHelperVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IDeckLinkWPFDX9ScreenPreviewHelper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDeckLinkWPFDX9ScreenPreviewHelper_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDeckLinkWPFDX9ScreenPreviewHelper_Release(This) (This)->lpVtbl->Release(This) +/*** IDeckLinkWPFDX9ScreenPreviewHelper methods ***/ +#define IDeckLinkWPFDX9ScreenPreviewHelper_Initialize(This) (This)->lpVtbl->Initialize(This) +#define IDeckLinkWPFDX9ScreenPreviewHelper_Render(This) (This)->lpVtbl->Render(This) +#define IDeckLinkWPFDX9ScreenPreviewHelper_SetSurfaceSize(This,width,height) (This)->lpVtbl->SetSurfaceSize(This,width,height) +#define IDeckLinkWPFDX9ScreenPreviewHelper_SetFrame(This,theFrame) (This)->lpVtbl->SetFrame(This,theFrame) +#define IDeckLinkWPFDX9ScreenPreviewHelper_Set3DPreviewFormat(This,previewFormat) (This)->lpVtbl->Set3DPreviewFormat(This,previewFormat) +#define IDeckLinkWPFDX9ScreenPreviewHelper_GetBackBuffer(This,backBuffer) (This)->lpVtbl->GetBackBuffer(This,backBuffer) +#else +/*** IUnknown methods ***/ +static inline HRESULT IDeckLinkWPFDX9ScreenPreviewHelper_QueryInterface(IDeckLinkWPFDX9ScreenPreviewHelper* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IDeckLinkWPFDX9ScreenPreviewHelper_AddRef(IDeckLinkWPFDX9ScreenPreviewHelper* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IDeckLinkWPFDX9ScreenPreviewHelper_Release(IDeckLinkWPFDX9ScreenPreviewHelper* This) { + return This->lpVtbl->Release(This); +} +/*** IDeckLinkWPFDX9ScreenPreviewHelper methods ***/ +static inline HRESULT IDeckLinkWPFDX9ScreenPreviewHelper_Initialize(IDeckLinkWPFDX9ScreenPreviewHelper* This) { + return This->lpVtbl->Initialize(This); +} +static inline HRESULT IDeckLinkWPFDX9ScreenPreviewHelper_Render(IDeckLinkWPFDX9ScreenPreviewHelper* This) { + return This->lpVtbl->Render(This); +} +static inline HRESULT IDeckLinkWPFDX9ScreenPreviewHelper_SetSurfaceSize(IDeckLinkWPFDX9ScreenPreviewHelper* This,unsigned int width,unsigned int height) { + return This->lpVtbl->SetSurfaceSize(This,width,height); +} +static inline HRESULT IDeckLinkWPFDX9ScreenPreviewHelper_SetFrame(IDeckLinkWPFDX9ScreenPreviewHelper* This,IDeckLinkVideoFrame *theFrame) { + return This->lpVtbl->SetFrame(This,theFrame); +} +static inline HRESULT IDeckLinkWPFDX9ScreenPreviewHelper_Set3DPreviewFormat(IDeckLinkWPFDX9ScreenPreviewHelper* This,BMD3DPreviewFormat previewFormat) { + return This->lpVtbl->Set3DPreviewFormat(This,previewFormat); +} +static inline HRESULT IDeckLinkWPFDX9ScreenPreviewHelper_GetBackBuffer(IDeckLinkWPFDX9ScreenPreviewHelper* This,void **backBuffer) { + return This->lpVtbl->GetBackBuffer(This,backBuffer); +} +#endif +#endif + +#endif + + +#endif /* __IDeckLinkWPFDX9ScreenPreviewHelper_INTERFACE_DEFINED__ */ + /***************************************************************************** * IDeckLinkNotificationCallback interface */ @@ -9058,17 +9262,17 @@ interface IDeckLinkNotificationCallback { #define IDeckLinkNotificationCallback_Notify(This,topic,param1,param2) (This)->lpVtbl->Notify(This,topic,param1,param2) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkNotificationCallback_QueryInterface(IDeckLinkNotificationCallback* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkNotificationCallback_QueryInterface(IDeckLinkNotificationCallback* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkNotificationCallback_AddRef(IDeckLinkNotificationCallback* This) { +static inline ULONG IDeckLinkNotificationCallback_AddRef(IDeckLinkNotificationCallback* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkNotificationCallback_Release(IDeckLinkNotificationCallback* This) { +static inline ULONG IDeckLinkNotificationCallback_Release(IDeckLinkNotificationCallback* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkNotificationCallback methods ***/ -static FORCEINLINE HRESULT IDeckLinkNotificationCallback_Notify(IDeckLinkNotificationCallback* This,BMDNotifications topic,ULONGLONG param1,ULONGLONG param2) { +static inline HRESULT IDeckLinkNotificationCallback_Notify(IDeckLinkNotificationCallback* This,BMDNotifications topic,ULONGLONG param1,ULONGLONG param2) { return This->lpVtbl->Notify(This,topic,param1,param2); } #endif @@ -9147,20 +9351,20 @@ interface IDeckLinkNotification { #define IDeckLinkNotification_Unsubscribe(This,topic,theCallback) (This)->lpVtbl->Unsubscribe(This,topic,theCallback) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkNotification_QueryInterface(IDeckLinkNotification* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkNotification_QueryInterface(IDeckLinkNotification* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkNotification_AddRef(IDeckLinkNotification* This) { +static inline ULONG IDeckLinkNotification_AddRef(IDeckLinkNotification* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkNotification_Release(IDeckLinkNotification* This) { +static inline ULONG IDeckLinkNotification_Release(IDeckLinkNotification* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkNotification methods ***/ -static FORCEINLINE HRESULT IDeckLinkNotification_Subscribe(IDeckLinkNotification* This,BMDNotifications topic,IDeckLinkNotificationCallback *theCallback) { +static inline HRESULT IDeckLinkNotification_Subscribe(IDeckLinkNotification* This,BMDNotifications topic,IDeckLinkNotificationCallback *theCallback) { return This->lpVtbl->Subscribe(This,topic,theCallback); } -static FORCEINLINE HRESULT IDeckLinkNotification_Unsubscribe(IDeckLinkNotification* This,BMDNotifications topic,IDeckLinkNotificationCallback *theCallback) { +static inline HRESULT IDeckLinkNotification_Unsubscribe(IDeckLinkNotification* This,BMDNotifications topic,IDeckLinkNotificationCallback *theCallback) { return This->lpVtbl->Unsubscribe(This,topic,theCallback); } #endif @@ -9259,26 +9463,26 @@ interface IDeckLinkProfileAttributes { #define IDeckLinkProfileAttributes_GetString(This,cfgID,value) (This)->lpVtbl->GetString(This,cfgID,value) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkProfileAttributes_QueryInterface(IDeckLinkProfileAttributes* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkProfileAttributes_QueryInterface(IDeckLinkProfileAttributes* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkProfileAttributes_AddRef(IDeckLinkProfileAttributes* This) { +static inline ULONG IDeckLinkProfileAttributes_AddRef(IDeckLinkProfileAttributes* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkProfileAttributes_Release(IDeckLinkProfileAttributes* This) { +static inline ULONG IDeckLinkProfileAttributes_Release(IDeckLinkProfileAttributes* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkProfileAttributes methods ***/ -static FORCEINLINE HRESULT IDeckLinkProfileAttributes_GetFlag(IDeckLinkProfileAttributes* This,BMDDeckLinkAttributeID cfgID,BOOL *value) { +static inline HRESULT IDeckLinkProfileAttributes_GetFlag(IDeckLinkProfileAttributes* This,BMDDeckLinkAttributeID cfgID,BOOL *value) { return This->lpVtbl->GetFlag(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkProfileAttributes_GetInt(IDeckLinkProfileAttributes* This,BMDDeckLinkAttributeID cfgID,LONGLONG *value) { +static inline HRESULT IDeckLinkProfileAttributes_GetInt(IDeckLinkProfileAttributes* This,BMDDeckLinkAttributeID cfgID,LONGLONG *value) { return This->lpVtbl->GetInt(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkProfileAttributes_GetFloat(IDeckLinkProfileAttributes* This,BMDDeckLinkAttributeID cfgID,double *value) { +static inline HRESULT IDeckLinkProfileAttributes_GetFloat(IDeckLinkProfileAttributes* This,BMDDeckLinkAttributeID cfgID,double *value) { return This->lpVtbl->GetFloat(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkProfileAttributes_GetString(IDeckLinkProfileAttributes* This,BMDDeckLinkAttributeID cfgID,BSTR *value) { +static inline HRESULT IDeckLinkProfileAttributes_GetString(IDeckLinkProfileAttributes* This,BMDDeckLinkAttributeID cfgID,BSTR *value) { return This->lpVtbl->GetString(This,cfgID,value); } #endif @@ -9345,17 +9549,17 @@ interface IDeckLinkProfileIterator { #define IDeckLinkProfileIterator_Next(This,profile) (This)->lpVtbl->Next(This,profile) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkProfileIterator_QueryInterface(IDeckLinkProfileIterator* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkProfileIterator_QueryInterface(IDeckLinkProfileIterator* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkProfileIterator_AddRef(IDeckLinkProfileIterator* This) { +static inline ULONG IDeckLinkProfileIterator_AddRef(IDeckLinkProfileIterator* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkProfileIterator_Release(IDeckLinkProfileIterator* This) { +static inline ULONG IDeckLinkProfileIterator_Release(IDeckLinkProfileIterator* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkProfileIterator methods ***/ -static FORCEINLINE HRESULT IDeckLinkProfileIterator_Next(IDeckLinkProfileIterator* This,IDeckLinkProfile **profile) { +static inline HRESULT IDeckLinkProfileIterator_Next(IDeckLinkProfileIterator* This,IDeckLinkProfile **profile) { return This->lpVtbl->Next(This,profile); } #endif @@ -9445,26 +9649,26 @@ interface IDeckLinkProfile { #define IDeckLinkProfile_GetPeers(This,profileIterator) (This)->lpVtbl->GetPeers(This,profileIterator) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkProfile_QueryInterface(IDeckLinkProfile* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkProfile_QueryInterface(IDeckLinkProfile* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkProfile_AddRef(IDeckLinkProfile* This) { +static inline ULONG IDeckLinkProfile_AddRef(IDeckLinkProfile* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkProfile_Release(IDeckLinkProfile* This) { +static inline ULONG IDeckLinkProfile_Release(IDeckLinkProfile* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkProfile methods ***/ -static FORCEINLINE HRESULT IDeckLinkProfile_GetDevice(IDeckLinkProfile* This,IDeckLink **device) { +static inline HRESULT IDeckLinkProfile_GetDevice(IDeckLinkProfile* This,IDeckLink **device) { return This->lpVtbl->GetDevice(This,device); } -static FORCEINLINE HRESULT IDeckLinkProfile_IsActive(IDeckLinkProfile* This,BOOL *isActive) { +static inline HRESULT IDeckLinkProfile_IsActive(IDeckLinkProfile* This,BOOL *isActive) { return This->lpVtbl->IsActive(This,isActive); } -static FORCEINLINE HRESULT IDeckLinkProfile_SetActive(IDeckLinkProfile* This) { +static inline HRESULT IDeckLinkProfile_SetActive(IDeckLinkProfile* This) { return This->lpVtbl->SetActive(This); } -static FORCEINLINE HRESULT IDeckLinkProfile_GetPeers(IDeckLinkProfile* This,IDeckLinkProfileIterator **profileIterator) { +static inline HRESULT IDeckLinkProfile_GetPeers(IDeckLinkProfile* This,IDeckLinkProfileIterator **profileIterator) { return This->lpVtbl->GetPeers(This,profileIterator); } #endif @@ -9541,20 +9745,20 @@ interface IDeckLinkProfileCallback { #define IDeckLinkProfileCallback_ProfileActivated(This,activatedProfile) (This)->lpVtbl->ProfileActivated(This,activatedProfile) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkProfileCallback_QueryInterface(IDeckLinkProfileCallback* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkProfileCallback_QueryInterface(IDeckLinkProfileCallback* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkProfileCallback_AddRef(IDeckLinkProfileCallback* This) { +static inline ULONG IDeckLinkProfileCallback_AddRef(IDeckLinkProfileCallback* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkProfileCallback_Release(IDeckLinkProfileCallback* This) { +static inline ULONG IDeckLinkProfileCallback_Release(IDeckLinkProfileCallback* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkProfileCallback methods ***/ -static FORCEINLINE HRESULT IDeckLinkProfileCallback_ProfileChanging(IDeckLinkProfileCallback* This,IDeckLinkProfile *profileToBeActivated,BOOL streamsWillBeForcedToStop) { +static inline HRESULT IDeckLinkProfileCallback_ProfileChanging(IDeckLinkProfileCallback* This,IDeckLinkProfile *profileToBeActivated,BOOL streamsWillBeForcedToStop) { return This->lpVtbl->ProfileChanging(This,profileToBeActivated,streamsWillBeForcedToStop); } -static FORCEINLINE HRESULT IDeckLinkProfileCallback_ProfileActivated(IDeckLinkProfileCallback* This,IDeckLinkProfile *activatedProfile) { +static inline HRESULT IDeckLinkProfileCallback_ProfileActivated(IDeckLinkProfileCallback* This,IDeckLinkProfile *activatedProfile) { return This->lpVtbl->ProfileActivated(This,activatedProfile); } #endif @@ -9639,23 +9843,23 @@ interface IDeckLinkProfileManager { #define IDeckLinkProfileManager_SetCallback(This,callback) (This)->lpVtbl->SetCallback(This,callback) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkProfileManager_QueryInterface(IDeckLinkProfileManager* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkProfileManager_QueryInterface(IDeckLinkProfileManager* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkProfileManager_AddRef(IDeckLinkProfileManager* This) { +static inline ULONG IDeckLinkProfileManager_AddRef(IDeckLinkProfileManager* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkProfileManager_Release(IDeckLinkProfileManager* This) { +static inline ULONG IDeckLinkProfileManager_Release(IDeckLinkProfileManager* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkProfileManager methods ***/ -static FORCEINLINE HRESULT IDeckLinkProfileManager_GetProfiles(IDeckLinkProfileManager* This,IDeckLinkProfileIterator **profileIterator) { +static inline HRESULT IDeckLinkProfileManager_GetProfiles(IDeckLinkProfileManager* This,IDeckLinkProfileIterator **profileIterator) { return This->lpVtbl->GetProfiles(This,profileIterator); } -static FORCEINLINE HRESULT IDeckLinkProfileManager_GetProfile(IDeckLinkProfileManager* This,BMDProfileID profileID,IDeckLinkProfile **profile) { +static inline HRESULT IDeckLinkProfileManager_GetProfile(IDeckLinkProfileManager* This,BMDProfileID profileID,IDeckLinkProfile **profile) { return This->lpVtbl->GetProfile(This,profileID,profile); } -static FORCEINLINE HRESULT IDeckLinkProfileManager_SetCallback(IDeckLinkProfileManager* This,IDeckLinkProfileCallback *callback) { +static inline HRESULT IDeckLinkProfileManager_SetCallback(IDeckLinkProfileManager* This,IDeckLinkProfileCallback *callback) { return This->lpVtbl->SetCallback(This,callback); } #endif @@ -9766,29 +9970,29 @@ interface IDeckLinkStatus { #define IDeckLinkStatus_GetBytes(This,statusID,buffer,bufferSize) (This)->lpVtbl->GetBytes(This,statusID,buffer,bufferSize) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkStatus_QueryInterface(IDeckLinkStatus* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkStatus_QueryInterface(IDeckLinkStatus* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkStatus_AddRef(IDeckLinkStatus* This) { +static inline ULONG IDeckLinkStatus_AddRef(IDeckLinkStatus* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkStatus_Release(IDeckLinkStatus* This) { +static inline ULONG IDeckLinkStatus_Release(IDeckLinkStatus* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkStatus methods ***/ -static FORCEINLINE HRESULT IDeckLinkStatus_GetFlag(IDeckLinkStatus* This,BMDDeckLinkStatusID statusID,BOOL *value) { +static inline HRESULT IDeckLinkStatus_GetFlag(IDeckLinkStatus* This,BMDDeckLinkStatusID statusID,BOOL *value) { return This->lpVtbl->GetFlag(This,statusID,value); } -static FORCEINLINE HRESULT IDeckLinkStatus_GetInt(IDeckLinkStatus* This,BMDDeckLinkStatusID statusID,LONGLONG *value) { +static inline HRESULT IDeckLinkStatus_GetInt(IDeckLinkStatus* This,BMDDeckLinkStatusID statusID,LONGLONG *value) { return This->lpVtbl->GetInt(This,statusID,value); } -static FORCEINLINE HRESULT IDeckLinkStatus_GetFloat(IDeckLinkStatus* This,BMDDeckLinkStatusID statusID,double *value) { +static inline HRESULT IDeckLinkStatus_GetFloat(IDeckLinkStatus* This,BMDDeckLinkStatusID statusID,double *value) { return This->lpVtbl->GetFloat(This,statusID,value); } -static FORCEINLINE HRESULT IDeckLinkStatus_GetString(IDeckLinkStatus* This,BMDDeckLinkStatusID statusID,BSTR *value) { +static inline HRESULT IDeckLinkStatus_GetString(IDeckLinkStatus* This,BMDDeckLinkStatusID statusID,BSTR *value) { return This->lpVtbl->GetString(This,statusID,value); } -static FORCEINLINE HRESULT IDeckLinkStatus_GetBytes(IDeckLinkStatus* This,BMDDeckLinkStatusID statusID,void *buffer,unsigned int *bufferSize) { +static inline HRESULT IDeckLinkStatus_GetBytes(IDeckLinkStatus* This,BMDDeckLinkStatusID statusID,void *buffer,unsigned int *bufferSize) { return This->lpVtbl->GetBytes(This,statusID,buffer,bufferSize); } #endif @@ -9886,29 +10090,29 @@ interface IDeckLinkKeyer { #define IDeckLinkKeyer_Disable(This) (This)->lpVtbl->Disable(This) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkKeyer_QueryInterface(IDeckLinkKeyer* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkKeyer_QueryInterface(IDeckLinkKeyer* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkKeyer_AddRef(IDeckLinkKeyer* This) { +static inline ULONG IDeckLinkKeyer_AddRef(IDeckLinkKeyer* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkKeyer_Release(IDeckLinkKeyer* This) { +static inline ULONG IDeckLinkKeyer_Release(IDeckLinkKeyer* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkKeyer methods ***/ -static FORCEINLINE HRESULT IDeckLinkKeyer_Enable(IDeckLinkKeyer* This,BOOL isExternal) { +static inline HRESULT IDeckLinkKeyer_Enable(IDeckLinkKeyer* This,BOOL isExternal) { return This->lpVtbl->Enable(This,isExternal); } -static FORCEINLINE HRESULT IDeckLinkKeyer_SetLevel(IDeckLinkKeyer* This,unsigned char level) { +static inline HRESULT IDeckLinkKeyer_SetLevel(IDeckLinkKeyer* This,unsigned char level) { return This->lpVtbl->SetLevel(This,level); } -static FORCEINLINE HRESULT IDeckLinkKeyer_RampUp(IDeckLinkKeyer* This,unsigned int numberOfFrames) { +static inline HRESULT IDeckLinkKeyer_RampUp(IDeckLinkKeyer* This,unsigned int numberOfFrames) { return This->lpVtbl->RampUp(This,numberOfFrames); } -static FORCEINLINE HRESULT IDeckLinkKeyer_RampDown(IDeckLinkKeyer* This,unsigned int numberOfFrames) { +static inline HRESULT IDeckLinkKeyer_RampDown(IDeckLinkKeyer* This,unsigned int numberOfFrames) { return This->lpVtbl->RampDown(This,numberOfFrames); } -static FORCEINLINE HRESULT IDeckLinkKeyer_Disable(IDeckLinkKeyer* This) { +static inline HRESULT IDeckLinkKeyer_Disable(IDeckLinkKeyer* This) { return This->lpVtbl->Disable(This); } #endif @@ -9977,17 +10181,17 @@ interface IDeckLinkVideoConversion { #define IDeckLinkVideoConversion_ConvertFrame(This,srcFrame,dstFrame) (This)->lpVtbl->ConvertFrame(This,srcFrame,dstFrame) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkVideoConversion_QueryInterface(IDeckLinkVideoConversion* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkVideoConversion_QueryInterface(IDeckLinkVideoConversion* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkVideoConversion_AddRef(IDeckLinkVideoConversion* This) { +static inline ULONG IDeckLinkVideoConversion_AddRef(IDeckLinkVideoConversion* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkVideoConversion_Release(IDeckLinkVideoConversion* This) { +static inline ULONG IDeckLinkVideoConversion_Release(IDeckLinkVideoConversion* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkVideoConversion methods ***/ -static FORCEINLINE HRESULT IDeckLinkVideoConversion_ConvertFrame(IDeckLinkVideoConversion* This,IDeckLinkVideoFrame *srcFrame,IDeckLinkVideoFrame *dstFrame) { +static inline HRESULT IDeckLinkVideoConversion_ConvertFrame(IDeckLinkVideoConversion* This,IDeckLinkVideoFrame *srcFrame,IDeckLinkVideoFrame *dstFrame) { return This->lpVtbl->ConvertFrame(This,srcFrame,dstFrame); } #endif @@ -10062,20 +10266,20 @@ interface IDeckLinkDeviceNotificationCallback { #define IDeckLinkDeviceNotificationCallback_DeckLinkDeviceRemoved(This,deckLinkDevice) (This)->lpVtbl->DeckLinkDeviceRemoved(This,deckLinkDevice) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkDeviceNotificationCallback_QueryInterface(IDeckLinkDeviceNotificationCallback* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkDeviceNotificationCallback_QueryInterface(IDeckLinkDeviceNotificationCallback* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkDeviceNotificationCallback_AddRef(IDeckLinkDeviceNotificationCallback* This) { +static inline ULONG IDeckLinkDeviceNotificationCallback_AddRef(IDeckLinkDeviceNotificationCallback* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkDeviceNotificationCallback_Release(IDeckLinkDeviceNotificationCallback* This) { +static inline ULONG IDeckLinkDeviceNotificationCallback_Release(IDeckLinkDeviceNotificationCallback* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkDeviceNotificationCallback methods ***/ -static FORCEINLINE HRESULT IDeckLinkDeviceNotificationCallback_DeckLinkDeviceArrived(IDeckLinkDeviceNotificationCallback* This,IDeckLink *deckLinkDevice) { +static inline HRESULT IDeckLinkDeviceNotificationCallback_DeckLinkDeviceArrived(IDeckLinkDeviceNotificationCallback* This,IDeckLink *deckLinkDevice) { return This->lpVtbl->DeckLinkDeviceArrived(This,deckLinkDevice); } -static FORCEINLINE HRESULT IDeckLinkDeviceNotificationCallback_DeckLinkDeviceRemoved(IDeckLinkDeviceNotificationCallback* This,IDeckLink *deckLinkDevice) { +static inline HRESULT IDeckLinkDeviceNotificationCallback_DeckLinkDeviceRemoved(IDeckLinkDeviceNotificationCallback* This,IDeckLink *deckLinkDevice) { return This->lpVtbl->DeckLinkDeviceRemoved(This,deckLinkDevice); } #endif @@ -10149,20 +10353,20 @@ interface IDeckLinkDiscovery { #define IDeckLinkDiscovery_UninstallDeviceNotifications(This) (This)->lpVtbl->UninstallDeviceNotifications(This) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkDiscovery_QueryInterface(IDeckLinkDiscovery* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkDiscovery_QueryInterface(IDeckLinkDiscovery* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkDiscovery_AddRef(IDeckLinkDiscovery* This) { +static inline ULONG IDeckLinkDiscovery_AddRef(IDeckLinkDiscovery* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkDiscovery_Release(IDeckLinkDiscovery* This) { +static inline ULONG IDeckLinkDiscovery_Release(IDeckLinkDiscovery* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkDiscovery methods ***/ -static FORCEINLINE HRESULT IDeckLinkDiscovery_InstallDeviceNotifications(IDeckLinkDiscovery* This,IDeckLinkDeviceNotificationCallback *deviceNotificationCallback) { +static inline HRESULT IDeckLinkDiscovery_InstallDeviceNotifications(IDeckLinkDiscovery* This,IDeckLinkDeviceNotificationCallback *deviceNotificationCallback) { return This->lpVtbl->InstallDeviceNotifications(This,deviceNotificationCallback); } -static FORCEINLINE HRESULT IDeckLinkDiscovery_UninstallDeviceNotifications(IDeckLinkDiscovery* This) { +static inline HRESULT IDeckLinkDiscovery_UninstallDeviceNotifications(IDeckLinkDiscovery* This) { return This->lpVtbl->UninstallDeviceNotifications(This); } #endif @@ -10212,6 +10416,19 @@ __CRT_UUID_DECL(CDeckLinkGLScreenPreviewHelper, 0xf63e77c7, 0xb655, 0x4a4a, 0x9a #endif #endif +/***************************************************************************** + * CDeckLinkGL3ScreenPreviewHelper coclass + */ + +DEFINE_GUID(CLSID_CDeckLinkGL3ScreenPreviewHelper, 0x00696a71, 0xebc7, 0x491f, 0xac,0x02, 0x18,0xd3,0x39,0x3f,0x33,0xf0); + +#ifdef __cplusplus +class DECLSPEC_UUID("00696a71-ebc7-491f-ac02-18d3393f33f0") CDeckLinkGL3ScreenPreviewHelper; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CDeckLinkGL3ScreenPreviewHelper, 0x00696a71, 0xebc7, 0x491f, 0xac,0x02, 0x18,0xd3,0x39,0x3f,0x33,0xf0) +#endif +#endif + /***************************************************************************** * CDeckLinkDX9ScreenPreviewHelper coclass */ @@ -10225,6 +10442,19 @@ __CRT_UUID_DECL(CDeckLinkDX9ScreenPreviewHelper, 0xcc010023, 0xe01d, 0x4525, 0x9 #endif #endif +/***************************************************************************** + * CDeckLinkWPFDX9ScreenPreviewHelper coclass + */ + +DEFINE_GUID(CLSID_CDeckLinkWPFDX9ScreenPreviewHelper, 0xef2a8478, 0x7ddf, 0x11e9, 0x8f,0x9e, 0x2a,0x86,0xe4,0x08,0x5a,0x59); + +#ifdef __cplusplus +class DECLSPEC_UUID("ef2a8478-7ddf-11e9-8f9e-2a86e4085a59") CDeckLinkWPFDX9ScreenPreviewHelper; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CDeckLinkWPFDX9ScreenPreviewHelper, 0xef2a8478, 0x7ddf, 0x11e9, 0x8f,0x9e, 0x2a,0x86,0xe4,0x08,0x5a,0x59) +#endif +#endif + /***************************************************************************** * CDeckLinkVideoConversion coclass */ @@ -10264,128 +10494,172 @@ __CRT_UUID_DECL(CDeckLinkVideoFrameAncillaryPackets, 0xf891ad29, 0xd0c2, 0x46e9, #endif #endif +typedef enum _BMDDeckLinkStatusID_v11_5_1 { + bmdDeckLinkStatusDetectedVideoInputFlags_v11_5_1 = 0x64766966 +} BMDDeckLinkStatusID_v11_5_1; /***************************************************************************** - * IDeckLinkOutput_v11_4 interface + * IDeckLinkInputCallback_v11_5_1 interface */ -#ifndef __IDeckLinkOutput_v11_4_INTERFACE_DEFINED__ -#define __IDeckLinkOutput_v11_4_INTERFACE_DEFINED__ +#ifndef __IDeckLinkInputCallback_v11_5_1_INTERFACE_DEFINED__ +#define __IDeckLinkInputCallback_v11_5_1_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDeckLinkOutput_v11_4, 0x065a0f6c, 0xc508, 0x4d0d, 0xb9,0x19, 0xf5,0xeb,0x0e,0xbf,0xc9,0x6b); +DEFINE_GUID(IID_IDeckLinkInputCallback_v11_5_1, 0xdd04e5ec, 0x7415, 0x42ab, 0xae,0x4a, 0xe8,0x0c,0x4d,0xfc,0x04,0x4a); #if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("065a0f6c-c508-4d0d-b919-f5eb0ebfc96b") -IDeckLinkOutput_v11_4 : public IUnknown +MIDL_INTERFACE("dd04e5ec-7415-42ab-ae4a-e80c4dfc044a") +IDeckLinkInputCallback_v11_5_1 : public IUnknown { - virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( - BMDVideoConnection connection, - BMDDisplayMode requestedMode, - BMDPixelFormat requestedPixelFormat, - BMDSupportedVideoModeFlags flags, - BMDDisplayMode *actualMode, - BOOL *supported) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDisplayMode( - BMDDisplayMode displayMode, - IDeckLinkDisplayMode **resultDisplayMode) = 0; + virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged( + BMDVideoInputFormatChangedEvents notificationEvents, + IDeckLinkDisplayMode *newDisplayMode, + BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0; - virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( - IDeckLinkDisplayModeIterator **iterator) = 0; + virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived( + IDeckLinkVideoInputFrame *videoFrame, + IDeckLinkAudioInputPacket *audioPacket) = 0; - virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( - IDeckLinkScreenPreviewCallback *previewCallback) = 0; +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IDeckLinkInputCallback_v11_5_1, 0xdd04e5ec, 0x7415, 0x42ab, 0xae,0x4a, 0xe8,0x0c,0x4d,0xfc,0x04,0x4a) +#endif +#else +typedef struct IDeckLinkInputCallback_v11_5_1Vtbl { + BEGIN_INTERFACE - virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput( - BMDDisplayMode displayMode, - BMDVideoOutputFlags flags) = 0; + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IDeckLinkInputCallback_v11_5_1 *This, + REFIID riid, + void **ppvObject); - virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( - ) = 0; + ULONG (STDMETHODCALLTYPE *AddRef)( + IDeckLinkInputCallback_v11_5_1 *This); - virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator( - IDeckLinkMemoryAllocator *theAllocator) = 0; + ULONG (STDMETHODCALLTYPE *Release)( + IDeckLinkInputCallback_v11_5_1 *This); - virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame( - int width, - int height, - int rowBytes, - BMDPixelFormat pixelFormat, - BMDFrameFlags flags, - IDeckLinkMutableVideoFrame **outFrame) = 0; + /*** IDeckLinkInputCallback_v11_5_1 methods ***/ + HRESULT (STDMETHODCALLTYPE *VideoInputFormatChanged)( + IDeckLinkInputCallback_v11_5_1 *This, + BMDVideoInputFormatChangedEvents notificationEvents, + IDeckLinkDisplayMode *newDisplayMode, + BMDDetectedVideoInputFormatFlags detectedSignalFlags); - virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData( - BMDPixelFormat pixelFormat, - IDeckLinkVideoFrameAncillary **outBuffer) = 0; + HRESULT (STDMETHODCALLTYPE *VideoInputFrameArrived)( + IDeckLinkInputCallback_v11_5_1 *This, + IDeckLinkVideoInputFrame *videoFrame, + IDeckLinkAudioInputPacket *audioPacket); - virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync( - IDeckLinkVideoFrame *theFrame) = 0; + END_INTERFACE +} IDeckLinkInputCallback_v11_5_1Vtbl; - virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame( - IDeckLinkVideoFrame *theFrame, - BMDTimeValue displayTime, - BMDTimeValue displayDuration, - BMDTimeScale timeScale) = 0; +interface IDeckLinkInputCallback_v11_5_1 { + CONST_VTBL IDeckLinkInputCallback_v11_5_1Vtbl* lpVtbl; +}; - virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback( - IDeckLinkVideoOutputCallback *theCallback) = 0; +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IDeckLinkInputCallback_v11_5_1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDeckLinkInputCallback_v11_5_1_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDeckLinkInputCallback_v11_5_1_Release(This) (This)->lpVtbl->Release(This) +/*** IDeckLinkInputCallback_v11_5_1 methods ***/ +#define IDeckLinkInputCallback_v11_5_1_VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) (This)->lpVtbl->VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) +#define IDeckLinkInputCallback_v11_5_1_VideoInputFrameArrived(This,videoFrame,audioPacket) (This)->lpVtbl->VideoInputFrameArrived(This,videoFrame,audioPacket) +#else +/*** IUnknown methods ***/ +static inline HRESULT IDeckLinkInputCallback_v11_5_1_QueryInterface(IDeckLinkInputCallback_v11_5_1* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IDeckLinkInputCallback_v11_5_1_AddRef(IDeckLinkInputCallback_v11_5_1* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IDeckLinkInputCallback_v11_5_1_Release(IDeckLinkInputCallback_v11_5_1* This) { + return This->lpVtbl->Release(This); +} +/*** IDeckLinkInputCallback_v11_5_1 methods ***/ +static inline HRESULT IDeckLinkInputCallback_v11_5_1_VideoInputFormatChanged(IDeckLinkInputCallback_v11_5_1* This,BMDVideoInputFormatChangedEvents notificationEvents,IDeckLinkDisplayMode *newDisplayMode,BMDDetectedVideoInputFormatFlags detectedSignalFlags) { + return This->lpVtbl->VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags); +} +static inline HRESULT IDeckLinkInputCallback_v11_5_1_VideoInputFrameArrived(IDeckLinkInputCallback_v11_5_1* This,IDeckLinkVideoInputFrame *videoFrame,IDeckLinkAudioInputPacket *audioPacket) { + return This->lpVtbl->VideoInputFrameArrived(This,videoFrame,audioPacket); +} +#endif +#endif - virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount( - unsigned int *bufferedFrameCount) = 0; +#endif - virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput( - BMDAudioSampleRate sampleRate, - BMDAudioSampleType sampleType, - unsigned int channelCount, - BMDAudioOutputStreamType streamType) = 0; - virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( - ) = 0; +#endif /* __IDeckLinkInputCallback_v11_5_1_INTERFACE_DEFINED__ */ - virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync( - void *buffer, - unsigned int sampleFrameCount, - unsigned int *sampleFramesWritten) = 0; +/***************************************************************************** + * IDeckLinkInput_v11_5_1 interface + */ +#ifndef __IDeckLinkInput_v11_5_1_INTERFACE_DEFINED__ +#define __IDeckLinkInput_v11_5_1_INTERFACE_DEFINED__ - virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( - ) = 0; +DEFINE_GUID(IID_IDeckLinkInput_v11_5_1, 0x9434c6e4, 0xb15d, 0x4b1c, 0x97,0x9e, 0x66,0x1e,0x3d,0xdc,0xb4,0xb9); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("9434c6e4-b15d-4b1c-979e-661e3ddcb4b9") +IDeckLinkInput_v11_5_1 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( + BMDVideoConnection connection, + BMDDisplayMode requestedMode, + BMDPixelFormat requestedPixelFormat, + BMDVideoInputConversionMode conversionMode, + BMDSupportedVideoModeFlags flags, + BMDDisplayMode *actualMode, + BOOL *supported) = 0; - virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( + virtual HRESULT STDMETHODCALLTYPE GetDisplayMode( + BMDDisplayMode displayMode, + IDeckLinkDisplayMode **resultDisplayMode) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( + IDeckLinkDisplayModeIterator **iterator) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( + IDeckLinkScreenPreviewCallback *previewCallback) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnableVideoInput( + BMDDisplayMode displayMode, + BMDPixelFormat pixelFormat, + BMDVideoInputFlags flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( ) = 0; - virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples( - void *buffer, - unsigned int sampleFrameCount, - BMDTimeValue streamTime, - BMDTimeScale timeScale, - unsigned int *sampleFramesWritten) = 0; + virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount( + unsigned int *availableFrameCount) = 0; - virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount( - unsigned int *bufferedSampleFrameCount) = 0; + virtual HRESULT STDMETHODCALLTYPE SetVideoInputFrameMemoryAllocator( + IDeckLinkMemoryAllocator *theAllocator) = 0; - virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( + virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( + BMDAudioSampleRate sampleRate, + BMDAudioSampleType sampleType, + unsigned int channelCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( ) = 0; - virtual HRESULT STDMETHODCALLTYPE SetAudioCallback( - IDeckLinkAudioOutputCallback *theCallback) = 0; + virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount( + unsigned int *availableSampleFrameCount) = 0; - virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback( - BMDTimeValue playbackStartTime, - BMDTimeScale timeScale, - double playbackSpeed) = 0; + virtual HRESULT STDMETHODCALLTYPE StartStreams( + ) = 0; - virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback( - BMDTimeValue stopPlaybackAtTime, - BMDTimeValue *actualStopTime, - BMDTimeScale timeScale) = 0; + virtual HRESULT STDMETHODCALLTYPE StopStreams( + ) = 0; - virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning( - BOOL *active) = 0; + virtual HRESULT STDMETHODCALLTYPE PauseStreams( + ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetScheduledStreamTime( - BMDTimeScale desiredTimeScale, - BMDTimeValue *streamTime, - double *playbackSpeed) = 0; + virtual HRESULT STDMETHODCALLTYPE FlushStreams( + ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetReferenceStatus( - BMDReferenceStatus *referenceStatus) = 0; + virtual HRESULT STDMETHODCALLTYPE SetCallback( + IDeckLinkInputCallback_v11_5_1 *theCallback) = 0; virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( BMDTimeScale desiredTimeScale, @@ -10393,822 +10667,427 @@ IDeckLinkOutput_v11_4 : public IUnknown BMDTimeValue *timeInFrame, BMDTimeValue *ticksPerFrame) = 0; - virtual HRESULT STDMETHODCALLTYPE GetFrameCompletionReferenceTimestamp( - IDeckLinkVideoFrame *theFrame, - BMDTimeScale desiredTimeScale, - BMDTimeValue *frameCompletionTimestamp) = 0; - }; #ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDeckLinkOutput_v11_4, 0x065a0f6c, 0xc508, 0x4d0d, 0xb9,0x19, 0xf5,0xeb,0x0e,0xbf,0xc9,0x6b) +__CRT_UUID_DECL(IDeckLinkInput_v11_5_1, 0x9434c6e4, 0xb15d, 0x4b1c, 0x97,0x9e, 0x66,0x1e,0x3d,0xdc,0xb4,0xb9) #endif #else -typedef struct IDeckLinkOutput_v11_4Vtbl { +typedef struct IDeckLinkInput_v11_5_1Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDeckLinkOutput_v11_4 *This, + IDeckLinkInput_v11_5_1 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( - IDeckLinkOutput_v11_4 *This); + IDeckLinkInput_v11_5_1 *This); ULONG (STDMETHODCALLTYPE *Release)( - IDeckLinkOutput_v11_4 *This); + IDeckLinkInput_v11_5_1 *This); - /*** IDeckLinkOutput_v11_4 methods ***/ + /*** IDeckLinkInput_v11_5_1 methods ***/ HRESULT (STDMETHODCALLTYPE *DoesSupportVideoMode)( - IDeckLinkOutput_v11_4 *This, + IDeckLinkInput_v11_5_1 *This, BMDVideoConnection connection, BMDDisplayMode requestedMode, BMDPixelFormat requestedPixelFormat, + BMDVideoInputConversionMode conversionMode, BMDSupportedVideoModeFlags flags, BMDDisplayMode *actualMode, BOOL *supported); HRESULT (STDMETHODCALLTYPE *GetDisplayMode)( - IDeckLinkOutput_v11_4 *This, + IDeckLinkInput_v11_5_1 *This, BMDDisplayMode displayMode, IDeckLinkDisplayMode **resultDisplayMode); HRESULT (STDMETHODCALLTYPE *GetDisplayModeIterator)( - IDeckLinkOutput_v11_4 *This, + IDeckLinkInput_v11_5_1 *This, IDeckLinkDisplayModeIterator **iterator); HRESULT (STDMETHODCALLTYPE *SetScreenPreviewCallback)( - IDeckLinkOutput_v11_4 *This, + IDeckLinkInput_v11_5_1 *This, IDeckLinkScreenPreviewCallback *previewCallback); - HRESULT (STDMETHODCALLTYPE *EnableVideoOutput)( - IDeckLinkOutput_v11_4 *This, + HRESULT (STDMETHODCALLTYPE *EnableVideoInput)( + IDeckLinkInput_v11_5_1 *This, BMDDisplayMode displayMode, - BMDVideoOutputFlags flags); + BMDPixelFormat pixelFormat, + BMDVideoInputFlags flags); - HRESULT (STDMETHODCALLTYPE *DisableVideoOutput)( - IDeckLinkOutput_v11_4 *This); + HRESULT (STDMETHODCALLTYPE *DisableVideoInput)( + IDeckLinkInput_v11_5_1 *This); - HRESULT (STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator)( - IDeckLinkOutput_v11_4 *This, + HRESULT (STDMETHODCALLTYPE *GetAvailableVideoFrameCount)( + IDeckLinkInput_v11_5_1 *This, + unsigned int *availableFrameCount); + + HRESULT (STDMETHODCALLTYPE *SetVideoInputFrameMemoryAllocator)( + IDeckLinkInput_v11_5_1 *This, IDeckLinkMemoryAllocator *theAllocator); - HRESULT (STDMETHODCALLTYPE *CreateVideoFrame)( - IDeckLinkOutput_v11_4 *This, - int width, - int height, - int rowBytes, - BMDPixelFormat pixelFormat, - BMDFrameFlags flags, - IDeckLinkMutableVideoFrame **outFrame); + HRESULT (STDMETHODCALLTYPE *EnableAudioInput)( + IDeckLinkInput_v11_5_1 *This, + BMDAudioSampleRate sampleRate, + BMDAudioSampleType sampleType, + unsigned int channelCount); - HRESULT (STDMETHODCALLTYPE *CreateAncillaryData)( - IDeckLinkOutput_v11_4 *This, - BMDPixelFormat pixelFormat, - IDeckLinkVideoFrameAncillary **outBuffer); + HRESULT (STDMETHODCALLTYPE *DisableAudioInput)( + IDeckLinkInput_v11_5_1 *This); - HRESULT (STDMETHODCALLTYPE *DisplayVideoFrameSync)( - IDeckLinkOutput_v11_4 *This, - IDeckLinkVideoFrame *theFrame); + HRESULT (STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount)( + IDeckLinkInput_v11_5_1 *This, + unsigned int *availableSampleFrameCount); - HRESULT (STDMETHODCALLTYPE *ScheduleVideoFrame)( - IDeckLinkOutput_v11_4 *This, - IDeckLinkVideoFrame *theFrame, - BMDTimeValue displayTime, - BMDTimeValue displayDuration, - BMDTimeScale timeScale); + HRESULT (STDMETHODCALLTYPE *StartStreams)( + IDeckLinkInput_v11_5_1 *This); - HRESULT (STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback)( - IDeckLinkOutput_v11_4 *This, - IDeckLinkVideoOutputCallback *theCallback); + HRESULT (STDMETHODCALLTYPE *StopStreams)( + IDeckLinkInput_v11_5_1 *This); - HRESULT (STDMETHODCALLTYPE *GetBufferedVideoFrameCount)( - IDeckLinkOutput_v11_4 *This, - unsigned int *bufferedFrameCount); + HRESULT (STDMETHODCALLTYPE *PauseStreams)( + IDeckLinkInput_v11_5_1 *This); - HRESULT (STDMETHODCALLTYPE *EnableAudioOutput)( - IDeckLinkOutput_v11_4 *This, - BMDAudioSampleRate sampleRate, - BMDAudioSampleType sampleType, - unsigned int channelCount, - BMDAudioOutputStreamType streamType); - - HRESULT (STDMETHODCALLTYPE *DisableAudioOutput)( - IDeckLinkOutput_v11_4 *This); - - HRESULT (STDMETHODCALLTYPE *WriteAudioSamplesSync)( - IDeckLinkOutput_v11_4 *This, - void *buffer, - unsigned int sampleFrameCount, - unsigned int *sampleFramesWritten); - - HRESULT (STDMETHODCALLTYPE *BeginAudioPreroll)( - IDeckLinkOutput_v11_4 *This); - - HRESULT (STDMETHODCALLTYPE *EndAudioPreroll)( - IDeckLinkOutput_v11_4 *This); - - HRESULT (STDMETHODCALLTYPE *ScheduleAudioSamples)( - IDeckLinkOutput_v11_4 *This, - void *buffer, - unsigned int sampleFrameCount, - BMDTimeValue streamTime, - BMDTimeScale timeScale, - unsigned int *sampleFramesWritten); - - HRESULT (STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount)( - IDeckLinkOutput_v11_4 *This, - unsigned int *bufferedSampleFrameCount); - - HRESULT (STDMETHODCALLTYPE *FlushBufferedAudioSamples)( - IDeckLinkOutput_v11_4 *This); - - HRESULT (STDMETHODCALLTYPE *SetAudioCallback)( - IDeckLinkOutput_v11_4 *This, - IDeckLinkAudioOutputCallback *theCallback); - - HRESULT (STDMETHODCALLTYPE *StartScheduledPlayback)( - IDeckLinkOutput_v11_4 *This, - BMDTimeValue playbackStartTime, - BMDTimeScale timeScale, - double playbackSpeed); - - HRESULT (STDMETHODCALLTYPE *StopScheduledPlayback)( - IDeckLinkOutput_v11_4 *This, - BMDTimeValue stopPlaybackAtTime, - BMDTimeValue *actualStopTime, - BMDTimeScale timeScale); - - HRESULT (STDMETHODCALLTYPE *IsScheduledPlaybackRunning)( - IDeckLinkOutput_v11_4 *This, - BOOL *active); - - HRESULT (STDMETHODCALLTYPE *GetScheduledStreamTime)( - IDeckLinkOutput_v11_4 *This, - BMDTimeScale desiredTimeScale, - BMDTimeValue *streamTime, - double *playbackSpeed); + HRESULT (STDMETHODCALLTYPE *FlushStreams)( + IDeckLinkInput_v11_5_1 *This); - HRESULT (STDMETHODCALLTYPE *GetReferenceStatus)( - IDeckLinkOutput_v11_4 *This, - BMDReferenceStatus *referenceStatus); + HRESULT (STDMETHODCALLTYPE *SetCallback)( + IDeckLinkInput_v11_5_1 *This, + IDeckLinkInputCallback_v11_5_1 *theCallback); HRESULT (STDMETHODCALLTYPE *GetHardwareReferenceClock)( - IDeckLinkOutput_v11_4 *This, + IDeckLinkInput_v11_5_1 *This, BMDTimeScale desiredTimeScale, BMDTimeValue *hardwareTime, BMDTimeValue *timeInFrame, BMDTimeValue *ticksPerFrame); - HRESULT (STDMETHODCALLTYPE *GetFrameCompletionReferenceTimestamp)( - IDeckLinkOutput_v11_4 *This, - IDeckLinkVideoFrame *theFrame, - BMDTimeScale desiredTimeScale, - BMDTimeValue *frameCompletionTimestamp); - END_INTERFACE -} IDeckLinkOutput_v11_4Vtbl; +} IDeckLinkInput_v11_5_1Vtbl; -interface IDeckLinkOutput_v11_4 { - CONST_VTBL IDeckLinkOutput_v11_4Vtbl* lpVtbl; +interface IDeckLinkInput_v11_5_1 { + CONST_VTBL IDeckLinkInput_v11_5_1Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ -#define IDeckLinkOutput_v11_4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) -#define IDeckLinkOutput_v11_4_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDeckLinkOutput_v11_4_Release(This) (This)->lpVtbl->Release(This) -/*** IDeckLinkOutput_v11_4 methods ***/ -#define IDeckLinkOutput_v11_4_DoesSupportVideoMode(This,connection,requestedMode,requestedPixelFormat,flags,actualMode,supported) (This)->lpVtbl->DoesSupportVideoMode(This,connection,requestedMode,requestedPixelFormat,flags,actualMode,supported) -#define IDeckLinkOutput_v11_4_GetDisplayMode(This,displayMode,resultDisplayMode) (This)->lpVtbl->GetDisplayMode(This,displayMode,resultDisplayMode) -#define IDeckLinkOutput_v11_4_GetDisplayModeIterator(This,iterator) (This)->lpVtbl->GetDisplayModeIterator(This,iterator) -#define IDeckLinkOutput_v11_4_SetScreenPreviewCallback(This,previewCallback) (This)->lpVtbl->SetScreenPreviewCallback(This,previewCallback) -#define IDeckLinkOutput_v11_4_EnableVideoOutput(This,displayMode,flags) (This)->lpVtbl->EnableVideoOutput(This,displayMode,flags) -#define IDeckLinkOutput_v11_4_DisableVideoOutput(This) (This)->lpVtbl->DisableVideoOutput(This) -#define IDeckLinkOutput_v11_4_SetVideoOutputFrameMemoryAllocator(This,theAllocator) (This)->lpVtbl->SetVideoOutputFrameMemoryAllocator(This,theAllocator) -#define IDeckLinkOutput_v11_4_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) (This)->lpVtbl->CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) -#define IDeckLinkOutput_v11_4_CreateAncillaryData(This,pixelFormat,outBuffer) (This)->lpVtbl->CreateAncillaryData(This,pixelFormat,outBuffer) -#define IDeckLinkOutput_v11_4_DisplayVideoFrameSync(This,theFrame) (This)->lpVtbl->DisplayVideoFrameSync(This,theFrame) -#define IDeckLinkOutput_v11_4_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) (This)->lpVtbl->ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) -#define IDeckLinkOutput_v11_4_SetScheduledFrameCompletionCallback(This,theCallback) (This)->lpVtbl->SetScheduledFrameCompletionCallback(This,theCallback) -#define IDeckLinkOutput_v11_4_GetBufferedVideoFrameCount(This,bufferedFrameCount) (This)->lpVtbl->GetBufferedVideoFrameCount(This,bufferedFrameCount) -#define IDeckLinkOutput_v11_4_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) (This)->lpVtbl->EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) -#define IDeckLinkOutput_v11_4_DisableAudioOutput(This) (This)->lpVtbl->DisableAudioOutput(This) -#define IDeckLinkOutput_v11_4_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) (This)->lpVtbl->WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) -#define IDeckLinkOutput_v11_4_BeginAudioPreroll(This) (This)->lpVtbl->BeginAudioPreroll(This) -#define IDeckLinkOutput_v11_4_EndAudioPreroll(This) (This)->lpVtbl->EndAudioPreroll(This) -#define IDeckLinkOutput_v11_4_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) (This)->lpVtbl->ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) -#define IDeckLinkOutput_v11_4_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) (This)->lpVtbl->GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) -#define IDeckLinkOutput_v11_4_FlushBufferedAudioSamples(This) (This)->lpVtbl->FlushBufferedAudioSamples(This) -#define IDeckLinkOutput_v11_4_SetAudioCallback(This,theCallback) (This)->lpVtbl->SetAudioCallback(This,theCallback) -#define IDeckLinkOutput_v11_4_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) (This)->lpVtbl->StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) -#define IDeckLinkOutput_v11_4_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) (This)->lpVtbl->StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) -#define IDeckLinkOutput_v11_4_IsScheduledPlaybackRunning(This,active) (This)->lpVtbl->IsScheduledPlaybackRunning(This,active) -#define IDeckLinkOutput_v11_4_GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) (This)->lpVtbl->GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) -#define IDeckLinkOutput_v11_4_GetReferenceStatus(This,referenceStatus) (This)->lpVtbl->GetReferenceStatus(This,referenceStatus) -#define IDeckLinkOutput_v11_4_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) (This)->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) -#define IDeckLinkOutput_v11_4_GetFrameCompletionReferenceTimestamp(This,theFrame,desiredTimeScale,frameCompletionTimestamp) (This)->lpVtbl->GetFrameCompletionReferenceTimestamp(This,theFrame,desiredTimeScale,frameCompletionTimestamp) +#define IDeckLinkInput_v11_5_1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDeckLinkInput_v11_5_1_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDeckLinkInput_v11_5_1_Release(This) (This)->lpVtbl->Release(This) +/*** IDeckLinkInput_v11_5_1 methods ***/ +#define IDeckLinkInput_v11_5_1_DoesSupportVideoMode(This,connection,requestedMode,requestedPixelFormat,conversionMode,flags,actualMode,supported) (This)->lpVtbl->DoesSupportVideoMode(This,connection,requestedMode,requestedPixelFormat,conversionMode,flags,actualMode,supported) +#define IDeckLinkInput_v11_5_1_GetDisplayMode(This,displayMode,resultDisplayMode) (This)->lpVtbl->GetDisplayMode(This,displayMode,resultDisplayMode) +#define IDeckLinkInput_v11_5_1_GetDisplayModeIterator(This,iterator) (This)->lpVtbl->GetDisplayModeIterator(This,iterator) +#define IDeckLinkInput_v11_5_1_SetScreenPreviewCallback(This,previewCallback) (This)->lpVtbl->SetScreenPreviewCallback(This,previewCallback) +#define IDeckLinkInput_v11_5_1_EnableVideoInput(This,displayMode,pixelFormat,flags) (This)->lpVtbl->EnableVideoInput(This,displayMode,pixelFormat,flags) +#define IDeckLinkInput_v11_5_1_DisableVideoInput(This) (This)->lpVtbl->DisableVideoInput(This) +#define IDeckLinkInput_v11_5_1_GetAvailableVideoFrameCount(This,availableFrameCount) (This)->lpVtbl->GetAvailableVideoFrameCount(This,availableFrameCount) +#define IDeckLinkInput_v11_5_1_SetVideoInputFrameMemoryAllocator(This,theAllocator) (This)->lpVtbl->SetVideoInputFrameMemoryAllocator(This,theAllocator) +#define IDeckLinkInput_v11_5_1_EnableAudioInput(This,sampleRate,sampleType,channelCount) (This)->lpVtbl->EnableAudioInput(This,sampleRate,sampleType,channelCount) +#define IDeckLinkInput_v11_5_1_DisableAudioInput(This) (This)->lpVtbl->DisableAudioInput(This) +#define IDeckLinkInput_v11_5_1_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) (This)->lpVtbl->GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) +#define IDeckLinkInput_v11_5_1_StartStreams(This) (This)->lpVtbl->StartStreams(This) +#define IDeckLinkInput_v11_5_1_StopStreams(This) (This)->lpVtbl->StopStreams(This) +#define IDeckLinkInput_v11_5_1_PauseStreams(This) (This)->lpVtbl->PauseStreams(This) +#define IDeckLinkInput_v11_5_1_FlushStreams(This) (This)->lpVtbl->FlushStreams(This) +#define IDeckLinkInput_v11_5_1_SetCallback(This,theCallback) (This)->lpVtbl->SetCallback(This,theCallback) +#define IDeckLinkInput_v11_5_1_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) (This)->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkOutput_v11_4_QueryInterface(IDeckLinkOutput_v11_4* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkInput_v11_5_1_QueryInterface(IDeckLinkInput_v11_5_1* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkOutput_v11_4_AddRef(IDeckLinkOutput_v11_4* This) { +static inline ULONG IDeckLinkInput_v11_5_1_AddRef(IDeckLinkInput_v11_5_1* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkOutput_v11_4_Release(IDeckLinkOutput_v11_4* This) { +static inline ULONG IDeckLinkInput_v11_5_1_Release(IDeckLinkInput_v11_5_1* This) { return This->lpVtbl->Release(This); } -/*** IDeckLinkOutput_v11_4 methods ***/ -static FORCEINLINE HRESULT IDeckLinkOutput_v11_4_DoesSupportVideoMode(IDeckLinkOutput_v11_4* This,BMDVideoConnection connection,BMDDisplayMode requestedMode,BMDPixelFormat requestedPixelFormat,BMDSupportedVideoModeFlags flags,BMDDisplayMode *actualMode,BOOL *supported) { - return This->lpVtbl->DoesSupportVideoMode(This,connection,requestedMode,requestedPixelFormat,flags,actualMode,supported); +/*** IDeckLinkInput_v11_5_1 methods ***/ +static inline HRESULT IDeckLinkInput_v11_5_1_DoesSupportVideoMode(IDeckLinkInput_v11_5_1* This,BMDVideoConnection connection,BMDDisplayMode requestedMode,BMDPixelFormat requestedPixelFormat,BMDVideoInputConversionMode conversionMode,BMDSupportedVideoModeFlags flags,BMDDisplayMode *actualMode,BOOL *supported) { + return This->lpVtbl->DoesSupportVideoMode(This,connection,requestedMode,requestedPixelFormat,conversionMode,flags,actualMode,supported); } -static FORCEINLINE HRESULT IDeckLinkOutput_v11_4_GetDisplayMode(IDeckLinkOutput_v11_4* This,BMDDisplayMode displayMode,IDeckLinkDisplayMode **resultDisplayMode) { +static inline HRESULT IDeckLinkInput_v11_5_1_GetDisplayMode(IDeckLinkInput_v11_5_1* This,BMDDisplayMode displayMode,IDeckLinkDisplayMode **resultDisplayMode) { return This->lpVtbl->GetDisplayMode(This,displayMode,resultDisplayMode); } -static FORCEINLINE HRESULT IDeckLinkOutput_v11_4_GetDisplayModeIterator(IDeckLinkOutput_v11_4* This,IDeckLinkDisplayModeIterator **iterator) { +static inline HRESULT IDeckLinkInput_v11_5_1_GetDisplayModeIterator(IDeckLinkInput_v11_5_1* This,IDeckLinkDisplayModeIterator **iterator) { return This->lpVtbl->GetDisplayModeIterator(This,iterator); } -static FORCEINLINE HRESULT IDeckLinkOutput_v11_4_SetScreenPreviewCallback(IDeckLinkOutput_v11_4* This,IDeckLinkScreenPreviewCallback *previewCallback) { +static inline HRESULT IDeckLinkInput_v11_5_1_SetScreenPreviewCallback(IDeckLinkInput_v11_5_1* This,IDeckLinkScreenPreviewCallback *previewCallback) { return This->lpVtbl->SetScreenPreviewCallback(This,previewCallback); } -static FORCEINLINE HRESULT IDeckLinkOutput_v11_4_EnableVideoOutput(IDeckLinkOutput_v11_4* This,BMDDisplayMode displayMode,BMDVideoOutputFlags flags) { - return This->lpVtbl->EnableVideoOutput(This,displayMode,flags); -} -static FORCEINLINE HRESULT IDeckLinkOutput_v11_4_DisableVideoOutput(IDeckLinkOutput_v11_4* This) { - return This->lpVtbl->DisableVideoOutput(This); -} -static FORCEINLINE HRESULT IDeckLinkOutput_v11_4_SetVideoOutputFrameMemoryAllocator(IDeckLinkOutput_v11_4* This,IDeckLinkMemoryAllocator *theAllocator) { - return This->lpVtbl->SetVideoOutputFrameMemoryAllocator(This,theAllocator); -} -static FORCEINLINE HRESULT IDeckLinkOutput_v11_4_CreateVideoFrame(IDeckLinkOutput_v11_4* This,int width,int height,int rowBytes,BMDPixelFormat pixelFormat,BMDFrameFlags flags,IDeckLinkMutableVideoFrame **outFrame) { - return This->lpVtbl->CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame); -} -static FORCEINLINE HRESULT IDeckLinkOutput_v11_4_CreateAncillaryData(IDeckLinkOutput_v11_4* This,BMDPixelFormat pixelFormat,IDeckLinkVideoFrameAncillary **outBuffer) { - return This->lpVtbl->CreateAncillaryData(This,pixelFormat,outBuffer); -} -static FORCEINLINE HRESULT IDeckLinkOutput_v11_4_DisplayVideoFrameSync(IDeckLinkOutput_v11_4* This,IDeckLinkVideoFrame *theFrame) { - return This->lpVtbl->DisplayVideoFrameSync(This,theFrame); -} -static FORCEINLINE HRESULT IDeckLinkOutput_v11_4_ScheduleVideoFrame(IDeckLinkOutput_v11_4* This,IDeckLinkVideoFrame *theFrame,BMDTimeValue displayTime,BMDTimeValue displayDuration,BMDTimeScale timeScale) { - return This->lpVtbl->ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale); -} -static FORCEINLINE HRESULT IDeckLinkOutput_v11_4_SetScheduledFrameCompletionCallback(IDeckLinkOutput_v11_4* This,IDeckLinkVideoOutputCallback *theCallback) { - return This->lpVtbl->SetScheduledFrameCompletionCallback(This,theCallback); -} -static FORCEINLINE HRESULT IDeckLinkOutput_v11_4_GetBufferedVideoFrameCount(IDeckLinkOutput_v11_4* This,unsigned int *bufferedFrameCount) { - return This->lpVtbl->GetBufferedVideoFrameCount(This,bufferedFrameCount); -} -static FORCEINLINE HRESULT IDeckLinkOutput_v11_4_EnableAudioOutput(IDeckLinkOutput_v11_4* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount,BMDAudioOutputStreamType streamType) { - return This->lpVtbl->EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType); -} -static FORCEINLINE HRESULT IDeckLinkOutput_v11_4_DisableAudioOutput(IDeckLinkOutput_v11_4* This) { - return This->lpVtbl->DisableAudioOutput(This); -} -static FORCEINLINE HRESULT IDeckLinkOutput_v11_4_WriteAudioSamplesSync(IDeckLinkOutput_v11_4* This,void *buffer,unsigned int sampleFrameCount,unsigned int *sampleFramesWritten) { - return This->lpVtbl->WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten); +static inline HRESULT IDeckLinkInput_v11_5_1_EnableVideoInput(IDeckLinkInput_v11_5_1* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags) { + return This->lpVtbl->EnableVideoInput(This,displayMode,pixelFormat,flags); } -static FORCEINLINE HRESULT IDeckLinkOutput_v11_4_BeginAudioPreroll(IDeckLinkOutput_v11_4* This) { - return This->lpVtbl->BeginAudioPreroll(This); +static inline HRESULT IDeckLinkInput_v11_5_1_DisableVideoInput(IDeckLinkInput_v11_5_1* This) { + return This->lpVtbl->DisableVideoInput(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_v11_4_EndAudioPreroll(IDeckLinkOutput_v11_4* This) { - return This->lpVtbl->EndAudioPreroll(This); +static inline HRESULT IDeckLinkInput_v11_5_1_GetAvailableVideoFrameCount(IDeckLinkInput_v11_5_1* This,unsigned int *availableFrameCount) { + return This->lpVtbl->GetAvailableVideoFrameCount(This,availableFrameCount); } -static FORCEINLINE HRESULT IDeckLinkOutput_v11_4_ScheduleAudioSamples(IDeckLinkOutput_v11_4* This,void *buffer,unsigned int sampleFrameCount,BMDTimeValue streamTime,BMDTimeScale timeScale,unsigned int *sampleFramesWritten) { - return This->lpVtbl->ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten); +static inline HRESULT IDeckLinkInput_v11_5_1_SetVideoInputFrameMemoryAllocator(IDeckLinkInput_v11_5_1* This,IDeckLinkMemoryAllocator *theAllocator) { + return This->lpVtbl->SetVideoInputFrameMemoryAllocator(This,theAllocator); } -static FORCEINLINE HRESULT IDeckLinkOutput_v11_4_GetBufferedAudioSampleFrameCount(IDeckLinkOutput_v11_4* This,unsigned int *bufferedSampleFrameCount) { - return This->lpVtbl->GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount); +static inline HRESULT IDeckLinkInput_v11_5_1_EnableAudioInput(IDeckLinkInput_v11_5_1* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount) { + return This->lpVtbl->EnableAudioInput(This,sampleRate,sampleType,channelCount); } -static FORCEINLINE HRESULT IDeckLinkOutput_v11_4_FlushBufferedAudioSamples(IDeckLinkOutput_v11_4* This) { - return This->lpVtbl->FlushBufferedAudioSamples(This); +static inline HRESULT IDeckLinkInput_v11_5_1_DisableAudioInput(IDeckLinkInput_v11_5_1* This) { + return This->lpVtbl->DisableAudioInput(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_v11_4_SetAudioCallback(IDeckLinkOutput_v11_4* This,IDeckLinkAudioOutputCallback *theCallback) { - return This->lpVtbl->SetAudioCallback(This,theCallback); +static inline HRESULT IDeckLinkInput_v11_5_1_GetAvailableAudioSampleFrameCount(IDeckLinkInput_v11_5_1* This,unsigned int *availableSampleFrameCount) { + return This->lpVtbl->GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount); } -static FORCEINLINE HRESULT IDeckLinkOutput_v11_4_StartScheduledPlayback(IDeckLinkOutput_v11_4* This,BMDTimeValue playbackStartTime,BMDTimeScale timeScale,double playbackSpeed) { - return This->lpVtbl->StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed); +static inline HRESULT IDeckLinkInput_v11_5_1_StartStreams(IDeckLinkInput_v11_5_1* This) { + return This->lpVtbl->StartStreams(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_v11_4_StopScheduledPlayback(IDeckLinkOutput_v11_4* This,BMDTimeValue stopPlaybackAtTime,BMDTimeValue *actualStopTime,BMDTimeScale timeScale) { - return This->lpVtbl->StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale); +static inline HRESULT IDeckLinkInput_v11_5_1_StopStreams(IDeckLinkInput_v11_5_1* This) { + return This->lpVtbl->StopStreams(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_v11_4_IsScheduledPlaybackRunning(IDeckLinkOutput_v11_4* This,BOOL *active) { - return This->lpVtbl->IsScheduledPlaybackRunning(This,active); +static inline HRESULT IDeckLinkInput_v11_5_1_PauseStreams(IDeckLinkInput_v11_5_1* This) { + return This->lpVtbl->PauseStreams(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_v11_4_GetScheduledStreamTime(IDeckLinkOutput_v11_4* This,BMDTimeScale desiredTimeScale,BMDTimeValue *streamTime,double *playbackSpeed) { - return This->lpVtbl->GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed); +static inline HRESULT IDeckLinkInput_v11_5_1_FlushStreams(IDeckLinkInput_v11_5_1* This) { + return This->lpVtbl->FlushStreams(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_v11_4_GetReferenceStatus(IDeckLinkOutput_v11_4* This,BMDReferenceStatus *referenceStatus) { - return This->lpVtbl->GetReferenceStatus(This,referenceStatus); +static inline HRESULT IDeckLinkInput_v11_5_1_SetCallback(IDeckLinkInput_v11_5_1* This,IDeckLinkInputCallback_v11_5_1 *theCallback) { + return This->lpVtbl->SetCallback(This,theCallback); } -static FORCEINLINE HRESULT IDeckLinkOutput_v11_4_GetHardwareReferenceClock(IDeckLinkOutput_v11_4* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) { +static inline HRESULT IDeckLinkInput_v11_5_1_GetHardwareReferenceClock(IDeckLinkInput_v11_5_1* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) { return This->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame); } -static FORCEINLINE HRESULT IDeckLinkOutput_v11_4_GetFrameCompletionReferenceTimestamp(IDeckLinkOutput_v11_4* This,IDeckLinkVideoFrame *theFrame,BMDTimeScale desiredTimeScale,BMDTimeValue *frameCompletionTimestamp) { - return This->lpVtbl->GetFrameCompletionReferenceTimestamp(This,theFrame,desiredTimeScale,frameCompletionTimestamp); -} #endif #endif #endif -#endif /* __IDeckLinkOutput_v11_4_INTERFACE_DEFINED__ */ +#endif /* __IDeckLinkInput_v11_5_1_INTERFACE_DEFINED__ */ + +typedef enum _BMDDisplayModeSupport_v10_11 { + bmdDisplayModeNotSupported_v10_11 = 0, + bmdDisplayModeSupported_v10_11 = 1, + bmdDisplayModeSupportedWithConversion_v10_11 = 2 +} BMDDisplayModeSupport_v10_11; +typedef enum _BMDDuplexMode_v10_11 { + bmdDuplexModeFull_v10_11 = 0x66647570, + bmdDuplexModeHalf_v10_11 = 0x68647570 +} BMDDuplexMode_v10_11; +typedef enum _BMDDeckLinkConfigurationID_v10_11 { + bmdDeckLinkConfigDuplexMode_v10_11 = 0x64757078 +} BMDDeckLinkConfigurationID_v10_11; +typedef enum _BMDDeckLinkAttributeID_v10_11 { + BMDDeckLinkSupportsDuplexModeConfiguration_v10_11 = 0x64757078, + BMDDeckLinkSupportsHDKeying_v10_11 = 0x6b657968, + BMDDeckLinkPairedDevicePersistentID_v10_11 = 0x70706964, + BMDDeckLinkSupportsFullDuplex_v10_11 = 0x66647570 +} BMDDeckLinkAttributeID_v10_11; +typedef enum _BMDDeckLinkStatusID_v10_11 { + bmdDeckLinkStatusDuplexMode_v10_11 = 0x64757078 +} BMDDeckLinkStatusID_v10_11; +typedef enum _BMDDuplexStatus_v10_11 { + bmdDuplexFullDuplex_v10_11 = 0x66647570, + bmdDuplexHalfDuplex_v10_11 = 0x68647570, + bmdDuplexSimplex_v10_11 = 0x73706c78, + bmdDuplexInactive_v10_11 = 0x696e6163 +} BMDDuplexStatus_v10_11; +#ifndef __IDeckLinkConfiguration_v10_11_FWD_DEFINED__ +#define __IDeckLinkConfiguration_v10_11_FWD_DEFINED__ +typedef interface IDeckLinkConfiguration_v10_11 IDeckLinkConfiguration_v10_11; +#ifdef __cplusplus +interface IDeckLinkConfiguration_v10_11; +#endif /* __cplusplus */ +#endif + +#ifndef __IDeckLinkAttributes_v10_11_FWD_DEFINED__ +#define __IDeckLinkAttributes_v10_11_FWD_DEFINED__ +typedef interface IDeckLinkAttributes_v10_11 IDeckLinkAttributes_v10_11; +#ifdef __cplusplus +interface IDeckLinkAttributes_v10_11; +#endif /* __cplusplus */ +#endif + +#ifndef __IDeckLinkNotification_v10_11_FWD_DEFINED__ +#define __IDeckLinkNotification_v10_11_FWD_DEFINED__ +typedef interface IDeckLinkNotification_v10_11 IDeckLinkNotification_v10_11; +#ifdef __cplusplus +interface IDeckLinkNotification_v10_11; +#endif /* __cplusplus */ +#endif /***************************************************************************** - * IDeckLinkInput_v11_4 interface + * IDeckLinkConfiguration_v10_11 interface */ -#ifndef __IDeckLinkInput_v11_4_INTERFACE_DEFINED__ -#define __IDeckLinkInput_v11_4_INTERFACE_DEFINED__ +#ifndef __IDeckLinkConfiguration_v10_11_INTERFACE_DEFINED__ +#define __IDeckLinkConfiguration_v10_11_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDeckLinkInput_v11_4, 0x2a88cf76, 0xf494, 0x4216, 0xa7,0xef, 0xdc,0x74,0xee,0xb8,0x38,0x82); +DEFINE_GUID(IID_IDeckLinkConfiguration_v10_11, 0xef90380b, 0x4ae5, 0x4346, 0x90,0x77, 0xe2,0x88,0xe1,0x49,0xf1,0x29); #if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("2a88cf76-f494-4216-a7ef-dc74eeb83882") -IDeckLinkInput_v11_4 : public IUnknown +MIDL_INTERFACE("ef90380b-4ae5-4346-9077-e288e149f129") +IDeckLinkConfiguration_v10_11 : public IUnknown { - virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( - BMDVideoConnection connection, - BMDDisplayMode requestedMode, - BMDPixelFormat requestedPixelFormat, - BMDSupportedVideoModeFlags flags, - BOOL *supported) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDisplayMode( - BMDDisplayMode displayMode, - IDeckLinkDisplayMode **resultDisplayMode) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( - IDeckLinkDisplayModeIterator **iterator) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( - IDeckLinkScreenPreviewCallback *previewCallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnableVideoInput( - BMDDisplayMode displayMode, - BMDPixelFormat pixelFormat, - BMDVideoInputFlags flags) = 0; - - virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( - ) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount( - unsigned int *availableFrameCount) = 0; + virtual HRESULT STDMETHODCALLTYPE SetFlag( + BMDDeckLinkConfigurationID cfgID, + BOOL value) = 0; - virtual HRESULT STDMETHODCALLTYPE SetVideoInputFrameMemoryAllocator( - IDeckLinkMemoryAllocator *theAllocator) = 0; + virtual HRESULT STDMETHODCALLTYPE GetFlag( + BMDDeckLinkConfigurationID cfgID, + BOOL *value) = 0; - virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( - BMDAudioSampleRate sampleRate, - BMDAudioSampleType sampleType, - unsigned int channelCount) = 0; + virtual HRESULT STDMETHODCALLTYPE SetInt( + BMDDeckLinkConfigurationID cfgID, + LONGLONG value) = 0; - virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( - ) = 0; + virtual HRESULT STDMETHODCALLTYPE GetInt( + BMDDeckLinkConfigurationID cfgID, + LONGLONG *value) = 0; - virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount( - unsigned int *availableSampleFrameCount) = 0; + virtual HRESULT STDMETHODCALLTYPE SetFloat( + BMDDeckLinkConfigurationID cfgID, + double value) = 0; - virtual HRESULT STDMETHODCALLTYPE StartStreams( - ) = 0; + virtual HRESULT STDMETHODCALLTYPE GetFloat( + BMDDeckLinkConfigurationID cfgID, + double *value) = 0; - virtual HRESULT STDMETHODCALLTYPE StopStreams( - ) = 0; + virtual HRESULT STDMETHODCALLTYPE SetString( + BMDDeckLinkConfigurationID cfgID, + BSTR value) = 0; - virtual HRESULT STDMETHODCALLTYPE PauseStreams( - ) = 0; + virtual HRESULT STDMETHODCALLTYPE GetString( + BMDDeckLinkConfigurationID cfgID, + BSTR *value) = 0; - virtual HRESULT STDMETHODCALLTYPE FlushStreams( + virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences( ) = 0; - virtual HRESULT STDMETHODCALLTYPE SetCallback( - IDeckLinkInputCallback *theCallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( - BMDTimeScale desiredTimeScale, - BMDTimeValue *hardwareTime, - BMDTimeValue *timeInFrame, - BMDTimeValue *ticksPerFrame) = 0; - }; #ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDeckLinkInput_v11_4, 0x2a88cf76, 0xf494, 0x4216, 0xa7,0xef, 0xdc,0x74,0xee,0xb8,0x38,0x82) +__CRT_UUID_DECL(IDeckLinkConfiguration_v10_11, 0xef90380b, 0x4ae5, 0x4346, 0x90,0x77, 0xe2,0x88,0xe1,0x49,0xf1,0x29) #endif #else -typedef struct IDeckLinkInput_v11_4Vtbl { +typedef struct IDeckLinkConfiguration_v10_11Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDeckLinkInput_v11_4 *This, + IDeckLinkConfiguration_v10_11 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( - IDeckLinkInput_v11_4 *This); + IDeckLinkConfiguration_v10_11 *This); ULONG (STDMETHODCALLTYPE *Release)( - IDeckLinkInput_v11_4 *This); - - /*** IDeckLinkInput_v11_4 methods ***/ - HRESULT (STDMETHODCALLTYPE *DoesSupportVideoMode)( - IDeckLinkInput_v11_4 *This, - BMDVideoConnection connection, - BMDDisplayMode requestedMode, - BMDPixelFormat requestedPixelFormat, - BMDSupportedVideoModeFlags flags, - BOOL *supported); - - HRESULT (STDMETHODCALLTYPE *GetDisplayMode)( - IDeckLinkInput_v11_4 *This, - BMDDisplayMode displayMode, - IDeckLinkDisplayMode **resultDisplayMode); - - HRESULT (STDMETHODCALLTYPE *GetDisplayModeIterator)( - IDeckLinkInput_v11_4 *This, - IDeckLinkDisplayModeIterator **iterator); - - HRESULT (STDMETHODCALLTYPE *SetScreenPreviewCallback)( - IDeckLinkInput_v11_4 *This, - IDeckLinkScreenPreviewCallback *previewCallback); - - HRESULT (STDMETHODCALLTYPE *EnableVideoInput)( - IDeckLinkInput_v11_4 *This, - BMDDisplayMode displayMode, - BMDPixelFormat pixelFormat, - BMDVideoInputFlags flags); - - HRESULT (STDMETHODCALLTYPE *DisableVideoInput)( - IDeckLinkInput_v11_4 *This); - - HRESULT (STDMETHODCALLTYPE *GetAvailableVideoFrameCount)( - IDeckLinkInput_v11_4 *This, - unsigned int *availableFrameCount); - - HRESULT (STDMETHODCALLTYPE *SetVideoInputFrameMemoryAllocator)( - IDeckLinkInput_v11_4 *This, - IDeckLinkMemoryAllocator *theAllocator); + IDeckLinkConfiguration_v10_11 *This); - HRESULT (STDMETHODCALLTYPE *EnableAudioInput)( - IDeckLinkInput_v11_4 *This, - BMDAudioSampleRate sampleRate, - BMDAudioSampleType sampleType, - unsigned int channelCount); + /*** IDeckLinkConfiguration_v10_11 methods ***/ + HRESULT (STDMETHODCALLTYPE *SetFlag)( + IDeckLinkConfiguration_v10_11 *This, + BMDDeckLinkConfigurationID cfgID, + BOOL value); - HRESULT (STDMETHODCALLTYPE *DisableAudioInput)( - IDeckLinkInput_v11_4 *This); + HRESULT (STDMETHODCALLTYPE *GetFlag)( + IDeckLinkConfiguration_v10_11 *This, + BMDDeckLinkConfigurationID cfgID, + BOOL *value); - HRESULT (STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount)( - IDeckLinkInput_v11_4 *This, - unsigned int *availableSampleFrameCount); + HRESULT (STDMETHODCALLTYPE *SetInt)( + IDeckLinkConfiguration_v10_11 *This, + BMDDeckLinkConfigurationID cfgID, + LONGLONG value); - HRESULT (STDMETHODCALLTYPE *StartStreams)( - IDeckLinkInput_v11_4 *This); + HRESULT (STDMETHODCALLTYPE *GetInt)( + IDeckLinkConfiguration_v10_11 *This, + BMDDeckLinkConfigurationID cfgID, + LONGLONG *value); - HRESULT (STDMETHODCALLTYPE *StopStreams)( - IDeckLinkInput_v11_4 *This); + HRESULT (STDMETHODCALLTYPE *SetFloat)( + IDeckLinkConfiguration_v10_11 *This, + BMDDeckLinkConfigurationID cfgID, + double value); - HRESULT (STDMETHODCALLTYPE *PauseStreams)( - IDeckLinkInput_v11_4 *This); + HRESULT (STDMETHODCALLTYPE *GetFloat)( + IDeckLinkConfiguration_v10_11 *This, + BMDDeckLinkConfigurationID cfgID, + double *value); - HRESULT (STDMETHODCALLTYPE *FlushStreams)( - IDeckLinkInput_v11_4 *This); + HRESULT (STDMETHODCALLTYPE *SetString)( + IDeckLinkConfiguration_v10_11 *This, + BMDDeckLinkConfigurationID cfgID, + BSTR value); - HRESULT (STDMETHODCALLTYPE *SetCallback)( - IDeckLinkInput_v11_4 *This, - IDeckLinkInputCallback *theCallback); + HRESULT (STDMETHODCALLTYPE *GetString)( + IDeckLinkConfiguration_v10_11 *This, + BMDDeckLinkConfigurationID cfgID, + BSTR *value); - HRESULT (STDMETHODCALLTYPE *GetHardwareReferenceClock)( - IDeckLinkInput_v11_4 *This, - BMDTimeScale desiredTimeScale, - BMDTimeValue *hardwareTime, - BMDTimeValue *timeInFrame, - BMDTimeValue *ticksPerFrame); + HRESULT (STDMETHODCALLTYPE *WriteConfigurationToPreferences)( + IDeckLinkConfiguration_v10_11 *This); END_INTERFACE -} IDeckLinkInput_v11_4Vtbl; +} IDeckLinkConfiguration_v10_11Vtbl; -interface IDeckLinkInput_v11_4 { - CONST_VTBL IDeckLinkInput_v11_4Vtbl* lpVtbl; +interface IDeckLinkConfiguration_v10_11 { + CONST_VTBL IDeckLinkConfiguration_v10_11Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ -#define IDeckLinkInput_v11_4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) -#define IDeckLinkInput_v11_4_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDeckLinkInput_v11_4_Release(This) (This)->lpVtbl->Release(This) -/*** IDeckLinkInput_v11_4 methods ***/ -#define IDeckLinkInput_v11_4_DoesSupportVideoMode(This,connection,requestedMode,requestedPixelFormat,flags,supported) (This)->lpVtbl->DoesSupportVideoMode(This,connection,requestedMode,requestedPixelFormat,flags,supported) -#define IDeckLinkInput_v11_4_GetDisplayMode(This,displayMode,resultDisplayMode) (This)->lpVtbl->GetDisplayMode(This,displayMode,resultDisplayMode) -#define IDeckLinkInput_v11_4_GetDisplayModeIterator(This,iterator) (This)->lpVtbl->GetDisplayModeIterator(This,iterator) -#define IDeckLinkInput_v11_4_SetScreenPreviewCallback(This,previewCallback) (This)->lpVtbl->SetScreenPreviewCallback(This,previewCallback) -#define IDeckLinkInput_v11_4_EnableVideoInput(This,displayMode,pixelFormat,flags) (This)->lpVtbl->EnableVideoInput(This,displayMode,pixelFormat,flags) -#define IDeckLinkInput_v11_4_DisableVideoInput(This) (This)->lpVtbl->DisableVideoInput(This) -#define IDeckLinkInput_v11_4_GetAvailableVideoFrameCount(This,availableFrameCount) (This)->lpVtbl->GetAvailableVideoFrameCount(This,availableFrameCount) -#define IDeckLinkInput_v11_4_SetVideoInputFrameMemoryAllocator(This,theAllocator) (This)->lpVtbl->SetVideoInputFrameMemoryAllocator(This,theAllocator) -#define IDeckLinkInput_v11_4_EnableAudioInput(This,sampleRate,sampleType,channelCount) (This)->lpVtbl->EnableAudioInput(This,sampleRate,sampleType,channelCount) -#define IDeckLinkInput_v11_4_DisableAudioInput(This) (This)->lpVtbl->DisableAudioInput(This) -#define IDeckLinkInput_v11_4_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) (This)->lpVtbl->GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) -#define IDeckLinkInput_v11_4_StartStreams(This) (This)->lpVtbl->StartStreams(This) -#define IDeckLinkInput_v11_4_StopStreams(This) (This)->lpVtbl->StopStreams(This) -#define IDeckLinkInput_v11_4_PauseStreams(This) (This)->lpVtbl->PauseStreams(This) -#define IDeckLinkInput_v11_4_FlushStreams(This) (This)->lpVtbl->FlushStreams(This) -#define IDeckLinkInput_v11_4_SetCallback(This,theCallback) (This)->lpVtbl->SetCallback(This,theCallback) -#define IDeckLinkInput_v11_4_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) (This)->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) +#define IDeckLinkConfiguration_v10_11_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDeckLinkConfiguration_v10_11_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDeckLinkConfiguration_v10_11_Release(This) (This)->lpVtbl->Release(This) +/*** IDeckLinkConfiguration_v10_11 methods ***/ +#define IDeckLinkConfiguration_v10_11_SetFlag(This,cfgID,value) (This)->lpVtbl->SetFlag(This,cfgID,value) +#define IDeckLinkConfiguration_v10_11_GetFlag(This,cfgID,value) (This)->lpVtbl->GetFlag(This,cfgID,value) +#define IDeckLinkConfiguration_v10_11_SetInt(This,cfgID,value) (This)->lpVtbl->SetInt(This,cfgID,value) +#define IDeckLinkConfiguration_v10_11_GetInt(This,cfgID,value) (This)->lpVtbl->GetInt(This,cfgID,value) +#define IDeckLinkConfiguration_v10_11_SetFloat(This,cfgID,value) (This)->lpVtbl->SetFloat(This,cfgID,value) +#define IDeckLinkConfiguration_v10_11_GetFloat(This,cfgID,value) (This)->lpVtbl->GetFloat(This,cfgID,value) +#define IDeckLinkConfiguration_v10_11_SetString(This,cfgID,value) (This)->lpVtbl->SetString(This,cfgID,value) +#define IDeckLinkConfiguration_v10_11_GetString(This,cfgID,value) (This)->lpVtbl->GetString(This,cfgID,value) +#define IDeckLinkConfiguration_v10_11_WriteConfigurationToPreferences(This) (This)->lpVtbl->WriteConfigurationToPreferences(This) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkInput_v11_4_QueryInterface(IDeckLinkInput_v11_4* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkConfiguration_v10_11_QueryInterface(IDeckLinkConfiguration_v10_11* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkInput_v11_4_AddRef(IDeckLinkInput_v11_4* This) { +static inline ULONG IDeckLinkConfiguration_v10_11_AddRef(IDeckLinkConfiguration_v10_11* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkInput_v11_4_Release(IDeckLinkInput_v11_4* This) { +static inline ULONG IDeckLinkConfiguration_v10_11_Release(IDeckLinkConfiguration_v10_11* This) { return This->lpVtbl->Release(This); } -/*** IDeckLinkInput_v11_4 methods ***/ -static FORCEINLINE HRESULT IDeckLinkInput_v11_4_DoesSupportVideoMode(IDeckLinkInput_v11_4* This,BMDVideoConnection connection,BMDDisplayMode requestedMode,BMDPixelFormat requestedPixelFormat,BMDSupportedVideoModeFlags flags,BOOL *supported) { - return This->lpVtbl->DoesSupportVideoMode(This,connection,requestedMode,requestedPixelFormat,flags,supported); -} -static FORCEINLINE HRESULT IDeckLinkInput_v11_4_GetDisplayMode(IDeckLinkInput_v11_4* This,BMDDisplayMode displayMode,IDeckLinkDisplayMode **resultDisplayMode) { - return This->lpVtbl->GetDisplayMode(This,displayMode,resultDisplayMode); -} -static FORCEINLINE HRESULT IDeckLinkInput_v11_4_GetDisplayModeIterator(IDeckLinkInput_v11_4* This,IDeckLinkDisplayModeIterator **iterator) { - return This->lpVtbl->GetDisplayModeIterator(This,iterator); -} -static FORCEINLINE HRESULT IDeckLinkInput_v11_4_SetScreenPreviewCallback(IDeckLinkInput_v11_4* This,IDeckLinkScreenPreviewCallback *previewCallback) { - return This->lpVtbl->SetScreenPreviewCallback(This,previewCallback); -} -static FORCEINLINE HRESULT IDeckLinkInput_v11_4_EnableVideoInput(IDeckLinkInput_v11_4* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags) { - return This->lpVtbl->EnableVideoInput(This,displayMode,pixelFormat,flags); -} -static FORCEINLINE HRESULT IDeckLinkInput_v11_4_DisableVideoInput(IDeckLinkInput_v11_4* This) { - return This->lpVtbl->DisableVideoInput(This); -} -static FORCEINLINE HRESULT IDeckLinkInput_v11_4_GetAvailableVideoFrameCount(IDeckLinkInput_v11_4* This,unsigned int *availableFrameCount) { - return This->lpVtbl->GetAvailableVideoFrameCount(This,availableFrameCount); +/*** IDeckLinkConfiguration_v10_11 methods ***/ +static inline HRESULT IDeckLinkConfiguration_v10_11_SetFlag(IDeckLinkConfiguration_v10_11* This,BMDDeckLinkConfigurationID cfgID,BOOL value) { + return This->lpVtbl->SetFlag(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkInput_v11_4_SetVideoInputFrameMemoryAllocator(IDeckLinkInput_v11_4* This,IDeckLinkMemoryAllocator *theAllocator) { - return This->lpVtbl->SetVideoInputFrameMemoryAllocator(This,theAllocator); +static inline HRESULT IDeckLinkConfiguration_v10_11_GetFlag(IDeckLinkConfiguration_v10_11* This,BMDDeckLinkConfigurationID cfgID,BOOL *value) { + return This->lpVtbl->GetFlag(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkInput_v11_4_EnableAudioInput(IDeckLinkInput_v11_4* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount) { - return This->lpVtbl->EnableAudioInput(This,sampleRate,sampleType,channelCount); +static inline HRESULT IDeckLinkConfiguration_v10_11_SetInt(IDeckLinkConfiguration_v10_11* This,BMDDeckLinkConfigurationID cfgID,LONGLONG value) { + return This->lpVtbl->SetInt(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkInput_v11_4_DisableAudioInput(IDeckLinkInput_v11_4* This) { - return This->lpVtbl->DisableAudioInput(This); +static inline HRESULT IDeckLinkConfiguration_v10_11_GetInt(IDeckLinkConfiguration_v10_11* This,BMDDeckLinkConfigurationID cfgID,LONGLONG *value) { + return This->lpVtbl->GetInt(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkInput_v11_4_GetAvailableAudioSampleFrameCount(IDeckLinkInput_v11_4* This,unsigned int *availableSampleFrameCount) { - return This->lpVtbl->GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount); +static inline HRESULT IDeckLinkConfiguration_v10_11_SetFloat(IDeckLinkConfiguration_v10_11* This,BMDDeckLinkConfigurationID cfgID,double value) { + return This->lpVtbl->SetFloat(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkInput_v11_4_StartStreams(IDeckLinkInput_v11_4* This) { - return This->lpVtbl->StartStreams(This); +static inline HRESULT IDeckLinkConfiguration_v10_11_GetFloat(IDeckLinkConfiguration_v10_11* This,BMDDeckLinkConfigurationID cfgID,double *value) { + return This->lpVtbl->GetFloat(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkInput_v11_4_StopStreams(IDeckLinkInput_v11_4* This) { - return This->lpVtbl->StopStreams(This); +static inline HRESULT IDeckLinkConfiguration_v10_11_SetString(IDeckLinkConfiguration_v10_11* This,BMDDeckLinkConfigurationID cfgID,BSTR value) { + return This->lpVtbl->SetString(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkInput_v11_4_PauseStreams(IDeckLinkInput_v11_4* This) { - return This->lpVtbl->PauseStreams(This); +static inline HRESULT IDeckLinkConfiguration_v10_11_GetString(IDeckLinkConfiguration_v10_11* This,BMDDeckLinkConfigurationID cfgID,BSTR *value) { + return This->lpVtbl->GetString(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkInput_v11_4_FlushStreams(IDeckLinkInput_v11_4* This) { - return This->lpVtbl->FlushStreams(This); -} -static FORCEINLINE HRESULT IDeckLinkInput_v11_4_SetCallback(IDeckLinkInput_v11_4* This,IDeckLinkInputCallback *theCallback) { - return This->lpVtbl->SetCallback(This,theCallback); -} -static FORCEINLINE HRESULT IDeckLinkInput_v11_4_GetHardwareReferenceClock(IDeckLinkInput_v11_4* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) { - return This->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame); -} -#endif -#endif - -#endif - - -#endif /* __IDeckLinkInput_v11_4_INTERFACE_DEFINED__ */ - -typedef enum _BMDDisplayModeSupport_v10_11 { - bmdDisplayModeNotSupported_v10_11 = 0, - bmdDisplayModeSupported_v10_11 = 1, - bmdDisplayModeSupportedWithConversion_v10_11 = 2 -} BMDDisplayModeSupport_v10_11; -typedef enum _BMDDuplexMode_v10_11 { - bmdDuplexModeFull_v10_11 = 0x66647570, - bmdDuplexModeHalf_v10_11 = 0x68647570 -} BMDDuplexMode_v10_11; -typedef enum _BMDDeckLinkConfigurationID_v10_11 { - bmdDeckLinkConfigDuplexMode_v10_11 = 0x64757078 -} BMDDeckLinkConfigurationID_v10_11; -typedef enum _BMDDeckLinkAttributeID_v10_11 { - BMDDeckLinkSupportsDuplexModeConfiguration_v10_11 = 0x64757078, - BMDDeckLinkSupportsHDKeying_v10_11 = 0x6b657968, - BMDDeckLinkPairedDevicePersistentID_v10_11 = 0x70706964, - BMDDeckLinkSupportsFullDuplex_v10_11 = 0x66647570 -} BMDDeckLinkAttributeID_v10_11; -typedef enum _BMDDeckLinkStatusID_v10_11 { - bmdDeckLinkStatusDuplexMode_v10_11 = 0x64757078 -} BMDDeckLinkStatusID_v10_11; -typedef enum _BMDDuplexStatus_v10_11 { - bmdDuplexFullDuplex_v10_11 = 0x66647570, - bmdDuplexHalfDuplex_v10_11 = 0x68647570, - bmdDuplexSimplex_v10_11 = 0x73706c78, - bmdDuplexInactive_v10_11 = 0x696e6163 -} BMDDuplexStatus_v10_11; -#ifndef __IDeckLinkConfiguration_v10_11_FWD_DEFINED__ -#define __IDeckLinkConfiguration_v10_11_FWD_DEFINED__ -typedef interface IDeckLinkConfiguration_v10_11 IDeckLinkConfiguration_v10_11; -#ifdef __cplusplus -interface IDeckLinkConfiguration_v10_11; -#endif /* __cplusplus */ -#endif - -#ifndef __IDeckLinkAttributes_v10_11_FWD_DEFINED__ -#define __IDeckLinkAttributes_v10_11_FWD_DEFINED__ -typedef interface IDeckLinkAttributes_v10_11 IDeckLinkAttributes_v10_11; -#ifdef __cplusplus -interface IDeckLinkAttributes_v10_11; -#endif /* __cplusplus */ -#endif - -#ifndef __IDeckLinkNotification_v10_11_FWD_DEFINED__ -#define __IDeckLinkNotification_v10_11_FWD_DEFINED__ -typedef interface IDeckLinkNotification_v10_11 IDeckLinkNotification_v10_11; -#ifdef __cplusplus -interface IDeckLinkNotification_v10_11; -#endif /* __cplusplus */ -#endif - -/***************************************************************************** - * IDeckLinkConfiguration_v10_11 interface - */ -#ifndef __IDeckLinkConfiguration_v10_11_INTERFACE_DEFINED__ -#define __IDeckLinkConfiguration_v10_11_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDeckLinkConfiguration_v10_11, 0xef90380b, 0x4ae5, 0x4346, 0x90,0x77, 0xe2,0x88,0xe1,0x49,0xf1,0x29); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("ef90380b-4ae5-4346-9077-e288e149f129") -IDeckLinkConfiguration_v10_11 : public IUnknown -{ - virtual HRESULT STDMETHODCALLTYPE SetFlag( - BMDDeckLinkConfigurationID cfgID, - BOOL value) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFlag( - BMDDeckLinkConfigurationID cfgID, - BOOL *value) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetInt( - BMDDeckLinkConfigurationID cfgID, - LONGLONG value) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetInt( - BMDDeckLinkConfigurationID cfgID, - LONGLONG *value) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetFloat( - BMDDeckLinkConfigurationID cfgID, - double value) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFloat( - BMDDeckLinkConfigurationID cfgID, - double *value) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetString( - BMDDeckLinkConfigurationID cfgID, - BSTR value) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetString( - BMDDeckLinkConfigurationID cfgID, - BSTR *value) = 0; - - virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences( - ) = 0; - -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDeckLinkConfiguration_v10_11, 0xef90380b, 0x4ae5, 0x4346, 0x90,0x77, 0xe2,0x88,0xe1,0x49,0xf1,0x29) -#endif -#else -typedef struct IDeckLinkConfiguration_v10_11Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDeckLinkConfiguration_v10_11 *This, - REFIID riid, - void **ppvObject); - - ULONG (STDMETHODCALLTYPE *AddRef)( - IDeckLinkConfiguration_v10_11 *This); - - ULONG (STDMETHODCALLTYPE *Release)( - IDeckLinkConfiguration_v10_11 *This); - - /*** IDeckLinkConfiguration_v10_11 methods ***/ - HRESULT (STDMETHODCALLTYPE *SetFlag)( - IDeckLinkConfiguration_v10_11 *This, - BMDDeckLinkConfigurationID cfgID, - BOOL value); - - HRESULT (STDMETHODCALLTYPE *GetFlag)( - IDeckLinkConfiguration_v10_11 *This, - BMDDeckLinkConfigurationID cfgID, - BOOL *value); - - HRESULT (STDMETHODCALLTYPE *SetInt)( - IDeckLinkConfiguration_v10_11 *This, - BMDDeckLinkConfigurationID cfgID, - LONGLONG value); - - HRESULT (STDMETHODCALLTYPE *GetInt)( - IDeckLinkConfiguration_v10_11 *This, - BMDDeckLinkConfigurationID cfgID, - LONGLONG *value); - - HRESULT (STDMETHODCALLTYPE *SetFloat)( - IDeckLinkConfiguration_v10_11 *This, - BMDDeckLinkConfigurationID cfgID, - double value); - - HRESULT (STDMETHODCALLTYPE *GetFloat)( - IDeckLinkConfiguration_v10_11 *This, - BMDDeckLinkConfigurationID cfgID, - double *value); - - HRESULT (STDMETHODCALLTYPE *SetString)( - IDeckLinkConfiguration_v10_11 *This, - BMDDeckLinkConfigurationID cfgID, - BSTR value); - - HRESULT (STDMETHODCALLTYPE *GetString)( - IDeckLinkConfiguration_v10_11 *This, - BMDDeckLinkConfigurationID cfgID, - BSTR *value); - - HRESULT (STDMETHODCALLTYPE *WriteConfigurationToPreferences)( - IDeckLinkConfiguration_v10_11 *This); - - END_INTERFACE -} IDeckLinkConfiguration_v10_11Vtbl; - -interface IDeckLinkConfiguration_v10_11 { - CONST_VTBL IDeckLinkConfiguration_v10_11Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDeckLinkConfiguration_v10_11_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) -#define IDeckLinkConfiguration_v10_11_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDeckLinkConfiguration_v10_11_Release(This) (This)->lpVtbl->Release(This) -/*** IDeckLinkConfiguration_v10_11 methods ***/ -#define IDeckLinkConfiguration_v10_11_SetFlag(This,cfgID,value) (This)->lpVtbl->SetFlag(This,cfgID,value) -#define IDeckLinkConfiguration_v10_11_GetFlag(This,cfgID,value) (This)->lpVtbl->GetFlag(This,cfgID,value) -#define IDeckLinkConfiguration_v10_11_SetInt(This,cfgID,value) (This)->lpVtbl->SetInt(This,cfgID,value) -#define IDeckLinkConfiguration_v10_11_GetInt(This,cfgID,value) (This)->lpVtbl->GetInt(This,cfgID,value) -#define IDeckLinkConfiguration_v10_11_SetFloat(This,cfgID,value) (This)->lpVtbl->SetFloat(This,cfgID,value) -#define IDeckLinkConfiguration_v10_11_GetFloat(This,cfgID,value) (This)->lpVtbl->GetFloat(This,cfgID,value) -#define IDeckLinkConfiguration_v10_11_SetString(This,cfgID,value) (This)->lpVtbl->SetString(This,cfgID,value) -#define IDeckLinkConfiguration_v10_11_GetString(This,cfgID,value) (This)->lpVtbl->GetString(This,cfgID,value) -#define IDeckLinkConfiguration_v10_11_WriteConfigurationToPreferences(This) (This)->lpVtbl->WriteConfigurationToPreferences(This) -#else -/*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_11_QueryInterface(IDeckLinkConfiguration_v10_11* This,REFIID riid,void **ppvObject) { - return This->lpVtbl->QueryInterface(This,riid,ppvObject); -} -static FORCEINLINE ULONG IDeckLinkConfiguration_v10_11_AddRef(IDeckLinkConfiguration_v10_11* This) { - return This->lpVtbl->AddRef(This); -} -static FORCEINLINE ULONG IDeckLinkConfiguration_v10_11_Release(IDeckLinkConfiguration_v10_11* This) { - return This->lpVtbl->Release(This); -} -/*** IDeckLinkConfiguration_v10_11 methods ***/ -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_11_SetFlag(IDeckLinkConfiguration_v10_11* This,BMDDeckLinkConfigurationID cfgID,BOOL value) { - return This->lpVtbl->SetFlag(This,cfgID,value); -} -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_11_GetFlag(IDeckLinkConfiguration_v10_11* This,BMDDeckLinkConfigurationID cfgID,BOOL *value) { - return This->lpVtbl->GetFlag(This,cfgID,value); -} -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_11_SetInt(IDeckLinkConfiguration_v10_11* This,BMDDeckLinkConfigurationID cfgID,LONGLONG value) { - return This->lpVtbl->SetInt(This,cfgID,value); -} -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_11_GetInt(IDeckLinkConfiguration_v10_11* This,BMDDeckLinkConfigurationID cfgID,LONGLONG *value) { - return This->lpVtbl->GetInt(This,cfgID,value); -} -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_11_SetFloat(IDeckLinkConfiguration_v10_11* This,BMDDeckLinkConfigurationID cfgID,double value) { - return This->lpVtbl->SetFloat(This,cfgID,value); -} -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_11_GetFloat(IDeckLinkConfiguration_v10_11* This,BMDDeckLinkConfigurationID cfgID,double *value) { - return This->lpVtbl->GetFloat(This,cfgID,value); -} -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_11_SetString(IDeckLinkConfiguration_v10_11* This,BMDDeckLinkConfigurationID cfgID,BSTR value) { - return This->lpVtbl->SetString(This,cfgID,value); -} -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_11_GetString(IDeckLinkConfiguration_v10_11* This,BMDDeckLinkConfigurationID cfgID,BSTR *value) { - return This->lpVtbl->GetString(This,cfgID,value); -} -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_11_WriteConfigurationToPreferences(IDeckLinkConfiguration_v10_11* This) { - return This->lpVtbl->WriteConfigurationToPreferences(This); +static inline HRESULT IDeckLinkConfiguration_v10_11_WriteConfigurationToPreferences(IDeckLinkConfiguration_v10_11* This) { + return This->lpVtbl->WriteConfigurationToPreferences(This); } #endif #endif @@ -11306,26 +11185,26 @@ interface IDeckLinkAttributes_v10_11 { #define IDeckLinkAttributes_v10_11_GetString(This,cfgID,value) (This)->lpVtbl->GetString(This,cfgID,value) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkAttributes_v10_11_QueryInterface(IDeckLinkAttributes_v10_11* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkAttributes_v10_11_QueryInterface(IDeckLinkAttributes_v10_11* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkAttributes_v10_11_AddRef(IDeckLinkAttributes_v10_11* This) { +static inline ULONG IDeckLinkAttributes_v10_11_AddRef(IDeckLinkAttributes_v10_11* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkAttributes_v10_11_Release(IDeckLinkAttributes_v10_11* This) { +static inline ULONG IDeckLinkAttributes_v10_11_Release(IDeckLinkAttributes_v10_11* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkAttributes_v10_11 methods ***/ -static FORCEINLINE HRESULT IDeckLinkAttributes_v10_11_GetFlag(IDeckLinkAttributes_v10_11* This,BMDDeckLinkAttributeID cfgID,BOOL *value) { +static inline HRESULT IDeckLinkAttributes_v10_11_GetFlag(IDeckLinkAttributes_v10_11* This,BMDDeckLinkAttributeID cfgID,BOOL *value) { return This->lpVtbl->GetFlag(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkAttributes_v10_11_GetInt(IDeckLinkAttributes_v10_11* This,BMDDeckLinkAttributeID cfgID,LONGLONG *value) { +static inline HRESULT IDeckLinkAttributes_v10_11_GetInt(IDeckLinkAttributes_v10_11* This,BMDDeckLinkAttributeID cfgID,LONGLONG *value) { return This->lpVtbl->GetInt(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkAttributes_v10_11_GetFloat(IDeckLinkAttributes_v10_11* This,BMDDeckLinkAttributeID cfgID,double *value) { +static inline HRESULT IDeckLinkAttributes_v10_11_GetFloat(IDeckLinkAttributes_v10_11* This,BMDDeckLinkAttributeID cfgID,double *value) { return This->lpVtbl->GetFloat(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkAttributes_v10_11_GetString(IDeckLinkAttributes_v10_11* This,BMDDeckLinkAttributeID cfgID,BSTR *value) { +static inline HRESULT IDeckLinkAttributes_v10_11_GetString(IDeckLinkAttributes_v10_11* This,BMDDeckLinkAttributeID cfgID,BSTR *value) { return This->lpVtbl->GetString(This,cfgID,value); } #endif @@ -11671,98 +11550,98 @@ interface IDeckLinkOutput_v10_11 { #define IDeckLinkOutput_v10_11_GetFrameCompletionReferenceTimestamp(This,theFrame,desiredTimeScale,frameCompletionTimestamp) (This)->lpVtbl->GetFrameCompletionReferenceTimestamp(This,theFrame,desiredTimeScale,frameCompletionTimestamp) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_QueryInterface(IDeckLinkOutput_v10_11* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkOutput_v10_11_QueryInterface(IDeckLinkOutput_v10_11* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkOutput_v10_11_AddRef(IDeckLinkOutput_v10_11* This) { +static inline ULONG IDeckLinkOutput_v10_11_AddRef(IDeckLinkOutput_v10_11* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkOutput_v10_11_Release(IDeckLinkOutput_v10_11* This) { +static inline ULONG IDeckLinkOutput_v10_11_Release(IDeckLinkOutput_v10_11* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkOutput_v10_11 methods ***/ -static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_DoesSupportVideoMode(IDeckLinkOutput_v10_11* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoOutputFlags flags,BMDDisplayModeSupport_v10_11 *result,IDeckLinkDisplayMode **resultDisplayMode) { +static inline HRESULT IDeckLinkOutput_v10_11_DoesSupportVideoMode(IDeckLinkOutput_v10_11* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoOutputFlags flags,BMDDisplayModeSupport_v10_11 *result,IDeckLinkDisplayMode **resultDisplayMode) { return This->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode); } -static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_GetDisplayModeIterator(IDeckLinkOutput_v10_11* This,IDeckLinkDisplayModeIterator **iterator) { +static inline HRESULT IDeckLinkOutput_v10_11_GetDisplayModeIterator(IDeckLinkOutput_v10_11* This,IDeckLinkDisplayModeIterator **iterator) { return This->lpVtbl->GetDisplayModeIterator(This,iterator); } -static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_SetScreenPreviewCallback(IDeckLinkOutput_v10_11* This,IDeckLinkScreenPreviewCallback *previewCallback) { +static inline HRESULT IDeckLinkOutput_v10_11_SetScreenPreviewCallback(IDeckLinkOutput_v10_11* This,IDeckLinkScreenPreviewCallback *previewCallback) { return This->lpVtbl->SetScreenPreviewCallback(This,previewCallback); } -static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_EnableVideoOutput(IDeckLinkOutput_v10_11* This,BMDDisplayMode displayMode,BMDVideoOutputFlags flags) { +static inline HRESULT IDeckLinkOutput_v10_11_EnableVideoOutput(IDeckLinkOutput_v10_11* This,BMDDisplayMode displayMode,BMDVideoOutputFlags flags) { return This->lpVtbl->EnableVideoOutput(This,displayMode,flags); } -static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_DisableVideoOutput(IDeckLinkOutput_v10_11* This) { +static inline HRESULT IDeckLinkOutput_v10_11_DisableVideoOutput(IDeckLinkOutput_v10_11* This) { return This->lpVtbl->DisableVideoOutput(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_SetVideoOutputFrameMemoryAllocator(IDeckLinkOutput_v10_11* This,IDeckLinkMemoryAllocator *theAllocator) { +static inline HRESULT IDeckLinkOutput_v10_11_SetVideoOutputFrameMemoryAllocator(IDeckLinkOutput_v10_11* This,IDeckLinkMemoryAllocator *theAllocator) { return This->lpVtbl->SetVideoOutputFrameMemoryAllocator(This,theAllocator); } -static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_CreateVideoFrame(IDeckLinkOutput_v10_11* This,int width,int height,int rowBytes,BMDPixelFormat pixelFormat,BMDFrameFlags flags,IDeckLinkMutableVideoFrame **outFrame) { +static inline HRESULT IDeckLinkOutput_v10_11_CreateVideoFrame(IDeckLinkOutput_v10_11* This,int width,int height,int rowBytes,BMDPixelFormat pixelFormat,BMDFrameFlags flags,IDeckLinkMutableVideoFrame **outFrame) { return This->lpVtbl->CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame); } -static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_CreateAncillaryData(IDeckLinkOutput_v10_11* This,BMDPixelFormat pixelFormat,IDeckLinkVideoFrameAncillary **outBuffer) { +static inline HRESULT IDeckLinkOutput_v10_11_CreateAncillaryData(IDeckLinkOutput_v10_11* This,BMDPixelFormat pixelFormat,IDeckLinkVideoFrameAncillary **outBuffer) { return This->lpVtbl->CreateAncillaryData(This,pixelFormat,outBuffer); } -static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_DisplayVideoFrameSync(IDeckLinkOutput_v10_11* This,IDeckLinkVideoFrame *theFrame) { +static inline HRESULT IDeckLinkOutput_v10_11_DisplayVideoFrameSync(IDeckLinkOutput_v10_11* This,IDeckLinkVideoFrame *theFrame) { return This->lpVtbl->DisplayVideoFrameSync(This,theFrame); } -static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_ScheduleVideoFrame(IDeckLinkOutput_v10_11* This,IDeckLinkVideoFrame *theFrame,BMDTimeValue displayTime,BMDTimeValue displayDuration,BMDTimeScale timeScale) { +static inline HRESULT IDeckLinkOutput_v10_11_ScheduleVideoFrame(IDeckLinkOutput_v10_11* This,IDeckLinkVideoFrame *theFrame,BMDTimeValue displayTime,BMDTimeValue displayDuration,BMDTimeScale timeScale) { return This->lpVtbl->ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale); } -static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_SetScheduledFrameCompletionCallback(IDeckLinkOutput_v10_11* This,IDeckLinkVideoOutputCallback *theCallback) { +static inline HRESULT IDeckLinkOutput_v10_11_SetScheduledFrameCompletionCallback(IDeckLinkOutput_v10_11* This,IDeckLinkVideoOutputCallback *theCallback) { return This->lpVtbl->SetScheduledFrameCompletionCallback(This,theCallback); } -static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_GetBufferedVideoFrameCount(IDeckLinkOutput_v10_11* This,unsigned int *bufferedFrameCount) { +static inline HRESULT IDeckLinkOutput_v10_11_GetBufferedVideoFrameCount(IDeckLinkOutput_v10_11* This,unsigned int *bufferedFrameCount) { return This->lpVtbl->GetBufferedVideoFrameCount(This,bufferedFrameCount); } -static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_EnableAudioOutput(IDeckLinkOutput_v10_11* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount,BMDAudioOutputStreamType streamType) { +static inline HRESULT IDeckLinkOutput_v10_11_EnableAudioOutput(IDeckLinkOutput_v10_11* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount,BMDAudioOutputStreamType streamType) { return This->lpVtbl->EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType); } -static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_DisableAudioOutput(IDeckLinkOutput_v10_11* This) { +static inline HRESULT IDeckLinkOutput_v10_11_DisableAudioOutput(IDeckLinkOutput_v10_11* This) { return This->lpVtbl->DisableAudioOutput(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_WriteAudioSamplesSync(IDeckLinkOutput_v10_11* This,void *buffer,unsigned int sampleFrameCount,unsigned int *sampleFramesWritten) { +static inline HRESULT IDeckLinkOutput_v10_11_WriteAudioSamplesSync(IDeckLinkOutput_v10_11* This,void *buffer,unsigned int sampleFrameCount,unsigned int *sampleFramesWritten) { return This->lpVtbl->WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten); } -static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_BeginAudioPreroll(IDeckLinkOutput_v10_11* This) { +static inline HRESULT IDeckLinkOutput_v10_11_BeginAudioPreroll(IDeckLinkOutput_v10_11* This) { return This->lpVtbl->BeginAudioPreroll(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_EndAudioPreroll(IDeckLinkOutput_v10_11* This) { +static inline HRESULT IDeckLinkOutput_v10_11_EndAudioPreroll(IDeckLinkOutput_v10_11* This) { return This->lpVtbl->EndAudioPreroll(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_ScheduleAudioSamples(IDeckLinkOutput_v10_11* This,void *buffer,unsigned int sampleFrameCount,BMDTimeValue streamTime,BMDTimeScale timeScale,unsigned int *sampleFramesWritten) { +static inline HRESULT IDeckLinkOutput_v10_11_ScheduleAudioSamples(IDeckLinkOutput_v10_11* This,void *buffer,unsigned int sampleFrameCount,BMDTimeValue streamTime,BMDTimeScale timeScale,unsigned int *sampleFramesWritten) { return This->lpVtbl->ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten); } -static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_GetBufferedAudioSampleFrameCount(IDeckLinkOutput_v10_11* This,unsigned int *bufferedSampleFrameCount) { +static inline HRESULT IDeckLinkOutput_v10_11_GetBufferedAudioSampleFrameCount(IDeckLinkOutput_v10_11* This,unsigned int *bufferedSampleFrameCount) { return This->lpVtbl->GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount); } -static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_FlushBufferedAudioSamples(IDeckLinkOutput_v10_11* This) { +static inline HRESULT IDeckLinkOutput_v10_11_FlushBufferedAudioSamples(IDeckLinkOutput_v10_11* This) { return This->lpVtbl->FlushBufferedAudioSamples(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_SetAudioCallback(IDeckLinkOutput_v10_11* This,IDeckLinkAudioOutputCallback *theCallback) { +static inline HRESULT IDeckLinkOutput_v10_11_SetAudioCallback(IDeckLinkOutput_v10_11* This,IDeckLinkAudioOutputCallback *theCallback) { return This->lpVtbl->SetAudioCallback(This,theCallback); } -static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_StartScheduledPlayback(IDeckLinkOutput_v10_11* This,BMDTimeValue playbackStartTime,BMDTimeScale timeScale,double playbackSpeed) { +static inline HRESULT IDeckLinkOutput_v10_11_StartScheduledPlayback(IDeckLinkOutput_v10_11* This,BMDTimeValue playbackStartTime,BMDTimeScale timeScale,double playbackSpeed) { return This->lpVtbl->StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed); } -static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_StopScheduledPlayback(IDeckLinkOutput_v10_11* This,BMDTimeValue stopPlaybackAtTime,BMDTimeValue *actualStopTime,BMDTimeScale timeScale) { +static inline HRESULT IDeckLinkOutput_v10_11_StopScheduledPlayback(IDeckLinkOutput_v10_11* This,BMDTimeValue stopPlaybackAtTime,BMDTimeValue *actualStopTime,BMDTimeScale timeScale) { return This->lpVtbl->StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale); } -static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_IsScheduledPlaybackRunning(IDeckLinkOutput_v10_11* This,BOOL *active) { +static inline HRESULT IDeckLinkOutput_v10_11_IsScheduledPlaybackRunning(IDeckLinkOutput_v10_11* This,BOOL *active) { return This->lpVtbl->IsScheduledPlaybackRunning(This,active); } -static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_GetScheduledStreamTime(IDeckLinkOutput_v10_11* This,BMDTimeScale desiredTimeScale,BMDTimeValue *streamTime,double *playbackSpeed) { +static inline HRESULT IDeckLinkOutput_v10_11_GetScheduledStreamTime(IDeckLinkOutput_v10_11* This,BMDTimeScale desiredTimeScale,BMDTimeValue *streamTime,double *playbackSpeed) { return This->lpVtbl->GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed); } -static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_GetReferenceStatus(IDeckLinkOutput_v10_11* This,BMDReferenceStatus *referenceStatus) { +static inline HRESULT IDeckLinkOutput_v10_11_GetReferenceStatus(IDeckLinkOutput_v10_11* This,BMDReferenceStatus *referenceStatus) { return This->lpVtbl->GetReferenceStatus(This,referenceStatus); } -static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_GetHardwareReferenceClock(IDeckLinkOutput_v10_11* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) { +static inline HRESULT IDeckLinkOutput_v10_11_GetHardwareReferenceClock(IDeckLinkOutput_v10_11* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) { return This->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame); } -static FORCEINLINE HRESULT IDeckLinkOutput_v10_11_GetFrameCompletionReferenceTimestamp(IDeckLinkOutput_v10_11* This,IDeckLinkVideoFrame *theFrame,BMDTimeScale desiredTimeScale,BMDTimeValue *frameCompletionTimestamp) { +static inline HRESULT IDeckLinkOutput_v10_11_GetFrameCompletionReferenceTimestamp(IDeckLinkOutput_v10_11* This,IDeckLinkVideoFrame *theFrame,BMDTimeScale desiredTimeScale,BMDTimeValue *frameCompletionTimestamp) { return This->lpVtbl->GetFrameCompletionReferenceTimestamp(This,theFrame,desiredTimeScale,frameCompletionTimestamp); } #endif @@ -11835,7 +11714,7 @@ IDeckLinkInput_v10_11 : public IUnknown ) = 0; virtual HRESULT STDMETHODCALLTYPE SetCallback( - IDeckLinkInputCallback *theCallback) = 0; + IDeckLinkInputCallback_v11_5_1 *theCallback) = 0; virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( BMDTimeScale desiredTimeScale, @@ -11924,7 +11803,7 @@ typedef struct IDeckLinkInput_v10_11Vtbl { HRESULT (STDMETHODCALLTYPE *SetCallback)( IDeckLinkInput_v10_11 *This, - IDeckLinkInputCallback *theCallback); + IDeckLinkInputCallback_v11_5_1 *theCallback); HRESULT (STDMETHODCALLTYPE *GetHardwareReferenceClock)( IDeckLinkInput_v10_11 *This, @@ -11965,62 +11844,62 @@ interface IDeckLinkInput_v10_11 { #define IDeckLinkInput_v10_11_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) (This)->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkInput_v10_11_QueryInterface(IDeckLinkInput_v10_11* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkInput_v10_11_QueryInterface(IDeckLinkInput_v10_11* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkInput_v10_11_AddRef(IDeckLinkInput_v10_11* This) { +static inline ULONG IDeckLinkInput_v10_11_AddRef(IDeckLinkInput_v10_11* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkInput_v10_11_Release(IDeckLinkInput_v10_11* This) { +static inline ULONG IDeckLinkInput_v10_11_Release(IDeckLinkInput_v10_11* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkInput_v10_11 methods ***/ -static FORCEINLINE HRESULT IDeckLinkInput_v10_11_DoesSupportVideoMode(IDeckLinkInput_v10_11* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags,BMDDisplayModeSupport_v10_11 *result,IDeckLinkDisplayMode **resultDisplayMode) { +static inline HRESULT IDeckLinkInput_v10_11_DoesSupportVideoMode(IDeckLinkInput_v10_11* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags,BMDDisplayModeSupport_v10_11 *result,IDeckLinkDisplayMode **resultDisplayMode) { return This->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode); } -static FORCEINLINE HRESULT IDeckLinkInput_v10_11_GetDisplayModeIterator(IDeckLinkInput_v10_11* This,IDeckLinkDisplayModeIterator **iterator) { +static inline HRESULT IDeckLinkInput_v10_11_GetDisplayModeIterator(IDeckLinkInput_v10_11* This,IDeckLinkDisplayModeIterator **iterator) { return This->lpVtbl->GetDisplayModeIterator(This,iterator); } -static FORCEINLINE HRESULT IDeckLinkInput_v10_11_SetScreenPreviewCallback(IDeckLinkInput_v10_11* This,IDeckLinkScreenPreviewCallback *previewCallback) { +static inline HRESULT IDeckLinkInput_v10_11_SetScreenPreviewCallback(IDeckLinkInput_v10_11* This,IDeckLinkScreenPreviewCallback *previewCallback) { return This->lpVtbl->SetScreenPreviewCallback(This,previewCallback); } -static FORCEINLINE HRESULT IDeckLinkInput_v10_11_EnableVideoInput(IDeckLinkInput_v10_11* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags) { +static inline HRESULT IDeckLinkInput_v10_11_EnableVideoInput(IDeckLinkInput_v10_11* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags) { return This->lpVtbl->EnableVideoInput(This,displayMode,pixelFormat,flags); } -static FORCEINLINE HRESULT IDeckLinkInput_v10_11_DisableVideoInput(IDeckLinkInput_v10_11* This) { +static inline HRESULT IDeckLinkInput_v10_11_DisableVideoInput(IDeckLinkInput_v10_11* This) { return This->lpVtbl->DisableVideoInput(This); } -static FORCEINLINE HRESULT IDeckLinkInput_v10_11_GetAvailableVideoFrameCount(IDeckLinkInput_v10_11* This,unsigned int *availableFrameCount) { +static inline HRESULT IDeckLinkInput_v10_11_GetAvailableVideoFrameCount(IDeckLinkInput_v10_11* This,unsigned int *availableFrameCount) { return This->lpVtbl->GetAvailableVideoFrameCount(This,availableFrameCount); } -static FORCEINLINE HRESULT IDeckLinkInput_v10_11_SetVideoInputFrameMemoryAllocator(IDeckLinkInput_v10_11* This,IDeckLinkMemoryAllocator *theAllocator) { +static inline HRESULT IDeckLinkInput_v10_11_SetVideoInputFrameMemoryAllocator(IDeckLinkInput_v10_11* This,IDeckLinkMemoryAllocator *theAllocator) { return This->lpVtbl->SetVideoInputFrameMemoryAllocator(This,theAllocator); } -static FORCEINLINE HRESULT IDeckLinkInput_v10_11_EnableAudioInput(IDeckLinkInput_v10_11* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount) { +static inline HRESULT IDeckLinkInput_v10_11_EnableAudioInput(IDeckLinkInput_v10_11* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount) { return This->lpVtbl->EnableAudioInput(This,sampleRate,sampleType,channelCount); } -static FORCEINLINE HRESULT IDeckLinkInput_v10_11_DisableAudioInput(IDeckLinkInput_v10_11* This) { +static inline HRESULT IDeckLinkInput_v10_11_DisableAudioInput(IDeckLinkInput_v10_11* This) { return This->lpVtbl->DisableAudioInput(This); } -static FORCEINLINE HRESULT IDeckLinkInput_v10_11_GetAvailableAudioSampleFrameCount(IDeckLinkInput_v10_11* This,unsigned int *availableSampleFrameCount) { +static inline HRESULT IDeckLinkInput_v10_11_GetAvailableAudioSampleFrameCount(IDeckLinkInput_v10_11* This,unsigned int *availableSampleFrameCount) { return This->lpVtbl->GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount); } -static FORCEINLINE HRESULT IDeckLinkInput_v10_11_StartStreams(IDeckLinkInput_v10_11* This) { +static inline HRESULT IDeckLinkInput_v10_11_StartStreams(IDeckLinkInput_v10_11* This) { return This->lpVtbl->StartStreams(This); } -static FORCEINLINE HRESULT IDeckLinkInput_v10_11_StopStreams(IDeckLinkInput_v10_11* This) { +static inline HRESULT IDeckLinkInput_v10_11_StopStreams(IDeckLinkInput_v10_11* This) { return This->lpVtbl->StopStreams(This); } -static FORCEINLINE HRESULT IDeckLinkInput_v10_11_PauseStreams(IDeckLinkInput_v10_11* This) { +static inline HRESULT IDeckLinkInput_v10_11_PauseStreams(IDeckLinkInput_v10_11* This) { return This->lpVtbl->PauseStreams(This); } -static FORCEINLINE HRESULT IDeckLinkInput_v10_11_FlushStreams(IDeckLinkInput_v10_11* This) { +static inline HRESULT IDeckLinkInput_v10_11_FlushStreams(IDeckLinkInput_v10_11* This) { return This->lpVtbl->FlushStreams(This); } -static FORCEINLINE HRESULT IDeckLinkInput_v10_11_SetCallback(IDeckLinkInput_v10_11* This,IDeckLinkInputCallback *theCallback) { +static inline HRESULT IDeckLinkInput_v10_11_SetCallback(IDeckLinkInput_v10_11* This,IDeckLinkInputCallback_v11_5_1 *theCallback) { return This->lpVtbl->SetCallback(This,theCallback); } -static FORCEINLINE HRESULT IDeckLinkInput_v10_11_GetHardwareReferenceClock(IDeckLinkInput_v10_11* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) { +static inline HRESULT IDeckLinkInput_v10_11_GetHardwareReferenceClock(IDeckLinkInput_v10_11* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) { return This->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame); } #endif @@ -12217,59 +12096,59 @@ interface IDeckLinkEncoderInput_v10_11 { #define IDeckLinkEncoderInput_v10_11_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) (This)->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkEncoderInput_v10_11_QueryInterface(IDeckLinkEncoderInput_v10_11* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkEncoderInput_v10_11_QueryInterface(IDeckLinkEncoderInput_v10_11* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkEncoderInput_v10_11_AddRef(IDeckLinkEncoderInput_v10_11* This) { +static inline ULONG IDeckLinkEncoderInput_v10_11_AddRef(IDeckLinkEncoderInput_v10_11* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkEncoderInput_v10_11_Release(IDeckLinkEncoderInput_v10_11* This) { +static inline ULONG IDeckLinkEncoderInput_v10_11_Release(IDeckLinkEncoderInput_v10_11* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkEncoderInput_v10_11 methods ***/ -static FORCEINLINE HRESULT IDeckLinkEncoderInput_v10_11_DoesSupportVideoMode(IDeckLinkEncoderInput_v10_11* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags,BMDDisplayModeSupport_v10_11 *result,IDeckLinkDisplayMode **resultDisplayMode) { +static inline HRESULT IDeckLinkEncoderInput_v10_11_DoesSupportVideoMode(IDeckLinkEncoderInput_v10_11* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags,BMDDisplayModeSupport_v10_11 *result,IDeckLinkDisplayMode **resultDisplayMode) { return This->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode); } -static FORCEINLINE HRESULT IDeckLinkEncoderInput_v10_11_GetDisplayModeIterator(IDeckLinkEncoderInput_v10_11* This,IDeckLinkDisplayModeIterator **iterator) { +static inline HRESULT IDeckLinkEncoderInput_v10_11_GetDisplayModeIterator(IDeckLinkEncoderInput_v10_11* This,IDeckLinkDisplayModeIterator **iterator) { return This->lpVtbl->GetDisplayModeIterator(This,iterator); } -static FORCEINLINE HRESULT IDeckLinkEncoderInput_v10_11_EnableVideoInput(IDeckLinkEncoderInput_v10_11* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags) { +static inline HRESULT IDeckLinkEncoderInput_v10_11_EnableVideoInput(IDeckLinkEncoderInput_v10_11* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags) { return This->lpVtbl->EnableVideoInput(This,displayMode,pixelFormat,flags); } -static FORCEINLINE HRESULT IDeckLinkEncoderInput_v10_11_DisableVideoInput(IDeckLinkEncoderInput_v10_11* This) { +static inline HRESULT IDeckLinkEncoderInput_v10_11_DisableVideoInput(IDeckLinkEncoderInput_v10_11* This) { return This->lpVtbl->DisableVideoInput(This); } -static FORCEINLINE HRESULT IDeckLinkEncoderInput_v10_11_GetAvailablePacketsCount(IDeckLinkEncoderInput_v10_11* This,unsigned int *availablePacketsCount) { +static inline HRESULT IDeckLinkEncoderInput_v10_11_GetAvailablePacketsCount(IDeckLinkEncoderInput_v10_11* This,unsigned int *availablePacketsCount) { return This->lpVtbl->GetAvailablePacketsCount(This,availablePacketsCount); } -static FORCEINLINE HRESULT IDeckLinkEncoderInput_v10_11_SetMemoryAllocator(IDeckLinkEncoderInput_v10_11* This,IDeckLinkMemoryAllocator *theAllocator) { +static inline HRESULT IDeckLinkEncoderInput_v10_11_SetMemoryAllocator(IDeckLinkEncoderInput_v10_11* This,IDeckLinkMemoryAllocator *theAllocator) { return This->lpVtbl->SetMemoryAllocator(This,theAllocator); } -static FORCEINLINE HRESULT IDeckLinkEncoderInput_v10_11_EnableAudioInput(IDeckLinkEncoderInput_v10_11* This,BMDAudioFormat audioFormat,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount) { +static inline HRESULT IDeckLinkEncoderInput_v10_11_EnableAudioInput(IDeckLinkEncoderInput_v10_11* This,BMDAudioFormat audioFormat,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount) { return This->lpVtbl->EnableAudioInput(This,audioFormat,sampleRate,sampleType,channelCount); } -static FORCEINLINE HRESULT IDeckLinkEncoderInput_v10_11_DisableAudioInput(IDeckLinkEncoderInput_v10_11* This) { +static inline HRESULT IDeckLinkEncoderInput_v10_11_DisableAudioInput(IDeckLinkEncoderInput_v10_11* This) { return This->lpVtbl->DisableAudioInput(This); } -static FORCEINLINE HRESULT IDeckLinkEncoderInput_v10_11_GetAvailableAudioSampleFrameCount(IDeckLinkEncoderInput_v10_11* This,unsigned int *availableSampleFrameCount) { +static inline HRESULT IDeckLinkEncoderInput_v10_11_GetAvailableAudioSampleFrameCount(IDeckLinkEncoderInput_v10_11* This,unsigned int *availableSampleFrameCount) { return This->lpVtbl->GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount); } -static FORCEINLINE HRESULT IDeckLinkEncoderInput_v10_11_StartStreams(IDeckLinkEncoderInput_v10_11* This) { +static inline HRESULT IDeckLinkEncoderInput_v10_11_StartStreams(IDeckLinkEncoderInput_v10_11* This) { return This->lpVtbl->StartStreams(This); } -static FORCEINLINE HRESULT IDeckLinkEncoderInput_v10_11_StopStreams(IDeckLinkEncoderInput_v10_11* This) { +static inline HRESULT IDeckLinkEncoderInput_v10_11_StopStreams(IDeckLinkEncoderInput_v10_11* This) { return This->lpVtbl->StopStreams(This); } -static FORCEINLINE HRESULT IDeckLinkEncoderInput_v10_11_PauseStreams(IDeckLinkEncoderInput_v10_11* This) { +static inline HRESULT IDeckLinkEncoderInput_v10_11_PauseStreams(IDeckLinkEncoderInput_v10_11* This) { return This->lpVtbl->PauseStreams(This); } -static FORCEINLINE HRESULT IDeckLinkEncoderInput_v10_11_FlushStreams(IDeckLinkEncoderInput_v10_11* This) { +static inline HRESULT IDeckLinkEncoderInput_v10_11_FlushStreams(IDeckLinkEncoderInput_v10_11* This) { return This->lpVtbl->FlushStreams(This); } -static FORCEINLINE HRESULT IDeckLinkEncoderInput_v10_11_SetCallback(IDeckLinkEncoderInput_v10_11* This,IDeckLinkEncoderInputCallback *theCallback) { +static inline HRESULT IDeckLinkEncoderInput_v10_11_SetCallback(IDeckLinkEncoderInput_v10_11* This,IDeckLinkEncoderInputCallback *theCallback) { return This->lpVtbl->SetCallback(This,theCallback); } -static FORCEINLINE HRESULT IDeckLinkEncoderInput_v10_11_GetHardwareReferenceClock(IDeckLinkEncoderInput_v10_11* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) { +static inline HRESULT IDeckLinkEncoderInput_v10_11_GetHardwareReferenceClock(IDeckLinkEncoderInput_v10_11* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) { return This->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame); } #endif @@ -12348,20 +12227,20 @@ interface IDeckLinkNotification_v10_11 { #define IDeckLinkNotification_v10_11_Unsubscribe(This,topic,theCallback) (This)->lpVtbl->Unsubscribe(This,topic,theCallback) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkNotification_v10_11_QueryInterface(IDeckLinkNotification_v10_11* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkNotification_v10_11_QueryInterface(IDeckLinkNotification_v10_11* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkNotification_v10_11_AddRef(IDeckLinkNotification_v10_11* This) { +static inline ULONG IDeckLinkNotification_v10_11_AddRef(IDeckLinkNotification_v10_11* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkNotification_v10_11_Release(IDeckLinkNotification_v10_11* This) { +static inline ULONG IDeckLinkNotification_v10_11_Release(IDeckLinkNotification_v10_11* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkNotification_v10_11 methods ***/ -static FORCEINLINE HRESULT IDeckLinkNotification_v10_11_Subscribe(IDeckLinkNotification_v10_11* This,BMDNotifications topic,IDeckLinkNotificationCallback *theCallback) { +static inline HRESULT IDeckLinkNotification_v10_11_Subscribe(IDeckLinkNotification_v10_11* This,BMDNotifications topic,IDeckLinkNotificationCallback *theCallback) { return This->lpVtbl->Subscribe(This,topic,theCallback); } -static FORCEINLINE HRESULT IDeckLinkNotification_v10_11_Unsubscribe(IDeckLinkNotification_v10_11* This,BMDNotifications topic,IDeckLinkNotificationCallback *theCallback) { +static inline HRESULT IDeckLinkNotification_v10_11_Unsubscribe(IDeckLinkNotification_v10_11* This,BMDNotifications topic,IDeckLinkNotificationCallback *theCallback) { return This->lpVtbl->Unsubscribe(This,topic,theCallback); } #endif @@ -12398,94 +12277,188 @@ __CRT_UUID_DECL(CDeckLinkDiscovery_v10_11, 0x652615d4, 0x26cd, 0x4514, 0xb1,0x61 #endif #endif -typedef enum _BMDDeckLinkStatusID_v11_5_1 { - bmdDeckLinkStatusDetectedVideoInputFlags_v11_5_1 = 0x64766966 -} BMDDeckLinkStatusID_v11_5_1; +typedef enum _BMDDeckLinkConfigurationID_v10_9 { + bmdDeckLinkConfig1080pNotPsF_v10_9 = 0x6670726f +} BMDDeckLinkConfigurationID_v10_9; +#ifndef __IDeckLinkConfiguration_v10_9_FWD_DEFINED__ +#define __IDeckLinkConfiguration_v10_9_FWD_DEFINED__ +typedef interface IDeckLinkConfiguration_v10_9 IDeckLinkConfiguration_v10_9; +#ifdef __cplusplus +interface IDeckLinkConfiguration_v10_9; +#endif /* __cplusplus */ +#endif + /***************************************************************************** - * IDeckLinkInputCallback_v11_5_1 interface + * IDeckLinkConfiguration_v10_9 interface */ -#ifndef __IDeckLinkInputCallback_v11_5_1_INTERFACE_DEFINED__ -#define __IDeckLinkInputCallback_v11_5_1_INTERFACE_DEFINED__ +#ifndef __IDeckLinkConfiguration_v10_9_INTERFACE_DEFINED__ +#define __IDeckLinkConfiguration_v10_9_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDeckLinkInputCallback_v11_5_1, 0xdd04e5ec, 0x7415, 0x42ab, 0xae,0x4a, 0xe8,0x0c,0x4d,0xfc,0x04,0x4a); +DEFINE_GUID(IID_IDeckLinkConfiguration_v10_9, 0xcb71734a, 0xfe37, 0x4e8d, 0x8e,0x13, 0x80,0x21,0x33,0xa1,0xc3,0xf2); #if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("dd04e5ec-7415-42ab-ae4a-e80c4dfc044a") -IDeckLinkInputCallback_v11_5_1 : public IUnknown +MIDL_INTERFACE("cb71734a-fe37-4e8d-8e13-802133a1c3f2") +IDeckLinkConfiguration_v10_9 : public IUnknown { - virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged( - BMDVideoInputFormatChangedEvents notificationEvents, - IDeckLinkDisplayMode *newDisplayMode, - BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0; + virtual HRESULT STDMETHODCALLTYPE SetFlag( + BMDDeckLinkConfigurationID cfgID, + BOOL value) = 0; - virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived( - IDeckLinkVideoInputFrame *videoFrame, - IDeckLinkAudioInputPacket *audioPacket) = 0; + virtual HRESULT STDMETHODCALLTYPE GetFlag( + BMDDeckLinkConfigurationID cfgID, + BOOL *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetInt( + BMDDeckLinkConfigurationID cfgID, + LONGLONG value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetInt( + BMDDeckLinkConfigurationID cfgID, + LONGLONG *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFloat( + BMDDeckLinkConfigurationID cfgID, + double value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFloat( + BMDDeckLinkConfigurationID cfgID, + double *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetString( + BMDDeckLinkConfigurationID cfgID, + BSTR value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetString( + BMDDeckLinkConfigurationID cfgID, + BSTR *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences( + ) = 0; }; #ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDeckLinkInputCallback_v11_5_1, 0xdd04e5ec, 0x7415, 0x42ab, 0xae,0x4a, 0xe8,0x0c,0x4d,0xfc,0x04,0x4a) +__CRT_UUID_DECL(IDeckLinkConfiguration_v10_9, 0xcb71734a, 0xfe37, 0x4e8d, 0x8e,0x13, 0x80,0x21,0x33,0xa1,0xc3,0xf2) #endif #else -typedef struct IDeckLinkInputCallback_v11_5_1Vtbl { +typedef struct IDeckLinkConfiguration_v10_9Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDeckLinkInputCallback_v11_5_1 *This, + IDeckLinkConfiguration_v10_9 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( - IDeckLinkInputCallback_v11_5_1 *This); + IDeckLinkConfiguration_v10_9 *This); ULONG (STDMETHODCALLTYPE *Release)( - IDeckLinkInputCallback_v11_5_1 *This); + IDeckLinkConfiguration_v10_9 *This); - /*** IDeckLinkInputCallback_v11_5_1 methods ***/ - HRESULT (STDMETHODCALLTYPE *VideoInputFormatChanged)( - IDeckLinkInputCallback_v11_5_1 *This, - BMDVideoInputFormatChangedEvents notificationEvents, - IDeckLinkDisplayMode *newDisplayMode, - BMDDetectedVideoInputFormatFlags detectedSignalFlags); + /*** IDeckLinkConfiguration_v10_9 methods ***/ + HRESULT (STDMETHODCALLTYPE *SetFlag)( + IDeckLinkConfiguration_v10_9 *This, + BMDDeckLinkConfigurationID cfgID, + BOOL value); - HRESULT (STDMETHODCALLTYPE *VideoInputFrameArrived)( - IDeckLinkInputCallback_v11_5_1 *This, - IDeckLinkVideoInputFrame *videoFrame, - IDeckLinkAudioInputPacket *audioPacket); + HRESULT (STDMETHODCALLTYPE *GetFlag)( + IDeckLinkConfiguration_v10_9 *This, + BMDDeckLinkConfigurationID cfgID, + BOOL *value); + + HRESULT (STDMETHODCALLTYPE *SetInt)( + IDeckLinkConfiguration_v10_9 *This, + BMDDeckLinkConfigurationID cfgID, + LONGLONG value); + + HRESULT (STDMETHODCALLTYPE *GetInt)( + IDeckLinkConfiguration_v10_9 *This, + BMDDeckLinkConfigurationID cfgID, + LONGLONG *value); + + HRESULT (STDMETHODCALLTYPE *SetFloat)( + IDeckLinkConfiguration_v10_9 *This, + BMDDeckLinkConfigurationID cfgID, + double value); + + HRESULT (STDMETHODCALLTYPE *GetFloat)( + IDeckLinkConfiguration_v10_9 *This, + BMDDeckLinkConfigurationID cfgID, + double *value); + + HRESULT (STDMETHODCALLTYPE *SetString)( + IDeckLinkConfiguration_v10_9 *This, + BMDDeckLinkConfigurationID cfgID, + BSTR value); + + HRESULT (STDMETHODCALLTYPE *GetString)( + IDeckLinkConfiguration_v10_9 *This, + BMDDeckLinkConfigurationID cfgID, + BSTR *value); + + HRESULT (STDMETHODCALLTYPE *WriteConfigurationToPreferences)( + IDeckLinkConfiguration_v10_9 *This); END_INTERFACE -} IDeckLinkInputCallback_v11_5_1Vtbl; +} IDeckLinkConfiguration_v10_9Vtbl; -interface IDeckLinkInputCallback_v11_5_1 { - CONST_VTBL IDeckLinkInputCallback_v11_5_1Vtbl* lpVtbl; +interface IDeckLinkConfiguration_v10_9 { + CONST_VTBL IDeckLinkConfiguration_v10_9Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ -#define IDeckLinkInputCallback_v11_5_1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) -#define IDeckLinkInputCallback_v11_5_1_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDeckLinkInputCallback_v11_5_1_Release(This) (This)->lpVtbl->Release(This) -/*** IDeckLinkInputCallback_v11_5_1 methods ***/ -#define IDeckLinkInputCallback_v11_5_1_VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) (This)->lpVtbl->VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) -#define IDeckLinkInputCallback_v11_5_1_VideoInputFrameArrived(This,videoFrame,audioPacket) (This)->lpVtbl->VideoInputFrameArrived(This,videoFrame,audioPacket) +#define IDeckLinkConfiguration_v10_9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDeckLinkConfiguration_v10_9_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDeckLinkConfiguration_v10_9_Release(This) (This)->lpVtbl->Release(This) +/*** IDeckLinkConfiguration_v10_9 methods ***/ +#define IDeckLinkConfiguration_v10_9_SetFlag(This,cfgID,value) (This)->lpVtbl->SetFlag(This,cfgID,value) +#define IDeckLinkConfiguration_v10_9_GetFlag(This,cfgID,value) (This)->lpVtbl->GetFlag(This,cfgID,value) +#define IDeckLinkConfiguration_v10_9_SetInt(This,cfgID,value) (This)->lpVtbl->SetInt(This,cfgID,value) +#define IDeckLinkConfiguration_v10_9_GetInt(This,cfgID,value) (This)->lpVtbl->GetInt(This,cfgID,value) +#define IDeckLinkConfiguration_v10_9_SetFloat(This,cfgID,value) (This)->lpVtbl->SetFloat(This,cfgID,value) +#define IDeckLinkConfiguration_v10_9_GetFloat(This,cfgID,value) (This)->lpVtbl->GetFloat(This,cfgID,value) +#define IDeckLinkConfiguration_v10_9_SetString(This,cfgID,value) (This)->lpVtbl->SetString(This,cfgID,value) +#define IDeckLinkConfiguration_v10_9_GetString(This,cfgID,value) (This)->lpVtbl->GetString(This,cfgID,value) +#define IDeckLinkConfiguration_v10_9_WriteConfigurationToPreferences(This) (This)->lpVtbl->WriteConfigurationToPreferences(This) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkInputCallback_v11_5_1_QueryInterface(IDeckLinkInputCallback_v11_5_1* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkConfiguration_v10_9_QueryInterface(IDeckLinkConfiguration_v10_9* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkInputCallback_v11_5_1_AddRef(IDeckLinkInputCallback_v11_5_1* This) { +static inline ULONG IDeckLinkConfiguration_v10_9_AddRef(IDeckLinkConfiguration_v10_9* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkInputCallback_v11_5_1_Release(IDeckLinkInputCallback_v11_5_1* This) { +static inline ULONG IDeckLinkConfiguration_v10_9_Release(IDeckLinkConfiguration_v10_9* This) { return This->lpVtbl->Release(This); } -/*** IDeckLinkInputCallback_v11_5_1 methods ***/ -static FORCEINLINE HRESULT IDeckLinkInputCallback_v11_5_1_VideoInputFormatChanged(IDeckLinkInputCallback_v11_5_1* This,BMDVideoInputFormatChangedEvents notificationEvents,IDeckLinkDisplayMode *newDisplayMode,BMDDetectedVideoInputFormatFlags detectedSignalFlags) { - return This->lpVtbl->VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags); +/*** IDeckLinkConfiguration_v10_9 methods ***/ +static inline HRESULT IDeckLinkConfiguration_v10_9_SetFlag(IDeckLinkConfiguration_v10_9* This,BMDDeckLinkConfigurationID cfgID,BOOL value) { + return This->lpVtbl->SetFlag(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkInputCallback_v11_5_1_VideoInputFrameArrived(IDeckLinkInputCallback_v11_5_1* This,IDeckLinkVideoInputFrame *videoFrame,IDeckLinkAudioInputPacket *audioPacket) { - return This->lpVtbl->VideoInputFrameArrived(This,videoFrame,audioPacket); +static inline HRESULT IDeckLinkConfiguration_v10_9_GetFlag(IDeckLinkConfiguration_v10_9* This,BMDDeckLinkConfigurationID cfgID,BOOL *value) { + return This->lpVtbl->GetFlag(This,cfgID,value); +} +static inline HRESULT IDeckLinkConfiguration_v10_9_SetInt(IDeckLinkConfiguration_v10_9* This,BMDDeckLinkConfigurationID cfgID,LONGLONG value) { + return This->lpVtbl->SetInt(This,cfgID,value); +} +static inline HRESULT IDeckLinkConfiguration_v10_9_GetInt(IDeckLinkConfiguration_v10_9* This,BMDDeckLinkConfigurationID cfgID,LONGLONG *value) { + return This->lpVtbl->GetInt(This,cfgID,value); +} +static inline HRESULT IDeckLinkConfiguration_v10_9_SetFloat(IDeckLinkConfiguration_v10_9* This,BMDDeckLinkConfigurationID cfgID,double value) { + return This->lpVtbl->SetFloat(This,cfgID,value); +} +static inline HRESULT IDeckLinkConfiguration_v10_9_GetFloat(IDeckLinkConfiguration_v10_9* This,BMDDeckLinkConfigurationID cfgID,double *value) { + return This->lpVtbl->GetFloat(This,cfgID,value); +} +static inline HRESULT IDeckLinkConfiguration_v10_9_SetString(IDeckLinkConfiguration_v10_9* This,BMDDeckLinkConfigurationID cfgID,BSTR value) { + return This->lpVtbl->SetString(This,cfgID,value); +} +static inline HRESULT IDeckLinkConfiguration_v10_9_GetString(IDeckLinkConfiguration_v10_9* This,BMDDeckLinkConfigurationID cfgID,BSTR *value) { + return This->lpVtbl->GetString(This,cfgID,value); +} +static inline HRESULT IDeckLinkConfiguration_v10_9_WriteConfigurationToPreferences(IDeckLinkConfiguration_v10_9* This) { + return This->lpVtbl->WriteConfigurationToPreferences(This); } #endif #endif @@ -12493,274 +12466,203 @@ static FORCEINLINE HRESULT IDeckLinkInputCallback_v11_5_1_VideoInputFrameArrived #endif -#endif /* __IDeckLinkInputCallback_v11_5_1_INTERFACE_DEFINED__ */ +#endif /* __IDeckLinkConfiguration_v10_9_INTERFACE_DEFINED__ */ /***************************************************************************** - * IDeckLinkInput_v11_5_1 interface + * CBMDStreamingDiscovery_v10_8 coclass */ -#ifndef __IDeckLinkInput_v11_5_1_INTERFACE_DEFINED__ -#define __IDeckLinkInput_v11_5_1_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDeckLinkInput_v11_5_1, 0x9434c6e4, 0xb15d, 0x4b1c, 0x97,0x9e, 0x66,0x1e,0x3d,0xdc,0xb4,0xb9); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("9434c6e4-b15d-4b1c-979e-661e3ddcb4b9") -IDeckLinkInput_v11_5_1 : public IUnknown -{ - virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( - BMDVideoConnection connection, - BMDDisplayMode requestedMode, - BMDPixelFormat requestedPixelFormat, - BMDVideoInputConversionMode conversionMode, - BMDSupportedVideoModeFlags flags, - BMDDisplayMode *actualMode, - BOOL *supported) = 0; - virtual HRESULT STDMETHODCALLTYPE GetDisplayMode( - BMDDisplayMode displayMode, - IDeckLinkDisplayMode **resultDisplayMode) = 0; +DEFINE_GUID(CLSID_CBMDStreamingDiscovery_v10_8, 0x0caa31f6, 0x8a26, 0x40b0, 0x86,0xa4, 0xbf,0x58,0xdc,0xca,0x71,0x0c); - virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( - IDeckLinkDisplayModeIterator **iterator) = 0; +#ifdef __cplusplus +class DECLSPEC_UUID("0caa31f6-8a26-40b0-86a4-bf58dcca710c") CBMDStreamingDiscovery_v10_8; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CBMDStreamingDiscovery_v10_8, 0x0caa31f6, 0x8a26, 0x40b0, 0x86,0xa4, 0xbf,0x58,0xdc,0xca,0x71,0x0c) +#endif +#endif - virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( - IDeckLinkScreenPreviewCallback *previewCallback) = 0; +typedef enum _BMDDeckLinkConfigurationID_v10_4 { + bmdDeckLinkConfigSingleLinkVideoOutput_v10_4 = 0x73676c6f +} BMDDeckLinkConfigurationID_v10_4; +#ifndef __IDeckLinkConfiguration_v10_4_FWD_DEFINED__ +#define __IDeckLinkConfiguration_v10_4_FWD_DEFINED__ +typedef interface IDeckLinkConfiguration_v10_4 IDeckLinkConfiguration_v10_4; +#ifdef __cplusplus +interface IDeckLinkConfiguration_v10_4; +#endif /* __cplusplus */ +#endif - virtual HRESULT STDMETHODCALLTYPE EnableVideoInput( - BMDDisplayMode displayMode, - BMDPixelFormat pixelFormat, - BMDVideoInputFlags flags) = 0; +/***************************************************************************** + * IDeckLinkConfiguration_v10_4 interface + */ +#ifndef __IDeckLinkConfiguration_v10_4_INTERFACE_DEFINED__ +#define __IDeckLinkConfiguration_v10_4_INTERFACE_DEFINED__ - virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( - ) = 0; +DEFINE_GUID(IID_IDeckLinkConfiguration_v10_4, 0x1e69fcf6, 0x4203, 0x4936, 0x80,0x76, 0x2a,0x9f,0x4c,0xfd,0x50,0xcb); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("1e69fcf6-4203-4936-8076-2a9f4cfd50cb") +IDeckLinkConfiguration_v10_4 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetFlag( + BMDDeckLinkConfigurationID cfgID, + BOOL value) = 0; - virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount( - unsigned int *availableFrameCount) = 0; + virtual HRESULT STDMETHODCALLTYPE GetFlag( + BMDDeckLinkConfigurationID cfgID, + BOOL *value) = 0; - virtual HRESULT STDMETHODCALLTYPE SetVideoInputFrameMemoryAllocator( - IDeckLinkMemoryAllocator *theAllocator) = 0; + virtual HRESULT STDMETHODCALLTYPE SetInt( + BMDDeckLinkConfigurationID cfgID, + LONGLONG value) = 0; - virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( - BMDAudioSampleRate sampleRate, - BMDAudioSampleType sampleType, - unsigned int channelCount) = 0; + virtual HRESULT STDMETHODCALLTYPE GetInt( + BMDDeckLinkConfigurationID cfgID, + LONGLONG *value) = 0; - virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( - ) = 0; + virtual HRESULT STDMETHODCALLTYPE SetFloat( + BMDDeckLinkConfigurationID cfgID, + double value) = 0; - virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount( - unsigned int *availableSampleFrameCount) = 0; + virtual HRESULT STDMETHODCALLTYPE GetFloat( + BMDDeckLinkConfigurationID cfgID, + double *value) = 0; - virtual HRESULT STDMETHODCALLTYPE StartStreams( - ) = 0; + virtual HRESULT STDMETHODCALLTYPE SetString( + BMDDeckLinkConfigurationID cfgID, + BSTR value) = 0; - virtual HRESULT STDMETHODCALLTYPE StopStreams( - ) = 0; + virtual HRESULT STDMETHODCALLTYPE GetString( + BMDDeckLinkConfigurationID cfgID, + BSTR *value) = 0; - virtual HRESULT STDMETHODCALLTYPE PauseStreams( + virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences( ) = 0; - virtual HRESULT STDMETHODCALLTYPE FlushStreams( - ) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetCallback( - IDeckLinkInputCallback_v11_5_1 *theCallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( - BMDTimeScale desiredTimeScale, - BMDTimeValue *hardwareTime, - BMDTimeValue *timeInFrame, - BMDTimeValue *ticksPerFrame) = 0; - -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDeckLinkInput_v11_5_1, 0x9434c6e4, 0xb15d, 0x4b1c, 0x97,0x9e, 0x66,0x1e,0x3d,0xdc,0xb4,0xb9) -#endif -#else -typedef struct IDeckLinkInput_v11_5_1Vtbl { - BEGIN_INTERFACE +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IDeckLinkConfiguration_v10_4, 0x1e69fcf6, 0x4203, 0x4936, 0x80,0x76, 0x2a,0x9f,0x4c,0xfd,0x50,0xcb) +#endif +#else +typedef struct IDeckLinkConfiguration_v10_4Vtbl { + BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDeckLinkInput_v11_5_1 *This, + IDeckLinkConfiguration_v10_4 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( - IDeckLinkInput_v11_5_1 *This); + IDeckLinkConfiguration_v10_4 *This); ULONG (STDMETHODCALLTYPE *Release)( - IDeckLinkInput_v11_5_1 *This); - - /*** IDeckLinkInput_v11_5_1 methods ***/ - HRESULT (STDMETHODCALLTYPE *DoesSupportVideoMode)( - IDeckLinkInput_v11_5_1 *This, - BMDVideoConnection connection, - BMDDisplayMode requestedMode, - BMDPixelFormat requestedPixelFormat, - BMDVideoInputConversionMode conversionMode, - BMDSupportedVideoModeFlags flags, - BMDDisplayMode *actualMode, - BOOL *supported); - - HRESULT (STDMETHODCALLTYPE *GetDisplayMode)( - IDeckLinkInput_v11_5_1 *This, - BMDDisplayMode displayMode, - IDeckLinkDisplayMode **resultDisplayMode); - - HRESULT (STDMETHODCALLTYPE *GetDisplayModeIterator)( - IDeckLinkInput_v11_5_1 *This, - IDeckLinkDisplayModeIterator **iterator); - - HRESULT (STDMETHODCALLTYPE *SetScreenPreviewCallback)( - IDeckLinkInput_v11_5_1 *This, - IDeckLinkScreenPreviewCallback *previewCallback); - - HRESULT (STDMETHODCALLTYPE *EnableVideoInput)( - IDeckLinkInput_v11_5_1 *This, - BMDDisplayMode displayMode, - BMDPixelFormat pixelFormat, - BMDVideoInputFlags flags); - - HRESULT (STDMETHODCALLTYPE *DisableVideoInput)( - IDeckLinkInput_v11_5_1 *This); - - HRESULT (STDMETHODCALLTYPE *GetAvailableVideoFrameCount)( - IDeckLinkInput_v11_5_1 *This, - unsigned int *availableFrameCount); - - HRESULT (STDMETHODCALLTYPE *SetVideoInputFrameMemoryAllocator)( - IDeckLinkInput_v11_5_1 *This, - IDeckLinkMemoryAllocator *theAllocator); + IDeckLinkConfiguration_v10_4 *This); - HRESULT (STDMETHODCALLTYPE *EnableAudioInput)( - IDeckLinkInput_v11_5_1 *This, - BMDAudioSampleRate sampleRate, - BMDAudioSampleType sampleType, - unsigned int channelCount); + /*** IDeckLinkConfiguration_v10_4 methods ***/ + HRESULT (STDMETHODCALLTYPE *SetFlag)( + IDeckLinkConfiguration_v10_4 *This, + BMDDeckLinkConfigurationID cfgID, + BOOL value); - HRESULT (STDMETHODCALLTYPE *DisableAudioInput)( - IDeckLinkInput_v11_5_1 *This); + HRESULT (STDMETHODCALLTYPE *GetFlag)( + IDeckLinkConfiguration_v10_4 *This, + BMDDeckLinkConfigurationID cfgID, + BOOL *value); - HRESULT (STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount)( - IDeckLinkInput_v11_5_1 *This, - unsigned int *availableSampleFrameCount); + HRESULT (STDMETHODCALLTYPE *SetInt)( + IDeckLinkConfiguration_v10_4 *This, + BMDDeckLinkConfigurationID cfgID, + LONGLONG value); - HRESULT (STDMETHODCALLTYPE *StartStreams)( - IDeckLinkInput_v11_5_1 *This); + HRESULT (STDMETHODCALLTYPE *GetInt)( + IDeckLinkConfiguration_v10_4 *This, + BMDDeckLinkConfigurationID cfgID, + LONGLONG *value); - HRESULT (STDMETHODCALLTYPE *StopStreams)( - IDeckLinkInput_v11_5_1 *This); + HRESULT (STDMETHODCALLTYPE *SetFloat)( + IDeckLinkConfiguration_v10_4 *This, + BMDDeckLinkConfigurationID cfgID, + double value); - HRESULT (STDMETHODCALLTYPE *PauseStreams)( - IDeckLinkInput_v11_5_1 *This); + HRESULT (STDMETHODCALLTYPE *GetFloat)( + IDeckLinkConfiguration_v10_4 *This, + BMDDeckLinkConfigurationID cfgID, + double *value); - HRESULT (STDMETHODCALLTYPE *FlushStreams)( - IDeckLinkInput_v11_5_1 *This); + HRESULT (STDMETHODCALLTYPE *SetString)( + IDeckLinkConfiguration_v10_4 *This, + BMDDeckLinkConfigurationID cfgID, + BSTR value); - HRESULT (STDMETHODCALLTYPE *SetCallback)( - IDeckLinkInput_v11_5_1 *This, - IDeckLinkInputCallback_v11_5_1 *theCallback); + HRESULT (STDMETHODCALLTYPE *GetString)( + IDeckLinkConfiguration_v10_4 *This, + BMDDeckLinkConfigurationID cfgID, + BSTR *value); - HRESULT (STDMETHODCALLTYPE *GetHardwareReferenceClock)( - IDeckLinkInput_v11_5_1 *This, - BMDTimeScale desiredTimeScale, - BMDTimeValue *hardwareTime, - BMDTimeValue *timeInFrame, - BMDTimeValue *ticksPerFrame); + HRESULT (STDMETHODCALLTYPE *WriteConfigurationToPreferences)( + IDeckLinkConfiguration_v10_4 *This); END_INTERFACE -} IDeckLinkInput_v11_5_1Vtbl; +} IDeckLinkConfiguration_v10_4Vtbl; -interface IDeckLinkInput_v11_5_1 { - CONST_VTBL IDeckLinkInput_v11_5_1Vtbl* lpVtbl; +interface IDeckLinkConfiguration_v10_4 { + CONST_VTBL IDeckLinkConfiguration_v10_4Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ -#define IDeckLinkInput_v11_5_1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) -#define IDeckLinkInput_v11_5_1_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDeckLinkInput_v11_5_1_Release(This) (This)->lpVtbl->Release(This) -/*** IDeckLinkInput_v11_5_1 methods ***/ -#define IDeckLinkInput_v11_5_1_DoesSupportVideoMode(This,connection,requestedMode,requestedPixelFormat,conversionMode,flags,actualMode,supported) (This)->lpVtbl->DoesSupportVideoMode(This,connection,requestedMode,requestedPixelFormat,conversionMode,flags,actualMode,supported) -#define IDeckLinkInput_v11_5_1_GetDisplayMode(This,displayMode,resultDisplayMode) (This)->lpVtbl->GetDisplayMode(This,displayMode,resultDisplayMode) -#define IDeckLinkInput_v11_5_1_GetDisplayModeIterator(This,iterator) (This)->lpVtbl->GetDisplayModeIterator(This,iterator) -#define IDeckLinkInput_v11_5_1_SetScreenPreviewCallback(This,previewCallback) (This)->lpVtbl->SetScreenPreviewCallback(This,previewCallback) -#define IDeckLinkInput_v11_5_1_EnableVideoInput(This,displayMode,pixelFormat,flags) (This)->lpVtbl->EnableVideoInput(This,displayMode,pixelFormat,flags) -#define IDeckLinkInput_v11_5_1_DisableVideoInput(This) (This)->lpVtbl->DisableVideoInput(This) -#define IDeckLinkInput_v11_5_1_GetAvailableVideoFrameCount(This,availableFrameCount) (This)->lpVtbl->GetAvailableVideoFrameCount(This,availableFrameCount) -#define IDeckLinkInput_v11_5_1_SetVideoInputFrameMemoryAllocator(This,theAllocator) (This)->lpVtbl->SetVideoInputFrameMemoryAllocator(This,theAllocator) -#define IDeckLinkInput_v11_5_1_EnableAudioInput(This,sampleRate,sampleType,channelCount) (This)->lpVtbl->EnableAudioInput(This,sampleRate,sampleType,channelCount) -#define IDeckLinkInput_v11_5_1_DisableAudioInput(This) (This)->lpVtbl->DisableAudioInput(This) -#define IDeckLinkInput_v11_5_1_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) (This)->lpVtbl->GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) -#define IDeckLinkInput_v11_5_1_StartStreams(This) (This)->lpVtbl->StartStreams(This) -#define IDeckLinkInput_v11_5_1_StopStreams(This) (This)->lpVtbl->StopStreams(This) -#define IDeckLinkInput_v11_5_1_PauseStreams(This) (This)->lpVtbl->PauseStreams(This) -#define IDeckLinkInput_v11_5_1_FlushStreams(This) (This)->lpVtbl->FlushStreams(This) -#define IDeckLinkInput_v11_5_1_SetCallback(This,theCallback) (This)->lpVtbl->SetCallback(This,theCallback) -#define IDeckLinkInput_v11_5_1_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) (This)->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) +#define IDeckLinkConfiguration_v10_4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDeckLinkConfiguration_v10_4_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDeckLinkConfiguration_v10_4_Release(This) (This)->lpVtbl->Release(This) +/*** IDeckLinkConfiguration_v10_4 methods ***/ +#define IDeckLinkConfiguration_v10_4_SetFlag(This,cfgID,value) (This)->lpVtbl->SetFlag(This,cfgID,value) +#define IDeckLinkConfiguration_v10_4_GetFlag(This,cfgID,value) (This)->lpVtbl->GetFlag(This,cfgID,value) +#define IDeckLinkConfiguration_v10_4_SetInt(This,cfgID,value) (This)->lpVtbl->SetInt(This,cfgID,value) +#define IDeckLinkConfiguration_v10_4_GetInt(This,cfgID,value) (This)->lpVtbl->GetInt(This,cfgID,value) +#define IDeckLinkConfiguration_v10_4_SetFloat(This,cfgID,value) (This)->lpVtbl->SetFloat(This,cfgID,value) +#define IDeckLinkConfiguration_v10_4_GetFloat(This,cfgID,value) (This)->lpVtbl->GetFloat(This,cfgID,value) +#define IDeckLinkConfiguration_v10_4_SetString(This,cfgID,value) (This)->lpVtbl->SetString(This,cfgID,value) +#define IDeckLinkConfiguration_v10_4_GetString(This,cfgID,value) (This)->lpVtbl->GetString(This,cfgID,value) +#define IDeckLinkConfiguration_v10_4_WriteConfigurationToPreferences(This) (This)->lpVtbl->WriteConfigurationToPreferences(This) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkInput_v11_5_1_QueryInterface(IDeckLinkInput_v11_5_1* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkConfiguration_v10_4_QueryInterface(IDeckLinkConfiguration_v10_4* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkInput_v11_5_1_AddRef(IDeckLinkInput_v11_5_1* This) { +static inline ULONG IDeckLinkConfiguration_v10_4_AddRef(IDeckLinkConfiguration_v10_4* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkInput_v11_5_1_Release(IDeckLinkInput_v11_5_1* This) { +static inline ULONG IDeckLinkConfiguration_v10_4_Release(IDeckLinkConfiguration_v10_4* This) { return This->lpVtbl->Release(This); } -/*** IDeckLinkInput_v11_5_1 methods ***/ -static FORCEINLINE HRESULT IDeckLinkInput_v11_5_1_DoesSupportVideoMode(IDeckLinkInput_v11_5_1* This,BMDVideoConnection connection,BMDDisplayMode requestedMode,BMDPixelFormat requestedPixelFormat,BMDVideoInputConversionMode conversionMode,BMDSupportedVideoModeFlags flags,BMDDisplayMode *actualMode,BOOL *supported) { - return This->lpVtbl->DoesSupportVideoMode(This,connection,requestedMode,requestedPixelFormat,conversionMode,flags,actualMode,supported); -} -static FORCEINLINE HRESULT IDeckLinkInput_v11_5_1_GetDisplayMode(IDeckLinkInput_v11_5_1* This,BMDDisplayMode displayMode,IDeckLinkDisplayMode **resultDisplayMode) { - return This->lpVtbl->GetDisplayMode(This,displayMode,resultDisplayMode); -} -static FORCEINLINE HRESULT IDeckLinkInput_v11_5_1_GetDisplayModeIterator(IDeckLinkInput_v11_5_1* This,IDeckLinkDisplayModeIterator **iterator) { - return This->lpVtbl->GetDisplayModeIterator(This,iterator); -} -static FORCEINLINE HRESULT IDeckLinkInput_v11_5_1_SetScreenPreviewCallback(IDeckLinkInput_v11_5_1* This,IDeckLinkScreenPreviewCallback *previewCallback) { - return This->lpVtbl->SetScreenPreviewCallback(This,previewCallback); -} -static FORCEINLINE HRESULT IDeckLinkInput_v11_5_1_EnableVideoInput(IDeckLinkInput_v11_5_1* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags) { - return This->lpVtbl->EnableVideoInput(This,displayMode,pixelFormat,flags); -} -static FORCEINLINE HRESULT IDeckLinkInput_v11_5_1_DisableVideoInput(IDeckLinkInput_v11_5_1* This) { - return This->lpVtbl->DisableVideoInput(This); -} -static FORCEINLINE HRESULT IDeckLinkInput_v11_5_1_GetAvailableVideoFrameCount(IDeckLinkInput_v11_5_1* This,unsigned int *availableFrameCount) { - return This->lpVtbl->GetAvailableVideoFrameCount(This,availableFrameCount); -} -static FORCEINLINE HRESULT IDeckLinkInput_v11_5_1_SetVideoInputFrameMemoryAllocator(IDeckLinkInput_v11_5_1* This,IDeckLinkMemoryAllocator *theAllocator) { - return This->lpVtbl->SetVideoInputFrameMemoryAllocator(This,theAllocator); -} -static FORCEINLINE HRESULT IDeckLinkInput_v11_5_1_EnableAudioInput(IDeckLinkInput_v11_5_1* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount) { - return This->lpVtbl->EnableAudioInput(This,sampleRate,sampleType,channelCount); +/*** IDeckLinkConfiguration_v10_4 methods ***/ +static inline HRESULT IDeckLinkConfiguration_v10_4_SetFlag(IDeckLinkConfiguration_v10_4* This,BMDDeckLinkConfigurationID cfgID,BOOL value) { + return This->lpVtbl->SetFlag(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkInput_v11_5_1_DisableAudioInput(IDeckLinkInput_v11_5_1* This) { - return This->lpVtbl->DisableAudioInput(This); +static inline HRESULT IDeckLinkConfiguration_v10_4_GetFlag(IDeckLinkConfiguration_v10_4* This,BMDDeckLinkConfigurationID cfgID,BOOL *value) { + return This->lpVtbl->GetFlag(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkInput_v11_5_1_GetAvailableAudioSampleFrameCount(IDeckLinkInput_v11_5_1* This,unsigned int *availableSampleFrameCount) { - return This->lpVtbl->GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount); +static inline HRESULT IDeckLinkConfiguration_v10_4_SetInt(IDeckLinkConfiguration_v10_4* This,BMDDeckLinkConfigurationID cfgID,LONGLONG value) { + return This->lpVtbl->SetInt(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkInput_v11_5_1_StartStreams(IDeckLinkInput_v11_5_1* This) { - return This->lpVtbl->StartStreams(This); +static inline HRESULT IDeckLinkConfiguration_v10_4_GetInt(IDeckLinkConfiguration_v10_4* This,BMDDeckLinkConfigurationID cfgID,LONGLONG *value) { + return This->lpVtbl->GetInt(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkInput_v11_5_1_StopStreams(IDeckLinkInput_v11_5_1* This) { - return This->lpVtbl->StopStreams(This); +static inline HRESULT IDeckLinkConfiguration_v10_4_SetFloat(IDeckLinkConfiguration_v10_4* This,BMDDeckLinkConfigurationID cfgID,double value) { + return This->lpVtbl->SetFloat(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkInput_v11_5_1_PauseStreams(IDeckLinkInput_v11_5_1* This) { - return This->lpVtbl->PauseStreams(This); +static inline HRESULT IDeckLinkConfiguration_v10_4_GetFloat(IDeckLinkConfiguration_v10_4* This,BMDDeckLinkConfigurationID cfgID,double *value) { + return This->lpVtbl->GetFloat(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkInput_v11_5_1_FlushStreams(IDeckLinkInput_v11_5_1* This) { - return This->lpVtbl->FlushStreams(This); +static inline HRESULT IDeckLinkConfiguration_v10_4_SetString(IDeckLinkConfiguration_v10_4* This,BMDDeckLinkConfigurationID cfgID,BSTR value) { + return This->lpVtbl->SetString(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkInput_v11_5_1_SetCallback(IDeckLinkInput_v11_5_1* This,IDeckLinkInputCallback_v11_5_1 *theCallback) { - return This->lpVtbl->SetCallback(This,theCallback); +static inline HRESULT IDeckLinkConfiguration_v10_4_GetString(IDeckLinkConfiguration_v10_4* This,BMDDeckLinkConfigurationID cfgID,BSTR *value) { + return This->lpVtbl->GetString(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkInput_v11_5_1_GetHardwareReferenceClock(IDeckLinkInput_v11_5_1* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) { - return This->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame); +static inline HRESULT IDeckLinkConfiguration_v10_4_WriteConfigurationToPreferences(IDeckLinkConfiguration_v10_4* This) { + return This->lpVtbl->WriteConfigurationToPreferences(This); } #endif #endif @@ -12768,202 +12670,36 @@ static FORCEINLINE HRESULT IDeckLinkInput_v11_5_1_GetHardwareReferenceClock(IDec #endif -#endif /* __IDeckLinkInput_v11_5_1_INTERFACE_DEFINED__ */ +#endif /* __IDeckLinkConfiguration_v10_4_INTERFACE_DEFINED__ */ -typedef enum _BMDDeckLinkFrameMetadataID_v11_5 { - bmdDeckLinkFrameMetadataCintelFilmType_v11_5 = 0x63667479, - bmdDeckLinkFrameMetadataCintelFilmGauge_v11_5 = 0x63666761, - bmdDeckLinkFrameMetadataCintelKeykodeLow_v11_5 = 0x636b6b6c, - bmdDeckLinkFrameMetadataCintelKeykodeHigh_v11_5 = 0x636b6b68, - bmdDeckLinkFrameMetadataCintelTile1Size_v11_5 = 0x63743173, - bmdDeckLinkFrameMetadataCintelTile2Size_v11_5 = 0x63743273, - bmdDeckLinkFrameMetadataCintelTile3Size_v11_5 = 0x63743373, - bmdDeckLinkFrameMetadataCintelTile4Size_v11_5 = 0x63743473, - bmdDeckLinkFrameMetadataCintelImageWidth_v11_5 = 0x49575078, - bmdDeckLinkFrameMetadataCintelImageHeight_v11_5 = 0x49485078, - bmdDeckLinkFrameMetadataCintelLinearMaskingRedInRed_v11_5 = 0x6d726972, - bmdDeckLinkFrameMetadataCintelLinearMaskingGreenInRed_v11_5 = 0x6d676972, - bmdDeckLinkFrameMetadataCintelLinearMaskingBlueInRed_v11_5 = 0x6d626972, - bmdDeckLinkFrameMetadataCintelLinearMaskingRedInGreen_v11_5 = 0x6d726967, - bmdDeckLinkFrameMetadataCintelLinearMaskingGreenInGreen_v11_5 = 0x6d676967, - bmdDeckLinkFrameMetadataCintelLinearMaskingBlueInGreen_v11_5 = 0x6d626967, - bmdDeckLinkFrameMetadataCintelLinearMaskingRedInBlue_v11_5 = 0x6d726962, - bmdDeckLinkFrameMetadataCintelLinearMaskingGreenInBlue_v11_5 = 0x6d676962, - bmdDeckLinkFrameMetadataCintelLinearMaskingBlueInBlue_v11_5 = 0x6d626962, - bmdDeckLinkFrameMetadataCintelLogMaskingRedInRed_v11_5 = 0x6d6c7272, - bmdDeckLinkFrameMetadataCintelLogMaskingGreenInRed_v11_5 = 0x6d6c6772, - bmdDeckLinkFrameMetadataCintelLogMaskingBlueInRed_v11_5 = 0x6d6c6272, - bmdDeckLinkFrameMetadataCintelLogMaskingRedInGreen_v11_5 = 0x6d6c7267, - bmdDeckLinkFrameMetadataCintelLogMaskingGreenInGreen_v11_5 = 0x6d6c6767, - bmdDeckLinkFrameMetadataCintelLogMaskingBlueInGreen_v11_5 = 0x6d6c6267, - bmdDeckLinkFrameMetadataCintelLogMaskingRedInBlue_v11_5 = 0x6d6c7262, - bmdDeckLinkFrameMetadataCintelLogMaskingGreenInBlue_v11_5 = 0x6d6c6762, - bmdDeckLinkFrameMetadataCintelLogMaskingBlueInBlue_v11_5 = 0x6d6c6262, - bmdDeckLinkFrameMetadataCintelFilmFrameRate_v11_5 = 0x63666672, - bmdDeckLinkFrameMetadataCintelOffsetToApplyHorizontal_v11_5 = 0x6f746168, - bmdDeckLinkFrameMetadataCintelOffsetToApplyVertical_v11_5 = 0x6f746176, - bmdDeckLinkFrameMetadataCintelGainRed_v11_5 = 0x4c665264, - bmdDeckLinkFrameMetadataCintelGainGreen_v11_5 = 0x4c664772, - bmdDeckLinkFrameMetadataCintelGainBlue_v11_5 = 0x4c66426c, - bmdDeckLinkFrameMetadataCintelLiftRed_v11_5 = 0x476e5264, - bmdDeckLinkFrameMetadataCintelLiftGreen_v11_5 = 0x476e4772, - bmdDeckLinkFrameMetadataCintelLiftBlue_v11_5 = 0x476e426c, - bmdDeckLinkFrameMetadataCintelHDRGainRed_v11_5 = 0x48475264, - bmdDeckLinkFrameMetadataCintelHDRGainGreen_v11_5 = 0x48474772, - bmdDeckLinkFrameMetadataCintelHDRGainBlue_v11_5 = 0x4847426c, - bmdDeckLinkFrameMetadataCintel16mmCropRequired_v11_5 = 0x63313663, - bmdDeckLinkFrameMetadataCintelInversionRequired_v11_5 = 0x63696e76, - bmdDeckLinkFrameMetadataCintelFlipRequired_v11_5 = 0x63666c72, - bmdDeckLinkFrameMetadataCintelFocusAssistEnabled_v11_5 = 0x63666165, - bmdDeckLinkFrameMetadataCintelKeykodeIsInterpolated_v11_5 = 0x6b6b6969 -} BMDDeckLinkFrameMetadataID_v11_5; -#ifndef __IDeckLinkVideoFrameMetadataExtensions_v11_5_FWD_DEFINED__ -#define __IDeckLinkVideoFrameMetadataExtensions_v11_5_FWD_DEFINED__ -typedef interface IDeckLinkVideoFrameMetadataExtensions_v11_5 IDeckLinkVideoFrameMetadataExtensions_v11_5; -#ifdef __cplusplus -interface IDeckLinkVideoFrameMetadataExtensions_v11_5; -#endif /* __cplusplus */ -#endif - -/***************************************************************************** - * IDeckLinkVideoFrameMetadataExtensions_v11_5 interface - */ -#ifndef __IDeckLinkVideoFrameMetadataExtensions_v11_5_INTERFACE_DEFINED__ -#define __IDeckLinkVideoFrameMetadataExtensions_v11_5_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDeckLinkVideoFrameMetadataExtensions_v11_5, 0xd5973dc9, 0x6432, 0x46d0, 0x8f,0x0b, 0x24,0x96,0xf8,0xa1,0x23,0x8f); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("d5973dc9-6432-46d0-8f0b-2496f8a1238f") -IDeckLinkVideoFrameMetadataExtensions_v11_5 : public IUnknown -{ - virtual HRESULT STDMETHODCALLTYPE GetInt( - BMDDeckLinkFrameMetadataID_v11_5 metadataID, - LONGLONG *value) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFloat( - BMDDeckLinkFrameMetadataID_v11_5 metadataID, - double *value) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFlag( - BMDDeckLinkFrameMetadataID_v11_5 metadataID, - BOOL *value) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetString( - BMDDeckLinkFrameMetadataID_v11_5 metadataID, - BSTR *value) = 0; - -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDeckLinkVideoFrameMetadataExtensions_v11_5, 0xd5973dc9, 0x6432, 0x46d0, 0x8f,0x0b, 0x24,0x96,0xf8,0xa1,0x23,0x8f) -#endif -#else -typedef struct IDeckLinkVideoFrameMetadataExtensions_v11_5Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDeckLinkVideoFrameMetadataExtensions_v11_5 *This, - REFIID riid, - void **ppvObject); - - ULONG (STDMETHODCALLTYPE *AddRef)( - IDeckLinkVideoFrameMetadataExtensions_v11_5 *This); - - ULONG (STDMETHODCALLTYPE *Release)( - IDeckLinkVideoFrameMetadataExtensions_v11_5 *This); - - /*** IDeckLinkVideoFrameMetadataExtensions_v11_5 methods ***/ - HRESULT (STDMETHODCALLTYPE *GetInt)( - IDeckLinkVideoFrameMetadataExtensions_v11_5 *This, - BMDDeckLinkFrameMetadataID_v11_5 metadataID, - LONGLONG *value); - - HRESULT (STDMETHODCALLTYPE *GetFloat)( - IDeckLinkVideoFrameMetadataExtensions_v11_5 *This, - BMDDeckLinkFrameMetadataID_v11_5 metadataID, - double *value); - - HRESULT (STDMETHODCALLTYPE *GetFlag)( - IDeckLinkVideoFrameMetadataExtensions_v11_5 *This, - BMDDeckLinkFrameMetadataID_v11_5 metadataID, - BOOL *value); - - HRESULT (STDMETHODCALLTYPE *GetString)( - IDeckLinkVideoFrameMetadataExtensions_v11_5 *This, - BMDDeckLinkFrameMetadataID_v11_5 metadataID, - BSTR *value); - - END_INTERFACE -} IDeckLinkVideoFrameMetadataExtensions_v11_5Vtbl; - -interface IDeckLinkVideoFrameMetadataExtensions_v11_5 { - CONST_VTBL IDeckLinkVideoFrameMetadataExtensions_v11_5Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDeckLinkVideoFrameMetadataExtensions_v11_5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) -#define IDeckLinkVideoFrameMetadataExtensions_v11_5_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDeckLinkVideoFrameMetadataExtensions_v11_5_Release(This) (This)->lpVtbl->Release(This) -/*** IDeckLinkVideoFrameMetadataExtensions_v11_5 methods ***/ -#define IDeckLinkVideoFrameMetadataExtensions_v11_5_GetInt(This,metadataID,value) (This)->lpVtbl->GetInt(This,metadataID,value) -#define IDeckLinkVideoFrameMetadataExtensions_v11_5_GetFloat(This,metadataID,value) (This)->lpVtbl->GetFloat(This,metadataID,value) -#define IDeckLinkVideoFrameMetadataExtensions_v11_5_GetFlag(This,metadataID,value) (This)->lpVtbl->GetFlag(This,metadataID,value) -#define IDeckLinkVideoFrameMetadataExtensions_v11_5_GetString(This,metadataID,value) (This)->lpVtbl->GetString(This,metadataID,value) -#else -/*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkVideoFrameMetadataExtensions_v11_5_QueryInterface(IDeckLinkVideoFrameMetadataExtensions_v11_5* This,REFIID riid,void **ppvObject) { - return This->lpVtbl->QueryInterface(This,riid,ppvObject); -} -static FORCEINLINE ULONG IDeckLinkVideoFrameMetadataExtensions_v11_5_AddRef(IDeckLinkVideoFrameMetadataExtensions_v11_5* This) { - return This->lpVtbl->AddRef(This); -} -static FORCEINLINE ULONG IDeckLinkVideoFrameMetadataExtensions_v11_5_Release(IDeckLinkVideoFrameMetadataExtensions_v11_5* This) { - return This->lpVtbl->Release(This); -} -/*** IDeckLinkVideoFrameMetadataExtensions_v11_5 methods ***/ -static FORCEINLINE HRESULT IDeckLinkVideoFrameMetadataExtensions_v11_5_GetInt(IDeckLinkVideoFrameMetadataExtensions_v11_5* This,BMDDeckLinkFrameMetadataID_v11_5 metadataID,LONGLONG *value) { - return This->lpVtbl->GetInt(This,metadataID,value); -} -static FORCEINLINE HRESULT IDeckLinkVideoFrameMetadataExtensions_v11_5_GetFloat(IDeckLinkVideoFrameMetadataExtensions_v11_5* This,BMDDeckLinkFrameMetadataID_v11_5 metadataID,double *value) { - return This->lpVtbl->GetFloat(This,metadataID,value); -} -static FORCEINLINE HRESULT IDeckLinkVideoFrameMetadataExtensions_v11_5_GetFlag(IDeckLinkVideoFrameMetadataExtensions_v11_5* This,BMDDeckLinkFrameMetadataID_v11_5 metadataID,BOOL *value) { - return This->lpVtbl->GetFlag(This,metadataID,value); -} -static FORCEINLINE HRESULT IDeckLinkVideoFrameMetadataExtensions_v11_5_GetString(IDeckLinkVideoFrameMetadataExtensions_v11_5* This,BMDDeckLinkFrameMetadataID_v11_5 metadataID,BSTR *value) { - return This->lpVtbl->GetString(This,metadataID,value); -} -#endif -#endif - -#endif - - -#endif /* __IDeckLinkVideoFrameMetadataExtensions_v11_5_INTERFACE_DEFINED__ */ - -typedef enum _BMDDeckLinkConfigurationID_v10_9 { - bmdDeckLinkConfig1080pNotPsF_v10_9 = 0x6670726f -} BMDDeckLinkConfigurationID_v10_9; -#ifndef __IDeckLinkConfiguration_v10_9_FWD_DEFINED__ -#define __IDeckLinkConfiguration_v10_9_FWD_DEFINED__ -typedef interface IDeckLinkConfiguration_v10_9 IDeckLinkConfiguration_v10_9; +typedef enum _BMDDeckLinkConfigurationID_v10_2 { + bmdDeckLinkConfig3GBpsVideoOutput_v10_2 = 0x33676273 +} BMDDeckLinkConfigurationID_v10_2; +typedef enum _BMDAudioConnection_v10_2 { + bmdAudioConnectionEmbedded_v10_2 = 0x656d6264, + bmdAudioConnectionAESEBU_v10_2 = 0x61657320, + bmdAudioConnectionAnalog_v10_2 = 0x616e6c67, + bmdAudioConnectionAnalogXLR_v10_2 = 0x61786c72, + bmdAudioConnectionAnalogRCA_v10_2 = 0x61726361 +} BMDAudioConnection_v10_2; +#ifndef __IDeckLinkConfiguration_v10_2_FWD_DEFINED__ +#define __IDeckLinkConfiguration_v10_2_FWD_DEFINED__ +typedef interface IDeckLinkConfiguration_v10_2 IDeckLinkConfiguration_v10_2; #ifdef __cplusplus -interface IDeckLinkConfiguration_v10_9; +interface IDeckLinkConfiguration_v10_2; #endif /* __cplusplus */ #endif /***************************************************************************** - * IDeckLinkConfiguration_v10_9 interface + * IDeckLinkConfiguration_v10_2 interface */ -#ifndef __IDeckLinkConfiguration_v10_9_INTERFACE_DEFINED__ -#define __IDeckLinkConfiguration_v10_9_INTERFACE_DEFINED__ +#ifndef __IDeckLinkConfiguration_v10_2_INTERFACE_DEFINED__ +#define __IDeckLinkConfiguration_v10_2_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDeckLinkConfiguration_v10_9, 0xcb71734a, 0xfe37, 0x4e8d, 0x8e,0x13, 0x80,0x21,0x33,0xa1,0xc3,0xf2); +DEFINE_GUID(IID_IDeckLinkConfiguration_v10_2, 0xc679a35b, 0x610c, 0x4d09, 0xb7,0x48, 0x1d,0x04,0x78,0x10,0x0f,0xc0); #if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("cb71734a-fe37-4e8d-8e13-802133a1c3f2") -IDeckLinkConfiguration_v10_9 : public IUnknown +MIDL_INTERFACE("c679a35b-610c-4d09-b748-1d0478100fc0") +IDeckLinkConfiguration_v10_2 : public IUnknown { virtual HRESULT STDMETHODCALLTYPE SetFlag( BMDDeckLinkConfigurationID cfgID, @@ -13002,128 +12738,128 @@ IDeckLinkConfiguration_v10_9 : public IUnknown }; #ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDeckLinkConfiguration_v10_9, 0xcb71734a, 0xfe37, 0x4e8d, 0x8e,0x13, 0x80,0x21,0x33,0xa1,0xc3,0xf2) +__CRT_UUID_DECL(IDeckLinkConfiguration_v10_2, 0xc679a35b, 0x610c, 0x4d09, 0xb7,0x48, 0x1d,0x04,0x78,0x10,0x0f,0xc0) #endif #else -typedef struct IDeckLinkConfiguration_v10_9Vtbl { +typedef struct IDeckLinkConfiguration_v10_2Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDeckLinkConfiguration_v10_9 *This, + IDeckLinkConfiguration_v10_2 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( - IDeckLinkConfiguration_v10_9 *This); + IDeckLinkConfiguration_v10_2 *This); ULONG (STDMETHODCALLTYPE *Release)( - IDeckLinkConfiguration_v10_9 *This); + IDeckLinkConfiguration_v10_2 *This); - /*** IDeckLinkConfiguration_v10_9 methods ***/ + /*** IDeckLinkConfiguration_v10_2 methods ***/ HRESULT (STDMETHODCALLTYPE *SetFlag)( - IDeckLinkConfiguration_v10_9 *This, + IDeckLinkConfiguration_v10_2 *This, BMDDeckLinkConfigurationID cfgID, BOOL value); HRESULT (STDMETHODCALLTYPE *GetFlag)( - IDeckLinkConfiguration_v10_9 *This, + IDeckLinkConfiguration_v10_2 *This, BMDDeckLinkConfigurationID cfgID, BOOL *value); HRESULT (STDMETHODCALLTYPE *SetInt)( - IDeckLinkConfiguration_v10_9 *This, + IDeckLinkConfiguration_v10_2 *This, BMDDeckLinkConfigurationID cfgID, LONGLONG value); HRESULT (STDMETHODCALLTYPE *GetInt)( - IDeckLinkConfiguration_v10_9 *This, + IDeckLinkConfiguration_v10_2 *This, BMDDeckLinkConfigurationID cfgID, LONGLONG *value); HRESULT (STDMETHODCALLTYPE *SetFloat)( - IDeckLinkConfiguration_v10_9 *This, + IDeckLinkConfiguration_v10_2 *This, BMDDeckLinkConfigurationID cfgID, double value); HRESULT (STDMETHODCALLTYPE *GetFloat)( - IDeckLinkConfiguration_v10_9 *This, + IDeckLinkConfiguration_v10_2 *This, BMDDeckLinkConfigurationID cfgID, double *value); HRESULT (STDMETHODCALLTYPE *SetString)( - IDeckLinkConfiguration_v10_9 *This, + IDeckLinkConfiguration_v10_2 *This, BMDDeckLinkConfigurationID cfgID, BSTR value); HRESULT (STDMETHODCALLTYPE *GetString)( - IDeckLinkConfiguration_v10_9 *This, + IDeckLinkConfiguration_v10_2 *This, BMDDeckLinkConfigurationID cfgID, BSTR *value); HRESULT (STDMETHODCALLTYPE *WriteConfigurationToPreferences)( - IDeckLinkConfiguration_v10_9 *This); + IDeckLinkConfiguration_v10_2 *This); END_INTERFACE -} IDeckLinkConfiguration_v10_9Vtbl; +} IDeckLinkConfiguration_v10_2Vtbl; -interface IDeckLinkConfiguration_v10_9 { - CONST_VTBL IDeckLinkConfiguration_v10_9Vtbl* lpVtbl; +interface IDeckLinkConfiguration_v10_2 { + CONST_VTBL IDeckLinkConfiguration_v10_2Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ -#define IDeckLinkConfiguration_v10_9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) -#define IDeckLinkConfiguration_v10_9_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDeckLinkConfiguration_v10_9_Release(This) (This)->lpVtbl->Release(This) -/*** IDeckLinkConfiguration_v10_9 methods ***/ -#define IDeckLinkConfiguration_v10_9_SetFlag(This,cfgID,value) (This)->lpVtbl->SetFlag(This,cfgID,value) -#define IDeckLinkConfiguration_v10_9_GetFlag(This,cfgID,value) (This)->lpVtbl->GetFlag(This,cfgID,value) -#define IDeckLinkConfiguration_v10_9_SetInt(This,cfgID,value) (This)->lpVtbl->SetInt(This,cfgID,value) -#define IDeckLinkConfiguration_v10_9_GetInt(This,cfgID,value) (This)->lpVtbl->GetInt(This,cfgID,value) -#define IDeckLinkConfiguration_v10_9_SetFloat(This,cfgID,value) (This)->lpVtbl->SetFloat(This,cfgID,value) -#define IDeckLinkConfiguration_v10_9_GetFloat(This,cfgID,value) (This)->lpVtbl->GetFloat(This,cfgID,value) -#define IDeckLinkConfiguration_v10_9_SetString(This,cfgID,value) (This)->lpVtbl->SetString(This,cfgID,value) -#define IDeckLinkConfiguration_v10_9_GetString(This,cfgID,value) (This)->lpVtbl->GetString(This,cfgID,value) -#define IDeckLinkConfiguration_v10_9_WriteConfigurationToPreferences(This) (This)->lpVtbl->WriteConfigurationToPreferences(This) +#define IDeckLinkConfiguration_v10_2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDeckLinkConfiguration_v10_2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDeckLinkConfiguration_v10_2_Release(This) (This)->lpVtbl->Release(This) +/*** IDeckLinkConfiguration_v10_2 methods ***/ +#define IDeckLinkConfiguration_v10_2_SetFlag(This,cfgID,value) (This)->lpVtbl->SetFlag(This,cfgID,value) +#define IDeckLinkConfiguration_v10_2_GetFlag(This,cfgID,value) (This)->lpVtbl->GetFlag(This,cfgID,value) +#define IDeckLinkConfiguration_v10_2_SetInt(This,cfgID,value) (This)->lpVtbl->SetInt(This,cfgID,value) +#define IDeckLinkConfiguration_v10_2_GetInt(This,cfgID,value) (This)->lpVtbl->GetInt(This,cfgID,value) +#define IDeckLinkConfiguration_v10_2_SetFloat(This,cfgID,value) (This)->lpVtbl->SetFloat(This,cfgID,value) +#define IDeckLinkConfiguration_v10_2_GetFloat(This,cfgID,value) (This)->lpVtbl->GetFloat(This,cfgID,value) +#define IDeckLinkConfiguration_v10_2_SetString(This,cfgID,value) (This)->lpVtbl->SetString(This,cfgID,value) +#define IDeckLinkConfiguration_v10_2_GetString(This,cfgID,value) (This)->lpVtbl->GetString(This,cfgID,value) +#define IDeckLinkConfiguration_v10_2_WriteConfigurationToPreferences(This) (This)->lpVtbl->WriteConfigurationToPreferences(This) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_9_QueryInterface(IDeckLinkConfiguration_v10_9* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkConfiguration_v10_2_QueryInterface(IDeckLinkConfiguration_v10_2* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkConfiguration_v10_9_AddRef(IDeckLinkConfiguration_v10_9* This) { +static inline ULONG IDeckLinkConfiguration_v10_2_AddRef(IDeckLinkConfiguration_v10_2* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkConfiguration_v10_9_Release(IDeckLinkConfiguration_v10_9* This) { +static inline ULONG IDeckLinkConfiguration_v10_2_Release(IDeckLinkConfiguration_v10_2* This) { return This->lpVtbl->Release(This); } -/*** IDeckLinkConfiguration_v10_9 methods ***/ -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_9_SetFlag(IDeckLinkConfiguration_v10_9* This,BMDDeckLinkConfigurationID cfgID,BOOL value) { +/*** IDeckLinkConfiguration_v10_2 methods ***/ +static inline HRESULT IDeckLinkConfiguration_v10_2_SetFlag(IDeckLinkConfiguration_v10_2* This,BMDDeckLinkConfigurationID cfgID,BOOL value) { return This->lpVtbl->SetFlag(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_9_GetFlag(IDeckLinkConfiguration_v10_9* This,BMDDeckLinkConfigurationID cfgID,BOOL *value) { +static inline HRESULT IDeckLinkConfiguration_v10_2_GetFlag(IDeckLinkConfiguration_v10_2* This,BMDDeckLinkConfigurationID cfgID,BOOL *value) { return This->lpVtbl->GetFlag(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_9_SetInt(IDeckLinkConfiguration_v10_9* This,BMDDeckLinkConfigurationID cfgID,LONGLONG value) { +static inline HRESULT IDeckLinkConfiguration_v10_2_SetInt(IDeckLinkConfiguration_v10_2* This,BMDDeckLinkConfigurationID cfgID,LONGLONG value) { return This->lpVtbl->SetInt(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_9_GetInt(IDeckLinkConfiguration_v10_9* This,BMDDeckLinkConfigurationID cfgID,LONGLONG *value) { +static inline HRESULT IDeckLinkConfiguration_v10_2_GetInt(IDeckLinkConfiguration_v10_2* This,BMDDeckLinkConfigurationID cfgID,LONGLONG *value) { return This->lpVtbl->GetInt(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_9_SetFloat(IDeckLinkConfiguration_v10_9* This,BMDDeckLinkConfigurationID cfgID,double value) { +static inline HRESULT IDeckLinkConfiguration_v10_2_SetFloat(IDeckLinkConfiguration_v10_2* This,BMDDeckLinkConfigurationID cfgID,double value) { return This->lpVtbl->SetFloat(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_9_GetFloat(IDeckLinkConfiguration_v10_9* This,BMDDeckLinkConfigurationID cfgID,double *value) { +static inline HRESULT IDeckLinkConfiguration_v10_2_GetFloat(IDeckLinkConfiguration_v10_2* This,BMDDeckLinkConfigurationID cfgID,double *value) { return This->lpVtbl->GetFloat(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_9_SetString(IDeckLinkConfiguration_v10_9* This,BMDDeckLinkConfigurationID cfgID,BSTR value) { +static inline HRESULT IDeckLinkConfiguration_v10_2_SetString(IDeckLinkConfiguration_v10_2* This,BMDDeckLinkConfigurationID cfgID,BSTR value) { return This->lpVtbl->SetString(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_9_GetString(IDeckLinkConfiguration_v10_9* This,BMDDeckLinkConfigurationID cfgID,BSTR *value) { +static inline HRESULT IDeckLinkConfiguration_v10_2_GetString(IDeckLinkConfiguration_v10_2* This,BMDDeckLinkConfigurationID cfgID,BSTR *value) { return This->lpVtbl->GetString(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_9_WriteConfigurationToPreferences(IDeckLinkConfiguration_v10_9* This) { +static inline HRESULT IDeckLinkConfiguration_v10_2_WriteConfigurationToPreferences(IDeckLinkConfiguration_v10_2* This) { return This->lpVtbl->WriteConfigurationToPreferences(This); } #endif @@ -13132,240 +12868,624 @@ static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_9_WriteConfigurationToPref #endif -#endif /* __IDeckLinkConfiguration_v10_9_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * CBMDStreamingDiscovery_v10_8 coclass - */ - -DEFINE_GUID(CLSID_CBMDStreamingDiscovery_v10_8, 0x0caa31f6, 0x8a26, 0x40b0, 0x86,0xa4, 0xbf,0x58,0xdc,0xca,0x71,0x0c); - -#ifdef __cplusplus -class DECLSPEC_UUID("0caa31f6-8a26-40b0-86a4-bf58dcca710c") CBMDStreamingDiscovery_v10_8; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(CBMDStreamingDiscovery_v10_8, 0x0caa31f6, 0x8a26, 0x40b0, 0x86,0xa4, 0xbf,0x58,0xdc,0xca,0x71,0x0c) -#endif -#endif - -/***************************************************************************** - * CDeckLinkIterator_v10_8 coclass - */ - -DEFINE_GUID(CLSID_CDeckLinkIterator_v10_8, 0x1f2e109a, 0x8f4f, 0x49e4, 0x92,0x03, 0x13,0x55,0x95,0xcb,0x6f,0xa5); - -#ifdef __cplusplus -class DECLSPEC_UUID("1f2e109a-8f4f-49e4-9203-135595cb6fa5") CDeckLinkIterator_v10_8; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(CDeckLinkIterator_v10_8, 0x1f2e109a, 0x8f4f, 0x49e4, 0x92,0x03, 0x13,0x55,0x95,0xcb,0x6f,0xa5) -#endif -#endif - -/***************************************************************************** - * CDeckLinkDiscovery_v10_8 coclass - */ - -DEFINE_GUID(CLSID_CDeckLinkDiscovery_v10_8, 0x1073a05c, 0xd885, 0x47e9, 0xb3,0xc6, 0x12,0x9b,0x3f,0x9f,0x64,0x8b); - -#ifdef __cplusplus -class DECLSPEC_UUID("1073a05c-d885-47e9-b3c6-129b3f9f648b") CDeckLinkDiscovery_v10_8; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(CDeckLinkDiscovery_v10_8, 0x1073a05c, 0xd885, 0x47e9, 0xb3,0xc6, 0x12,0x9b,0x3f,0x9f,0x64,0x8b) -#endif -#endif +#endif /* __IDeckLinkConfiguration_v10_2_INTERFACE_DEFINED__ */ -typedef enum _BMDDeckLinkAttributeID_v10_6 { - BMDDeckLinkSupportsDesktopDisplay_v10_6 = 0x65787464 -} BMDDeckLinkAttributeID_v10_6; -typedef enum _BMDIdleVideoOutputOperation_v10_6 { - bmdIdleVideoOutputDesktop_v10_6 = 0x6465736b -} BMDIdleVideoOutputOperation_v10_6; -typedef enum _BMDDeckLinkAttributeID_v10_5 { - BMDDeckLinkDeviceBusyState_v10_5 = 0x64627374 -} BMDDeckLinkAttributeID_v10_5; -#ifndef __IDeckLinkEncoderConfiguration_v10_5_FWD_DEFINED__ -#define __IDeckLinkEncoderConfiguration_v10_5_FWD_DEFINED__ -typedef interface IDeckLinkEncoderConfiguration_v10_5 IDeckLinkEncoderConfiguration_v10_5; +typedef enum _BMDDeckLinkFrameMetadataID_v11_5 { + bmdDeckLinkFrameMetadataCintelFilmType_v11_5 = 0x63667479, + bmdDeckLinkFrameMetadataCintelFilmGauge_v11_5 = 0x63666761, + bmdDeckLinkFrameMetadataCintelKeykodeLow_v11_5 = 0x636b6b6c, + bmdDeckLinkFrameMetadataCintelKeykodeHigh_v11_5 = 0x636b6b68, + bmdDeckLinkFrameMetadataCintelTile1Size_v11_5 = 0x63743173, + bmdDeckLinkFrameMetadataCintelTile2Size_v11_5 = 0x63743273, + bmdDeckLinkFrameMetadataCintelTile3Size_v11_5 = 0x63743373, + bmdDeckLinkFrameMetadataCintelTile4Size_v11_5 = 0x63743473, + bmdDeckLinkFrameMetadataCintelImageWidth_v11_5 = 0x49575078, + bmdDeckLinkFrameMetadataCintelImageHeight_v11_5 = 0x49485078, + bmdDeckLinkFrameMetadataCintelLinearMaskingRedInRed_v11_5 = 0x6d726972, + bmdDeckLinkFrameMetadataCintelLinearMaskingGreenInRed_v11_5 = 0x6d676972, + bmdDeckLinkFrameMetadataCintelLinearMaskingBlueInRed_v11_5 = 0x6d626972, + bmdDeckLinkFrameMetadataCintelLinearMaskingRedInGreen_v11_5 = 0x6d726967, + bmdDeckLinkFrameMetadataCintelLinearMaskingGreenInGreen_v11_5 = 0x6d676967, + bmdDeckLinkFrameMetadataCintelLinearMaskingBlueInGreen_v11_5 = 0x6d626967, + bmdDeckLinkFrameMetadataCintelLinearMaskingRedInBlue_v11_5 = 0x6d726962, + bmdDeckLinkFrameMetadataCintelLinearMaskingGreenInBlue_v11_5 = 0x6d676962, + bmdDeckLinkFrameMetadataCintelLinearMaskingBlueInBlue_v11_5 = 0x6d626962, + bmdDeckLinkFrameMetadataCintelLogMaskingRedInRed_v11_5 = 0x6d6c7272, + bmdDeckLinkFrameMetadataCintelLogMaskingGreenInRed_v11_5 = 0x6d6c6772, + bmdDeckLinkFrameMetadataCintelLogMaskingBlueInRed_v11_5 = 0x6d6c6272, + bmdDeckLinkFrameMetadataCintelLogMaskingRedInGreen_v11_5 = 0x6d6c7267, + bmdDeckLinkFrameMetadataCintelLogMaskingGreenInGreen_v11_5 = 0x6d6c6767, + bmdDeckLinkFrameMetadataCintelLogMaskingBlueInGreen_v11_5 = 0x6d6c6267, + bmdDeckLinkFrameMetadataCintelLogMaskingRedInBlue_v11_5 = 0x6d6c7262, + bmdDeckLinkFrameMetadataCintelLogMaskingGreenInBlue_v11_5 = 0x6d6c6762, + bmdDeckLinkFrameMetadataCintelLogMaskingBlueInBlue_v11_5 = 0x6d6c6262, + bmdDeckLinkFrameMetadataCintelFilmFrameRate_v11_5 = 0x63666672, + bmdDeckLinkFrameMetadataCintelOffsetToApplyHorizontal_v11_5 = 0x6f746168, + bmdDeckLinkFrameMetadataCintelOffsetToApplyVertical_v11_5 = 0x6f746176, + bmdDeckLinkFrameMetadataCintelGainRed_v11_5 = 0x4c665264, + bmdDeckLinkFrameMetadataCintelGainGreen_v11_5 = 0x4c664772, + bmdDeckLinkFrameMetadataCintelGainBlue_v11_5 = 0x4c66426c, + bmdDeckLinkFrameMetadataCintelLiftRed_v11_5 = 0x476e5264, + bmdDeckLinkFrameMetadataCintelLiftGreen_v11_5 = 0x476e4772, + bmdDeckLinkFrameMetadataCintelLiftBlue_v11_5 = 0x476e426c, + bmdDeckLinkFrameMetadataCintelHDRGainRed_v11_5 = 0x48475264, + bmdDeckLinkFrameMetadataCintelHDRGainGreen_v11_5 = 0x48474772, + bmdDeckLinkFrameMetadataCintelHDRGainBlue_v11_5 = 0x4847426c, + bmdDeckLinkFrameMetadataCintel16mmCropRequired_v11_5 = 0x63313663, + bmdDeckLinkFrameMetadataCintelInversionRequired_v11_5 = 0x63696e76, + bmdDeckLinkFrameMetadataCintelFlipRequired_v11_5 = 0x63666c72, + bmdDeckLinkFrameMetadataCintelFocusAssistEnabled_v11_5 = 0x63666165, + bmdDeckLinkFrameMetadataCintelKeykodeIsInterpolated_v11_5 = 0x6b6b6969 +} BMDDeckLinkFrameMetadataID_v11_5; +#ifndef __IDeckLinkVideoFrameMetadataExtensions_v11_5_FWD_DEFINED__ +#define __IDeckLinkVideoFrameMetadataExtensions_v11_5_FWD_DEFINED__ +typedef interface IDeckLinkVideoFrameMetadataExtensions_v11_5 IDeckLinkVideoFrameMetadataExtensions_v11_5; #ifdef __cplusplus -interface IDeckLinkEncoderConfiguration_v10_5; +interface IDeckLinkVideoFrameMetadataExtensions_v11_5; #endif /* __cplusplus */ #endif /***************************************************************************** - * IDeckLinkEncoderConfiguration_v10_5 interface + * IDeckLinkVideoFrameMetadataExtensions_v11_5 interface */ -#ifndef __IDeckLinkEncoderConfiguration_v10_5_INTERFACE_DEFINED__ -#define __IDeckLinkEncoderConfiguration_v10_5_INTERFACE_DEFINED__ +#ifndef __IDeckLinkVideoFrameMetadataExtensions_v11_5_INTERFACE_DEFINED__ +#define __IDeckLinkVideoFrameMetadataExtensions_v11_5_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDeckLinkEncoderConfiguration_v10_5, 0x67455668, 0x0848, 0x45df, 0x8d,0x8e, 0x35,0x0a,0x77,0xc9,0xa0,0x28); +DEFINE_GUID(IID_IDeckLinkVideoFrameMetadataExtensions_v11_5, 0xd5973dc9, 0x6432, 0x46d0, 0x8f,0x0b, 0x24,0x96,0xf8,0xa1,0x23,0x8f); #if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("67455668-0848-45df-8d8e-350a77c9a028") -IDeckLinkEncoderConfiguration_v10_5 : public IUnknown +MIDL_INTERFACE("d5973dc9-6432-46d0-8f0b-2496f8a1238f") +IDeckLinkVideoFrameMetadataExtensions_v11_5 : public IUnknown { - virtual HRESULT STDMETHODCALLTYPE SetFlag( - BMDDeckLinkEncoderConfigurationID cfgID, - BOOL value) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFlag( - BMDDeckLinkEncoderConfigurationID cfgID, - BOOL *value) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetInt( - BMDDeckLinkEncoderConfigurationID cfgID, - LONGLONG value) = 0; - virtual HRESULT STDMETHODCALLTYPE GetInt( - BMDDeckLinkEncoderConfigurationID cfgID, + BMDDeckLinkFrameMetadataID_v11_5 metadataID, LONGLONG *value) = 0; - virtual HRESULT STDMETHODCALLTYPE SetFloat( - BMDDeckLinkEncoderConfigurationID cfgID, - double value) = 0; - virtual HRESULT STDMETHODCALLTYPE GetFloat( - BMDDeckLinkEncoderConfigurationID cfgID, + BMDDeckLinkFrameMetadataID_v11_5 metadataID, double *value) = 0; - virtual HRESULT STDMETHODCALLTYPE SetString( - BMDDeckLinkEncoderConfigurationID cfgID, - BSTR value) = 0; + virtual HRESULT STDMETHODCALLTYPE GetFlag( + BMDDeckLinkFrameMetadataID_v11_5 metadataID, + BOOL *value) = 0; virtual HRESULT STDMETHODCALLTYPE GetString( - BMDDeckLinkEncoderConfigurationID cfgID, + BMDDeckLinkFrameMetadataID_v11_5 metadataID, BSTR *value) = 0; - virtual HRESULT STDMETHODCALLTYPE GetDecoderConfigurationInfo( - void *buffer, - LONG bufferSize, - LONG *returnedSize) = 0; - }; #ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDeckLinkEncoderConfiguration_v10_5, 0x67455668, 0x0848, 0x45df, 0x8d,0x8e, 0x35,0x0a,0x77,0xc9,0xa0,0x28) +__CRT_UUID_DECL(IDeckLinkVideoFrameMetadataExtensions_v11_5, 0xd5973dc9, 0x6432, 0x46d0, 0x8f,0x0b, 0x24,0x96,0xf8,0xa1,0x23,0x8f) #endif #else -typedef struct IDeckLinkEncoderConfiguration_v10_5Vtbl { +typedef struct IDeckLinkVideoFrameMetadataExtensions_v11_5Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDeckLinkEncoderConfiguration_v10_5 *This, + IDeckLinkVideoFrameMetadataExtensions_v11_5 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( - IDeckLinkEncoderConfiguration_v10_5 *This); + IDeckLinkVideoFrameMetadataExtensions_v11_5 *This); ULONG (STDMETHODCALLTYPE *Release)( - IDeckLinkEncoderConfiguration_v10_5 *This); - - /*** IDeckLinkEncoderConfiguration_v10_5 methods ***/ - HRESULT (STDMETHODCALLTYPE *SetFlag)( - IDeckLinkEncoderConfiguration_v10_5 *This, - BMDDeckLinkEncoderConfigurationID cfgID, - BOOL value); - - HRESULT (STDMETHODCALLTYPE *GetFlag)( - IDeckLinkEncoderConfiguration_v10_5 *This, - BMDDeckLinkEncoderConfigurationID cfgID, - BOOL *value); - - HRESULT (STDMETHODCALLTYPE *SetInt)( - IDeckLinkEncoderConfiguration_v10_5 *This, - BMDDeckLinkEncoderConfigurationID cfgID, - LONGLONG value); + IDeckLinkVideoFrameMetadataExtensions_v11_5 *This); + /*** IDeckLinkVideoFrameMetadataExtensions_v11_5 methods ***/ HRESULT (STDMETHODCALLTYPE *GetInt)( - IDeckLinkEncoderConfiguration_v10_5 *This, - BMDDeckLinkEncoderConfigurationID cfgID, + IDeckLinkVideoFrameMetadataExtensions_v11_5 *This, + BMDDeckLinkFrameMetadataID_v11_5 metadataID, LONGLONG *value); - HRESULT (STDMETHODCALLTYPE *SetFloat)( - IDeckLinkEncoderConfiguration_v10_5 *This, - BMDDeckLinkEncoderConfigurationID cfgID, - double value); - HRESULT (STDMETHODCALLTYPE *GetFloat)( - IDeckLinkEncoderConfiguration_v10_5 *This, - BMDDeckLinkEncoderConfigurationID cfgID, + IDeckLinkVideoFrameMetadataExtensions_v11_5 *This, + BMDDeckLinkFrameMetadataID_v11_5 metadataID, double *value); - HRESULT (STDMETHODCALLTYPE *SetString)( - IDeckLinkEncoderConfiguration_v10_5 *This, - BMDDeckLinkEncoderConfigurationID cfgID, - BSTR value); + HRESULT (STDMETHODCALLTYPE *GetFlag)( + IDeckLinkVideoFrameMetadataExtensions_v11_5 *This, + BMDDeckLinkFrameMetadataID_v11_5 metadataID, + BOOL *value); HRESULT (STDMETHODCALLTYPE *GetString)( - IDeckLinkEncoderConfiguration_v10_5 *This, - BMDDeckLinkEncoderConfigurationID cfgID, + IDeckLinkVideoFrameMetadataExtensions_v11_5 *This, + BMDDeckLinkFrameMetadataID_v11_5 metadataID, BSTR *value); - HRESULT (STDMETHODCALLTYPE *GetDecoderConfigurationInfo)( - IDeckLinkEncoderConfiguration_v10_5 *This, - void *buffer, - LONG bufferSize, - LONG *returnedSize); - END_INTERFACE -} IDeckLinkEncoderConfiguration_v10_5Vtbl; +} IDeckLinkVideoFrameMetadataExtensions_v11_5Vtbl; -interface IDeckLinkEncoderConfiguration_v10_5 { - CONST_VTBL IDeckLinkEncoderConfiguration_v10_5Vtbl* lpVtbl; +interface IDeckLinkVideoFrameMetadataExtensions_v11_5 { + CONST_VTBL IDeckLinkVideoFrameMetadataExtensions_v11_5Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ -#define IDeckLinkEncoderConfiguration_v10_5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) -#define IDeckLinkEncoderConfiguration_v10_5_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDeckLinkEncoderConfiguration_v10_5_Release(This) (This)->lpVtbl->Release(This) -/*** IDeckLinkEncoderConfiguration_v10_5 methods ***/ -#define IDeckLinkEncoderConfiguration_v10_5_SetFlag(This,cfgID,value) (This)->lpVtbl->SetFlag(This,cfgID,value) -#define IDeckLinkEncoderConfiguration_v10_5_GetFlag(This,cfgID,value) (This)->lpVtbl->GetFlag(This,cfgID,value) -#define IDeckLinkEncoderConfiguration_v10_5_SetInt(This,cfgID,value) (This)->lpVtbl->SetInt(This,cfgID,value) -#define IDeckLinkEncoderConfiguration_v10_5_GetInt(This,cfgID,value) (This)->lpVtbl->GetInt(This,cfgID,value) -#define IDeckLinkEncoderConfiguration_v10_5_SetFloat(This,cfgID,value) (This)->lpVtbl->SetFloat(This,cfgID,value) -#define IDeckLinkEncoderConfiguration_v10_5_GetFloat(This,cfgID,value) (This)->lpVtbl->GetFloat(This,cfgID,value) -#define IDeckLinkEncoderConfiguration_v10_5_SetString(This,cfgID,value) (This)->lpVtbl->SetString(This,cfgID,value) -#define IDeckLinkEncoderConfiguration_v10_5_GetString(This,cfgID,value) (This)->lpVtbl->GetString(This,cfgID,value) -#define IDeckLinkEncoderConfiguration_v10_5_GetDecoderConfigurationInfo(This,buffer,bufferSize,returnedSize) (This)->lpVtbl->GetDecoderConfigurationInfo(This,buffer,bufferSize,returnedSize) +#define IDeckLinkVideoFrameMetadataExtensions_v11_5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDeckLinkVideoFrameMetadataExtensions_v11_5_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDeckLinkVideoFrameMetadataExtensions_v11_5_Release(This) (This)->lpVtbl->Release(This) +/*** IDeckLinkVideoFrameMetadataExtensions_v11_5 methods ***/ +#define IDeckLinkVideoFrameMetadataExtensions_v11_5_GetInt(This,metadataID,value) (This)->lpVtbl->GetInt(This,metadataID,value) +#define IDeckLinkVideoFrameMetadataExtensions_v11_5_GetFloat(This,metadataID,value) (This)->lpVtbl->GetFloat(This,metadataID,value) +#define IDeckLinkVideoFrameMetadataExtensions_v11_5_GetFlag(This,metadataID,value) (This)->lpVtbl->GetFlag(This,metadataID,value) +#define IDeckLinkVideoFrameMetadataExtensions_v11_5_GetString(This,metadataID,value) (This)->lpVtbl->GetString(This,metadataID,value) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_v10_5_QueryInterface(IDeckLinkEncoderConfiguration_v10_5* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkVideoFrameMetadataExtensions_v11_5_QueryInterface(IDeckLinkVideoFrameMetadataExtensions_v11_5* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkEncoderConfiguration_v10_5_AddRef(IDeckLinkEncoderConfiguration_v10_5* This) { - return This->lpVtbl->AddRef(This); +static inline ULONG IDeckLinkVideoFrameMetadataExtensions_v11_5_AddRef(IDeckLinkVideoFrameMetadataExtensions_v11_5* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IDeckLinkVideoFrameMetadataExtensions_v11_5_Release(IDeckLinkVideoFrameMetadataExtensions_v11_5* This) { + return This->lpVtbl->Release(This); +} +/*** IDeckLinkVideoFrameMetadataExtensions_v11_5 methods ***/ +static inline HRESULT IDeckLinkVideoFrameMetadataExtensions_v11_5_GetInt(IDeckLinkVideoFrameMetadataExtensions_v11_5* This,BMDDeckLinkFrameMetadataID_v11_5 metadataID,LONGLONG *value) { + return This->lpVtbl->GetInt(This,metadataID,value); +} +static inline HRESULT IDeckLinkVideoFrameMetadataExtensions_v11_5_GetFloat(IDeckLinkVideoFrameMetadataExtensions_v11_5* This,BMDDeckLinkFrameMetadataID_v11_5 metadataID,double *value) { + return This->lpVtbl->GetFloat(This,metadataID,value); +} +static inline HRESULT IDeckLinkVideoFrameMetadataExtensions_v11_5_GetFlag(IDeckLinkVideoFrameMetadataExtensions_v11_5* This,BMDDeckLinkFrameMetadataID_v11_5 metadataID,BOOL *value) { + return This->lpVtbl->GetFlag(This,metadataID,value); +} +static inline HRESULT IDeckLinkVideoFrameMetadataExtensions_v11_5_GetString(IDeckLinkVideoFrameMetadataExtensions_v11_5* This,BMDDeckLinkFrameMetadataID_v11_5 metadataID,BSTR *value) { + return This->lpVtbl->GetString(This,metadataID,value); +} +#endif +#endif + +#endif + + +#endif /* __IDeckLinkVideoFrameMetadataExtensions_v11_5_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IDeckLinkOutput_v11_4 interface + */ +#ifndef __IDeckLinkOutput_v11_4_INTERFACE_DEFINED__ +#define __IDeckLinkOutput_v11_4_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IDeckLinkOutput_v11_4, 0x065a0f6c, 0xc508, 0x4d0d, 0xb9,0x19, 0xf5,0xeb,0x0e,0xbf,0xc9,0x6b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("065a0f6c-c508-4d0d-b919-f5eb0ebfc96b") +IDeckLinkOutput_v11_4 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( + BMDVideoConnection connection, + BMDDisplayMode requestedMode, + BMDPixelFormat requestedPixelFormat, + BMDSupportedVideoModeFlags flags, + BMDDisplayMode *actualMode, + BOOL *supported) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDisplayMode( + BMDDisplayMode displayMode, + IDeckLinkDisplayMode **resultDisplayMode) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( + IDeckLinkDisplayModeIterator **iterator) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( + IDeckLinkScreenPreviewCallback *previewCallback) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput( + BMDDisplayMode displayMode, + BMDVideoOutputFlags flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator( + IDeckLinkMemoryAllocator *theAllocator) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame( + int width, + int height, + int rowBytes, + BMDPixelFormat pixelFormat, + BMDFrameFlags flags, + IDeckLinkMutableVideoFrame **outFrame) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData( + BMDPixelFormat pixelFormat, + IDeckLinkVideoFrameAncillary **outBuffer) = 0; + + virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync( + IDeckLinkVideoFrame *theFrame) = 0; + + virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame( + IDeckLinkVideoFrame *theFrame, + BMDTimeValue displayTime, + BMDTimeValue displayDuration, + BMDTimeScale timeScale) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback( + IDeckLinkVideoOutputCallback *theCallback) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount( + unsigned int *bufferedFrameCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput( + BMDAudioSampleRate sampleRate, + BMDAudioSampleType sampleType, + unsigned int channelCount, + BMDAudioOutputStreamType streamType) = 0; + + virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync( + void *buffer, + unsigned int sampleFrameCount, + unsigned int *sampleFramesWritten) = 0; + + virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples( + void *buffer, + unsigned int sampleFrameCount, + BMDTimeValue streamTime, + BMDTimeScale timeScale, + unsigned int *sampleFramesWritten) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount( + unsigned int *bufferedSampleFrameCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAudioCallback( + IDeckLinkAudioOutputCallback *theCallback) = 0; + + virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback( + BMDTimeValue playbackStartTime, + BMDTimeScale timeScale, + double playbackSpeed) = 0; + + virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback( + BMDTimeValue stopPlaybackAtTime, + BMDTimeValue *actualStopTime, + BMDTimeScale timeScale) = 0; + + virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning( + BOOL *active) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetScheduledStreamTime( + BMDTimeScale desiredTimeScale, + BMDTimeValue *streamTime, + double *playbackSpeed) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetReferenceStatus( + BMDReferenceStatus *referenceStatus) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( + BMDTimeScale desiredTimeScale, + BMDTimeValue *hardwareTime, + BMDTimeValue *timeInFrame, + BMDTimeValue *ticksPerFrame) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFrameCompletionReferenceTimestamp( + IDeckLinkVideoFrame *theFrame, + BMDTimeScale desiredTimeScale, + BMDTimeValue *frameCompletionTimestamp) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IDeckLinkOutput_v11_4, 0x065a0f6c, 0xc508, 0x4d0d, 0xb9,0x19, 0xf5,0xeb,0x0e,0xbf,0xc9,0x6b) +#endif +#else +typedef struct IDeckLinkOutput_v11_4Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IDeckLinkOutput_v11_4 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IDeckLinkOutput_v11_4 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IDeckLinkOutput_v11_4 *This); + + /*** IDeckLinkOutput_v11_4 methods ***/ + HRESULT (STDMETHODCALLTYPE *DoesSupportVideoMode)( + IDeckLinkOutput_v11_4 *This, + BMDVideoConnection connection, + BMDDisplayMode requestedMode, + BMDPixelFormat requestedPixelFormat, + BMDSupportedVideoModeFlags flags, + BMDDisplayMode *actualMode, + BOOL *supported); + + HRESULT (STDMETHODCALLTYPE *GetDisplayMode)( + IDeckLinkOutput_v11_4 *This, + BMDDisplayMode displayMode, + IDeckLinkDisplayMode **resultDisplayMode); + + HRESULT (STDMETHODCALLTYPE *GetDisplayModeIterator)( + IDeckLinkOutput_v11_4 *This, + IDeckLinkDisplayModeIterator **iterator); + + HRESULT (STDMETHODCALLTYPE *SetScreenPreviewCallback)( + IDeckLinkOutput_v11_4 *This, + IDeckLinkScreenPreviewCallback *previewCallback); + + HRESULT (STDMETHODCALLTYPE *EnableVideoOutput)( + IDeckLinkOutput_v11_4 *This, + BMDDisplayMode displayMode, + BMDVideoOutputFlags flags); + + HRESULT (STDMETHODCALLTYPE *DisableVideoOutput)( + IDeckLinkOutput_v11_4 *This); + + HRESULT (STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator)( + IDeckLinkOutput_v11_4 *This, + IDeckLinkMemoryAllocator *theAllocator); + + HRESULT (STDMETHODCALLTYPE *CreateVideoFrame)( + IDeckLinkOutput_v11_4 *This, + int width, + int height, + int rowBytes, + BMDPixelFormat pixelFormat, + BMDFrameFlags flags, + IDeckLinkMutableVideoFrame **outFrame); + + HRESULT (STDMETHODCALLTYPE *CreateAncillaryData)( + IDeckLinkOutput_v11_4 *This, + BMDPixelFormat pixelFormat, + IDeckLinkVideoFrameAncillary **outBuffer); + + HRESULT (STDMETHODCALLTYPE *DisplayVideoFrameSync)( + IDeckLinkOutput_v11_4 *This, + IDeckLinkVideoFrame *theFrame); + + HRESULT (STDMETHODCALLTYPE *ScheduleVideoFrame)( + IDeckLinkOutput_v11_4 *This, + IDeckLinkVideoFrame *theFrame, + BMDTimeValue displayTime, + BMDTimeValue displayDuration, + BMDTimeScale timeScale); + + HRESULT (STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback)( + IDeckLinkOutput_v11_4 *This, + IDeckLinkVideoOutputCallback *theCallback); + + HRESULT (STDMETHODCALLTYPE *GetBufferedVideoFrameCount)( + IDeckLinkOutput_v11_4 *This, + unsigned int *bufferedFrameCount); + + HRESULT (STDMETHODCALLTYPE *EnableAudioOutput)( + IDeckLinkOutput_v11_4 *This, + BMDAudioSampleRate sampleRate, + BMDAudioSampleType sampleType, + unsigned int channelCount, + BMDAudioOutputStreamType streamType); + + HRESULT (STDMETHODCALLTYPE *DisableAudioOutput)( + IDeckLinkOutput_v11_4 *This); + + HRESULT (STDMETHODCALLTYPE *WriteAudioSamplesSync)( + IDeckLinkOutput_v11_4 *This, + void *buffer, + unsigned int sampleFrameCount, + unsigned int *sampleFramesWritten); + + HRESULT (STDMETHODCALLTYPE *BeginAudioPreroll)( + IDeckLinkOutput_v11_4 *This); + + HRESULT (STDMETHODCALLTYPE *EndAudioPreroll)( + IDeckLinkOutput_v11_4 *This); + + HRESULT (STDMETHODCALLTYPE *ScheduleAudioSamples)( + IDeckLinkOutput_v11_4 *This, + void *buffer, + unsigned int sampleFrameCount, + BMDTimeValue streamTime, + BMDTimeScale timeScale, + unsigned int *sampleFramesWritten); + + HRESULT (STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount)( + IDeckLinkOutput_v11_4 *This, + unsigned int *bufferedSampleFrameCount); + + HRESULT (STDMETHODCALLTYPE *FlushBufferedAudioSamples)( + IDeckLinkOutput_v11_4 *This); + + HRESULT (STDMETHODCALLTYPE *SetAudioCallback)( + IDeckLinkOutput_v11_4 *This, + IDeckLinkAudioOutputCallback *theCallback); + + HRESULT (STDMETHODCALLTYPE *StartScheduledPlayback)( + IDeckLinkOutput_v11_4 *This, + BMDTimeValue playbackStartTime, + BMDTimeScale timeScale, + double playbackSpeed); + + HRESULT (STDMETHODCALLTYPE *StopScheduledPlayback)( + IDeckLinkOutput_v11_4 *This, + BMDTimeValue stopPlaybackAtTime, + BMDTimeValue *actualStopTime, + BMDTimeScale timeScale); + + HRESULT (STDMETHODCALLTYPE *IsScheduledPlaybackRunning)( + IDeckLinkOutput_v11_4 *This, + BOOL *active); + + HRESULT (STDMETHODCALLTYPE *GetScheduledStreamTime)( + IDeckLinkOutput_v11_4 *This, + BMDTimeScale desiredTimeScale, + BMDTimeValue *streamTime, + double *playbackSpeed); + + HRESULT (STDMETHODCALLTYPE *GetReferenceStatus)( + IDeckLinkOutput_v11_4 *This, + BMDReferenceStatus *referenceStatus); + + HRESULT (STDMETHODCALLTYPE *GetHardwareReferenceClock)( + IDeckLinkOutput_v11_4 *This, + BMDTimeScale desiredTimeScale, + BMDTimeValue *hardwareTime, + BMDTimeValue *timeInFrame, + BMDTimeValue *ticksPerFrame); + + HRESULT (STDMETHODCALLTYPE *GetFrameCompletionReferenceTimestamp)( + IDeckLinkOutput_v11_4 *This, + IDeckLinkVideoFrame *theFrame, + BMDTimeScale desiredTimeScale, + BMDTimeValue *frameCompletionTimestamp); + + END_INTERFACE +} IDeckLinkOutput_v11_4Vtbl; + +interface IDeckLinkOutput_v11_4 { + CONST_VTBL IDeckLinkOutput_v11_4Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IDeckLinkOutput_v11_4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDeckLinkOutput_v11_4_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDeckLinkOutput_v11_4_Release(This) (This)->lpVtbl->Release(This) +/*** IDeckLinkOutput_v11_4 methods ***/ +#define IDeckLinkOutput_v11_4_DoesSupportVideoMode(This,connection,requestedMode,requestedPixelFormat,flags,actualMode,supported) (This)->lpVtbl->DoesSupportVideoMode(This,connection,requestedMode,requestedPixelFormat,flags,actualMode,supported) +#define IDeckLinkOutput_v11_4_GetDisplayMode(This,displayMode,resultDisplayMode) (This)->lpVtbl->GetDisplayMode(This,displayMode,resultDisplayMode) +#define IDeckLinkOutput_v11_4_GetDisplayModeIterator(This,iterator) (This)->lpVtbl->GetDisplayModeIterator(This,iterator) +#define IDeckLinkOutput_v11_4_SetScreenPreviewCallback(This,previewCallback) (This)->lpVtbl->SetScreenPreviewCallback(This,previewCallback) +#define IDeckLinkOutput_v11_4_EnableVideoOutput(This,displayMode,flags) (This)->lpVtbl->EnableVideoOutput(This,displayMode,flags) +#define IDeckLinkOutput_v11_4_DisableVideoOutput(This) (This)->lpVtbl->DisableVideoOutput(This) +#define IDeckLinkOutput_v11_4_SetVideoOutputFrameMemoryAllocator(This,theAllocator) (This)->lpVtbl->SetVideoOutputFrameMemoryAllocator(This,theAllocator) +#define IDeckLinkOutput_v11_4_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) (This)->lpVtbl->CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) +#define IDeckLinkOutput_v11_4_CreateAncillaryData(This,pixelFormat,outBuffer) (This)->lpVtbl->CreateAncillaryData(This,pixelFormat,outBuffer) +#define IDeckLinkOutput_v11_4_DisplayVideoFrameSync(This,theFrame) (This)->lpVtbl->DisplayVideoFrameSync(This,theFrame) +#define IDeckLinkOutput_v11_4_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) (This)->lpVtbl->ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) +#define IDeckLinkOutput_v11_4_SetScheduledFrameCompletionCallback(This,theCallback) (This)->lpVtbl->SetScheduledFrameCompletionCallback(This,theCallback) +#define IDeckLinkOutput_v11_4_GetBufferedVideoFrameCount(This,bufferedFrameCount) (This)->lpVtbl->GetBufferedVideoFrameCount(This,bufferedFrameCount) +#define IDeckLinkOutput_v11_4_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) (This)->lpVtbl->EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) +#define IDeckLinkOutput_v11_4_DisableAudioOutput(This) (This)->lpVtbl->DisableAudioOutput(This) +#define IDeckLinkOutput_v11_4_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) (This)->lpVtbl->WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) +#define IDeckLinkOutput_v11_4_BeginAudioPreroll(This) (This)->lpVtbl->BeginAudioPreroll(This) +#define IDeckLinkOutput_v11_4_EndAudioPreroll(This) (This)->lpVtbl->EndAudioPreroll(This) +#define IDeckLinkOutput_v11_4_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) (This)->lpVtbl->ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) +#define IDeckLinkOutput_v11_4_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) (This)->lpVtbl->GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) +#define IDeckLinkOutput_v11_4_FlushBufferedAudioSamples(This) (This)->lpVtbl->FlushBufferedAudioSamples(This) +#define IDeckLinkOutput_v11_4_SetAudioCallback(This,theCallback) (This)->lpVtbl->SetAudioCallback(This,theCallback) +#define IDeckLinkOutput_v11_4_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) (This)->lpVtbl->StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) +#define IDeckLinkOutput_v11_4_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) (This)->lpVtbl->StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) +#define IDeckLinkOutput_v11_4_IsScheduledPlaybackRunning(This,active) (This)->lpVtbl->IsScheduledPlaybackRunning(This,active) +#define IDeckLinkOutput_v11_4_GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) (This)->lpVtbl->GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) +#define IDeckLinkOutput_v11_4_GetReferenceStatus(This,referenceStatus) (This)->lpVtbl->GetReferenceStatus(This,referenceStatus) +#define IDeckLinkOutput_v11_4_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) (This)->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) +#define IDeckLinkOutput_v11_4_GetFrameCompletionReferenceTimestamp(This,theFrame,desiredTimeScale,frameCompletionTimestamp) (This)->lpVtbl->GetFrameCompletionReferenceTimestamp(This,theFrame,desiredTimeScale,frameCompletionTimestamp) +#else +/*** IUnknown methods ***/ +static inline HRESULT IDeckLinkOutput_v11_4_QueryInterface(IDeckLinkOutput_v11_4* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IDeckLinkOutput_v11_4_AddRef(IDeckLinkOutput_v11_4* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IDeckLinkOutput_v11_4_Release(IDeckLinkOutput_v11_4* This) { + return This->lpVtbl->Release(This); +} +/*** IDeckLinkOutput_v11_4 methods ***/ +static inline HRESULT IDeckLinkOutput_v11_4_DoesSupportVideoMode(IDeckLinkOutput_v11_4* This,BMDVideoConnection connection,BMDDisplayMode requestedMode,BMDPixelFormat requestedPixelFormat,BMDSupportedVideoModeFlags flags,BMDDisplayMode *actualMode,BOOL *supported) { + return This->lpVtbl->DoesSupportVideoMode(This,connection,requestedMode,requestedPixelFormat,flags,actualMode,supported); +} +static inline HRESULT IDeckLinkOutput_v11_4_GetDisplayMode(IDeckLinkOutput_v11_4* This,BMDDisplayMode displayMode,IDeckLinkDisplayMode **resultDisplayMode) { + return This->lpVtbl->GetDisplayMode(This,displayMode,resultDisplayMode); +} +static inline HRESULT IDeckLinkOutput_v11_4_GetDisplayModeIterator(IDeckLinkOutput_v11_4* This,IDeckLinkDisplayModeIterator **iterator) { + return This->lpVtbl->GetDisplayModeIterator(This,iterator); +} +static inline HRESULT IDeckLinkOutput_v11_4_SetScreenPreviewCallback(IDeckLinkOutput_v11_4* This,IDeckLinkScreenPreviewCallback *previewCallback) { + return This->lpVtbl->SetScreenPreviewCallback(This,previewCallback); +} +static inline HRESULT IDeckLinkOutput_v11_4_EnableVideoOutput(IDeckLinkOutput_v11_4* This,BMDDisplayMode displayMode,BMDVideoOutputFlags flags) { + return This->lpVtbl->EnableVideoOutput(This,displayMode,flags); +} +static inline HRESULT IDeckLinkOutput_v11_4_DisableVideoOutput(IDeckLinkOutput_v11_4* This) { + return This->lpVtbl->DisableVideoOutput(This); +} +static inline HRESULT IDeckLinkOutput_v11_4_SetVideoOutputFrameMemoryAllocator(IDeckLinkOutput_v11_4* This,IDeckLinkMemoryAllocator *theAllocator) { + return This->lpVtbl->SetVideoOutputFrameMemoryAllocator(This,theAllocator); +} +static inline HRESULT IDeckLinkOutput_v11_4_CreateVideoFrame(IDeckLinkOutput_v11_4* This,int width,int height,int rowBytes,BMDPixelFormat pixelFormat,BMDFrameFlags flags,IDeckLinkMutableVideoFrame **outFrame) { + return This->lpVtbl->CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame); +} +static inline HRESULT IDeckLinkOutput_v11_4_CreateAncillaryData(IDeckLinkOutput_v11_4* This,BMDPixelFormat pixelFormat,IDeckLinkVideoFrameAncillary **outBuffer) { + return This->lpVtbl->CreateAncillaryData(This,pixelFormat,outBuffer); +} +static inline HRESULT IDeckLinkOutput_v11_4_DisplayVideoFrameSync(IDeckLinkOutput_v11_4* This,IDeckLinkVideoFrame *theFrame) { + return This->lpVtbl->DisplayVideoFrameSync(This,theFrame); +} +static inline HRESULT IDeckLinkOutput_v11_4_ScheduleVideoFrame(IDeckLinkOutput_v11_4* This,IDeckLinkVideoFrame *theFrame,BMDTimeValue displayTime,BMDTimeValue displayDuration,BMDTimeScale timeScale) { + return This->lpVtbl->ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale); } -static FORCEINLINE ULONG IDeckLinkEncoderConfiguration_v10_5_Release(IDeckLinkEncoderConfiguration_v10_5* This) { - return This->lpVtbl->Release(This); +static inline HRESULT IDeckLinkOutput_v11_4_SetScheduledFrameCompletionCallback(IDeckLinkOutput_v11_4* This,IDeckLinkVideoOutputCallback *theCallback) { + return This->lpVtbl->SetScheduledFrameCompletionCallback(This,theCallback); } -/*** IDeckLinkEncoderConfiguration_v10_5 methods ***/ -static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_v10_5_SetFlag(IDeckLinkEncoderConfiguration_v10_5* This,BMDDeckLinkEncoderConfigurationID cfgID,BOOL value) { - return This->lpVtbl->SetFlag(This,cfgID,value); +static inline HRESULT IDeckLinkOutput_v11_4_GetBufferedVideoFrameCount(IDeckLinkOutput_v11_4* This,unsigned int *bufferedFrameCount) { + return This->lpVtbl->GetBufferedVideoFrameCount(This,bufferedFrameCount); } -static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_v10_5_GetFlag(IDeckLinkEncoderConfiguration_v10_5* This,BMDDeckLinkEncoderConfigurationID cfgID,BOOL *value) { - return This->lpVtbl->GetFlag(This,cfgID,value); +static inline HRESULT IDeckLinkOutput_v11_4_EnableAudioOutput(IDeckLinkOutput_v11_4* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount,BMDAudioOutputStreamType streamType) { + return This->lpVtbl->EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType); } -static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_v10_5_SetInt(IDeckLinkEncoderConfiguration_v10_5* This,BMDDeckLinkEncoderConfigurationID cfgID,LONGLONG value) { - return This->lpVtbl->SetInt(This,cfgID,value); +static inline HRESULT IDeckLinkOutput_v11_4_DisableAudioOutput(IDeckLinkOutput_v11_4* This) { + return This->lpVtbl->DisableAudioOutput(This); } -static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_v10_5_GetInt(IDeckLinkEncoderConfiguration_v10_5* This,BMDDeckLinkEncoderConfigurationID cfgID,LONGLONG *value) { - return This->lpVtbl->GetInt(This,cfgID,value); +static inline HRESULT IDeckLinkOutput_v11_4_WriteAudioSamplesSync(IDeckLinkOutput_v11_4* This,void *buffer,unsigned int sampleFrameCount,unsigned int *sampleFramesWritten) { + return This->lpVtbl->WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten); } -static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_v10_5_SetFloat(IDeckLinkEncoderConfiguration_v10_5* This,BMDDeckLinkEncoderConfigurationID cfgID,double value) { - return This->lpVtbl->SetFloat(This,cfgID,value); +static inline HRESULT IDeckLinkOutput_v11_4_BeginAudioPreroll(IDeckLinkOutput_v11_4* This) { + return This->lpVtbl->BeginAudioPreroll(This); } -static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_v10_5_GetFloat(IDeckLinkEncoderConfiguration_v10_5* This,BMDDeckLinkEncoderConfigurationID cfgID,double *value) { - return This->lpVtbl->GetFloat(This,cfgID,value); +static inline HRESULT IDeckLinkOutput_v11_4_EndAudioPreroll(IDeckLinkOutput_v11_4* This) { + return This->lpVtbl->EndAudioPreroll(This); } -static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_v10_5_SetString(IDeckLinkEncoderConfiguration_v10_5* This,BMDDeckLinkEncoderConfigurationID cfgID,BSTR value) { - return This->lpVtbl->SetString(This,cfgID,value); +static inline HRESULT IDeckLinkOutput_v11_4_ScheduleAudioSamples(IDeckLinkOutput_v11_4* This,void *buffer,unsigned int sampleFrameCount,BMDTimeValue streamTime,BMDTimeScale timeScale,unsigned int *sampleFramesWritten) { + return This->lpVtbl->ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten); } -static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_v10_5_GetString(IDeckLinkEncoderConfiguration_v10_5* This,BMDDeckLinkEncoderConfigurationID cfgID,BSTR *value) { - return This->lpVtbl->GetString(This,cfgID,value); +static inline HRESULT IDeckLinkOutput_v11_4_GetBufferedAudioSampleFrameCount(IDeckLinkOutput_v11_4* This,unsigned int *bufferedSampleFrameCount) { + return This->lpVtbl->GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount); } -static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_v10_5_GetDecoderConfigurationInfo(IDeckLinkEncoderConfiguration_v10_5* This,void *buffer,LONG bufferSize,LONG *returnedSize) { - return This->lpVtbl->GetDecoderConfigurationInfo(This,buffer,bufferSize,returnedSize); +static inline HRESULT IDeckLinkOutput_v11_4_FlushBufferedAudioSamples(IDeckLinkOutput_v11_4* This) { + return This->lpVtbl->FlushBufferedAudioSamples(This); +} +static inline HRESULT IDeckLinkOutput_v11_4_SetAudioCallback(IDeckLinkOutput_v11_4* This,IDeckLinkAudioOutputCallback *theCallback) { + return This->lpVtbl->SetAudioCallback(This,theCallback); +} +static inline HRESULT IDeckLinkOutput_v11_4_StartScheduledPlayback(IDeckLinkOutput_v11_4* This,BMDTimeValue playbackStartTime,BMDTimeScale timeScale,double playbackSpeed) { + return This->lpVtbl->StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed); +} +static inline HRESULT IDeckLinkOutput_v11_4_StopScheduledPlayback(IDeckLinkOutput_v11_4* This,BMDTimeValue stopPlaybackAtTime,BMDTimeValue *actualStopTime,BMDTimeScale timeScale) { + return This->lpVtbl->StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale); +} +static inline HRESULT IDeckLinkOutput_v11_4_IsScheduledPlaybackRunning(IDeckLinkOutput_v11_4* This,BOOL *active) { + return This->lpVtbl->IsScheduledPlaybackRunning(This,active); +} +static inline HRESULT IDeckLinkOutput_v11_4_GetScheduledStreamTime(IDeckLinkOutput_v11_4* This,BMDTimeScale desiredTimeScale,BMDTimeValue *streamTime,double *playbackSpeed) { + return This->lpVtbl->GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed); +} +static inline HRESULT IDeckLinkOutput_v11_4_GetReferenceStatus(IDeckLinkOutput_v11_4* This,BMDReferenceStatus *referenceStatus) { + return This->lpVtbl->GetReferenceStatus(This,referenceStatus); +} +static inline HRESULT IDeckLinkOutput_v11_4_GetHardwareReferenceClock(IDeckLinkOutput_v11_4* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) { + return This->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame); +} +static inline HRESULT IDeckLinkOutput_v11_4_GetFrameCompletionReferenceTimestamp(IDeckLinkOutput_v11_4* This,IDeckLinkVideoFrame *theFrame,BMDTimeScale desiredTimeScale,BMDTimeValue *frameCompletionTimestamp) { + return This->lpVtbl->GetFrameCompletionReferenceTimestamp(This,theFrame,desiredTimeScale,frameCompletionTimestamp); } #endif #endif @@ -13373,190 +13493,270 @@ static FORCEINLINE HRESULT IDeckLinkEncoderConfiguration_v10_5_GetDecoderConfigu #endif -#endif /* __IDeckLinkEncoderConfiguration_v10_5_INTERFACE_DEFINED__ */ - -typedef enum _BMDDeckLinkConfigurationID_v10_4 { - bmdDeckLinkConfigSingleLinkVideoOutput_v10_4 = 0x73676c6f -} BMDDeckLinkConfigurationID_v10_4; -#ifndef __IDeckLinkConfiguration_v10_4_FWD_DEFINED__ -#define __IDeckLinkConfiguration_v10_4_FWD_DEFINED__ -typedef interface IDeckLinkConfiguration_v10_4 IDeckLinkConfiguration_v10_4; -#ifdef __cplusplus -interface IDeckLinkConfiguration_v10_4; -#endif /* __cplusplus */ -#endif +#endif /* __IDeckLinkOutput_v11_4_INTERFACE_DEFINED__ */ /***************************************************************************** - * IDeckLinkConfiguration_v10_4 interface + * IDeckLinkInput_v11_4 interface */ -#ifndef __IDeckLinkConfiguration_v10_4_INTERFACE_DEFINED__ -#define __IDeckLinkConfiguration_v10_4_INTERFACE_DEFINED__ +#ifndef __IDeckLinkInput_v11_4_INTERFACE_DEFINED__ +#define __IDeckLinkInput_v11_4_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDeckLinkConfiguration_v10_4, 0x1e69fcf6, 0x4203, 0x4936, 0x80,0x76, 0x2a,0x9f,0x4c,0xfd,0x50,0xcb); +DEFINE_GUID(IID_IDeckLinkInput_v11_4, 0x2a88cf76, 0xf494, 0x4216, 0xa7,0xef, 0xdc,0x74,0xee,0xb8,0x38,0x82); #if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("1e69fcf6-4203-4936-8076-2a9f4cfd50cb") -IDeckLinkConfiguration_v10_4 : public IUnknown +MIDL_INTERFACE("2a88cf76-f494-4216-a7ef-dc74eeb83882") +IDeckLinkInput_v11_4 : public IUnknown { - virtual HRESULT STDMETHODCALLTYPE SetFlag( - BMDDeckLinkConfigurationID cfgID, - BOOL value) = 0; + virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( + BMDVideoConnection connection, + BMDDisplayMode requestedMode, + BMDPixelFormat requestedPixelFormat, + BMDSupportedVideoModeFlags flags, + BOOL *supported) = 0; - virtual HRESULT STDMETHODCALLTYPE GetFlag( - BMDDeckLinkConfigurationID cfgID, - BOOL *value) = 0; + virtual HRESULT STDMETHODCALLTYPE GetDisplayMode( + BMDDisplayMode displayMode, + IDeckLinkDisplayMode **resultDisplayMode) = 0; - virtual HRESULT STDMETHODCALLTYPE SetInt( - BMDDeckLinkConfigurationID cfgID, - LONGLONG value) = 0; + virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( + IDeckLinkDisplayModeIterator **iterator) = 0; - virtual HRESULT STDMETHODCALLTYPE GetInt( - BMDDeckLinkConfigurationID cfgID, - LONGLONG *value) = 0; + virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( + IDeckLinkScreenPreviewCallback *previewCallback) = 0; - virtual HRESULT STDMETHODCALLTYPE SetFloat( - BMDDeckLinkConfigurationID cfgID, - double value) = 0; + virtual HRESULT STDMETHODCALLTYPE EnableVideoInput( + BMDDisplayMode displayMode, + BMDPixelFormat pixelFormat, + BMDVideoInputFlags flags) = 0; - virtual HRESULT STDMETHODCALLTYPE GetFloat( - BMDDeckLinkConfigurationID cfgID, - double *value) = 0; + virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( + ) = 0; - virtual HRESULT STDMETHODCALLTYPE SetString( - BMDDeckLinkConfigurationID cfgID, - BSTR value) = 0; + virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount( + unsigned int *availableFrameCount) = 0; - virtual HRESULT STDMETHODCALLTYPE GetString( - BMDDeckLinkConfigurationID cfgID, - BSTR *value) = 0; + virtual HRESULT STDMETHODCALLTYPE SetVideoInputFrameMemoryAllocator( + IDeckLinkMemoryAllocator *theAllocator) = 0; - virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences( + virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( + BMDAudioSampleRate sampleRate, + BMDAudioSampleType sampleType, + unsigned int channelCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount( + unsigned int *availableSampleFrameCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE StartStreams( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE StopStreams( ) = 0; + virtual HRESULT STDMETHODCALLTYPE PauseStreams( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE FlushStreams( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetCallback( + IDeckLinkInputCallback_v11_5_1 *theCallback) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( + BMDTimeScale desiredTimeScale, + BMDTimeValue *hardwareTime, + BMDTimeValue *timeInFrame, + BMDTimeValue *ticksPerFrame) = 0; + }; #ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDeckLinkConfiguration_v10_4, 0x1e69fcf6, 0x4203, 0x4936, 0x80,0x76, 0x2a,0x9f,0x4c,0xfd,0x50,0xcb) +__CRT_UUID_DECL(IDeckLinkInput_v11_4, 0x2a88cf76, 0xf494, 0x4216, 0xa7,0xef, 0xdc,0x74,0xee,0xb8,0x38,0x82) #endif #else -typedef struct IDeckLinkConfiguration_v10_4Vtbl { +typedef struct IDeckLinkInput_v11_4Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDeckLinkConfiguration_v10_4 *This, + IDeckLinkInput_v11_4 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( - IDeckLinkConfiguration_v10_4 *This); + IDeckLinkInput_v11_4 *This); ULONG (STDMETHODCALLTYPE *Release)( - IDeckLinkConfiguration_v10_4 *This); + IDeckLinkInput_v11_4 *This); - /*** IDeckLinkConfiguration_v10_4 methods ***/ - HRESULT (STDMETHODCALLTYPE *SetFlag)( - IDeckLinkConfiguration_v10_4 *This, - BMDDeckLinkConfigurationID cfgID, - BOOL value); + /*** IDeckLinkInput_v11_4 methods ***/ + HRESULT (STDMETHODCALLTYPE *DoesSupportVideoMode)( + IDeckLinkInput_v11_4 *This, + BMDVideoConnection connection, + BMDDisplayMode requestedMode, + BMDPixelFormat requestedPixelFormat, + BMDSupportedVideoModeFlags flags, + BOOL *supported); - HRESULT (STDMETHODCALLTYPE *GetFlag)( - IDeckLinkConfiguration_v10_4 *This, - BMDDeckLinkConfigurationID cfgID, - BOOL *value); + HRESULT (STDMETHODCALLTYPE *GetDisplayMode)( + IDeckLinkInput_v11_4 *This, + BMDDisplayMode displayMode, + IDeckLinkDisplayMode **resultDisplayMode); - HRESULT (STDMETHODCALLTYPE *SetInt)( - IDeckLinkConfiguration_v10_4 *This, - BMDDeckLinkConfigurationID cfgID, - LONGLONG value); + HRESULT (STDMETHODCALLTYPE *GetDisplayModeIterator)( + IDeckLinkInput_v11_4 *This, + IDeckLinkDisplayModeIterator **iterator); - HRESULT (STDMETHODCALLTYPE *GetInt)( - IDeckLinkConfiguration_v10_4 *This, - BMDDeckLinkConfigurationID cfgID, - LONGLONG *value); + HRESULT (STDMETHODCALLTYPE *SetScreenPreviewCallback)( + IDeckLinkInput_v11_4 *This, + IDeckLinkScreenPreviewCallback *previewCallback); - HRESULT (STDMETHODCALLTYPE *SetFloat)( - IDeckLinkConfiguration_v10_4 *This, - BMDDeckLinkConfigurationID cfgID, - double value); + HRESULT (STDMETHODCALLTYPE *EnableVideoInput)( + IDeckLinkInput_v11_4 *This, + BMDDisplayMode displayMode, + BMDPixelFormat pixelFormat, + BMDVideoInputFlags flags); - HRESULT (STDMETHODCALLTYPE *GetFloat)( - IDeckLinkConfiguration_v10_4 *This, - BMDDeckLinkConfigurationID cfgID, - double *value); + HRESULT (STDMETHODCALLTYPE *DisableVideoInput)( + IDeckLinkInput_v11_4 *This); - HRESULT (STDMETHODCALLTYPE *SetString)( - IDeckLinkConfiguration_v10_4 *This, - BMDDeckLinkConfigurationID cfgID, - BSTR value); + HRESULT (STDMETHODCALLTYPE *GetAvailableVideoFrameCount)( + IDeckLinkInput_v11_4 *This, + unsigned int *availableFrameCount); - HRESULT (STDMETHODCALLTYPE *GetString)( - IDeckLinkConfiguration_v10_4 *This, - BMDDeckLinkConfigurationID cfgID, - BSTR *value); + HRESULT (STDMETHODCALLTYPE *SetVideoInputFrameMemoryAllocator)( + IDeckLinkInput_v11_4 *This, + IDeckLinkMemoryAllocator *theAllocator); - HRESULT (STDMETHODCALLTYPE *WriteConfigurationToPreferences)( - IDeckLinkConfiguration_v10_4 *This); + HRESULT (STDMETHODCALLTYPE *EnableAudioInput)( + IDeckLinkInput_v11_4 *This, + BMDAudioSampleRate sampleRate, + BMDAudioSampleType sampleType, + unsigned int channelCount); + + HRESULT (STDMETHODCALLTYPE *DisableAudioInput)( + IDeckLinkInput_v11_4 *This); + + HRESULT (STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount)( + IDeckLinkInput_v11_4 *This, + unsigned int *availableSampleFrameCount); + + HRESULT (STDMETHODCALLTYPE *StartStreams)( + IDeckLinkInput_v11_4 *This); + + HRESULT (STDMETHODCALLTYPE *StopStreams)( + IDeckLinkInput_v11_4 *This); + + HRESULT (STDMETHODCALLTYPE *PauseStreams)( + IDeckLinkInput_v11_4 *This); + + HRESULT (STDMETHODCALLTYPE *FlushStreams)( + IDeckLinkInput_v11_4 *This); + + HRESULT (STDMETHODCALLTYPE *SetCallback)( + IDeckLinkInput_v11_4 *This, + IDeckLinkInputCallback_v11_5_1 *theCallback); + + HRESULT (STDMETHODCALLTYPE *GetHardwareReferenceClock)( + IDeckLinkInput_v11_4 *This, + BMDTimeScale desiredTimeScale, + BMDTimeValue *hardwareTime, + BMDTimeValue *timeInFrame, + BMDTimeValue *ticksPerFrame); END_INTERFACE -} IDeckLinkConfiguration_v10_4Vtbl; +} IDeckLinkInput_v11_4Vtbl; -interface IDeckLinkConfiguration_v10_4 { - CONST_VTBL IDeckLinkConfiguration_v10_4Vtbl* lpVtbl; +interface IDeckLinkInput_v11_4 { + CONST_VTBL IDeckLinkInput_v11_4Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ -#define IDeckLinkConfiguration_v10_4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) -#define IDeckLinkConfiguration_v10_4_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDeckLinkConfiguration_v10_4_Release(This) (This)->lpVtbl->Release(This) -/*** IDeckLinkConfiguration_v10_4 methods ***/ -#define IDeckLinkConfiguration_v10_4_SetFlag(This,cfgID,value) (This)->lpVtbl->SetFlag(This,cfgID,value) -#define IDeckLinkConfiguration_v10_4_GetFlag(This,cfgID,value) (This)->lpVtbl->GetFlag(This,cfgID,value) -#define IDeckLinkConfiguration_v10_4_SetInt(This,cfgID,value) (This)->lpVtbl->SetInt(This,cfgID,value) -#define IDeckLinkConfiguration_v10_4_GetInt(This,cfgID,value) (This)->lpVtbl->GetInt(This,cfgID,value) -#define IDeckLinkConfiguration_v10_4_SetFloat(This,cfgID,value) (This)->lpVtbl->SetFloat(This,cfgID,value) -#define IDeckLinkConfiguration_v10_4_GetFloat(This,cfgID,value) (This)->lpVtbl->GetFloat(This,cfgID,value) -#define IDeckLinkConfiguration_v10_4_SetString(This,cfgID,value) (This)->lpVtbl->SetString(This,cfgID,value) -#define IDeckLinkConfiguration_v10_4_GetString(This,cfgID,value) (This)->lpVtbl->GetString(This,cfgID,value) -#define IDeckLinkConfiguration_v10_4_WriteConfigurationToPreferences(This) (This)->lpVtbl->WriteConfigurationToPreferences(This) +#define IDeckLinkInput_v11_4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDeckLinkInput_v11_4_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDeckLinkInput_v11_4_Release(This) (This)->lpVtbl->Release(This) +/*** IDeckLinkInput_v11_4 methods ***/ +#define IDeckLinkInput_v11_4_DoesSupportVideoMode(This,connection,requestedMode,requestedPixelFormat,flags,supported) (This)->lpVtbl->DoesSupportVideoMode(This,connection,requestedMode,requestedPixelFormat,flags,supported) +#define IDeckLinkInput_v11_4_GetDisplayMode(This,displayMode,resultDisplayMode) (This)->lpVtbl->GetDisplayMode(This,displayMode,resultDisplayMode) +#define IDeckLinkInput_v11_4_GetDisplayModeIterator(This,iterator) (This)->lpVtbl->GetDisplayModeIterator(This,iterator) +#define IDeckLinkInput_v11_4_SetScreenPreviewCallback(This,previewCallback) (This)->lpVtbl->SetScreenPreviewCallback(This,previewCallback) +#define IDeckLinkInput_v11_4_EnableVideoInput(This,displayMode,pixelFormat,flags) (This)->lpVtbl->EnableVideoInput(This,displayMode,pixelFormat,flags) +#define IDeckLinkInput_v11_4_DisableVideoInput(This) (This)->lpVtbl->DisableVideoInput(This) +#define IDeckLinkInput_v11_4_GetAvailableVideoFrameCount(This,availableFrameCount) (This)->lpVtbl->GetAvailableVideoFrameCount(This,availableFrameCount) +#define IDeckLinkInput_v11_4_SetVideoInputFrameMemoryAllocator(This,theAllocator) (This)->lpVtbl->SetVideoInputFrameMemoryAllocator(This,theAllocator) +#define IDeckLinkInput_v11_4_EnableAudioInput(This,sampleRate,sampleType,channelCount) (This)->lpVtbl->EnableAudioInput(This,sampleRate,sampleType,channelCount) +#define IDeckLinkInput_v11_4_DisableAudioInput(This) (This)->lpVtbl->DisableAudioInput(This) +#define IDeckLinkInput_v11_4_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) (This)->lpVtbl->GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) +#define IDeckLinkInput_v11_4_StartStreams(This) (This)->lpVtbl->StartStreams(This) +#define IDeckLinkInput_v11_4_StopStreams(This) (This)->lpVtbl->StopStreams(This) +#define IDeckLinkInput_v11_4_PauseStreams(This) (This)->lpVtbl->PauseStreams(This) +#define IDeckLinkInput_v11_4_FlushStreams(This) (This)->lpVtbl->FlushStreams(This) +#define IDeckLinkInput_v11_4_SetCallback(This,theCallback) (This)->lpVtbl->SetCallback(This,theCallback) +#define IDeckLinkInput_v11_4_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) (This)->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_4_QueryInterface(IDeckLinkConfiguration_v10_4* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkInput_v11_4_QueryInterface(IDeckLinkInput_v11_4* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkConfiguration_v10_4_AddRef(IDeckLinkConfiguration_v10_4* This) { +static inline ULONG IDeckLinkInput_v11_4_AddRef(IDeckLinkInput_v11_4* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkConfiguration_v10_4_Release(IDeckLinkConfiguration_v10_4* This) { +static inline ULONG IDeckLinkInput_v11_4_Release(IDeckLinkInput_v11_4* This) { return This->lpVtbl->Release(This); } -/*** IDeckLinkConfiguration_v10_4 methods ***/ -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_4_SetFlag(IDeckLinkConfiguration_v10_4* This,BMDDeckLinkConfigurationID cfgID,BOOL value) { - return This->lpVtbl->SetFlag(This,cfgID,value); +/*** IDeckLinkInput_v11_4 methods ***/ +static inline HRESULT IDeckLinkInput_v11_4_DoesSupportVideoMode(IDeckLinkInput_v11_4* This,BMDVideoConnection connection,BMDDisplayMode requestedMode,BMDPixelFormat requestedPixelFormat,BMDSupportedVideoModeFlags flags,BOOL *supported) { + return This->lpVtbl->DoesSupportVideoMode(This,connection,requestedMode,requestedPixelFormat,flags,supported); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_4_GetFlag(IDeckLinkConfiguration_v10_4* This,BMDDeckLinkConfigurationID cfgID,BOOL *value) { - return This->lpVtbl->GetFlag(This,cfgID,value); +static inline HRESULT IDeckLinkInput_v11_4_GetDisplayMode(IDeckLinkInput_v11_4* This,BMDDisplayMode displayMode,IDeckLinkDisplayMode **resultDisplayMode) { + return This->lpVtbl->GetDisplayMode(This,displayMode,resultDisplayMode); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_4_SetInt(IDeckLinkConfiguration_v10_4* This,BMDDeckLinkConfigurationID cfgID,LONGLONG value) { - return This->lpVtbl->SetInt(This,cfgID,value); +static inline HRESULT IDeckLinkInput_v11_4_GetDisplayModeIterator(IDeckLinkInput_v11_4* This,IDeckLinkDisplayModeIterator **iterator) { + return This->lpVtbl->GetDisplayModeIterator(This,iterator); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_4_GetInt(IDeckLinkConfiguration_v10_4* This,BMDDeckLinkConfigurationID cfgID,LONGLONG *value) { - return This->lpVtbl->GetInt(This,cfgID,value); +static inline HRESULT IDeckLinkInput_v11_4_SetScreenPreviewCallback(IDeckLinkInput_v11_4* This,IDeckLinkScreenPreviewCallback *previewCallback) { + return This->lpVtbl->SetScreenPreviewCallback(This,previewCallback); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_4_SetFloat(IDeckLinkConfiguration_v10_4* This,BMDDeckLinkConfigurationID cfgID,double value) { - return This->lpVtbl->SetFloat(This,cfgID,value); +static inline HRESULT IDeckLinkInput_v11_4_EnableVideoInput(IDeckLinkInput_v11_4* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags) { + return This->lpVtbl->EnableVideoInput(This,displayMode,pixelFormat,flags); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_4_GetFloat(IDeckLinkConfiguration_v10_4* This,BMDDeckLinkConfigurationID cfgID,double *value) { - return This->lpVtbl->GetFloat(This,cfgID,value); +static inline HRESULT IDeckLinkInput_v11_4_DisableVideoInput(IDeckLinkInput_v11_4* This) { + return This->lpVtbl->DisableVideoInput(This); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_4_SetString(IDeckLinkConfiguration_v10_4* This,BMDDeckLinkConfigurationID cfgID,BSTR value) { - return This->lpVtbl->SetString(This,cfgID,value); +static inline HRESULT IDeckLinkInput_v11_4_GetAvailableVideoFrameCount(IDeckLinkInput_v11_4* This,unsigned int *availableFrameCount) { + return This->lpVtbl->GetAvailableVideoFrameCount(This,availableFrameCount); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_4_GetString(IDeckLinkConfiguration_v10_4* This,BMDDeckLinkConfigurationID cfgID,BSTR *value) { - return This->lpVtbl->GetString(This,cfgID,value); +static inline HRESULT IDeckLinkInput_v11_4_SetVideoInputFrameMemoryAllocator(IDeckLinkInput_v11_4* This,IDeckLinkMemoryAllocator *theAllocator) { + return This->lpVtbl->SetVideoInputFrameMemoryAllocator(This,theAllocator); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_4_WriteConfigurationToPreferences(IDeckLinkConfiguration_v10_4* This) { - return This->lpVtbl->WriteConfigurationToPreferences(This); +static inline HRESULT IDeckLinkInput_v11_4_EnableAudioInput(IDeckLinkInput_v11_4* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount) { + return This->lpVtbl->EnableAudioInput(This,sampleRate,sampleType,channelCount); +} +static inline HRESULT IDeckLinkInput_v11_4_DisableAudioInput(IDeckLinkInput_v11_4* This) { + return This->lpVtbl->DisableAudioInput(This); +} +static inline HRESULT IDeckLinkInput_v11_4_GetAvailableAudioSampleFrameCount(IDeckLinkInput_v11_4* This,unsigned int *availableSampleFrameCount) { + return This->lpVtbl->GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount); +} +static inline HRESULT IDeckLinkInput_v11_4_StartStreams(IDeckLinkInput_v11_4* This) { + return This->lpVtbl->StartStreams(This); +} +static inline HRESULT IDeckLinkInput_v11_4_StopStreams(IDeckLinkInput_v11_4* This) { + return This->lpVtbl->StopStreams(This); +} +static inline HRESULT IDeckLinkInput_v11_4_PauseStreams(IDeckLinkInput_v11_4* This) { + return This->lpVtbl->PauseStreams(This); +} +static inline HRESULT IDeckLinkInput_v11_4_FlushStreams(IDeckLinkInput_v11_4* This) { + return This->lpVtbl->FlushStreams(This); +} +static inline HRESULT IDeckLinkInput_v11_4_SetCallback(IDeckLinkInput_v11_4* This,IDeckLinkInputCallback_v11_5_1 *theCallback) { + return This->lpVtbl->SetCallback(This,theCallback); +} +static inline HRESULT IDeckLinkInput_v11_4_GetHardwareReferenceClock(IDeckLinkInput_v11_4* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) { + return This->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame); } #endif #endif @@ -13564,197 +13764,227 @@ static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_4_WriteConfigurationToPref #endif -#endif /* __IDeckLinkConfiguration_v10_4_INTERFACE_DEFINED__ */ +#endif /* __IDeckLinkInput_v11_4_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * CDeckLinkIterator_v10_8 coclass + */ + +DEFINE_GUID(CLSID_CDeckLinkIterator_v10_8, 0x1f2e109a, 0x8f4f, 0x49e4, 0x92,0x03, 0x13,0x55,0x95,0xcb,0x6f,0xa5); -typedef enum _BMDDeckLinkConfigurationID_v10_2 { - bmdDeckLinkConfig3GBpsVideoOutput_v10_2 = 0x33676273 -} BMDDeckLinkConfigurationID_v10_2; -typedef enum _BMDAudioConnection_v10_2 { - bmdAudioConnectionEmbedded_v10_2 = 0x656d6264, - bmdAudioConnectionAESEBU_v10_2 = 0x61657320, - bmdAudioConnectionAnalog_v10_2 = 0x616e6c67, - bmdAudioConnectionAnalogXLR_v10_2 = 0x61786c72, - bmdAudioConnectionAnalogRCA_v10_2 = 0x61726361 -} BMDAudioConnection_v10_2; -#ifndef __IDeckLinkConfiguration_v10_2_FWD_DEFINED__ -#define __IDeckLinkConfiguration_v10_2_FWD_DEFINED__ -typedef interface IDeckLinkConfiguration_v10_2 IDeckLinkConfiguration_v10_2; #ifdef __cplusplus -interface IDeckLinkConfiguration_v10_2; +class DECLSPEC_UUID("1f2e109a-8f4f-49e4-9203-135595cb6fa5") CDeckLinkIterator_v10_8; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CDeckLinkIterator_v10_8, 0x1f2e109a, 0x8f4f, 0x49e4, 0x92,0x03, 0x13,0x55,0x95,0xcb,0x6f,0xa5) +#endif +#endif + +/***************************************************************************** + * CDeckLinkDiscovery_v10_8 coclass + */ + +DEFINE_GUID(CLSID_CDeckLinkDiscovery_v10_8, 0x1073a05c, 0xd885, 0x47e9, 0xb3,0xc6, 0x12,0x9b,0x3f,0x9f,0x64,0x8b); + +#ifdef __cplusplus +class DECLSPEC_UUID("1073a05c-d885-47e9-b3c6-129b3f9f648b") CDeckLinkDiscovery_v10_8; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CDeckLinkDiscovery_v10_8, 0x1073a05c, 0xd885, 0x47e9, 0xb3,0xc6, 0x12,0x9b,0x3f,0x9f,0x64,0x8b) +#endif +#endif + +typedef enum _BMDDeckLinkAttributeID_v10_6 { + BMDDeckLinkSupportsDesktopDisplay_v10_6 = 0x65787464 +} BMDDeckLinkAttributeID_v10_6; +typedef enum _BMDIdleVideoOutputOperation_v10_6 { + bmdIdleVideoOutputDesktop_v10_6 = 0x6465736b +} BMDIdleVideoOutputOperation_v10_6; +typedef enum _BMDDeckLinkAttributeID_v10_5 { + BMDDeckLinkDeviceBusyState_v10_5 = 0x64627374 +} BMDDeckLinkAttributeID_v10_5; +#ifndef __IDeckLinkEncoderConfiguration_v10_5_FWD_DEFINED__ +#define __IDeckLinkEncoderConfiguration_v10_5_FWD_DEFINED__ +typedef interface IDeckLinkEncoderConfiguration_v10_5 IDeckLinkEncoderConfiguration_v10_5; +#ifdef __cplusplus +interface IDeckLinkEncoderConfiguration_v10_5; #endif /* __cplusplus */ #endif /***************************************************************************** - * IDeckLinkConfiguration_v10_2 interface + * IDeckLinkEncoderConfiguration_v10_5 interface */ -#ifndef __IDeckLinkConfiguration_v10_2_INTERFACE_DEFINED__ -#define __IDeckLinkConfiguration_v10_2_INTERFACE_DEFINED__ +#ifndef __IDeckLinkEncoderConfiguration_v10_5_INTERFACE_DEFINED__ +#define __IDeckLinkEncoderConfiguration_v10_5_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDeckLinkConfiguration_v10_2, 0xc679a35b, 0x610c, 0x4d09, 0xb7,0x48, 0x1d,0x04,0x78,0x10,0x0f,0xc0); +DEFINE_GUID(IID_IDeckLinkEncoderConfiguration_v10_5, 0x67455668, 0x0848, 0x45df, 0x8d,0x8e, 0x35,0x0a,0x77,0xc9,0xa0,0x28); #if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("c679a35b-610c-4d09-b748-1d0478100fc0") -IDeckLinkConfiguration_v10_2 : public IUnknown +MIDL_INTERFACE("67455668-0848-45df-8d8e-350a77c9a028") +IDeckLinkEncoderConfiguration_v10_5 : public IUnknown { virtual HRESULT STDMETHODCALLTYPE SetFlag( - BMDDeckLinkConfigurationID cfgID, + BMDDeckLinkEncoderConfigurationID cfgID, BOOL value) = 0; virtual HRESULT STDMETHODCALLTYPE GetFlag( - BMDDeckLinkConfigurationID cfgID, + BMDDeckLinkEncoderConfigurationID cfgID, BOOL *value) = 0; virtual HRESULT STDMETHODCALLTYPE SetInt( - BMDDeckLinkConfigurationID cfgID, + BMDDeckLinkEncoderConfigurationID cfgID, LONGLONG value) = 0; virtual HRESULT STDMETHODCALLTYPE GetInt( - BMDDeckLinkConfigurationID cfgID, + BMDDeckLinkEncoderConfigurationID cfgID, LONGLONG *value) = 0; virtual HRESULT STDMETHODCALLTYPE SetFloat( - BMDDeckLinkConfigurationID cfgID, + BMDDeckLinkEncoderConfigurationID cfgID, double value) = 0; virtual HRESULT STDMETHODCALLTYPE GetFloat( - BMDDeckLinkConfigurationID cfgID, + BMDDeckLinkEncoderConfigurationID cfgID, double *value) = 0; virtual HRESULT STDMETHODCALLTYPE SetString( - BMDDeckLinkConfigurationID cfgID, + BMDDeckLinkEncoderConfigurationID cfgID, BSTR value) = 0; virtual HRESULT STDMETHODCALLTYPE GetString( - BMDDeckLinkConfigurationID cfgID, + BMDDeckLinkEncoderConfigurationID cfgID, BSTR *value) = 0; - virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences( - ) = 0; + virtual HRESULT STDMETHODCALLTYPE GetDecoderConfigurationInfo( + void *buffer, + LONG bufferSize, + LONG *returnedSize) = 0; }; #ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDeckLinkConfiguration_v10_2, 0xc679a35b, 0x610c, 0x4d09, 0xb7,0x48, 0x1d,0x04,0x78,0x10,0x0f,0xc0) +__CRT_UUID_DECL(IDeckLinkEncoderConfiguration_v10_5, 0x67455668, 0x0848, 0x45df, 0x8d,0x8e, 0x35,0x0a,0x77,0xc9,0xa0,0x28) #endif #else -typedef struct IDeckLinkConfiguration_v10_2Vtbl { +typedef struct IDeckLinkEncoderConfiguration_v10_5Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDeckLinkConfiguration_v10_2 *This, + IDeckLinkEncoderConfiguration_v10_5 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( - IDeckLinkConfiguration_v10_2 *This); + IDeckLinkEncoderConfiguration_v10_5 *This); ULONG (STDMETHODCALLTYPE *Release)( - IDeckLinkConfiguration_v10_2 *This); + IDeckLinkEncoderConfiguration_v10_5 *This); - /*** IDeckLinkConfiguration_v10_2 methods ***/ + /*** IDeckLinkEncoderConfiguration_v10_5 methods ***/ HRESULT (STDMETHODCALLTYPE *SetFlag)( - IDeckLinkConfiguration_v10_2 *This, - BMDDeckLinkConfigurationID cfgID, + IDeckLinkEncoderConfiguration_v10_5 *This, + BMDDeckLinkEncoderConfigurationID cfgID, BOOL value); HRESULT (STDMETHODCALLTYPE *GetFlag)( - IDeckLinkConfiguration_v10_2 *This, - BMDDeckLinkConfigurationID cfgID, + IDeckLinkEncoderConfiguration_v10_5 *This, + BMDDeckLinkEncoderConfigurationID cfgID, BOOL *value); HRESULT (STDMETHODCALLTYPE *SetInt)( - IDeckLinkConfiguration_v10_2 *This, - BMDDeckLinkConfigurationID cfgID, + IDeckLinkEncoderConfiguration_v10_5 *This, + BMDDeckLinkEncoderConfigurationID cfgID, LONGLONG value); HRESULT (STDMETHODCALLTYPE *GetInt)( - IDeckLinkConfiguration_v10_2 *This, - BMDDeckLinkConfigurationID cfgID, + IDeckLinkEncoderConfiguration_v10_5 *This, + BMDDeckLinkEncoderConfigurationID cfgID, LONGLONG *value); HRESULT (STDMETHODCALLTYPE *SetFloat)( - IDeckLinkConfiguration_v10_2 *This, - BMDDeckLinkConfigurationID cfgID, + IDeckLinkEncoderConfiguration_v10_5 *This, + BMDDeckLinkEncoderConfigurationID cfgID, double value); HRESULT (STDMETHODCALLTYPE *GetFloat)( - IDeckLinkConfiguration_v10_2 *This, - BMDDeckLinkConfigurationID cfgID, + IDeckLinkEncoderConfiguration_v10_5 *This, + BMDDeckLinkEncoderConfigurationID cfgID, double *value); HRESULT (STDMETHODCALLTYPE *SetString)( - IDeckLinkConfiguration_v10_2 *This, - BMDDeckLinkConfigurationID cfgID, + IDeckLinkEncoderConfiguration_v10_5 *This, + BMDDeckLinkEncoderConfigurationID cfgID, BSTR value); HRESULT (STDMETHODCALLTYPE *GetString)( - IDeckLinkConfiguration_v10_2 *This, - BMDDeckLinkConfigurationID cfgID, + IDeckLinkEncoderConfiguration_v10_5 *This, + BMDDeckLinkEncoderConfigurationID cfgID, BSTR *value); - HRESULT (STDMETHODCALLTYPE *WriteConfigurationToPreferences)( - IDeckLinkConfiguration_v10_2 *This); + HRESULT (STDMETHODCALLTYPE *GetDecoderConfigurationInfo)( + IDeckLinkEncoderConfiguration_v10_5 *This, + void *buffer, + LONG bufferSize, + LONG *returnedSize); END_INTERFACE -} IDeckLinkConfiguration_v10_2Vtbl; +} IDeckLinkEncoderConfiguration_v10_5Vtbl; -interface IDeckLinkConfiguration_v10_2 { - CONST_VTBL IDeckLinkConfiguration_v10_2Vtbl* lpVtbl; +interface IDeckLinkEncoderConfiguration_v10_5 { + CONST_VTBL IDeckLinkEncoderConfiguration_v10_5Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ -#define IDeckLinkConfiguration_v10_2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) -#define IDeckLinkConfiguration_v10_2_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDeckLinkConfiguration_v10_2_Release(This) (This)->lpVtbl->Release(This) -/*** IDeckLinkConfiguration_v10_2 methods ***/ -#define IDeckLinkConfiguration_v10_2_SetFlag(This,cfgID,value) (This)->lpVtbl->SetFlag(This,cfgID,value) -#define IDeckLinkConfiguration_v10_2_GetFlag(This,cfgID,value) (This)->lpVtbl->GetFlag(This,cfgID,value) -#define IDeckLinkConfiguration_v10_2_SetInt(This,cfgID,value) (This)->lpVtbl->SetInt(This,cfgID,value) -#define IDeckLinkConfiguration_v10_2_GetInt(This,cfgID,value) (This)->lpVtbl->GetInt(This,cfgID,value) -#define IDeckLinkConfiguration_v10_2_SetFloat(This,cfgID,value) (This)->lpVtbl->SetFloat(This,cfgID,value) -#define IDeckLinkConfiguration_v10_2_GetFloat(This,cfgID,value) (This)->lpVtbl->GetFloat(This,cfgID,value) -#define IDeckLinkConfiguration_v10_2_SetString(This,cfgID,value) (This)->lpVtbl->SetString(This,cfgID,value) -#define IDeckLinkConfiguration_v10_2_GetString(This,cfgID,value) (This)->lpVtbl->GetString(This,cfgID,value) -#define IDeckLinkConfiguration_v10_2_WriteConfigurationToPreferences(This) (This)->lpVtbl->WriteConfigurationToPreferences(This) +#define IDeckLinkEncoderConfiguration_v10_5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDeckLinkEncoderConfiguration_v10_5_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDeckLinkEncoderConfiguration_v10_5_Release(This) (This)->lpVtbl->Release(This) +/*** IDeckLinkEncoderConfiguration_v10_5 methods ***/ +#define IDeckLinkEncoderConfiguration_v10_5_SetFlag(This,cfgID,value) (This)->lpVtbl->SetFlag(This,cfgID,value) +#define IDeckLinkEncoderConfiguration_v10_5_GetFlag(This,cfgID,value) (This)->lpVtbl->GetFlag(This,cfgID,value) +#define IDeckLinkEncoderConfiguration_v10_5_SetInt(This,cfgID,value) (This)->lpVtbl->SetInt(This,cfgID,value) +#define IDeckLinkEncoderConfiguration_v10_5_GetInt(This,cfgID,value) (This)->lpVtbl->GetInt(This,cfgID,value) +#define IDeckLinkEncoderConfiguration_v10_5_SetFloat(This,cfgID,value) (This)->lpVtbl->SetFloat(This,cfgID,value) +#define IDeckLinkEncoderConfiguration_v10_5_GetFloat(This,cfgID,value) (This)->lpVtbl->GetFloat(This,cfgID,value) +#define IDeckLinkEncoderConfiguration_v10_5_SetString(This,cfgID,value) (This)->lpVtbl->SetString(This,cfgID,value) +#define IDeckLinkEncoderConfiguration_v10_5_GetString(This,cfgID,value) (This)->lpVtbl->GetString(This,cfgID,value) +#define IDeckLinkEncoderConfiguration_v10_5_GetDecoderConfigurationInfo(This,buffer,bufferSize,returnedSize) (This)->lpVtbl->GetDecoderConfigurationInfo(This,buffer,bufferSize,returnedSize) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_2_QueryInterface(IDeckLinkConfiguration_v10_2* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkEncoderConfiguration_v10_5_QueryInterface(IDeckLinkEncoderConfiguration_v10_5* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkConfiguration_v10_2_AddRef(IDeckLinkConfiguration_v10_2* This) { +static inline ULONG IDeckLinkEncoderConfiguration_v10_5_AddRef(IDeckLinkEncoderConfiguration_v10_5* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkConfiguration_v10_2_Release(IDeckLinkConfiguration_v10_2* This) { +static inline ULONG IDeckLinkEncoderConfiguration_v10_5_Release(IDeckLinkEncoderConfiguration_v10_5* This) { return This->lpVtbl->Release(This); } -/*** IDeckLinkConfiguration_v10_2 methods ***/ -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_2_SetFlag(IDeckLinkConfiguration_v10_2* This,BMDDeckLinkConfigurationID cfgID,BOOL value) { +/*** IDeckLinkEncoderConfiguration_v10_5 methods ***/ +static inline HRESULT IDeckLinkEncoderConfiguration_v10_5_SetFlag(IDeckLinkEncoderConfiguration_v10_5* This,BMDDeckLinkEncoderConfigurationID cfgID,BOOL value) { return This->lpVtbl->SetFlag(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_2_GetFlag(IDeckLinkConfiguration_v10_2* This,BMDDeckLinkConfigurationID cfgID,BOOL *value) { +static inline HRESULT IDeckLinkEncoderConfiguration_v10_5_GetFlag(IDeckLinkEncoderConfiguration_v10_5* This,BMDDeckLinkEncoderConfigurationID cfgID,BOOL *value) { return This->lpVtbl->GetFlag(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_2_SetInt(IDeckLinkConfiguration_v10_2* This,BMDDeckLinkConfigurationID cfgID,LONGLONG value) { +static inline HRESULT IDeckLinkEncoderConfiguration_v10_5_SetInt(IDeckLinkEncoderConfiguration_v10_5* This,BMDDeckLinkEncoderConfigurationID cfgID,LONGLONG value) { return This->lpVtbl->SetInt(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_2_GetInt(IDeckLinkConfiguration_v10_2* This,BMDDeckLinkConfigurationID cfgID,LONGLONG *value) { +static inline HRESULT IDeckLinkEncoderConfiguration_v10_5_GetInt(IDeckLinkEncoderConfiguration_v10_5* This,BMDDeckLinkEncoderConfigurationID cfgID,LONGLONG *value) { return This->lpVtbl->GetInt(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_2_SetFloat(IDeckLinkConfiguration_v10_2* This,BMDDeckLinkConfigurationID cfgID,double value) { +static inline HRESULT IDeckLinkEncoderConfiguration_v10_5_SetFloat(IDeckLinkEncoderConfiguration_v10_5* This,BMDDeckLinkEncoderConfigurationID cfgID,double value) { return This->lpVtbl->SetFloat(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_2_GetFloat(IDeckLinkConfiguration_v10_2* This,BMDDeckLinkConfigurationID cfgID,double *value) { +static inline HRESULT IDeckLinkEncoderConfiguration_v10_5_GetFloat(IDeckLinkEncoderConfiguration_v10_5* This,BMDDeckLinkEncoderConfigurationID cfgID,double *value) { return This->lpVtbl->GetFloat(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_2_SetString(IDeckLinkConfiguration_v10_2* This,BMDDeckLinkConfigurationID cfgID,BSTR value) { +static inline HRESULT IDeckLinkEncoderConfiguration_v10_5_SetString(IDeckLinkEncoderConfiguration_v10_5* This,BMDDeckLinkEncoderConfigurationID cfgID,BSTR value) { return This->lpVtbl->SetString(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_2_GetString(IDeckLinkConfiguration_v10_2* This,BMDDeckLinkConfigurationID cfgID,BSTR *value) { +static inline HRESULT IDeckLinkEncoderConfiguration_v10_5_GetString(IDeckLinkEncoderConfiguration_v10_5* This,BMDDeckLinkEncoderConfigurationID cfgID,BSTR *value) { return This->lpVtbl->GetString(This,cfgID,value); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_2_WriteConfigurationToPreferences(IDeckLinkConfiguration_v10_2* This) { - return This->lpVtbl->WriteConfigurationToPreferences(This); +static inline HRESULT IDeckLinkEncoderConfiguration_v10_5_GetDecoderConfigurationInfo(IDeckLinkEncoderConfiguration_v10_5* This,void *buffer,LONG bufferSize,LONG *returnedSize) { + return This->lpVtbl->GetDecoderConfigurationInfo(This,buffer,bufferSize,returnedSize); } #endif #endif @@ -13762,7 +13992,7 @@ static FORCEINLINE HRESULT IDeckLinkConfiguration_v10_2_WriteConfigurationToPref #endif -#endif /* __IDeckLinkConfiguration_v10_2_INTERFACE_DEFINED__ */ +#endif /* __IDeckLinkEncoderConfiguration_v10_5_INTERFACE_DEFINED__ */ /***************************************************************************** * IDeckLinkOutput_v9_9 interface @@ -14087,95 +14317,95 @@ interface IDeckLinkOutput_v9_9 { #define IDeckLinkOutput_v9_9_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) (This)->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_QueryInterface(IDeckLinkOutput_v9_9* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkOutput_v9_9_QueryInterface(IDeckLinkOutput_v9_9* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkOutput_v9_9_AddRef(IDeckLinkOutput_v9_9* This) { +static inline ULONG IDeckLinkOutput_v9_9_AddRef(IDeckLinkOutput_v9_9* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkOutput_v9_9_Release(IDeckLinkOutput_v9_9* This) { +static inline ULONG IDeckLinkOutput_v9_9_Release(IDeckLinkOutput_v9_9* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkOutput_v9_9 methods ***/ -static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_DoesSupportVideoMode(IDeckLinkOutput_v9_9* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoOutputFlags flags,BMDDisplayModeSupport_v10_11 *result,IDeckLinkDisplayMode **resultDisplayMode) { +static inline HRESULT IDeckLinkOutput_v9_9_DoesSupportVideoMode(IDeckLinkOutput_v9_9* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoOutputFlags flags,BMDDisplayModeSupport_v10_11 *result,IDeckLinkDisplayMode **resultDisplayMode) { return This->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode); } -static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_GetDisplayModeIterator(IDeckLinkOutput_v9_9* This,IDeckLinkDisplayModeIterator **iterator) { +static inline HRESULT IDeckLinkOutput_v9_9_GetDisplayModeIterator(IDeckLinkOutput_v9_9* This,IDeckLinkDisplayModeIterator **iterator) { return This->lpVtbl->GetDisplayModeIterator(This,iterator); } -static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_SetScreenPreviewCallback(IDeckLinkOutput_v9_9* This,IDeckLinkScreenPreviewCallback *previewCallback) { +static inline HRESULT IDeckLinkOutput_v9_9_SetScreenPreviewCallback(IDeckLinkOutput_v9_9* This,IDeckLinkScreenPreviewCallback *previewCallback) { return This->lpVtbl->SetScreenPreviewCallback(This,previewCallback); } -static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_EnableVideoOutput(IDeckLinkOutput_v9_9* This,BMDDisplayMode displayMode,BMDVideoOutputFlags flags) { +static inline HRESULT IDeckLinkOutput_v9_9_EnableVideoOutput(IDeckLinkOutput_v9_9* This,BMDDisplayMode displayMode,BMDVideoOutputFlags flags) { return This->lpVtbl->EnableVideoOutput(This,displayMode,flags); } -static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_DisableVideoOutput(IDeckLinkOutput_v9_9* This) { +static inline HRESULT IDeckLinkOutput_v9_9_DisableVideoOutput(IDeckLinkOutput_v9_9* This) { return This->lpVtbl->DisableVideoOutput(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_SetVideoOutputFrameMemoryAllocator(IDeckLinkOutput_v9_9* This,IDeckLinkMemoryAllocator *theAllocator) { +static inline HRESULT IDeckLinkOutput_v9_9_SetVideoOutputFrameMemoryAllocator(IDeckLinkOutput_v9_9* This,IDeckLinkMemoryAllocator *theAllocator) { return This->lpVtbl->SetVideoOutputFrameMemoryAllocator(This,theAllocator); } -static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_CreateVideoFrame(IDeckLinkOutput_v9_9* This,int width,int height,int rowBytes,BMDPixelFormat pixelFormat,BMDFrameFlags flags,IDeckLinkMutableVideoFrame **outFrame) { +static inline HRESULT IDeckLinkOutput_v9_9_CreateVideoFrame(IDeckLinkOutput_v9_9* This,int width,int height,int rowBytes,BMDPixelFormat pixelFormat,BMDFrameFlags flags,IDeckLinkMutableVideoFrame **outFrame) { return This->lpVtbl->CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame); } -static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_CreateAncillaryData(IDeckLinkOutput_v9_9* This,BMDPixelFormat pixelFormat,IDeckLinkVideoFrameAncillary **outBuffer) { +static inline HRESULT IDeckLinkOutput_v9_9_CreateAncillaryData(IDeckLinkOutput_v9_9* This,BMDPixelFormat pixelFormat,IDeckLinkVideoFrameAncillary **outBuffer) { return This->lpVtbl->CreateAncillaryData(This,pixelFormat,outBuffer); } -static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_DisplayVideoFrameSync(IDeckLinkOutput_v9_9* This,IDeckLinkVideoFrame *theFrame) { +static inline HRESULT IDeckLinkOutput_v9_9_DisplayVideoFrameSync(IDeckLinkOutput_v9_9* This,IDeckLinkVideoFrame *theFrame) { return This->lpVtbl->DisplayVideoFrameSync(This,theFrame); } -static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_ScheduleVideoFrame(IDeckLinkOutput_v9_9* This,IDeckLinkVideoFrame *theFrame,BMDTimeValue displayTime,BMDTimeValue displayDuration,BMDTimeScale timeScale) { +static inline HRESULT IDeckLinkOutput_v9_9_ScheduleVideoFrame(IDeckLinkOutput_v9_9* This,IDeckLinkVideoFrame *theFrame,BMDTimeValue displayTime,BMDTimeValue displayDuration,BMDTimeScale timeScale) { return This->lpVtbl->ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale); } -static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_SetScheduledFrameCompletionCallback(IDeckLinkOutput_v9_9* This,IDeckLinkVideoOutputCallback *theCallback) { +static inline HRESULT IDeckLinkOutput_v9_9_SetScheduledFrameCompletionCallback(IDeckLinkOutput_v9_9* This,IDeckLinkVideoOutputCallback *theCallback) { return This->lpVtbl->SetScheduledFrameCompletionCallback(This,theCallback); } -static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_GetBufferedVideoFrameCount(IDeckLinkOutput_v9_9* This,unsigned int *bufferedFrameCount) { +static inline HRESULT IDeckLinkOutput_v9_9_GetBufferedVideoFrameCount(IDeckLinkOutput_v9_9* This,unsigned int *bufferedFrameCount) { return This->lpVtbl->GetBufferedVideoFrameCount(This,bufferedFrameCount); } -static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_EnableAudioOutput(IDeckLinkOutput_v9_9* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount,BMDAudioOutputStreamType streamType) { +static inline HRESULT IDeckLinkOutput_v9_9_EnableAudioOutput(IDeckLinkOutput_v9_9* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount,BMDAudioOutputStreamType streamType) { return This->lpVtbl->EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType); } -static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_DisableAudioOutput(IDeckLinkOutput_v9_9* This) { +static inline HRESULT IDeckLinkOutput_v9_9_DisableAudioOutput(IDeckLinkOutput_v9_9* This) { return This->lpVtbl->DisableAudioOutput(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_WriteAudioSamplesSync(IDeckLinkOutput_v9_9* This,void *buffer,unsigned int sampleFrameCount,unsigned int *sampleFramesWritten) { +static inline HRESULT IDeckLinkOutput_v9_9_WriteAudioSamplesSync(IDeckLinkOutput_v9_9* This,void *buffer,unsigned int sampleFrameCount,unsigned int *sampleFramesWritten) { return This->lpVtbl->WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten); } -static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_BeginAudioPreroll(IDeckLinkOutput_v9_9* This) { +static inline HRESULT IDeckLinkOutput_v9_9_BeginAudioPreroll(IDeckLinkOutput_v9_9* This) { return This->lpVtbl->BeginAudioPreroll(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_EndAudioPreroll(IDeckLinkOutput_v9_9* This) { +static inline HRESULT IDeckLinkOutput_v9_9_EndAudioPreroll(IDeckLinkOutput_v9_9* This) { return This->lpVtbl->EndAudioPreroll(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_ScheduleAudioSamples(IDeckLinkOutput_v9_9* This,void *buffer,unsigned int sampleFrameCount,BMDTimeValue streamTime,BMDTimeScale timeScale,unsigned int *sampleFramesWritten) { +static inline HRESULT IDeckLinkOutput_v9_9_ScheduleAudioSamples(IDeckLinkOutput_v9_9* This,void *buffer,unsigned int sampleFrameCount,BMDTimeValue streamTime,BMDTimeScale timeScale,unsigned int *sampleFramesWritten) { return This->lpVtbl->ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten); } -static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_GetBufferedAudioSampleFrameCount(IDeckLinkOutput_v9_9* This,unsigned int *bufferedSampleFrameCount) { +static inline HRESULT IDeckLinkOutput_v9_9_GetBufferedAudioSampleFrameCount(IDeckLinkOutput_v9_9* This,unsigned int *bufferedSampleFrameCount) { return This->lpVtbl->GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount); } -static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_FlushBufferedAudioSamples(IDeckLinkOutput_v9_9* This) { +static inline HRESULT IDeckLinkOutput_v9_9_FlushBufferedAudioSamples(IDeckLinkOutput_v9_9* This) { return This->lpVtbl->FlushBufferedAudioSamples(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_SetAudioCallback(IDeckLinkOutput_v9_9* This,IDeckLinkAudioOutputCallback *theCallback) { +static inline HRESULT IDeckLinkOutput_v9_9_SetAudioCallback(IDeckLinkOutput_v9_9* This,IDeckLinkAudioOutputCallback *theCallback) { return This->lpVtbl->SetAudioCallback(This,theCallback); } -static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_StartScheduledPlayback(IDeckLinkOutput_v9_9* This,BMDTimeValue playbackStartTime,BMDTimeScale timeScale,double playbackSpeed) { +static inline HRESULT IDeckLinkOutput_v9_9_StartScheduledPlayback(IDeckLinkOutput_v9_9* This,BMDTimeValue playbackStartTime,BMDTimeScale timeScale,double playbackSpeed) { return This->lpVtbl->StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed); } -static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_StopScheduledPlayback(IDeckLinkOutput_v9_9* This,BMDTimeValue stopPlaybackAtTime,BMDTimeValue *actualStopTime,BMDTimeScale timeScale) { +static inline HRESULT IDeckLinkOutput_v9_9_StopScheduledPlayback(IDeckLinkOutput_v9_9* This,BMDTimeValue stopPlaybackAtTime,BMDTimeValue *actualStopTime,BMDTimeScale timeScale) { return This->lpVtbl->StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale); } -static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_IsScheduledPlaybackRunning(IDeckLinkOutput_v9_9* This,BOOL *active) { +static inline HRESULT IDeckLinkOutput_v9_9_IsScheduledPlaybackRunning(IDeckLinkOutput_v9_9* This,BOOL *active) { return This->lpVtbl->IsScheduledPlaybackRunning(This,active); } -static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_GetScheduledStreamTime(IDeckLinkOutput_v9_9* This,BMDTimeScale desiredTimeScale,BMDTimeValue *streamTime,double *playbackSpeed) { +static inline HRESULT IDeckLinkOutput_v9_9_GetScheduledStreamTime(IDeckLinkOutput_v9_9* This,BMDTimeScale desiredTimeScale,BMDTimeValue *streamTime,double *playbackSpeed) { return This->lpVtbl->GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed); } -static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_GetReferenceStatus(IDeckLinkOutput_v9_9* This,BMDReferenceStatus *referenceStatus) { +static inline HRESULT IDeckLinkOutput_v9_9_GetReferenceStatus(IDeckLinkOutput_v9_9* This,BMDReferenceStatus *referenceStatus) { return This->lpVtbl->GetReferenceStatus(This,referenceStatus); } -static FORCEINLINE HRESULT IDeckLinkOutput_v9_9_GetHardwareReferenceClock(IDeckLinkOutput_v9_9* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) { +static inline HRESULT IDeckLinkOutput_v9_9_GetHardwareReferenceClock(IDeckLinkOutput_v9_9* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) { return This->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame); } #endif @@ -14245,7 +14475,7 @@ IDeckLinkInput_v9_2 : public IUnknown ) = 0; virtual HRESULT STDMETHODCALLTYPE SetCallback( - IDeckLinkInputCallback *theCallback) = 0; + IDeckLinkInputCallback_v11_5_1 *theCallback) = 0; virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( BMDTimeScale desiredTimeScale, @@ -14330,7 +14560,7 @@ typedef struct IDeckLinkInput_v9_2Vtbl { HRESULT (STDMETHODCALLTYPE *SetCallback)( IDeckLinkInput_v9_2 *This, - IDeckLinkInputCallback *theCallback); + IDeckLinkInputCallback_v11_5_1 *theCallback); HRESULT (STDMETHODCALLTYPE *GetHardwareReferenceClock)( IDeckLinkInput_v9_2 *This, @@ -14370,59 +14600,59 @@ interface IDeckLinkInput_v9_2 { #define IDeckLinkInput_v9_2_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) (This)->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkInput_v9_2_QueryInterface(IDeckLinkInput_v9_2* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkInput_v9_2_QueryInterface(IDeckLinkInput_v9_2* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkInput_v9_2_AddRef(IDeckLinkInput_v9_2* This) { +static inline ULONG IDeckLinkInput_v9_2_AddRef(IDeckLinkInput_v9_2* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkInput_v9_2_Release(IDeckLinkInput_v9_2* This) { +static inline ULONG IDeckLinkInput_v9_2_Release(IDeckLinkInput_v9_2* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkInput_v9_2 methods ***/ -static FORCEINLINE HRESULT IDeckLinkInput_v9_2_DoesSupportVideoMode(IDeckLinkInput_v9_2* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags,BMDDisplayModeSupport_v10_11 *result,IDeckLinkDisplayMode **resultDisplayMode) { +static inline HRESULT IDeckLinkInput_v9_2_DoesSupportVideoMode(IDeckLinkInput_v9_2* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags,BMDDisplayModeSupport_v10_11 *result,IDeckLinkDisplayMode **resultDisplayMode) { return This->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode); } -static FORCEINLINE HRESULT IDeckLinkInput_v9_2_GetDisplayModeIterator(IDeckLinkInput_v9_2* This,IDeckLinkDisplayModeIterator **iterator) { +static inline HRESULT IDeckLinkInput_v9_2_GetDisplayModeIterator(IDeckLinkInput_v9_2* This,IDeckLinkDisplayModeIterator **iterator) { return This->lpVtbl->GetDisplayModeIterator(This,iterator); } -static FORCEINLINE HRESULT IDeckLinkInput_v9_2_SetScreenPreviewCallback(IDeckLinkInput_v9_2* This,IDeckLinkScreenPreviewCallback *previewCallback) { +static inline HRESULT IDeckLinkInput_v9_2_SetScreenPreviewCallback(IDeckLinkInput_v9_2* This,IDeckLinkScreenPreviewCallback *previewCallback) { return This->lpVtbl->SetScreenPreviewCallback(This,previewCallback); } -static FORCEINLINE HRESULT IDeckLinkInput_v9_2_EnableVideoInput(IDeckLinkInput_v9_2* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags) { +static inline HRESULT IDeckLinkInput_v9_2_EnableVideoInput(IDeckLinkInput_v9_2* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags) { return This->lpVtbl->EnableVideoInput(This,displayMode,pixelFormat,flags); } -static FORCEINLINE HRESULT IDeckLinkInput_v9_2_DisableVideoInput(IDeckLinkInput_v9_2* This) { +static inline HRESULT IDeckLinkInput_v9_2_DisableVideoInput(IDeckLinkInput_v9_2* This) { return This->lpVtbl->DisableVideoInput(This); } -static FORCEINLINE HRESULT IDeckLinkInput_v9_2_GetAvailableVideoFrameCount(IDeckLinkInput_v9_2* This,unsigned int *availableFrameCount) { +static inline HRESULT IDeckLinkInput_v9_2_GetAvailableVideoFrameCount(IDeckLinkInput_v9_2* This,unsigned int *availableFrameCount) { return This->lpVtbl->GetAvailableVideoFrameCount(This,availableFrameCount); } -static FORCEINLINE HRESULT IDeckLinkInput_v9_2_EnableAudioInput(IDeckLinkInput_v9_2* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount) { +static inline HRESULT IDeckLinkInput_v9_2_EnableAudioInput(IDeckLinkInput_v9_2* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount) { return This->lpVtbl->EnableAudioInput(This,sampleRate,sampleType,channelCount); } -static FORCEINLINE HRESULT IDeckLinkInput_v9_2_DisableAudioInput(IDeckLinkInput_v9_2* This) { +static inline HRESULT IDeckLinkInput_v9_2_DisableAudioInput(IDeckLinkInput_v9_2* This) { return This->lpVtbl->DisableAudioInput(This); } -static FORCEINLINE HRESULT IDeckLinkInput_v9_2_GetAvailableAudioSampleFrameCount(IDeckLinkInput_v9_2* This,unsigned int *availableSampleFrameCount) { +static inline HRESULT IDeckLinkInput_v9_2_GetAvailableAudioSampleFrameCount(IDeckLinkInput_v9_2* This,unsigned int *availableSampleFrameCount) { return This->lpVtbl->GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount); } -static FORCEINLINE HRESULT IDeckLinkInput_v9_2_StartStreams(IDeckLinkInput_v9_2* This) { +static inline HRESULT IDeckLinkInput_v9_2_StartStreams(IDeckLinkInput_v9_2* This) { return This->lpVtbl->StartStreams(This); } -static FORCEINLINE HRESULT IDeckLinkInput_v9_2_StopStreams(IDeckLinkInput_v9_2* This) { +static inline HRESULT IDeckLinkInput_v9_2_StopStreams(IDeckLinkInput_v9_2* This) { return This->lpVtbl->StopStreams(This); } -static FORCEINLINE HRESULT IDeckLinkInput_v9_2_PauseStreams(IDeckLinkInput_v9_2* This) { +static inline HRESULT IDeckLinkInput_v9_2_PauseStreams(IDeckLinkInput_v9_2* This) { return This->lpVtbl->PauseStreams(This); } -static FORCEINLINE HRESULT IDeckLinkInput_v9_2_FlushStreams(IDeckLinkInput_v9_2* This) { +static inline HRESULT IDeckLinkInput_v9_2_FlushStreams(IDeckLinkInput_v9_2* This) { return This->lpVtbl->FlushStreams(This); } -static FORCEINLINE HRESULT IDeckLinkInput_v9_2_SetCallback(IDeckLinkInput_v9_2* This,IDeckLinkInputCallback *theCallback) { +static inline HRESULT IDeckLinkInput_v9_2_SetCallback(IDeckLinkInput_v9_2* This,IDeckLinkInputCallback_v11_5_1 *theCallback) { return This->lpVtbl->SetCallback(This,theCallback); } -static FORCEINLINE HRESULT IDeckLinkInput_v9_2_GetHardwareReferenceClock(IDeckLinkInput_v9_2* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) { +static inline HRESULT IDeckLinkInput_v9_2_GetHardwareReferenceClock(IDeckLinkInput_v9_2* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) { return This->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame); } #endif @@ -14543,26 +14773,26 @@ interface IDeckLinkDeckControlStatusCallback_v8_1 { #define IDeckLinkDeckControlStatusCallback_v8_1_DeckControlStatusChanged(This,flags,mask) (This)->lpVtbl->DeckControlStatusChanged(This,flags,mask) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkDeckControlStatusCallback_v8_1_QueryInterface(IDeckLinkDeckControlStatusCallback_v8_1* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkDeckControlStatusCallback_v8_1_QueryInterface(IDeckLinkDeckControlStatusCallback_v8_1* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkDeckControlStatusCallback_v8_1_AddRef(IDeckLinkDeckControlStatusCallback_v8_1* This) { +static inline ULONG IDeckLinkDeckControlStatusCallback_v8_1_AddRef(IDeckLinkDeckControlStatusCallback_v8_1* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkDeckControlStatusCallback_v8_1_Release(IDeckLinkDeckControlStatusCallback_v8_1* This) { +static inline ULONG IDeckLinkDeckControlStatusCallback_v8_1_Release(IDeckLinkDeckControlStatusCallback_v8_1* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkDeckControlStatusCallback_v8_1 methods ***/ -static FORCEINLINE HRESULT IDeckLinkDeckControlStatusCallback_v8_1_TimecodeUpdate(IDeckLinkDeckControlStatusCallback_v8_1* This,BMDTimecodeBCD currentTimecode) { +static inline HRESULT IDeckLinkDeckControlStatusCallback_v8_1_TimecodeUpdate(IDeckLinkDeckControlStatusCallback_v8_1* This,BMDTimecodeBCD currentTimecode) { return This->lpVtbl->TimecodeUpdate(This,currentTimecode); } -static FORCEINLINE HRESULT IDeckLinkDeckControlStatusCallback_v8_1_VTRControlStateChanged(IDeckLinkDeckControlStatusCallback_v8_1* This,BMDDeckControlVTRControlState_v8_1 newState,BMDDeckControlError error) { +static inline HRESULT IDeckLinkDeckControlStatusCallback_v8_1_VTRControlStateChanged(IDeckLinkDeckControlStatusCallback_v8_1* This,BMDDeckControlVTRControlState_v8_1 newState,BMDDeckControlError error) { return This->lpVtbl->VTRControlStateChanged(This,newState,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControlStatusCallback_v8_1_DeckControlEventReceived(IDeckLinkDeckControlStatusCallback_v8_1* This,BMDDeckControlEvent event,BMDDeckControlError error) { +static inline HRESULT IDeckLinkDeckControlStatusCallback_v8_1_DeckControlEventReceived(IDeckLinkDeckControlStatusCallback_v8_1* This,BMDDeckControlEvent event,BMDDeckControlError error) { return This->lpVtbl->DeckControlEventReceived(This,event,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControlStatusCallback_v8_1_DeckControlStatusChanged(IDeckLinkDeckControlStatusCallback_v8_1* This,BMDDeckControlStatusFlags flags,unsigned int mask) { +static inline HRESULT IDeckLinkDeckControlStatusCallback_v8_1_DeckControlStatusChanged(IDeckLinkDeckControlStatusCallback_v8_1* This,BMDDeckControlStatusFlags flags,unsigned int mask) { return This->lpVtbl->DeckControlStatusChanged(This,flags,mask); } #endif @@ -14934,113 +15164,113 @@ interface IDeckLinkDeckControl_v8_1 { #define IDeckLinkDeckControl_v8_1_SetCallback(This,callback) (This)->lpVtbl->SetCallback(This,callback) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_QueryInterface(IDeckLinkDeckControl_v8_1* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkDeckControl_v8_1_QueryInterface(IDeckLinkDeckControl_v8_1* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkDeckControl_v8_1_AddRef(IDeckLinkDeckControl_v8_1* This) { +static inline ULONG IDeckLinkDeckControl_v8_1_AddRef(IDeckLinkDeckControl_v8_1* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkDeckControl_v8_1_Release(IDeckLinkDeckControl_v8_1* This) { +static inline ULONG IDeckLinkDeckControl_v8_1_Release(IDeckLinkDeckControl_v8_1* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkDeckControl_v8_1 methods ***/ -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_Open(IDeckLinkDeckControl_v8_1* This,BMDTimeScale timeScale,BMDTimeValue timeValue,BOOL timecodeIsDropFrame,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v8_1_Open(IDeckLinkDeckControl_v8_1* This,BMDTimeScale timeScale,BMDTimeValue timeValue,BOOL timecodeIsDropFrame,BMDDeckControlError *error) { return This->lpVtbl->Open(This,timeScale,timeValue,timecodeIsDropFrame,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_Close(IDeckLinkDeckControl_v8_1* This,BOOL standbyOn) { +static inline HRESULT IDeckLinkDeckControl_v8_1_Close(IDeckLinkDeckControl_v8_1* This,BOOL standbyOn) { return This->lpVtbl->Close(This,standbyOn); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_GetCurrentState(IDeckLinkDeckControl_v8_1* This,BMDDeckControlMode *mode,BMDDeckControlVTRControlState_v8_1 *vtrControlState,BMDDeckControlStatusFlags *flags) { +static inline HRESULT IDeckLinkDeckControl_v8_1_GetCurrentState(IDeckLinkDeckControl_v8_1* This,BMDDeckControlMode *mode,BMDDeckControlVTRControlState_v8_1 *vtrControlState,BMDDeckControlStatusFlags *flags) { return This->lpVtbl->GetCurrentState(This,mode,vtrControlState,flags); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_SetStandby(IDeckLinkDeckControl_v8_1* This,BOOL standbyOn) { +static inline HRESULT IDeckLinkDeckControl_v8_1_SetStandby(IDeckLinkDeckControl_v8_1* This,BOOL standbyOn) { return This->lpVtbl->SetStandby(This,standbyOn); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_SendCommand(IDeckLinkDeckControl_v8_1* This,unsigned char *inBuffer,unsigned int inBufferSize,unsigned char *outBuffer,unsigned int *outDataSize,unsigned int outBufferSize,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v8_1_SendCommand(IDeckLinkDeckControl_v8_1* This,unsigned char *inBuffer,unsigned int inBufferSize,unsigned char *outBuffer,unsigned int *outDataSize,unsigned int outBufferSize,BMDDeckControlError *error) { return This->lpVtbl->SendCommand(This,inBuffer,inBufferSize,outBuffer,outDataSize,outBufferSize,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_Play(IDeckLinkDeckControl_v8_1* This,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v8_1_Play(IDeckLinkDeckControl_v8_1* This,BMDDeckControlError *error) { return This->lpVtbl->Play(This,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_Stop(IDeckLinkDeckControl_v8_1* This,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v8_1_Stop(IDeckLinkDeckControl_v8_1* This,BMDDeckControlError *error) { return This->lpVtbl->Stop(This,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_TogglePlayStop(IDeckLinkDeckControl_v8_1* This,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v8_1_TogglePlayStop(IDeckLinkDeckControl_v8_1* This,BMDDeckControlError *error) { return This->lpVtbl->TogglePlayStop(This,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_Eject(IDeckLinkDeckControl_v8_1* This,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v8_1_Eject(IDeckLinkDeckControl_v8_1* This,BMDDeckControlError *error) { return This->lpVtbl->Eject(This,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_GoToTimecode(IDeckLinkDeckControl_v8_1* This,BMDTimecodeBCD timecode,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v8_1_GoToTimecode(IDeckLinkDeckControl_v8_1* This,BMDTimecodeBCD timecode,BMDDeckControlError *error) { return This->lpVtbl->GoToTimecode(This,timecode,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_FastForward(IDeckLinkDeckControl_v8_1* This,BOOL viewTape,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v8_1_FastForward(IDeckLinkDeckControl_v8_1* This,BOOL viewTape,BMDDeckControlError *error) { return This->lpVtbl->FastForward(This,viewTape,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_Rewind(IDeckLinkDeckControl_v8_1* This,BOOL viewTape,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v8_1_Rewind(IDeckLinkDeckControl_v8_1* This,BOOL viewTape,BMDDeckControlError *error) { return This->lpVtbl->Rewind(This,viewTape,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_StepForward(IDeckLinkDeckControl_v8_1* This,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v8_1_StepForward(IDeckLinkDeckControl_v8_1* This,BMDDeckControlError *error) { return This->lpVtbl->StepForward(This,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_StepBack(IDeckLinkDeckControl_v8_1* This,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v8_1_StepBack(IDeckLinkDeckControl_v8_1* This,BMDDeckControlError *error) { return This->lpVtbl->StepBack(This,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_Jog(IDeckLinkDeckControl_v8_1* This,double rate,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v8_1_Jog(IDeckLinkDeckControl_v8_1* This,double rate,BMDDeckControlError *error) { return This->lpVtbl->Jog(This,rate,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_Shuttle(IDeckLinkDeckControl_v8_1* This,double rate,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v8_1_Shuttle(IDeckLinkDeckControl_v8_1* This,double rate,BMDDeckControlError *error) { return This->lpVtbl->Shuttle(This,rate,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_GetTimecodeString(IDeckLinkDeckControl_v8_1* This,BSTR *currentTimeCode,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v8_1_GetTimecodeString(IDeckLinkDeckControl_v8_1* This,BSTR *currentTimeCode,BMDDeckControlError *error) { return This->lpVtbl->GetTimecodeString(This,currentTimeCode,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_GetTimecode(IDeckLinkDeckControl_v8_1* This,IDeckLinkTimecode **currentTimecode,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v8_1_GetTimecode(IDeckLinkDeckControl_v8_1* This,IDeckLinkTimecode **currentTimecode,BMDDeckControlError *error) { return This->lpVtbl->GetTimecode(This,currentTimecode,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_GetTimecodeBCD(IDeckLinkDeckControl_v8_1* This,BMDTimecodeBCD *currentTimecode,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v8_1_GetTimecodeBCD(IDeckLinkDeckControl_v8_1* This,BMDTimecodeBCD *currentTimecode,BMDDeckControlError *error) { return This->lpVtbl->GetTimecodeBCD(This,currentTimecode,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_SetPreroll(IDeckLinkDeckControl_v8_1* This,unsigned int prerollSeconds) { +static inline HRESULT IDeckLinkDeckControl_v8_1_SetPreroll(IDeckLinkDeckControl_v8_1* This,unsigned int prerollSeconds) { return This->lpVtbl->SetPreroll(This,prerollSeconds); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_GetPreroll(IDeckLinkDeckControl_v8_1* This,unsigned int *prerollSeconds) { +static inline HRESULT IDeckLinkDeckControl_v8_1_GetPreroll(IDeckLinkDeckControl_v8_1* This,unsigned int *prerollSeconds) { return This->lpVtbl->GetPreroll(This,prerollSeconds); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_SetExportOffset(IDeckLinkDeckControl_v8_1* This,int exportOffsetFields) { +static inline HRESULT IDeckLinkDeckControl_v8_1_SetExportOffset(IDeckLinkDeckControl_v8_1* This,int exportOffsetFields) { return This->lpVtbl->SetExportOffset(This,exportOffsetFields); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_GetExportOffset(IDeckLinkDeckControl_v8_1* This,int *exportOffsetFields) { +static inline HRESULT IDeckLinkDeckControl_v8_1_GetExportOffset(IDeckLinkDeckControl_v8_1* This,int *exportOffsetFields) { return This->lpVtbl->GetExportOffset(This,exportOffsetFields); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_GetManualExportOffset(IDeckLinkDeckControl_v8_1* This,int *deckManualExportOffsetFields) { +static inline HRESULT IDeckLinkDeckControl_v8_1_GetManualExportOffset(IDeckLinkDeckControl_v8_1* This,int *deckManualExportOffsetFields) { return This->lpVtbl->GetManualExportOffset(This,deckManualExportOffsetFields); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_SetCaptureOffset(IDeckLinkDeckControl_v8_1* This,int captureOffsetFields) { +static inline HRESULT IDeckLinkDeckControl_v8_1_SetCaptureOffset(IDeckLinkDeckControl_v8_1* This,int captureOffsetFields) { return This->lpVtbl->SetCaptureOffset(This,captureOffsetFields); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_GetCaptureOffset(IDeckLinkDeckControl_v8_1* This,int *captureOffsetFields) { +static inline HRESULT IDeckLinkDeckControl_v8_1_GetCaptureOffset(IDeckLinkDeckControl_v8_1* This,int *captureOffsetFields) { return This->lpVtbl->GetCaptureOffset(This,captureOffsetFields); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_StartExport(IDeckLinkDeckControl_v8_1* This,BMDTimecodeBCD inTimecode,BMDTimecodeBCD outTimecode,BMDDeckControlExportModeOpsFlags exportModeOps,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v8_1_StartExport(IDeckLinkDeckControl_v8_1* This,BMDTimecodeBCD inTimecode,BMDTimecodeBCD outTimecode,BMDDeckControlExportModeOpsFlags exportModeOps,BMDDeckControlError *error) { return This->lpVtbl->StartExport(This,inTimecode,outTimecode,exportModeOps,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_StartCapture(IDeckLinkDeckControl_v8_1* This,BOOL useVITC,BMDTimecodeBCD inTimecode,BMDTimecodeBCD outTimecode,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v8_1_StartCapture(IDeckLinkDeckControl_v8_1* This,BOOL useVITC,BMDTimecodeBCD inTimecode,BMDTimecodeBCD outTimecode,BMDDeckControlError *error) { return This->lpVtbl->StartCapture(This,useVITC,inTimecode,outTimecode,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_GetDeviceID(IDeckLinkDeckControl_v8_1* This,unsigned short *deviceId,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v8_1_GetDeviceID(IDeckLinkDeckControl_v8_1* This,unsigned short *deviceId,BMDDeckControlError *error) { return This->lpVtbl->GetDeviceID(This,deviceId,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_Abort(IDeckLinkDeckControl_v8_1* This) { +static inline HRESULT IDeckLinkDeckControl_v8_1_Abort(IDeckLinkDeckControl_v8_1* This) { return This->lpVtbl->Abort(This); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_CrashRecordStart(IDeckLinkDeckControl_v8_1* This,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v8_1_CrashRecordStart(IDeckLinkDeckControl_v8_1* This,BMDDeckControlError *error) { return This->lpVtbl->CrashRecordStart(This,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_CrashRecordStop(IDeckLinkDeckControl_v8_1* This,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v8_1_CrashRecordStop(IDeckLinkDeckControl_v8_1* This,BMDDeckControlError *error) { return This->lpVtbl->CrashRecordStop(This,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v8_1_SetCallback(IDeckLinkDeckControl_v8_1* This,IDeckLinkDeckControlStatusCallback_v8_1 *callback) { +static inline HRESULT IDeckLinkDeckControl_v8_1_SetCallback(IDeckLinkDeckControl_v8_1* This,IDeckLinkDeckControlStatusCallback_v8_1 *callback) { return This->lpVtbl->SetCallback(This,callback); } #endif @@ -15107,17 +15337,17 @@ interface IDeckLink_v8_0 { #define IDeckLink_v8_0_GetModelName(This,modelName) (This)->lpVtbl->GetModelName(This,modelName) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLink_v8_0_QueryInterface(IDeckLink_v8_0* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLink_v8_0_QueryInterface(IDeckLink_v8_0* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLink_v8_0_AddRef(IDeckLink_v8_0* This) { +static inline ULONG IDeckLink_v8_0_AddRef(IDeckLink_v8_0* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLink_v8_0_Release(IDeckLink_v8_0* This) { +static inline ULONG IDeckLink_v8_0_Release(IDeckLink_v8_0* This) { return This->lpVtbl->Release(This); } /*** IDeckLink_v8_0 methods ***/ -static FORCEINLINE HRESULT IDeckLink_v8_0_GetModelName(IDeckLink_v8_0* This,BSTR *modelName) { +static inline HRESULT IDeckLink_v8_0_GetModelName(IDeckLink_v8_0* This,BSTR *modelName) { return This->lpVtbl->GetModelName(This,modelName); } #endif @@ -15184,17 +15414,17 @@ interface IDeckLinkIterator_v8_0 { #define IDeckLinkIterator_v8_0_Next(This,deckLinkInstance) (This)->lpVtbl->Next(This,deckLinkInstance) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkIterator_v8_0_QueryInterface(IDeckLinkIterator_v8_0* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkIterator_v8_0_QueryInterface(IDeckLinkIterator_v8_0* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkIterator_v8_0_AddRef(IDeckLinkIterator_v8_0* This) { +static inline ULONG IDeckLinkIterator_v8_0_AddRef(IDeckLinkIterator_v8_0* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkIterator_v8_0_Release(IDeckLinkIterator_v8_0* This) { +static inline ULONG IDeckLinkIterator_v8_0_Release(IDeckLinkIterator_v8_0* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkIterator_v8_0 methods ***/ -static FORCEINLINE HRESULT IDeckLinkIterator_v8_0_Next(IDeckLinkIterator_v8_0* This,IDeckLink_v8_0 **deckLinkInstance) { +static inline HRESULT IDeckLinkIterator_v8_0_Next(IDeckLinkIterator_v8_0* This,IDeckLink_v8_0 **deckLinkInstance) { return This->lpVtbl->Next(This,deckLinkInstance); } #endif @@ -15561,110 +15791,110 @@ interface IDeckLinkDeckControl_v7_9 { #define IDeckLinkDeckControl_v7_9_SetCallback(This,callback) (This)->lpVtbl->SetCallback(This,callback) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_QueryInterface(IDeckLinkDeckControl_v7_9* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkDeckControl_v7_9_QueryInterface(IDeckLinkDeckControl_v7_9* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkDeckControl_v7_9_AddRef(IDeckLinkDeckControl_v7_9* This) { +static inline ULONG IDeckLinkDeckControl_v7_9_AddRef(IDeckLinkDeckControl_v7_9* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkDeckControl_v7_9_Release(IDeckLinkDeckControl_v7_9* This) { +static inline ULONG IDeckLinkDeckControl_v7_9_Release(IDeckLinkDeckControl_v7_9* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkDeckControl_v7_9 methods ***/ -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_Open(IDeckLinkDeckControl_v7_9* This,BMDTimeScale timeScale,BMDTimeValue timeValue,BOOL timecodeIsDropFrame,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v7_9_Open(IDeckLinkDeckControl_v7_9* This,BMDTimeScale timeScale,BMDTimeValue timeValue,BOOL timecodeIsDropFrame,BMDDeckControlError *error) { return This->lpVtbl->Open(This,timeScale,timeValue,timecodeIsDropFrame,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_Close(IDeckLinkDeckControl_v7_9* This,BOOL standbyOn) { +static inline HRESULT IDeckLinkDeckControl_v7_9_Close(IDeckLinkDeckControl_v7_9* This,BOOL standbyOn) { return This->lpVtbl->Close(This,standbyOn); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_GetCurrentState(IDeckLinkDeckControl_v7_9* This,BMDDeckControlMode *mode,BMDDeckControlVTRControlState *vtrControlState,BMDDeckControlStatusFlags *flags) { +static inline HRESULT IDeckLinkDeckControl_v7_9_GetCurrentState(IDeckLinkDeckControl_v7_9* This,BMDDeckControlMode *mode,BMDDeckControlVTRControlState *vtrControlState,BMDDeckControlStatusFlags *flags) { return This->lpVtbl->GetCurrentState(This,mode,vtrControlState,flags); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_SetStandby(IDeckLinkDeckControl_v7_9* This,BOOL standbyOn) { +static inline HRESULT IDeckLinkDeckControl_v7_9_SetStandby(IDeckLinkDeckControl_v7_9* This,BOOL standbyOn) { return This->lpVtbl->SetStandby(This,standbyOn); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_Play(IDeckLinkDeckControl_v7_9* This,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v7_9_Play(IDeckLinkDeckControl_v7_9* This,BMDDeckControlError *error) { return This->lpVtbl->Play(This,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_Stop(IDeckLinkDeckControl_v7_9* This,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v7_9_Stop(IDeckLinkDeckControl_v7_9* This,BMDDeckControlError *error) { return This->lpVtbl->Stop(This,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_TogglePlayStop(IDeckLinkDeckControl_v7_9* This,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v7_9_TogglePlayStop(IDeckLinkDeckControl_v7_9* This,BMDDeckControlError *error) { return This->lpVtbl->TogglePlayStop(This,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_Eject(IDeckLinkDeckControl_v7_9* This,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v7_9_Eject(IDeckLinkDeckControl_v7_9* This,BMDDeckControlError *error) { return This->lpVtbl->Eject(This,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_GoToTimecode(IDeckLinkDeckControl_v7_9* This,BMDTimecodeBCD timecode,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v7_9_GoToTimecode(IDeckLinkDeckControl_v7_9* This,BMDTimecodeBCD timecode,BMDDeckControlError *error) { return This->lpVtbl->GoToTimecode(This,timecode,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_FastForward(IDeckLinkDeckControl_v7_9* This,BOOL viewTape,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v7_9_FastForward(IDeckLinkDeckControl_v7_9* This,BOOL viewTape,BMDDeckControlError *error) { return This->lpVtbl->FastForward(This,viewTape,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_Rewind(IDeckLinkDeckControl_v7_9* This,BOOL viewTape,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v7_9_Rewind(IDeckLinkDeckControl_v7_9* This,BOOL viewTape,BMDDeckControlError *error) { return This->lpVtbl->Rewind(This,viewTape,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_StepForward(IDeckLinkDeckControl_v7_9* This,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v7_9_StepForward(IDeckLinkDeckControl_v7_9* This,BMDDeckControlError *error) { return This->lpVtbl->StepForward(This,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_StepBack(IDeckLinkDeckControl_v7_9* This,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v7_9_StepBack(IDeckLinkDeckControl_v7_9* This,BMDDeckControlError *error) { return This->lpVtbl->StepBack(This,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_Jog(IDeckLinkDeckControl_v7_9* This,double rate,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v7_9_Jog(IDeckLinkDeckControl_v7_9* This,double rate,BMDDeckControlError *error) { return This->lpVtbl->Jog(This,rate,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_Shuttle(IDeckLinkDeckControl_v7_9* This,double rate,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v7_9_Shuttle(IDeckLinkDeckControl_v7_9* This,double rate,BMDDeckControlError *error) { return This->lpVtbl->Shuttle(This,rate,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_GetTimecodeString(IDeckLinkDeckControl_v7_9* This,BSTR *currentTimeCode,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v7_9_GetTimecodeString(IDeckLinkDeckControl_v7_9* This,BSTR *currentTimeCode,BMDDeckControlError *error) { return This->lpVtbl->GetTimecodeString(This,currentTimeCode,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_GetTimecode(IDeckLinkDeckControl_v7_9* This,IDeckLinkTimecode **currentTimecode,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v7_9_GetTimecode(IDeckLinkDeckControl_v7_9* This,IDeckLinkTimecode **currentTimecode,BMDDeckControlError *error) { return This->lpVtbl->GetTimecode(This,currentTimecode,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_GetTimecodeBCD(IDeckLinkDeckControl_v7_9* This,BMDTimecodeBCD *currentTimecode,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v7_9_GetTimecodeBCD(IDeckLinkDeckControl_v7_9* This,BMDTimecodeBCD *currentTimecode,BMDDeckControlError *error) { return This->lpVtbl->GetTimecodeBCD(This,currentTimecode,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_SetPreroll(IDeckLinkDeckControl_v7_9* This,unsigned int prerollSeconds) { +static inline HRESULT IDeckLinkDeckControl_v7_9_SetPreroll(IDeckLinkDeckControl_v7_9* This,unsigned int prerollSeconds) { return This->lpVtbl->SetPreroll(This,prerollSeconds); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_GetPreroll(IDeckLinkDeckControl_v7_9* This,unsigned int *prerollSeconds) { +static inline HRESULT IDeckLinkDeckControl_v7_9_GetPreroll(IDeckLinkDeckControl_v7_9* This,unsigned int *prerollSeconds) { return This->lpVtbl->GetPreroll(This,prerollSeconds); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_SetExportOffset(IDeckLinkDeckControl_v7_9* This,int exportOffsetFields) { +static inline HRESULT IDeckLinkDeckControl_v7_9_SetExportOffset(IDeckLinkDeckControl_v7_9* This,int exportOffsetFields) { return This->lpVtbl->SetExportOffset(This,exportOffsetFields); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_GetExportOffset(IDeckLinkDeckControl_v7_9* This,int *exportOffsetFields) { +static inline HRESULT IDeckLinkDeckControl_v7_9_GetExportOffset(IDeckLinkDeckControl_v7_9* This,int *exportOffsetFields) { return This->lpVtbl->GetExportOffset(This,exportOffsetFields); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_GetManualExportOffset(IDeckLinkDeckControl_v7_9* This,int *deckManualExportOffsetFields) { +static inline HRESULT IDeckLinkDeckControl_v7_9_GetManualExportOffset(IDeckLinkDeckControl_v7_9* This,int *deckManualExportOffsetFields) { return This->lpVtbl->GetManualExportOffset(This,deckManualExportOffsetFields); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_SetCaptureOffset(IDeckLinkDeckControl_v7_9* This,int captureOffsetFields) { +static inline HRESULT IDeckLinkDeckControl_v7_9_SetCaptureOffset(IDeckLinkDeckControl_v7_9* This,int captureOffsetFields) { return This->lpVtbl->SetCaptureOffset(This,captureOffsetFields); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_GetCaptureOffset(IDeckLinkDeckControl_v7_9* This,int *captureOffsetFields) { +static inline HRESULT IDeckLinkDeckControl_v7_9_GetCaptureOffset(IDeckLinkDeckControl_v7_9* This,int *captureOffsetFields) { return This->lpVtbl->GetCaptureOffset(This,captureOffsetFields); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_StartExport(IDeckLinkDeckControl_v7_9* This,BMDTimecodeBCD inTimecode,BMDTimecodeBCD outTimecode,BMDDeckControlExportModeOpsFlags exportModeOps,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v7_9_StartExport(IDeckLinkDeckControl_v7_9* This,BMDTimecodeBCD inTimecode,BMDTimecodeBCD outTimecode,BMDDeckControlExportModeOpsFlags exportModeOps,BMDDeckControlError *error) { return This->lpVtbl->StartExport(This,inTimecode,outTimecode,exportModeOps,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_StartCapture(IDeckLinkDeckControl_v7_9* This,BOOL useVITC,BMDTimecodeBCD inTimecode,BMDTimecodeBCD outTimecode,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v7_9_StartCapture(IDeckLinkDeckControl_v7_9* This,BOOL useVITC,BMDTimecodeBCD inTimecode,BMDTimecodeBCD outTimecode,BMDDeckControlError *error) { return This->lpVtbl->StartCapture(This,useVITC,inTimecode,outTimecode,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_GetDeviceID(IDeckLinkDeckControl_v7_9* This,unsigned short *deviceId,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v7_9_GetDeviceID(IDeckLinkDeckControl_v7_9* This,unsigned short *deviceId,BMDDeckControlError *error) { return This->lpVtbl->GetDeviceID(This,deviceId,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_Abort(IDeckLinkDeckControl_v7_9* This) { +static inline HRESULT IDeckLinkDeckControl_v7_9_Abort(IDeckLinkDeckControl_v7_9* This) { return This->lpVtbl->Abort(This); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_CrashRecordStart(IDeckLinkDeckControl_v7_9* This,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v7_9_CrashRecordStart(IDeckLinkDeckControl_v7_9* This,BMDDeckControlError *error) { return This->lpVtbl->CrashRecordStart(This,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_CrashRecordStop(IDeckLinkDeckControl_v7_9* This,BMDDeckControlError *error) { +static inline HRESULT IDeckLinkDeckControl_v7_9_CrashRecordStop(IDeckLinkDeckControl_v7_9* This,BMDDeckControlError *error) { return This->lpVtbl->CrashRecordStop(This,error); } -static FORCEINLINE HRESULT IDeckLinkDeckControl_v7_9_SetCallback(IDeckLinkDeckControl_v7_9* This,IDeckLinkDeckControlStatusCallback *callback) { +static inline HRESULT IDeckLinkDeckControl_v7_9_SetCallback(IDeckLinkDeckControl_v7_9* This,IDeckLinkDeckControlStatusCallback *callback) { return This->lpVtbl->SetCallback(This,callback); } #endif @@ -15844,20 +16074,20 @@ interface IDeckLinkVideoOutputCallback_v7_6 { #define IDeckLinkVideoOutputCallback_v7_6_ScheduledPlaybackHasStopped(This) (This)->lpVtbl->ScheduledPlaybackHasStopped(This) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkVideoOutputCallback_v7_6_QueryInterface(IDeckLinkVideoOutputCallback_v7_6* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkVideoOutputCallback_v7_6_QueryInterface(IDeckLinkVideoOutputCallback_v7_6* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkVideoOutputCallback_v7_6_AddRef(IDeckLinkVideoOutputCallback_v7_6* This) { +static inline ULONG IDeckLinkVideoOutputCallback_v7_6_AddRef(IDeckLinkVideoOutputCallback_v7_6* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkVideoOutputCallback_v7_6_Release(IDeckLinkVideoOutputCallback_v7_6* This) { +static inline ULONG IDeckLinkVideoOutputCallback_v7_6_Release(IDeckLinkVideoOutputCallback_v7_6* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkVideoOutputCallback_v7_6 methods ***/ -static FORCEINLINE HRESULT IDeckLinkVideoOutputCallback_v7_6_ScheduledFrameCompleted(IDeckLinkVideoOutputCallback_v7_6* This,IDeckLinkVideoFrame_v7_6 *completedFrame,BMDOutputFrameCompletionResult result) { +static inline HRESULT IDeckLinkVideoOutputCallback_v7_6_ScheduledFrameCompleted(IDeckLinkVideoOutputCallback_v7_6* This,IDeckLinkVideoFrame_v7_6 *completedFrame,BMDOutputFrameCompletionResult result) { return This->lpVtbl->ScheduledFrameCompleted(This,completedFrame,result); } -static FORCEINLINE HRESULT IDeckLinkVideoOutputCallback_v7_6_ScheduledPlaybackHasStopped(IDeckLinkVideoOutputCallback_v7_6* This) { +static inline HRESULT IDeckLinkVideoOutputCallback_v7_6_ScheduledPlaybackHasStopped(IDeckLinkVideoOutputCallback_v7_6* This) { return This->lpVtbl->ScheduledPlaybackHasStopped(This); } #endif @@ -15938,20 +16168,20 @@ interface IDeckLinkInputCallback_v7_6 { #define IDeckLinkInputCallback_v7_6_VideoInputFrameArrived(This,videoFrame,audioPacket) (This)->lpVtbl->VideoInputFrameArrived(This,videoFrame,audioPacket) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkInputCallback_v7_6_QueryInterface(IDeckLinkInputCallback_v7_6* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkInputCallback_v7_6_QueryInterface(IDeckLinkInputCallback_v7_6* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkInputCallback_v7_6_AddRef(IDeckLinkInputCallback_v7_6* This) { +static inline ULONG IDeckLinkInputCallback_v7_6_AddRef(IDeckLinkInputCallback_v7_6* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkInputCallback_v7_6_Release(IDeckLinkInputCallback_v7_6* This) { +static inline ULONG IDeckLinkInputCallback_v7_6_Release(IDeckLinkInputCallback_v7_6* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkInputCallback_v7_6 methods ***/ -static FORCEINLINE HRESULT IDeckLinkInputCallback_v7_6_VideoInputFormatChanged(IDeckLinkInputCallback_v7_6* This,BMDVideoInputFormatChangedEvents notificationEvents,IDeckLinkDisplayMode_v7_6 *newDisplayMode,BMDDetectedVideoInputFormatFlags detectedSignalFlags) { +static inline HRESULT IDeckLinkInputCallback_v7_6_VideoInputFormatChanged(IDeckLinkInputCallback_v7_6* This,BMDVideoInputFormatChangedEvents notificationEvents,IDeckLinkDisplayMode_v7_6 *newDisplayMode,BMDDetectedVideoInputFormatFlags detectedSignalFlags) { return This->lpVtbl->VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags); } -static FORCEINLINE HRESULT IDeckLinkInputCallback_v7_6_VideoInputFrameArrived(IDeckLinkInputCallback_v7_6* This,IDeckLinkVideoInputFrame_v7_6 *videoFrame,IDeckLinkAudioInputPacket *audioPacket) { +static inline HRESULT IDeckLinkInputCallback_v7_6_VideoInputFrameArrived(IDeckLinkInputCallback_v7_6* This,IDeckLinkVideoInputFrame_v7_6 *videoFrame,IDeckLinkAudioInputPacket *audioPacket) { return This->lpVtbl->VideoInputFrameArrived(This,videoFrame,audioPacket); } #endif @@ -16018,17 +16248,17 @@ interface IDeckLinkDisplayModeIterator_v7_6 { #define IDeckLinkDisplayModeIterator_v7_6_Next(This,deckLinkDisplayMode) (This)->lpVtbl->Next(This,deckLinkDisplayMode) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkDisplayModeIterator_v7_6_QueryInterface(IDeckLinkDisplayModeIterator_v7_6* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkDisplayModeIterator_v7_6_QueryInterface(IDeckLinkDisplayModeIterator_v7_6* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkDisplayModeIterator_v7_6_AddRef(IDeckLinkDisplayModeIterator_v7_6* This) { +static inline ULONG IDeckLinkDisplayModeIterator_v7_6_AddRef(IDeckLinkDisplayModeIterator_v7_6* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkDisplayModeIterator_v7_6_Release(IDeckLinkDisplayModeIterator_v7_6* This) { +static inline ULONG IDeckLinkDisplayModeIterator_v7_6_Release(IDeckLinkDisplayModeIterator_v7_6* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkDisplayModeIterator_v7_6 methods ***/ -static FORCEINLINE HRESULT IDeckLinkDisplayModeIterator_v7_6_Next(IDeckLinkDisplayModeIterator_v7_6* This,IDeckLinkDisplayMode_v7_6 **deckLinkDisplayMode) { +static inline HRESULT IDeckLinkDisplayModeIterator_v7_6_Next(IDeckLinkDisplayModeIterator_v7_6* This,IDeckLinkDisplayMode_v7_6 **deckLinkDisplayMode) { return This->lpVtbl->Next(This,deckLinkDisplayMode); } #endif @@ -16133,32 +16363,32 @@ interface IDeckLinkDisplayMode_v7_6 { #define IDeckLinkDisplayMode_v7_6_GetFieldDominance(This) (This)->lpVtbl->GetFieldDominance(This) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkDisplayMode_v7_6_QueryInterface(IDeckLinkDisplayMode_v7_6* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkDisplayMode_v7_6_QueryInterface(IDeckLinkDisplayMode_v7_6* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkDisplayMode_v7_6_AddRef(IDeckLinkDisplayMode_v7_6* This) { +static inline ULONG IDeckLinkDisplayMode_v7_6_AddRef(IDeckLinkDisplayMode_v7_6* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkDisplayMode_v7_6_Release(IDeckLinkDisplayMode_v7_6* This) { +static inline ULONG IDeckLinkDisplayMode_v7_6_Release(IDeckLinkDisplayMode_v7_6* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkDisplayMode_v7_6 methods ***/ -static FORCEINLINE HRESULT IDeckLinkDisplayMode_v7_6_GetName(IDeckLinkDisplayMode_v7_6* This,BSTR *name) { +static inline HRESULT IDeckLinkDisplayMode_v7_6_GetName(IDeckLinkDisplayMode_v7_6* This,BSTR *name) { return This->lpVtbl->GetName(This,name); } -static FORCEINLINE BMDDisplayMode IDeckLinkDisplayMode_v7_6_GetDisplayMode(IDeckLinkDisplayMode_v7_6* This) { +static inline BMDDisplayMode IDeckLinkDisplayMode_v7_6_GetDisplayMode(IDeckLinkDisplayMode_v7_6* This) { return This->lpVtbl->GetDisplayMode(This); } -static FORCEINLINE LONG IDeckLinkDisplayMode_v7_6_GetWidth(IDeckLinkDisplayMode_v7_6* This) { +static inline LONG IDeckLinkDisplayMode_v7_6_GetWidth(IDeckLinkDisplayMode_v7_6* This) { return This->lpVtbl->GetWidth(This); } -static FORCEINLINE LONG IDeckLinkDisplayMode_v7_6_GetHeight(IDeckLinkDisplayMode_v7_6* This) { +static inline LONG IDeckLinkDisplayMode_v7_6_GetHeight(IDeckLinkDisplayMode_v7_6* This) { return This->lpVtbl->GetHeight(This); } -static FORCEINLINE HRESULT IDeckLinkDisplayMode_v7_6_GetFrameRate(IDeckLinkDisplayMode_v7_6* This,BMDTimeValue *frameDuration,BMDTimeScale *timeScale) { +static inline HRESULT IDeckLinkDisplayMode_v7_6_GetFrameRate(IDeckLinkDisplayMode_v7_6* This,BMDTimeValue *frameDuration,BMDTimeScale *timeScale) { return This->lpVtbl->GetFrameRate(This,frameDuration,timeScale); } -static FORCEINLINE BMDFieldDominance IDeckLinkDisplayMode_v7_6_GetFieldDominance(IDeckLinkDisplayMode_v7_6* This) { +static inline BMDFieldDominance IDeckLinkDisplayMode_v7_6_GetFieldDominance(IDeckLinkDisplayMode_v7_6* This) { return This->lpVtbl->GetFieldDominance(This); } #endif @@ -16480,92 +16710,92 @@ interface IDeckLinkOutput_v7_6 { #define IDeckLinkOutput_v7_6_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) (This)->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_QueryInterface(IDeckLinkOutput_v7_6* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkOutput_v7_6_QueryInterface(IDeckLinkOutput_v7_6* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkOutput_v7_6_AddRef(IDeckLinkOutput_v7_6* This) { +static inline ULONG IDeckLinkOutput_v7_6_AddRef(IDeckLinkOutput_v7_6* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkOutput_v7_6_Release(IDeckLinkOutput_v7_6* This) { +static inline ULONG IDeckLinkOutput_v7_6_Release(IDeckLinkOutput_v7_6* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkOutput_v7_6 methods ***/ -static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_DoesSupportVideoMode(IDeckLinkOutput_v7_6* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDDisplayModeSupport_v10_11 *result) { +static inline HRESULT IDeckLinkOutput_v7_6_DoesSupportVideoMode(IDeckLinkOutput_v7_6* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDDisplayModeSupport_v10_11 *result) { return This->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,result); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_GetDisplayModeIterator(IDeckLinkOutput_v7_6* This,IDeckLinkDisplayModeIterator_v7_6 **iterator) { +static inline HRESULT IDeckLinkOutput_v7_6_GetDisplayModeIterator(IDeckLinkOutput_v7_6* This,IDeckLinkDisplayModeIterator_v7_6 **iterator) { return This->lpVtbl->GetDisplayModeIterator(This,iterator); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_SetScreenPreviewCallback(IDeckLinkOutput_v7_6* This,IDeckLinkScreenPreviewCallback_v7_6 *previewCallback) { +static inline HRESULT IDeckLinkOutput_v7_6_SetScreenPreviewCallback(IDeckLinkOutput_v7_6* This,IDeckLinkScreenPreviewCallback_v7_6 *previewCallback) { return This->lpVtbl->SetScreenPreviewCallback(This,previewCallback); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_EnableVideoOutput(IDeckLinkOutput_v7_6* This,BMDDisplayMode displayMode,BMDVideoOutputFlags flags) { +static inline HRESULT IDeckLinkOutput_v7_6_EnableVideoOutput(IDeckLinkOutput_v7_6* This,BMDDisplayMode displayMode,BMDVideoOutputFlags flags) { return This->lpVtbl->EnableVideoOutput(This,displayMode,flags); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_DisableVideoOutput(IDeckLinkOutput_v7_6* This) { +static inline HRESULT IDeckLinkOutput_v7_6_DisableVideoOutput(IDeckLinkOutput_v7_6* This) { return This->lpVtbl->DisableVideoOutput(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_SetVideoOutputFrameMemoryAllocator(IDeckLinkOutput_v7_6* This,IDeckLinkMemoryAllocator *theAllocator) { +static inline HRESULT IDeckLinkOutput_v7_6_SetVideoOutputFrameMemoryAllocator(IDeckLinkOutput_v7_6* This,IDeckLinkMemoryAllocator *theAllocator) { return This->lpVtbl->SetVideoOutputFrameMemoryAllocator(This,theAllocator); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_CreateVideoFrame(IDeckLinkOutput_v7_6* This,int width,int height,int rowBytes,BMDPixelFormat pixelFormat,BMDFrameFlags flags,IDeckLinkMutableVideoFrame_v7_6 **outFrame) { +static inline HRESULT IDeckLinkOutput_v7_6_CreateVideoFrame(IDeckLinkOutput_v7_6* This,int width,int height,int rowBytes,BMDPixelFormat pixelFormat,BMDFrameFlags flags,IDeckLinkMutableVideoFrame_v7_6 **outFrame) { return This->lpVtbl->CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_CreateAncillaryData(IDeckLinkOutput_v7_6* This,BMDPixelFormat pixelFormat,IDeckLinkVideoFrameAncillary **outBuffer) { +static inline HRESULT IDeckLinkOutput_v7_6_CreateAncillaryData(IDeckLinkOutput_v7_6* This,BMDPixelFormat pixelFormat,IDeckLinkVideoFrameAncillary **outBuffer) { return This->lpVtbl->CreateAncillaryData(This,pixelFormat,outBuffer); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_DisplayVideoFrameSync(IDeckLinkOutput_v7_6* This,IDeckLinkVideoFrame_v7_6 *theFrame) { +static inline HRESULT IDeckLinkOutput_v7_6_DisplayVideoFrameSync(IDeckLinkOutput_v7_6* This,IDeckLinkVideoFrame_v7_6 *theFrame) { return This->lpVtbl->DisplayVideoFrameSync(This,theFrame); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_ScheduleVideoFrame(IDeckLinkOutput_v7_6* This,IDeckLinkVideoFrame_v7_6 *theFrame,BMDTimeValue displayTime,BMDTimeValue displayDuration,BMDTimeScale timeScale) { +static inline HRESULT IDeckLinkOutput_v7_6_ScheduleVideoFrame(IDeckLinkOutput_v7_6* This,IDeckLinkVideoFrame_v7_6 *theFrame,BMDTimeValue displayTime,BMDTimeValue displayDuration,BMDTimeScale timeScale) { return This->lpVtbl->ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_SetScheduledFrameCompletionCallback(IDeckLinkOutput_v7_6* This,IDeckLinkVideoOutputCallback_v7_6 *theCallback) { +static inline HRESULT IDeckLinkOutput_v7_6_SetScheduledFrameCompletionCallback(IDeckLinkOutput_v7_6* This,IDeckLinkVideoOutputCallback_v7_6 *theCallback) { return This->lpVtbl->SetScheduledFrameCompletionCallback(This,theCallback); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_GetBufferedVideoFrameCount(IDeckLinkOutput_v7_6* This,unsigned int *bufferedFrameCount) { +static inline HRESULT IDeckLinkOutput_v7_6_GetBufferedVideoFrameCount(IDeckLinkOutput_v7_6* This,unsigned int *bufferedFrameCount) { return This->lpVtbl->GetBufferedVideoFrameCount(This,bufferedFrameCount); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_EnableAudioOutput(IDeckLinkOutput_v7_6* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount,BMDAudioOutputStreamType streamType) { +static inline HRESULT IDeckLinkOutput_v7_6_EnableAudioOutput(IDeckLinkOutput_v7_6* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount,BMDAudioOutputStreamType streamType) { return This->lpVtbl->EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_DisableAudioOutput(IDeckLinkOutput_v7_6* This) { +static inline HRESULT IDeckLinkOutput_v7_6_DisableAudioOutput(IDeckLinkOutput_v7_6* This) { return This->lpVtbl->DisableAudioOutput(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_WriteAudioSamplesSync(IDeckLinkOutput_v7_6* This,void *buffer,unsigned int sampleFrameCount,unsigned int *sampleFramesWritten) { +static inline HRESULT IDeckLinkOutput_v7_6_WriteAudioSamplesSync(IDeckLinkOutput_v7_6* This,void *buffer,unsigned int sampleFrameCount,unsigned int *sampleFramesWritten) { return This->lpVtbl->WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_BeginAudioPreroll(IDeckLinkOutput_v7_6* This) { +static inline HRESULT IDeckLinkOutput_v7_6_BeginAudioPreroll(IDeckLinkOutput_v7_6* This) { return This->lpVtbl->BeginAudioPreroll(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_EndAudioPreroll(IDeckLinkOutput_v7_6* This) { +static inline HRESULT IDeckLinkOutput_v7_6_EndAudioPreroll(IDeckLinkOutput_v7_6* This) { return This->lpVtbl->EndAudioPreroll(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_ScheduleAudioSamples(IDeckLinkOutput_v7_6* This,void *buffer,unsigned int sampleFrameCount,BMDTimeValue streamTime,BMDTimeScale timeScale,unsigned int *sampleFramesWritten) { +static inline HRESULT IDeckLinkOutput_v7_6_ScheduleAudioSamples(IDeckLinkOutput_v7_6* This,void *buffer,unsigned int sampleFrameCount,BMDTimeValue streamTime,BMDTimeScale timeScale,unsigned int *sampleFramesWritten) { return This->lpVtbl->ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_GetBufferedAudioSampleFrameCount(IDeckLinkOutput_v7_6* This,unsigned int *bufferedSampleFrameCount) { +static inline HRESULT IDeckLinkOutput_v7_6_GetBufferedAudioSampleFrameCount(IDeckLinkOutput_v7_6* This,unsigned int *bufferedSampleFrameCount) { return This->lpVtbl->GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_FlushBufferedAudioSamples(IDeckLinkOutput_v7_6* This) { +static inline HRESULT IDeckLinkOutput_v7_6_FlushBufferedAudioSamples(IDeckLinkOutput_v7_6* This) { return This->lpVtbl->FlushBufferedAudioSamples(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_SetAudioCallback(IDeckLinkOutput_v7_6* This,IDeckLinkAudioOutputCallback *theCallback) { +static inline HRESULT IDeckLinkOutput_v7_6_SetAudioCallback(IDeckLinkOutput_v7_6* This,IDeckLinkAudioOutputCallback *theCallback) { return This->lpVtbl->SetAudioCallback(This,theCallback); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_StartScheduledPlayback(IDeckLinkOutput_v7_6* This,BMDTimeValue playbackStartTime,BMDTimeScale timeScale,double playbackSpeed) { +static inline HRESULT IDeckLinkOutput_v7_6_StartScheduledPlayback(IDeckLinkOutput_v7_6* This,BMDTimeValue playbackStartTime,BMDTimeScale timeScale,double playbackSpeed) { return This->lpVtbl->StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_StopScheduledPlayback(IDeckLinkOutput_v7_6* This,BMDTimeValue stopPlaybackAtTime,BMDTimeValue *actualStopTime,BMDTimeScale timeScale) { +static inline HRESULT IDeckLinkOutput_v7_6_StopScheduledPlayback(IDeckLinkOutput_v7_6* This,BMDTimeValue stopPlaybackAtTime,BMDTimeValue *actualStopTime,BMDTimeScale timeScale) { return This->lpVtbl->StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_IsScheduledPlaybackRunning(IDeckLinkOutput_v7_6* This,BOOL *active) { +static inline HRESULT IDeckLinkOutput_v7_6_IsScheduledPlaybackRunning(IDeckLinkOutput_v7_6* This,BOOL *active) { return This->lpVtbl->IsScheduledPlaybackRunning(This,active); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_GetScheduledStreamTime(IDeckLinkOutput_v7_6* This,BMDTimeScale desiredTimeScale,BMDTimeValue *streamTime,double *playbackSpeed) { +static inline HRESULT IDeckLinkOutput_v7_6_GetScheduledStreamTime(IDeckLinkOutput_v7_6* This,BMDTimeScale desiredTimeScale,BMDTimeValue *streamTime,double *playbackSpeed) { return This->lpVtbl->GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_6_GetHardwareReferenceClock(IDeckLinkOutput_v7_6* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) { +static inline HRESULT IDeckLinkOutput_v7_6_GetHardwareReferenceClock(IDeckLinkOutput_v7_6* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) { return This->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame); } #endif @@ -16756,59 +16986,59 @@ interface IDeckLinkInput_v7_6 { #define IDeckLinkInput_v7_6_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) (This)->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkInput_v7_6_QueryInterface(IDeckLinkInput_v7_6* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkInput_v7_6_QueryInterface(IDeckLinkInput_v7_6* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkInput_v7_6_AddRef(IDeckLinkInput_v7_6* This) { +static inline ULONG IDeckLinkInput_v7_6_AddRef(IDeckLinkInput_v7_6* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkInput_v7_6_Release(IDeckLinkInput_v7_6* This) { +static inline ULONG IDeckLinkInput_v7_6_Release(IDeckLinkInput_v7_6* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkInput_v7_6 methods ***/ -static FORCEINLINE HRESULT IDeckLinkInput_v7_6_DoesSupportVideoMode(IDeckLinkInput_v7_6* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDDisplayModeSupport_v10_11 *result) { +static inline HRESULT IDeckLinkInput_v7_6_DoesSupportVideoMode(IDeckLinkInput_v7_6* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDDisplayModeSupport_v10_11 *result) { return This->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,result); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_6_GetDisplayModeIterator(IDeckLinkInput_v7_6* This,IDeckLinkDisplayModeIterator_v7_6 **iterator) { +static inline HRESULT IDeckLinkInput_v7_6_GetDisplayModeIterator(IDeckLinkInput_v7_6* This,IDeckLinkDisplayModeIterator_v7_6 **iterator) { return This->lpVtbl->GetDisplayModeIterator(This,iterator); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_6_SetScreenPreviewCallback(IDeckLinkInput_v7_6* This,IDeckLinkScreenPreviewCallback_v7_6 *previewCallback) { +static inline HRESULT IDeckLinkInput_v7_6_SetScreenPreviewCallback(IDeckLinkInput_v7_6* This,IDeckLinkScreenPreviewCallback_v7_6 *previewCallback) { return This->lpVtbl->SetScreenPreviewCallback(This,previewCallback); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_6_EnableVideoInput(IDeckLinkInput_v7_6* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags) { +static inline HRESULT IDeckLinkInput_v7_6_EnableVideoInput(IDeckLinkInput_v7_6* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags) { return This->lpVtbl->EnableVideoInput(This,displayMode,pixelFormat,flags); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_6_DisableVideoInput(IDeckLinkInput_v7_6* This) { +static inline HRESULT IDeckLinkInput_v7_6_DisableVideoInput(IDeckLinkInput_v7_6* This) { return This->lpVtbl->DisableVideoInput(This); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_6_GetAvailableVideoFrameCount(IDeckLinkInput_v7_6* This,unsigned int *availableFrameCount) { +static inline HRESULT IDeckLinkInput_v7_6_GetAvailableVideoFrameCount(IDeckLinkInput_v7_6* This,unsigned int *availableFrameCount) { return This->lpVtbl->GetAvailableVideoFrameCount(This,availableFrameCount); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_6_EnableAudioInput(IDeckLinkInput_v7_6* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount) { +static inline HRESULT IDeckLinkInput_v7_6_EnableAudioInput(IDeckLinkInput_v7_6* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount) { return This->lpVtbl->EnableAudioInput(This,sampleRate,sampleType,channelCount); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_6_DisableAudioInput(IDeckLinkInput_v7_6* This) { +static inline HRESULT IDeckLinkInput_v7_6_DisableAudioInput(IDeckLinkInput_v7_6* This) { return This->lpVtbl->DisableAudioInput(This); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_6_GetAvailableAudioSampleFrameCount(IDeckLinkInput_v7_6* This,unsigned int *availableSampleFrameCount) { +static inline HRESULT IDeckLinkInput_v7_6_GetAvailableAudioSampleFrameCount(IDeckLinkInput_v7_6* This,unsigned int *availableSampleFrameCount) { return This->lpVtbl->GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_6_StartStreams(IDeckLinkInput_v7_6* This) { +static inline HRESULT IDeckLinkInput_v7_6_StartStreams(IDeckLinkInput_v7_6* This) { return This->lpVtbl->StartStreams(This); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_6_StopStreams(IDeckLinkInput_v7_6* This) { +static inline HRESULT IDeckLinkInput_v7_6_StopStreams(IDeckLinkInput_v7_6* This) { return This->lpVtbl->StopStreams(This); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_6_PauseStreams(IDeckLinkInput_v7_6* This) { +static inline HRESULT IDeckLinkInput_v7_6_PauseStreams(IDeckLinkInput_v7_6* This) { return This->lpVtbl->PauseStreams(This); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_6_FlushStreams(IDeckLinkInput_v7_6* This) { +static inline HRESULT IDeckLinkInput_v7_6_FlushStreams(IDeckLinkInput_v7_6* This) { return This->lpVtbl->FlushStreams(This); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_6_SetCallback(IDeckLinkInput_v7_6* This,IDeckLinkInputCallback_v7_6 *theCallback) { +static inline HRESULT IDeckLinkInput_v7_6_SetCallback(IDeckLinkInput_v7_6* This,IDeckLinkInputCallback_v7_6 *theCallback) { return This->lpVtbl->SetCallback(This,theCallback); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_6_GetHardwareReferenceClock(IDeckLinkInput_v7_6* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) { +static inline HRESULT IDeckLinkInput_v7_6_GetHardwareReferenceClock(IDeckLinkInput_v7_6* This,BMDTimeScale desiredTimeScale,BMDTimeValue *hardwareTime,BMDTimeValue *timeInFrame,BMDTimeValue *ticksPerFrame) { return This->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame); } #endif @@ -16903,26 +17133,26 @@ interface IDeckLinkTimecode_v7_6 { #define IDeckLinkTimecode_v7_6_GetFlags(This) (This)->lpVtbl->GetFlags(This) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkTimecode_v7_6_QueryInterface(IDeckLinkTimecode_v7_6* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkTimecode_v7_6_QueryInterface(IDeckLinkTimecode_v7_6* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkTimecode_v7_6_AddRef(IDeckLinkTimecode_v7_6* This) { +static inline ULONG IDeckLinkTimecode_v7_6_AddRef(IDeckLinkTimecode_v7_6* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkTimecode_v7_6_Release(IDeckLinkTimecode_v7_6* This) { +static inline ULONG IDeckLinkTimecode_v7_6_Release(IDeckLinkTimecode_v7_6* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkTimecode_v7_6 methods ***/ -static FORCEINLINE BMDTimecodeBCD IDeckLinkTimecode_v7_6_GetBCD(IDeckLinkTimecode_v7_6* This) { +static inline BMDTimecodeBCD IDeckLinkTimecode_v7_6_GetBCD(IDeckLinkTimecode_v7_6* This) { return This->lpVtbl->GetBCD(This); } -static FORCEINLINE HRESULT IDeckLinkTimecode_v7_6_GetComponents(IDeckLinkTimecode_v7_6* This,unsigned char *hours,unsigned char *minutes,unsigned char *seconds,unsigned char *frames) { +static inline HRESULT IDeckLinkTimecode_v7_6_GetComponents(IDeckLinkTimecode_v7_6* This,unsigned char *hours,unsigned char *minutes,unsigned char *seconds,unsigned char *frames) { return This->lpVtbl->GetComponents(This,hours,minutes,seconds,frames); } -static FORCEINLINE HRESULT IDeckLinkTimecode_v7_6_GetString(IDeckLinkTimecode_v7_6* This,BSTR *timecode) { +static inline HRESULT IDeckLinkTimecode_v7_6_GetString(IDeckLinkTimecode_v7_6* This,BSTR *timecode) { return This->lpVtbl->GetString(This,timecode); } -static FORCEINLINE BMDTimecodeFlags IDeckLinkTimecode_v7_6_GetFlags(IDeckLinkTimecode_v7_6* This) { +static inline BMDTimecodeFlags IDeckLinkTimecode_v7_6_GetFlags(IDeckLinkTimecode_v7_6* This) { return This->lpVtbl->GetFlags(This); } #endif @@ -17042,38 +17272,38 @@ interface IDeckLinkVideoFrame_v7_6 { #define IDeckLinkVideoFrame_v7_6_GetAncillaryData(This,ancillary) (This)->lpVtbl->GetAncillaryData(This,ancillary) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkVideoFrame_v7_6_QueryInterface(IDeckLinkVideoFrame_v7_6* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkVideoFrame_v7_6_QueryInterface(IDeckLinkVideoFrame_v7_6* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkVideoFrame_v7_6_AddRef(IDeckLinkVideoFrame_v7_6* This) { +static inline ULONG IDeckLinkVideoFrame_v7_6_AddRef(IDeckLinkVideoFrame_v7_6* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkVideoFrame_v7_6_Release(IDeckLinkVideoFrame_v7_6* This) { +static inline ULONG IDeckLinkVideoFrame_v7_6_Release(IDeckLinkVideoFrame_v7_6* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkVideoFrame_v7_6 methods ***/ -static FORCEINLINE LONG IDeckLinkVideoFrame_v7_6_GetWidth(IDeckLinkVideoFrame_v7_6* This) { +static inline LONG IDeckLinkVideoFrame_v7_6_GetWidth(IDeckLinkVideoFrame_v7_6* This) { return This->lpVtbl->GetWidth(This); } -static FORCEINLINE LONG IDeckLinkVideoFrame_v7_6_GetHeight(IDeckLinkVideoFrame_v7_6* This) { +static inline LONG IDeckLinkVideoFrame_v7_6_GetHeight(IDeckLinkVideoFrame_v7_6* This) { return This->lpVtbl->GetHeight(This); } -static FORCEINLINE LONG IDeckLinkVideoFrame_v7_6_GetRowBytes(IDeckLinkVideoFrame_v7_6* This) { +static inline LONG IDeckLinkVideoFrame_v7_6_GetRowBytes(IDeckLinkVideoFrame_v7_6* This) { return This->lpVtbl->GetRowBytes(This); } -static FORCEINLINE BMDPixelFormat IDeckLinkVideoFrame_v7_6_GetPixelFormat(IDeckLinkVideoFrame_v7_6* This) { +static inline BMDPixelFormat IDeckLinkVideoFrame_v7_6_GetPixelFormat(IDeckLinkVideoFrame_v7_6* This) { return This->lpVtbl->GetPixelFormat(This); } -static FORCEINLINE BMDFrameFlags IDeckLinkVideoFrame_v7_6_GetFlags(IDeckLinkVideoFrame_v7_6* This) { +static inline BMDFrameFlags IDeckLinkVideoFrame_v7_6_GetFlags(IDeckLinkVideoFrame_v7_6* This) { return This->lpVtbl->GetFlags(This); } -static FORCEINLINE HRESULT IDeckLinkVideoFrame_v7_6_GetBytes(IDeckLinkVideoFrame_v7_6* This,void **buffer) { +static inline HRESULT IDeckLinkVideoFrame_v7_6_GetBytes(IDeckLinkVideoFrame_v7_6* This,void **buffer) { return This->lpVtbl->GetBytes(This,buffer); } -static FORCEINLINE HRESULT IDeckLinkVideoFrame_v7_6_GetTimecode(IDeckLinkVideoFrame_v7_6* This,BMDTimecodeFormat format,IDeckLinkTimecode_v7_6 **timecode) { +static inline HRESULT IDeckLinkVideoFrame_v7_6_GetTimecode(IDeckLinkVideoFrame_v7_6* This,BMDTimecodeFormat format,IDeckLinkTimecode_v7_6 **timecode) { return This->lpVtbl->GetTimecode(This,format,timecode); } -static FORCEINLINE HRESULT IDeckLinkVideoFrame_v7_6_GetAncillaryData(IDeckLinkVideoFrame_v7_6* This,IDeckLinkVideoFrameAncillary **ancillary) { +static inline HRESULT IDeckLinkVideoFrame_v7_6_GetAncillaryData(IDeckLinkVideoFrame_v7_6* This,IDeckLinkVideoFrameAncillary **ancillary) { return This->lpVtbl->GetAncillaryData(This,ancillary); } #endif @@ -17214,51 +17444,51 @@ interface IDeckLinkMutableVideoFrame_v7_6 { #define IDeckLinkMutableVideoFrame_v7_6_SetAncillaryData(This,ancillary) (This)->lpVtbl->SetAncillaryData(This,ancillary) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_v7_6_QueryInterface(IDeckLinkMutableVideoFrame_v7_6* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkMutableVideoFrame_v7_6_QueryInterface(IDeckLinkMutableVideoFrame_v7_6* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkMutableVideoFrame_v7_6_AddRef(IDeckLinkMutableVideoFrame_v7_6* This) { +static inline ULONG IDeckLinkMutableVideoFrame_v7_6_AddRef(IDeckLinkMutableVideoFrame_v7_6* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkMutableVideoFrame_v7_6_Release(IDeckLinkMutableVideoFrame_v7_6* This) { +static inline ULONG IDeckLinkMutableVideoFrame_v7_6_Release(IDeckLinkMutableVideoFrame_v7_6* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkVideoFrame_v7_6 methods ***/ -static FORCEINLINE LONG IDeckLinkMutableVideoFrame_v7_6_GetWidth(IDeckLinkMutableVideoFrame_v7_6* This) { +static inline LONG IDeckLinkMutableVideoFrame_v7_6_GetWidth(IDeckLinkMutableVideoFrame_v7_6* This) { return This->lpVtbl->GetWidth(This); } -static FORCEINLINE LONG IDeckLinkMutableVideoFrame_v7_6_GetHeight(IDeckLinkMutableVideoFrame_v7_6* This) { +static inline LONG IDeckLinkMutableVideoFrame_v7_6_GetHeight(IDeckLinkMutableVideoFrame_v7_6* This) { return This->lpVtbl->GetHeight(This); } -static FORCEINLINE LONG IDeckLinkMutableVideoFrame_v7_6_GetRowBytes(IDeckLinkMutableVideoFrame_v7_6* This) { +static inline LONG IDeckLinkMutableVideoFrame_v7_6_GetRowBytes(IDeckLinkMutableVideoFrame_v7_6* This) { return This->lpVtbl->GetRowBytes(This); } -static FORCEINLINE BMDPixelFormat IDeckLinkMutableVideoFrame_v7_6_GetPixelFormat(IDeckLinkMutableVideoFrame_v7_6* This) { +static inline BMDPixelFormat IDeckLinkMutableVideoFrame_v7_6_GetPixelFormat(IDeckLinkMutableVideoFrame_v7_6* This) { return This->lpVtbl->GetPixelFormat(This); } -static FORCEINLINE BMDFrameFlags IDeckLinkMutableVideoFrame_v7_6_GetFlags(IDeckLinkMutableVideoFrame_v7_6* This) { +static inline BMDFrameFlags IDeckLinkMutableVideoFrame_v7_6_GetFlags(IDeckLinkMutableVideoFrame_v7_6* This) { return This->lpVtbl->GetFlags(This); } -static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_v7_6_GetBytes(IDeckLinkMutableVideoFrame_v7_6* This,void **buffer) { +static inline HRESULT IDeckLinkMutableVideoFrame_v7_6_GetBytes(IDeckLinkMutableVideoFrame_v7_6* This,void **buffer) { return This->lpVtbl->GetBytes(This,buffer); } -static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_v7_6_GetTimecode(IDeckLinkMutableVideoFrame_v7_6* This,BMDTimecodeFormat format,IDeckLinkTimecode_v7_6 **timecode) { +static inline HRESULT IDeckLinkMutableVideoFrame_v7_6_GetTimecode(IDeckLinkMutableVideoFrame_v7_6* This,BMDTimecodeFormat format,IDeckLinkTimecode_v7_6 **timecode) { return This->lpVtbl->GetTimecode(This,format,timecode); } -static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_v7_6_GetAncillaryData(IDeckLinkMutableVideoFrame_v7_6* This,IDeckLinkVideoFrameAncillary **ancillary) { +static inline HRESULT IDeckLinkMutableVideoFrame_v7_6_GetAncillaryData(IDeckLinkMutableVideoFrame_v7_6* This,IDeckLinkVideoFrameAncillary **ancillary) { return This->lpVtbl->GetAncillaryData(This,ancillary); } /*** IDeckLinkMutableVideoFrame_v7_6 methods ***/ -static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_v7_6_SetFlags(IDeckLinkMutableVideoFrame_v7_6* This,BMDFrameFlags newFlags) { +static inline HRESULT IDeckLinkMutableVideoFrame_v7_6_SetFlags(IDeckLinkMutableVideoFrame_v7_6* This,BMDFrameFlags newFlags) { return This->lpVtbl->SetFlags(This,newFlags); } -static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_v7_6_SetTimecode(IDeckLinkMutableVideoFrame_v7_6* This,BMDTimecodeFormat format,IDeckLinkTimecode_v7_6 *timecode) { +static inline HRESULT IDeckLinkMutableVideoFrame_v7_6_SetTimecode(IDeckLinkMutableVideoFrame_v7_6* This,BMDTimecodeFormat format,IDeckLinkTimecode_v7_6 *timecode) { return This->lpVtbl->SetTimecode(This,format,timecode); } -static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_v7_6_SetTimecodeFromComponents(IDeckLinkMutableVideoFrame_v7_6* This,BMDTimecodeFormat format,unsigned char hours,unsigned char minutes,unsigned char seconds,unsigned char frames,BMDTimecodeFlags flags) { +static inline HRESULT IDeckLinkMutableVideoFrame_v7_6_SetTimecodeFromComponents(IDeckLinkMutableVideoFrame_v7_6* This,BMDTimecodeFormat format,unsigned char hours,unsigned char minutes,unsigned char seconds,unsigned char frames,BMDTimecodeFlags flags) { return This->lpVtbl->SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags); } -static FORCEINLINE HRESULT IDeckLinkMutableVideoFrame_v7_6_SetAncillaryData(IDeckLinkMutableVideoFrame_v7_6* This,IDeckLinkVideoFrameAncillary *ancillary) { +static inline HRESULT IDeckLinkMutableVideoFrame_v7_6_SetAncillaryData(IDeckLinkMutableVideoFrame_v7_6* This,IDeckLinkVideoFrameAncillary *ancillary) { return This->lpVtbl->SetAncillaryData(This,ancillary); } #endif @@ -17379,45 +17609,45 @@ interface IDeckLinkVideoInputFrame_v7_6 { #define IDeckLinkVideoInputFrame_v7_6_GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) (This)->lpVtbl->GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_v7_6_QueryInterface(IDeckLinkVideoInputFrame_v7_6* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkVideoInputFrame_v7_6_QueryInterface(IDeckLinkVideoInputFrame_v7_6* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkVideoInputFrame_v7_6_AddRef(IDeckLinkVideoInputFrame_v7_6* This) { +static inline ULONG IDeckLinkVideoInputFrame_v7_6_AddRef(IDeckLinkVideoInputFrame_v7_6* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkVideoInputFrame_v7_6_Release(IDeckLinkVideoInputFrame_v7_6* This) { +static inline ULONG IDeckLinkVideoInputFrame_v7_6_Release(IDeckLinkVideoInputFrame_v7_6* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkVideoFrame_v7_6 methods ***/ -static FORCEINLINE LONG IDeckLinkVideoInputFrame_v7_6_GetWidth(IDeckLinkVideoInputFrame_v7_6* This) { +static inline LONG IDeckLinkVideoInputFrame_v7_6_GetWidth(IDeckLinkVideoInputFrame_v7_6* This) { return This->lpVtbl->GetWidth(This); } -static FORCEINLINE LONG IDeckLinkVideoInputFrame_v7_6_GetHeight(IDeckLinkVideoInputFrame_v7_6* This) { +static inline LONG IDeckLinkVideoInputFrame_v7_6_GetHeight(IDeckLinkVideoInputFrame_v7_6* This) { return This->lpVtbl->GetHeight(This); } -static FORCEINLINE LONG IDeckLinkVideoInputFrame_v7_6_GetRowBytes(IDeckLinkVideoInputFrame_v7_6* This) { +static inline LONG IDeckLinkVideoInputFrame_v7_6_GetRowBytes(IDeckLinkVideoInputFrame_v7_6* This) { return This->lpVtbl->GetRowBytes(This); } -static FORCEINLINE BMDPixelFormat IDeckLinkVideoInputFrame_v7_6_GetPixelFormat(IDeckLinkVideoInputFrame_v7_6* This) { +static inline BMDPixelFormat IDeckLinkVideoInputFrame_v7_6_GetPixelFormat(IDeckLinkVideoInputFrame_v7_6* This) { return This->lpVtbl->GetPixelFormat(This); } -static FORCEINLINE BMDFrameFlags IDeckLinkVideoInputFrame_v7_6_GetFlags(IDeckLinkVideoInputFrame_v7_6* This) { +static inline BMDFrameFlags IDeckLinkVideoInputFrame_v7_6_GetFlags(IDeckLinkVideoInputFrame_v7_6* This) { return This->lpVtbl->GetFlags(This); } -static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_v7_6_GetBytes(IDeckLinkVideoInputFrame_v7_6* This,void **buffer) { +static inline HRESULT IDeckLinkVideoInputFrame_v7_6_GetBytes(IDeckLinkVideoInputFrame_v7_6* This,void **buffer) { return This->lpVtbl->GetBytes(This,buffer); } -static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_v7_6_GetTimecode(IDeckLinkVideoInputFrame_v7_6* This,BMDTimecodeFormat format,IDeckLinkTimecode_v7_6 **timecode) { +static inline HRESULT IDeckLinkVideoInputFrame_v7_6_GetTimecode(IDeckLinkVideoInputFrame_v7_6* This,BMDTimecodeFormat format,IDeckLinkTimecode_v7_6 **timecode) { return This->lpVtbl->GetTimecode(This,format,timecode); } -static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_v7_6_GetAncillaryData(IDeckLinkVideoInputFrame_v7_6* This,IDeckLinkVideoFrameAncillary **ancillary) { +static inline HRESULT IDeckLinkVideoInputFrame_v7_6_GetAncillaryData(IDeckLinkVideoInputFrame_v7_6* This,IDeckLinkVideoFrameAncillary **ancillary) { return This->lpVtbl->GetAncillaryData(This,ancillary); } /*** IDeckLinkVideoInputFrame_v7_6 methods ***/ -static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_v7_6_GetStreamTime(IDeckLinkVideoInputFrame_v7_6* This,BMDTimeValue *frameTime,BMDTimeValue *frameDuration,BMDTimeScale timeScale) { +static inline HRESULT IDeckLinkVideoInputFrame_v7_6_GetStreamTime(IDeckLinkVideoInputFrame_v7_6* This,BMDTimeValue *frameTime,BMDTimeValue *frameDuration,BMDTimeScale timeScale) { return This->lpVtbl->GetStreamTime(This,frameTime,frameDuration,timeScale); } -static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_v7_6_GetHardwareReferenceTimestamp(IDeckLinkVideoInputFrame_v7_6* This,BMDTimeScale timeScale,BMDTimeValue *frameTime,BMDTimeValue *frameDuration) { +static inline HRESULT IDeckLinkVideoInputFrame_v7_6_GetHardwareReferenceTimestamp(IDeckLinkVideoInputFrame_v7_6* This,BMDTimeScale timeScale,BMDTimeValue *frameTime,BMDTimeValue *frameDuration) { return This->lpVtbl->GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration); } #endif @@ -17484,17 +17714,17 @@ interface IDeckLinkScreenPreviewCallback_v7_6 { #define IDeckLinkScreenPreviewCallback_v7_6_DrawFrame(This,theFrame) (This)->lpVtbl->DrawFrame(This,theFrame) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkScreenPreviewCallback_v7_6_QueryInterface(IDeckLinkScreenPreviewCallback_v7_6* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkScreenPreviewCallback_v7_6_QueryInterface(IDeckLinkScreenPreviewCallback_v7_6* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkScreenPreviewCallback_v7_6_AddRef(IDeckLinkScreenPreviewCallback_v7_6* This) { +static inline ULONG IDeckLinkScreenPreviewCallback_v7_6_AddRef(IDeckLinkScreenPreviewCallback_v7_6* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkScreenPreviewCallback_v7_6_Release(IDeckLinkScreenPreviewCallback_v7_6* This) { +static inline ULONG IDeckLinkScreenPreviewCallback_v7_6_Release(IDeckLinkScreenPreviewCallback_v7_6* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkScreenPreviewCallback_v7_6 methods ***/ -static FORCEINLINE HRESULT IDeckLinkScreenPreviewCallback_v7_6_DrawFrame(IDeckLinkScreenPreviewCallback_v7_6* This,IDeckLinkVideoFrame_v7_6 *theFrame) { +static inline HRESULT IDeckLinkScreenPreviewCallback_v7_6_DrawFrame(IDeckLinkScreenPreviewCallback_v7_6* This,IDeckLinkVideoFrame_v7_6 *theFrame) { return This->lpVtbl->DrawFrame(This,theFrame); } #endif @@ -17575,23 +17805,23 @@ interface IDeckLinkGLScreenPreviewHelper_v7_6 { #define IDeckLinkGLScreenPreviewHelper_v7_6_SetFrame(This,theFrame) (This)->lpVtbl->SetFrame(This,theFrame) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkGLScreenPreviewHelper_v7_6_QueryInterface(IDeckLinkGLScreenPreviewHelper_v7_6* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkGLScreenPreviewHelper_v7_6_QueryInterface(IDeckLinkGLScreenPreviewHelper_v7_6* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkGLScreenPreviewHelper_v7_6_AddRef(IDeckLinkGLScreenPreviewHelper_v7_6* This) { +static inline ULONG IDeckLinkGLScreenPreviewHelper_v7_6_AddRef(IDeckLinkGLScreenPreviewHelper_v7_6* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkGLScreenPreviewHelper_v7_6_Release(IDeckLinkGLScreenPreviewHelper_v7_6* This) { +static inline ULONG IDeckLinkGLScreenPreviewHelper_v7_6_Release(IDeckLinkGLScreenPreviewHelper_v7_6* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkGLScreenPreviewHelper_v7_6 methods ***/ -static FORCEINLINE HRESULT IDeckLinkGLScreenPreviewHelper_v7_6_InitializeGL(IDeckLinkGLScreenPreviewHelper_v7_6* This) { +static inline HRESULT IDeckLinkGLScreenPreviewHelper_v7_6_InitializeGL(IDeckLinkGLScreenPreviewHelper_v7_6* This) { return This->lpVtbl->InitializeGL(This); } -static FORCEINLINE HRESULT IDeckLinkGLScreenPreviewHelper_v7_6_PaintGL(IDeckLinkGLScreenPreviewHelper_v7_6* This) { +static inline HRESULT IDeckLinkGLScreenPreviewHelper_v7_6_PaintGL(IDeckLinkGLScreenPreviewHelper_v7_6* This) { return This->lpVtbl->PaintGL(This); } -static FORCEINLINE HRESULT IDeckLinkGLScreenPreviewHelper_v7_6_SetFrame(IDeckLinkGLScreenPreviewHelper_v7_6* This,IDeckLinkVideoFrame_v7_6 *theFrame) { +static inline HRESULT IDeckLinkGLScreenPreviewHelper_v7_6_SetFrame(IDeckLinkGLScreenPreviewHelper_v7_6* This,IDeckLinkVideoFrame_v7_6 *theFrame) { return This->lpVtbl->SetFrame(This,theFrame); } #endif @@ -17660,17 +17890,17 @@ interface IDeckLinkVideoConversion_v7_6 { #define IDeckLinkVideoConversion_v7_6_ConvertFrame(This,srcFrame,dstFrame) (This)->lpVtbl->ConvertFrame(This,srcFrame,dstFrame) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkVideoConversion_v7_6_QueryInterface(IDeckLinkVideoConversion_v7_6* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkVideoConversion_v7_6_QueryInterface(IDeckLinkVideoConversion_v7_6* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkVideoConversion_v7_6_AddRef(IDeckLinkVideoConversion_v7_6* This) { +static inline ULONG IDeckLinkVideoConversion_v7_6_AddRef(IDeckLinkVideoConversion_v7_6* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkVideoConversion_v7_6_Release(IDeckLinkVideoConversion_v7_6* This) { +static inline ULONG IDeckLinkVideoConversion_v7_6_Release(IDeckLinkVideoConversion_v7_6* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkVideoConversion_v7_6 methods ***/ -static FORCEINLINE HRESULT IDeckLinkVideoConversion_v7_6_ConvertFrame(IDeckLinkVideoConversion_v7_6* This,IDeckLinkVideoFrame_v7_6 *srcFrame,IDeckLinkVideoFrame_v7_6 *dstFrame) { +static inline HRESULT IDeckLinkVideoConversion_v7_6_ConvertFrame(IDeckLinkVideoConversion_v7_6* This,IDeckLinkVideoFrame_v7_6 *srcFrame,IDeckLinkVideoFrame_v7_6 *dstFrame) { return This->lpVtbl->ConvertFrame(This,srcFrame,dstFrame); } #endif @@ -17966,98 +18196,98 @@ interface IDeckLinkConfiguration_v7_6 { #define IDeckLinkConfiguration_v7_6_GetAudioInputFormat(This,audioInputFormat) (This)->lpVtbl->GetAudioInputFormat(This,audioInputFormat) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_QueryInterface(IDeckLinkConfiguration_v7_6* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkConfiguration_v7_6_QueryInterface(IDeckLinkConfiguration_v7_6* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkConfiguration_v7_6_AddRef(IDeckLinkConfiguration_v7_6* This) { +static inline ULONG IDeckLinkConfiguration_v7_6_AddRef(IDeckLinkConfiguration_v7_6* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkConfiguration_v7_6_Release(IDeckLinkConfiguration_v7_6* This) { +static inline ULONG IDeckLinkConfiguration_v7_6_Release(IDeckLinkConfiguration_v7_6* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkConfiguration_v7_6 methods ***/ -static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_GetConfigurationValidator(IDeckLinkConfiguration_v7_6* This,IDeckLinkConfiguration_v7_6 **configObject) { +static inline HRESULT IDeckLinkConfiguration_v7_6_GetConfigurationValidator(IDeckLinkConfiguration_v7_6* This,IDeckLinkConfiguration_v7_6 **configObject) { return This->lpVtbl->GetConfigurationValidator(This,configObject); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_WriteConfigurationToPreferences(IDeckLinkConfiguration_v7_6* This) { +static inline HRESULT IDeckLinkConfiguration_v7_6_WriteConfigurationToPreferences(IDeckLinkConfiguration_v7_6* This) { return This->lpVtbl->WriteConfigurationToPreferences(This); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_SetVideoOutputFormat(IDeckLinkConfiguration_v7_6* This,BMDVideoConnection_v7_6 videoOutputConnection) { +static inline HRESULT IDeckLinkConfiguration_v7_6_SetVideoOutputFormat(IDeckLinkConfiguration_v7_6* This,BMDVideoConnection_v7_6 videoOutputConnection) { return This->lpVtbl->SetVideoOutputFormat(This,videoOutputConnection); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_IsVideoOutputActive(IDeckLinkConfiguration_v7_6* This,BMDVideoConnection_v7_6 videoOutputConnection,BOOL *active) { +static inline HRESULT IDeckLinkConfiguration_v7_6_IsVideoOutputActive(IDeckLinkConfiguration_v7_6* This,BMDVideoConnection_v7_6 videoOutputConnection,BOOL *active) { return This->lpVtbl->IsVideoOutputActive(This,videoOutputConnection,active); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_SetAnalogVideoOutputFlags(IDeckLinkConfiguration_v7_6* This,BMDAnalogVideoFlags analogVideoFlags) { +static inline HRESULT IDeckLinkConfiguration_v7_6_SetAnalogVideoOutputFlags(IDeckLinkConfiguration_v7_6* This,BMDAnalogVideoFlags analogVideoFlags) { return This->lpVtbl->SetAnalogVideoOutputFlags(This,analogVideoFlags); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_GetAnalogVideoOutputFlags(IDeckLinkConfiguration_v7_6* This,BMDAnalogVideoFlags *analogVideoFlags) { +static inline HRESULT IDeckLinkConfiguration_v7_6_GetAnalogVideoOutputFlags(IDeckLinkConfiguration_v7_6* This,BMDAnalogVideoFlags *analogVideoFlags) { return This->lpVtbl->GetAnalogVideoOutputFlags(This,analogVideoFlags); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_EnableFieldFlickerRemovalWhenPaused(IDeckLinkConfiguration_v7_6* This,BOOL enable) { +static inline HRESULT IDeckLinkConfiguration_v7_6_EnableFieldFlickerRemovalWhenPaused(IDeckLinkConfiguration_v7_6* This,BOOL enable) { return This->lpVtbl->EnableFieldFlickerRemovalWhenPaused(This,enable); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_IsEnabledFieldFlickerRemovalWhenPaused(IDeckLinkConfiguration_v7_6* This,BOOL *enabled) { +static inline HRESULT IDeckLinkConfiguration_v7_6_IsEnabledFieldFlickerRemovalWhenPaused(IDeckLinkConfiguration_v7_6* This,BOOL *enabled) { return This->lpVtbl->IsEnabledFieldFlickerRemovalWhenPaused(This,enabled); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_Set444And3GBpsVideoOutput(IDeckLinkConfiguration_v7_6* This,BOOL enable444VideoOutput,BOOL enable3GbsOutput) { +static inline HRESULT IDeckLinkConfiguration_v7_6_Set444And3GBpsVideoOutput(IDeckLinkConfiguration_v7_6* This,BOOL enable444VideoOutput,BOOL enable3GbsOutput) { return This->lpVtbl->Set444And3GBpsVideoOutput(This,enable444VideoOutput,enable3GbsOutput); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_Get444And3GBpsVideoOutput(IDeckLinkConfiguration_v7_6* This,BOOL *is444VideoOutputEnabled,BOOL *threeGbsOutputEnabled) { +static inline HRESULT IDeckLinkConfiguration_v7_6_Get444And3GBpsVideoOutput(IDeckLinkConfiguration_v7_6* This,BOOL *is444VideoOutputEnabled,BOOL *threeGbsOutputEnabled) { return This->lpVtbl->Get444And3GBpsVideoOutput(This,is444VideoOutputEnabled,threeGbsOutputEnabled); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_SetVideoOutputConversionMode(IDeckLinkConfiguration_v7_6* This,BMDVideoOutputConversionMode conversionMode) { +static inline HRESULT IDeckLinkConfiguration_v7_6_SetVideoOutputConversionMode(IDeckLinkConfiguration_v7_6* This,BMDVideoOutputConversionMode conversionMode) { return This->lpVtbl->SetVideoOutputConversionMode(This,conversionMode); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_GetVideoOutputConversionMode(IDeckLinkConfiguration_v7_6* This,BMDVideoOutputConversionMode *conversionMode) { +static inline HRESULT IDeckLinkConfiguration_v7_6_GetVideoOutputConversionMode(IDeckLinkConfiguration_v7_6* This,BMDVideoOutputConversionMode *conversionMode) { return This->lpVtbl->GetVideoOutputConversionMode(This,conversionMode); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_Set_HD1080p24_to_HD1080i5994_Conversion(IDeckLinkConfiguration_v7_6* This,BOOL enable) { +static inline HRESULT IDeckLinkConfiguration_v7_6_Set_HD1080p24_to_HD1080i5994_Conversion(IDeckLinkConfiguration_v7_6* This,BOOL enable) { return This->lpVtbl->Set_HD1080p24_to_HD1080i5994_Conversion(This,enable); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_Get_HD1080p24_to_HD1080i5994_Conversion(IDeckLinkConfiguration_v7_6* This,BOOL *enabled) { +static inline HRESULT IDeckLinkConfiguration_v7_6_Get_HD1080p24_to_HD1080i5994_Conversion(IDeckLinkConfiguration_v7_6* This,BOOL *enabled) { return This->lpVtbl->Get_HD1080p24_to_HD1080i5994_Conversion(This,enabled); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_SetVideoInputFormat(IDeckLinkConfiguration_v7_6* This,BMDVideoConnection_v7_6 videoInputFormat) { +static inline HRESULT IDeckLinkConfiguration_v7_6_SetVideoInputFormat(IDeckLinkConfiguration_v7_6* This,BMDVideoConnection_v7_6 videoInputFormat) { return This->lpVtbl->SetVideoInputFormat(This,videoInputFormat); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_GetVideoInputFormat(IDeckLinkConfiguration_v7_6* This,BMDVideoConnection_v7_6 *videoInputFormat) { +static inline HRESULT IDeckLinkConfiguration_v7_6_GetVideoInputFormat(IDeckLinkConfiguration_v7_6* This,BMDVideoConnection_v7_6 *videoInputFormat) { return This->lpVtbl->GetVideoInputFormat(This,videoInputFormat); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_SetAnalogVideoInputFlags(IDeckLinkConfiguration_v7_6* This,BMDAnalogVideoFlags analogVideoFlags) { +static inline HRESULT IDeckLinkConfiguration_v7_6_SetAnalogVideoInputFlags(IDeckLinkConfiguration_v7_6* This,BMDAnalogVideoFlags analogVideoFlags) { return This->lpVtbl->SetAnalogVideoInputFlags(This,analogVideoFlags); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_GetAnalogVideoInputFlags(IDeckLinkConfiguration_v7_6* This,BMDAnalogVideoFlags *analogVideoFlags) { +static inline HRESULT IDeckLinkConfiguration_v7_6_GetAnalogVideoInputFlags(IDeckLinkConfiguration_v7_6* This,BMDAnalogVideoFlags *analogVideoFlags) { return This->lpVtbl->GetAnalogVideoInputFlags(This,analogVideoFlags); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_SetVideoInputConversionMode(IDeckLinkConfiguration_v7_6* This,BMDVideoInputConversionMode conversionMode) { +static inline HRESULT IDeckLinkConfiguration_v7_6_SetVideoInputConversionMode(IDeckLinkConfiguration_v7_6* This,BMDVideoInputConversionMode conversionMode) { return This->lpVtbl->SetVideoInputConversionMode(This,conversionMode); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_GetVideoInputConversionMode(IDeckLinkConfiguration_v7_6* This,BMDVideoInputConversionMode *conversionMode) { +static inline HRESULT IDeckLinkConfiguration_v7_6_GetVideoInputConversionMode(IDeckLinkConfiguration_v7_6* This,BMDVideoInputConversionMode *conversionMode) { return This->lpVtbl->GetVideoInputConversionMode(This,conversionMode); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_SetBlackVideoOutputDuringCapture(IDeckLinkConfiguration_v7_6* This,BOOL blackOutInCapture) { +static inline HRESULT IDeckLinkConfiguration_v7_6_SetBlackVideoOutputDuringCapture(IDeckLinkConfiguration_v7_6* This,BOOL blackOutInCapture) { return This->lpVtbl->SetBlackVideoOutputDuringCapture(This,blackOutInCapture); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_GetBlackVideoOutputDuringCapture(IDeckLinkConfiguration_v7_6* This,BOOL *blackOutInCapture) { +static inline HRESULT IDeckLinkConfiguration_v7_6_GetBlackVideoOutputDuringCapture(IDeckLinkConfiguration_v7_6* This,BOOL *blackOutInCapture) { return This->lpVtbl->GetBlackVideoOutputDuringCapture(This,blackOutInCapture); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_Set32PulldownSequenceInitialTimecodeFrame(IDeckLinkConfiguration_v7_6* This,unsigned int aFrameTimecode) { +static inline HRESULT IDeckLinkConfiguration_v7_6_Set32PulldownSequenceInitialTimecodeFrame(IDeckLinkConfiguration_v7_6* This,unsigned int aFrameTimecode) { return This->lpVtbl->Set32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_Get32PulldownSequenceInitialTimecodeFrame(IDeckLinkConfiguration_v7_6* This,unsigned int *aFrameTimecode) { +static inline HRESULT IDeckLinkConfiguration_v7_6_Get32PulldownSequenceInitialTimecodeFrame(IDeckLinkConfiguration_v7_6* This,unsigned int *aFrameTimecode) { return This->lpVtbl->Get32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_SetVancSourceLineMapping(IDeckLinkConfiguration_v7_6* This,unsigned int activeLine1VANCsource,unsigned int activeLine2VANCsource,unsigned int activeLine3VANCsource) { +static inline HRESULT IDeckLinkConfiguration_v7_6_SetVancSourceLineMapping(IDeckLinkConfiguration_v7_6* This,unsigned int activeLine1VANCsource,unsigned int activeLine2VANCsource,unsigned int activeLine3VANCsource) { return This->lpVtbl->SetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_GetVancSourceLineMapping(IDeckLinkConfiguration_v7_6* This,unsigned int *activeLine1VANCsource,unsigned int *activeLine2VANCsource,unsigned int *activeLine3VANCsource) { +static inline HRESULT IDeckLinkConfiguration_v7_6_GetVancSourceLineMapping(IDeckLinkConfiguration_v7_6* This,unsigned int *activeLine1VANCsource,unsigned int *activeLine2VANCsource,unsigned int *activeLine3VANCsource) { return This->lpVtbl->GetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_SetAudioInputFormat(IDeckLinkConfiguration_v7_6* This,BMDAudioConnection_v10_2 audioInputFormat) { +static inline HRESULT IDeckLinkConfiguration_v7_6_SetAudioInputFormat(IDeckLinkConfiguration_v7_6* This,BMDAudioConnection_v10_2 audioInputFormat) { return This->lpVtbl->SetAudioInputFormat(This,audioInputFormat); } -static FORCEINLINE HRESULT IDeckLinkConfiguration_v7_6_GetAudioInputFormat(IDeckLinkConfiguration_v7_6* This,BMDAudioConnection_v10_2 *audioInputFormat) { +static inline HRESULT IDeckLinkConfiguration_v7_6_GetAudioInputFormat(IDeckLinkConfiguration_v7_6* This,BMDAudioConnection_v10_2 *audioInputFormat) { return This->lpVtbl->GetAudioInputFormat(This,audioInputFormat); } #endif @@ -18196,20 +18426,20 @@ interface IDeckLinkInputCallback_v7_3 { #define IDeckLinkInputCallback_v7_3_VideoInputFrameArrived(This,videoFrame,audioPacket) (This)->lpVtbl->VideoInputFrameArrived(This,videoFrame,audioPacket) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkInputCallback_v7_3_QueryInterface(IDeckLinkInputCallback_v7_3* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkInputCallback_v7_3_QueryInterface(IDeckLinkInputCallback_v7_3* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkInputCallback_v7_3_AddRef(IDeckLinkInputCallback_v7_3* This) { +static inline ULONG IDeckLinkInputCallback_v7_3_AddRef(IDeckLinkInputCallback_v7_3* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkInputCallback_v7_3_Release(IDeckLinkInputCallback_v7_3* This) { +static inline ULONG IDeckLinkInputCallback_v7_3_Release(IDeckLinkInputCallback_v7_3* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkInputCallback_v7_3 methods ***/ -static FORCEINLINE HRESULT IDeckLinkInputCallback_v7_3_VideoInputFormatChanged(IDeckLinkInputCallback_v7_3* This,BMDVideoInputFormatChangedEvents notificationEvents,IDeckLinkDisplayMode_v7_6 *newDisplayMode,BMDDetectedVideoInputFormatFlags detectedSignalFlags) { +static inline HRESULT IDeckLinkInputCallback_v7_3_VideoInputFormatChanged(IDeckLinkInputCallback_v7_3* This,BMDVideoInputFormatChangedEvents notificationEvents,IDeckLinkDisplayMode_v7_6 *newDisplayMode,BMDDetectedVideoInputFormatFlags detectedSignalFlags) { return This->lpVtbl->VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags); } -static FORCEINLINE HRESULT IDeckLinkInputCallback_v7_3_VideoInputFrameArrived(IDeckLinkInputCallback_v7_3* This,IDeckLinkVideoInputFrame_v7_3 *videoFrame,IDeckLinkAudioInputPacket *audioPacket) { +static inline HRESULT IDeckLinkInputCallback_v7_3_VideoInputFrameArrived(IDeckLinkInputCallback_v7_3* This,IDeckLinkVideoInputFrame_v7_3 *videoFrame,IDeckLinkAudioInputPacket *audioPacket) { return This->lpVtbl->VideoInputFrameArrived(This,videoFrame,audioPacket); } #endif @@ -18515,89 +18745,89 @@ interface IDeckLinkOutput_v7_3 { #define IDeckLinkOutput_v7_3_GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) (This)->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_QueryInterface(IDeckLinkOutput_v7_3* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkOutput_v7_3_QueryInterface(IDeckLinkOutput_v7_3* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkOutput_v7_3_AddRef(IDeckLinkOutput_v7_3* This) { +static inline ULONG IDeckLinkOutput_v7_3_AddRef(IDeckLinkOutput_v7_3* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkOutput_v7_3_Release(IDeckLinkOutput_v7_3* This) { +static inline ULONG IDeckLinkOutput_v7_3_Release(IDeckLinkOutput_v7_3* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkOutput_v7_3 methods ***/ -static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_DoesSupportVideoMode(IDeckLinkOutput_v7_3* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDDisplayModeSupport_v10_11 *result) { +static inline HRESULT IDeckLinkOutput_v7_3_DoesSupportVideoMode(IDeckLinkOutput_v7_3* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDDisplayModeSupport_v10_11 *result) { return This->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,result); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_GetDisplayModeIterator(IDeckLinkOutput_v7_3* This,IDeckLinkDisplayModeIterator_v7_6 **iterator) { +static inline HRESULT IDeckLinkOutput_v7_3_GetDisplayModeIterator(IDeckLinkOutput_v7_3* This,IDeckLinkDisplayModeIterator_v7_6 **iterator) { return This->lpVtbl->GetDisplayModeIterator(This,iterator); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_SetScreenPreviewCallback(IDeckLinkOutput_v7_3* This,IDeckLinkScreenPreviewCallback *previewCallback) { +static inline HRESULT IDeckLinkOutput_v7_3_SetScreenPreviewCallback(IDeckLinkOutput_v7_3* This,IDeckLinkScreenPreviewCallback *previewCallback) { return This->lpVtbl->SetScreenPreviewCallback(This,previewCallback); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_EnableVideoOutput(IDeckLinkOutput_v7_3* This,BMDDisplayMode displayMode,BMDVideoOutputFlags flags) { +static inline HRESULT IDeckLinkOutput_v7_3_EnableVideoOutput(IDeckLinkOutput_v7_3* This,BMDDisplayMode displayMode,BMDVideoOutputFlags flags) { return This->lpVtbl->EnableVideoOutput(This,displayMode,flags); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_DisableVideoOutput(IDeckLinkOutput_v7_3* This) { +static inline HRESULT IDeckLinkOutput_v7_3_DisableVideoOutput(IDeckLinkOutput_v7_3* This) { return This->lpVtbl->DisableVideoOutput(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_SetVideoOutputFrameMemoryAllocator(IDeckLinkOutput_v7_3* This,IDeckLinkMemoryAllocator *theAllocator) { +static inline HRESULT IDeckLinkOutput_v7_3_SetVideoOutputFrameMemoryAllocator(IDeckLinkOutput_v7_3* This,IDeckLinkMemoryAllocator *theAllocator) { return This->lpVtbl->SetVideoOutputFrameMemoryAllocator(This,theAllocator); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_CreateVideoFrame(IDeckLinkOutput_v7_3* This,int width,int height,int rowBytes,BMDPixelFormat pixelFormat,BMDFrameFlags flags,IDeckLinkMutableVideoFrame_v7_6 **outFrame) { +static inline HRESULT IDeckLinkOutput_v7_3_CreateVideoFrame(IDeckLinkOutput_v7_3* This,int width,int height,int rowBytes,BMDPixelFormat pixelFormat,BMDFrameFlags flags,IDeckLinkMutableVideoFrame_v7_6 **outFrame) { return This->lpVtbl->CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_CreateAncillaryData(IDeckLinkOutput_v7_3* This,BMDPixelFormat pixelFormat,IDeckLinkVideoFrameAncillary **outBuffer) { +static inline HRESULT IDeckLinkOutput_v7_3_CreateAncillaryData(IDeckLinkOutput_v7_3* This,BMDPixelFormat pixelFormat,IDeckLinkVideoFrameAncillary **outBuffer) { return This->lpVtbl->CreateAncillaryData(This,pixelFormat,outBuffer); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_DisplayVideoFrameSync(IDeckLinkOutput_v7_3* This,IDeckLinkVideoFrame_v7_6 *theFrame) { +static inline HRESULT IDeckLinkOutput_v7_3_DisplayVideoFrameSync(IDeckLinkOutput_v7_3* This,IDeckLinkVideoFrame_v7_6 *theFrame) { return This->lpVtbl->DisplayVideoFrameSync(This,theFrame); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_ScheduleVideoFrame(IDeckLinkOutput_v7_3* This,IDeckLinkVideoFrame_v7_6 *theFrame,BMDTimeValue displayTime,BMDTimeValue displayDuration,BMDTimeScale timeScale) { +static inline HRESULT IDeckLinkOutput_v7_3_ScheduleVideoFrame(IDeckLinkOutput_v7_3* This,IDeckLinkVideoFrame_v7_6 *theFrame,BMDTimeValue displayTime,BMDTimeValue displayDuration,BMDTimeScale timeScale) { return This->lpVtbl->ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_SetScheduledFrameCompletionCallback(IDeckLinkOutput_v7_3* This,IDeckLinkVideoOutputCallback *theCallback) { +static inline HRESULT IDeckLinkOutput_v7_3_SetScheduledFrameCompletionCallback(IDeckLinkOutput_v7_3* This,IDeckLinkVideoOutputCallback *theCallback) { return This->lpVtbl->SetScheduledFrameCompletionCallback(This,theCallback); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_GetBufferedVideoFrameCount(IDeckLinkOutput_v7_3* This,unsigned int *bufferedFrameCount) { +static inline HRESULT IDeckLinkOutput_v7_3_GetBufferedVideoFrameCount(IDeckLinkOutput_v7_3* This,unsigned int *bufferedFrameCount) { return This->lpVtbl->GetBufferedVideoFrameCount(This,bufferedFrameCount); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_EnableAudioOutput(IDeckLinkOutput_v7_3* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount,BMDAudioOutputStreamType streamType) { +static inline HRESULT IDeckLinkOutput_v7_3_EnableAudioOutput(IDeckLinkOutput_v7_3* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount,BMDAudioOutputStreamType streamType) { return This->lpVtbl->EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_DisableAudioOutput(IDeckLinkOutput_v7_3* This) { +static inline HRESULT IDeckLinkOutput_v7_3_DisableAudioOutput(IDeckLinkOutput_v7_3* This) { return This->lpVtbl->DisableAudioOutput(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_WriteAudioSamplesSync(IDeckLinkOutput_v7_3* This,void *buffer,unsigned int sampleFrameCount,unsigned int *sampleFramesWritten) { +static inline HRESULT IDeckLinkOutput_v7_3_WriteAudioSamplesSync(IDeckLinkOutput_v7_3* This,void *buffer,unsigned int sampleFrameCount,unsigned int *sampleFramesWritten) { return This->lpVtbl->WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_BeginAudioPreroll(IDeckLinkOutput_v7_3* This) { +static inline HRESULT IDeckLinkOutput_v7_3_BeginAudioPreroll(IDeckLinkOutput_v7_3* This) { return This->lpVtbl->BeginAudioPreroll(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_EndAudioPreroll(IDeckLinkOutput_v7_3* This) { +static inline HRESULT IDeckLinkOutput_v7_3_EndAudioPreroll(IDeckLinkOutput_v7_3* This) { return This->lpVtbl->EndAudioPreroll(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_ScheduleAudioSamples(IDeckLinkOutput_v7_3* This,void *buffer,unsigned int sampleFrameCount,BMDTimeValue streamTime,BMDTimeScale timeScale,unsigned int *sampleFramesWritten) { +static inline HRESULT IDeckLinkOutput_v7_3_ScheduleAudioSamples(IDeckLinkOutput_v7_3* This,void *buffer,unsigned int sampleFrameCount,BMDTimeValue streamTime,BMDTimeScale timeScale,unsigned int *sampleFramesWritten) { return This->lpVtbl->ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_GetBufferedAudioSampleFrameCount(IDeckLinkOutput_v7_3* This,unsigned int *bufferedSampleFrameCount) { +static inline HRESULT IDeckLinkOutput_v7_3_GetBufferedAudioSampleFrameCount(IDeckLinkOutput_v7_3* This,unsigned int *bufferedSampleFrameCount) { return This->lpVtbl->GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_FlushBufferedAudioSamples(IDeckLinkOutput_v7_3* This) { +static inline HRESULT IDeckLinkOutput_v7_3_FlushBufferedAudioSamples(IDeckLinkOutput_v7_3* This) { return This->lpVtbl->FlushBufferedAudioSamples(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_SetAudioCallback(IDeckLinkOutput_v7_3* This,IDeckLinkAudioOutputCallback *theCallback) { +static inline HRESULT IDeckLinkOutput_v7_3_SetAudioCallback(IDeckLinkOutput_v7_3* This,IDeckLinkAudioOutputCallback *theCallback) { return This->lpVtbl->SetAudioCallback(This,theCallback); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_StartScheduledPlayback(IDeckLinkOutput_v7_3* This,BMDTimeValue playbackStartTime,BMDTimeScale timeScale,double playbackSpeed) { +static inline HRESULT IDeckLinkOutput_v7_3_StartScheduledPlayback(IDeckLinkOutput_v7_3* This,BMDTimeValue playbackStartTime,BMDTimeScale timeScale,double playbackSpeed) { return This->lpVtbl->StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_StopScheduledPlayback(IDeckLinkOutput_v7_3* This,BMDTimeValue stopPlaybackAtTime,BMDTimeValue *actualStopTime,BMDTimeScale timeScale) { +static inline HRESULT IDeckLinkOutput_v7_3_StopScheduledPlayback(IDeckLinkOutput_v7_3* This,BMDTimeValue stopPlaybackAtTime,BMDTimeValue *actualStopTime,BMDTimeScale timeScale) { return This->lpVtbl->StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_IsScheduledPlaybackRunning(IDeckLinkOutput_v7_3* This,BOOL *active) { +static inline HRESULT IDeckLinkOutput_v7_3_IsScheduledPlaybackRunning(IDeckLinkOutput_v7_3* This,BOOL *active) { return This->lpVtbl->IsScheduledPlaybackRunning(This,active); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_3_GetHardwareReferenceClock(IDeckLinkOutput_v7_3* This,BMDTimeScale desiredTimeScale,BMDTimeValue *elapsedTimeSinceSchedulerBegan) { +static inline HRESULT IDeckLinkOutput_v7_3_GetHardwareReferenceClock(IDeckLinkOutput_v7_3* This,BMDTimeScale desiredTimeScale,BMDTimeValue *elapsedTimeSinceSchedulerBegan) { return This->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan); } #endif @@ -18774,56 +19004,56 @@ interface IDeckLinkInput_v7_3 { #define IDeckLinkInput_v7_3_SetCallback(This,theCallback) (This)->lpVtbl->SetCallback(This,theCallback) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkInput_v7_3_QueryInterface(IDeckLinkInput_v7_3* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkInput_v7_3_QueryInterface(IDeckLinkInput_v7_3* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkInput_v7_3_AddRef(IDeckLinkInput_v7_3* This) { +static inline ULONG IDeckLinkInput_v7_3_AddRef(IDeckLinkInput_v7_3* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkInput_v7_3_Release(IDeckLinkInput_v7_3* This) { +static inline ULONG IDeckLinkInput_v7_3_Release(IDeckLinkInput_v7_3* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkInput_v7_3 methods ***/ -static FORCEINLINE HRESULT IDeckLinkInput_v7_3_DoesSupportVideoMode(IDeckLinkInput_v7_3* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDDisplayModeSupport_v10_11 *result) { +static inline HRESULT IDeckLinkInput_v7_3_DoesSupportVideoMode(IDeckLinkInput_v7_3* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDDisplayModeSupport_v10_11 *result) { return This->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,result); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_3_GetDisplayModeIterator(IDeckLinkInput_v7_3* This,IDeckLinkDisplayModeIterator_v7_6 **iterator) { +static inline HRESULT IDeckLinkInput_v7_3_GetDisplayModeIterator(IDeckLinkInput_v7_3* This,IDeckLinkDisplayModeIterator_v7_6 **iterator) { return This->lpVtbl->GetDisplayModeIterator(This,iterator); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_3_SetScreenPreviewCallback(IDeckLinkInput_v7_3* This,IDeckLinkScreenPreviewCallback *previewCallback) { +static inline HRESULT IDeckLinkInput_v7_3_SetScreenPreviewCallback(IDeckLinkInput_v7_3* This,IDeckLinkScreenPreviewCallback *previewCallback) { return This->lpVtbl->SetScreenPreviewCallback(This,previewCallback); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_3_EnableVideoInput(IDeckLinkInput_v7_3* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags) { +static inline HRESULT IDeckLinkInput_v7_3_EnableVideoInput(IDeckLinkInput_v7_3* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags) { return This->lpVtbl->EnableVideoInput(This,displayMode,pixelFormat,flags); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_3_DisableVideoInput(IDeckLinkInput_v7_3* This) { +static inline HRESULT IDeckLinkInput_v7_3_DisableVideoInput(IDeckLinkInput_v7_3* This) { return This->lpVtbl->DisableVideoInput(This); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_3_GetAvailableVideoFrameCount(IDeckLinkInput_v7_3* This,unsigned int *availableFrameCount) { +static inline HRESULT IDeckLinkInput_v7_3_GetAvailableVideoFrameCount(IDeckLinkInput_v7_3* This,unsigned int *availableFrameCount) { return This->lpVtbl->GetAvailableVideoFrameCount(This,availableFrameCount); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_3_EnableAudioInput(IDeckLinkInput_v7_3* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount) { +static inline HRESULT IDeckLinkInput_v7_3_EnableAudioInput(IDeckLinkInput_v7_3* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount) { return This->lpVtbl->EnableAudioInput(This,sampleRate,sampleType,channelCount); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_3_DisableAudioInput(IDeckLinkInput_v7_3* This) { +static inline HRESULT IDeckLinkInput_v7_3_DisableAudioInput(IDeckLinkInput_v7_3* This) { return This->lpVtbl->DisableAudioInput(This); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_3_GetAvailableAudioSampleFrameCount(IDeckLinkInput_v7_3* This,unsigned int *availableSampleFrameCount) { +static inline HRESULT IDeckLinkInput_v7_3_GetAvailableAudioSampleFrameCount(IDeckLinkInput_v7_3* This,unsigned int *availableSampleFrameCount) { return This->lpVtbl->GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_3_StartStreams(IDeckLinkInput_v7_3* This) { +static inline HRESULT IDeckLinkInput_v7_3_StartStreams(IDeckLinkInput_v7_3* This) { return This->lpVtbl->StartStreams(This); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_3_StopStreams(IDeckLinkInput_v7_3* This) { +static inline HRESULT IDeckLinkInput_v7_3_StopStreams(IDeckLinkInput_v7_3* This) { return This->lpVtbl->StopStreams(This); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_3_PauseStreams(IDeckLinkInput_v7_3* This) { +static inline HRESULT IDeckLinkInput_v7_3_PauseStreams(IDeckLinkInput_v7_3* This) { return This->lpVtbl->PauseStreams(This); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_3_FlushStreams(IDeckLinkInput_v7_3* This) { +static inline HRESULT IDeckLinkInput_v7_3_FlushStreams(IDeckLinkInput_v7_3* This) { return This->lpVtbl->FlushStreams(This); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_3_SetCallback(IDeckLinkInput_v7_3* This,IDeckLinkInputCallback_v7_3 *theCallback) { +static inline HRESULT IDeckLinkInput_v7_3_SetCallback(IDeckLinkInput_v7_3* This,IDeckLinkInputCallback_v7_3 *theCallback) { return This->lpVtbl->SetCallback(This,theCallback); } #endif @@ -18932,42 +19162,42 @@ interface IDeckLinkVideoInputFrame_v7_3 { #define IDeckLinkVideoInputFrame_v7_3_GetStreamTime(This,frameTime,frameDuration,timeScale) (This)->lpVtbl->GetStreamTime(This,frameTime,frameDuration,timeScale) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_v7_3_QueryInterface(IDeckLinkVideoInputFrame_v7_3* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkVideoInputFrame_v7_3_QueryInterface(IDeckLinkVideoInputFrame_v7_3* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkVideoInputFrame_v7_3_AddRef(IDeckLinkVideoInputFrame_v7_3* This) { +static inline ULONG IDeckLinkVideoInputFrame_v7_3_AddRef(IDeckLinkVideoInputFrame_v7_3* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkVideoInputFrame_v7_3_Release(IDeckLinkVideoInputFrame_v7_3* This) { +static inline ULONG IDeckLinkVideoInputFrame_v7_3_Release(IDeckLinkVideoInputFrame_v7_3* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkVideoFrame_v7_6 methods ***/ -static FORCEINLINE LONG IDeckLinkVideoInputFrame_v7_3_GetWidth(IDeckLinkVideoInputFrame_v7_3* This) { +static inline LONG IDeckLinkVideoInputFrame_v7_3_GetWidth(IDeckLinkVideoInputFrame_v7_3* This) { return This->lpVtbl->GetWidth(This); } -static FORCEINLINE LONG IDeckLinkVideoInputFrame_v7_3_GetHeight(IDeckLinkVideoInputFrame_v7_3* This) { +static inline LONG IDeckLinkVideoInputFrame_v7_3_GetHeight(IDeckLinkVideoInputFrame_v7_3* This) { return This->lpVtbl->GetHeight(This); } -static FORCEINLINE LONG IDeckLinkVideoInputFrame_v7_3_GetRowBytes(IDeckLinkVideoInputFrame_v7_3* This) { +static inline LONG IDeckLinkVideoInputFrame_v7_3_GetRowBytes(IDeckLinkVideoInputFrame_v7_3* This) { return This->lpVtbl->GetRowBytes(This); } -static FORCEINLINE BMDPixelFormat IDeckLinkVideoInputFrame_v7_3_GetPixelFormat(IDeckLinkVideoInputFrame_v7_3* This) { +static inline BMDPixelFormat IDeckLinkVideoInputFrame_v7_3_GetPixelFormat(IDeckLinkVideoInputFrame_v7_3* This) { return This->lpVtbl->GetPixelFormat(This); } -static FORCEINLINE BMDFrameFlags IDeckLinkVideoInputFrame_v7_3_GetFlags(IDeckLinkVideoInputFrame_v7_3* This) { +static inline BMDFrameFlags IDeckLinkVideoInputFrame_v7_3_GetFlags(IDeckLinkVideoInputFrame_v7_3* This) { return This->lpVtbl->GetFlags(This); } -static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_v7_3_GetBytes(IDeckLinkVideoInputFrame_v7_3* This,void **buffer) { +static inline HRESULT IDeckLinkVideoInputFrame_v7_3_GetBytes(IDeckLinkVideoInputFrame_v7_3* This,void **buffer) { return This->lpVtbl->GetBytes(This,buffer); } -static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_v7_3_GetTimecode(IDeckLinkVideoInputFrame_v7_3* This,BMDTimecodeFormat format,IDeckLinkTimecode_v7_6 **timecode) { +static inline HRESULT IDeckLinkVideoInputFrame_v7_3_GetTimecode(IDeckLinkVideoInputFrame_v7_3* This,BMDTimecodeFormat format,IDeckLinkTimecode_v7_6 **timecode) { return This->lpVtbl->GetTimecode(This,format,timecode); } -static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_v7_3_GetAncillaryData(IDeckLinkVideoInputFrame_v7_3* This,IDeckLinkVideoFrameAncillary **ancillary) { +static inline HRESULT IDeckLinkVideoInputFrame_v7_3_GetAncillaryData(IDeckLinkVideoInputFrame_v7_3* This,IDeckLinkVideoFrameAncillary **ancillary) { return This->lpVtbl->GetAncillaryData(This,ancillary); } /*** IDeckLinkVideoInputFrame_v7_3 methods ***/ -static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_v7_3_GetStreamTime(IDeckLinkVideoInputFrame_v7_3* This,BMDTimeValue *frameTime,BMDTimeValue *frameDuration,BMDTimeScale timeScale) { +static inline HRESULT IDeckLinkVideoInputFrame_v7_3_GetStreamTime(IDeckLinkVideoInputFrame_v7_3* This,BMDTimeValue *frameTime,BMDTimeValue *frameDuration,BMDTimeScale timeScale) { return This->lpVtbl->GetStreamTime(This,frameTime,frameDuration,timeScale); } #endif @@ -19074,17 +19304,17 @@ interface IDeckLinkDisplayModeIterator_v7_1 { #define IDeckLinkDisplayModeIterator_v7_1_Next(This,deckLinkDisplayMode) (This)->lpVtbl->Next(This,deckLinkDisplayMode) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkDisplayModeIterator_v7_1_QueryInterface(IDeckLinkDisplayModeIterator_v7_1* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkDisplayModeIterator_v7_1_QueryInterface(IDeckLinkDisplayModeIterator_v7_1* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkDisplayModeIterator_v7_1_AddRef(IDeckLinkDisplayModeIterator_v7_1* This) { +static inline ULONG IDeckLinkDisplayModeIterator_v7_1_AddRef(IDeckLinkDisplayModeIterator_v7_1* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkDisplayModeIterator_v7_1_Release(IDeckLinkDisplayModeIterator_v7_1* This) { +static inline ULONG IDeckLinkDisplayModeIterator_v7_1_Release(IDeckLinkDisplayModeIterator_v7_1* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkDisplayModeIterator_v7_1 methods ***/ -static FORCEINLINE HRESULT IDeckLinkDisplayModeIterator_v7_1_Next(IDeckLinkDisplayModeIterator_v7_1* This,IDeckLinkDisplayMode_v7_1 **deckLinkDisplayMode) { +static inline HRESULT IDeckLinkDisplayModeIterator_v7_1_Next(IDeckLinkDisplayModeIterator_v7_1* This,IDeckLinkDisplayMode_v7_1 **deckLinkDisplayMode) { return This->lpVtbl->Next(This,deckLinkDisplayMode); } #endif @@ -19182,29 +19412,29 @@ interface IDeckLinkDisplayMode_v7_1 { #define IDeckLinkDisplayMode_v7_1_GetFrameRate(This,frameDuration,timeScale) (This)->lpVtbl->GetFrameRate(This,frameDuration,timeScale) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkDisplayMode_v7_1_QueryInterface(IDeckLinkDisplayMode_v7_1* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkDisplayMode_v7_1_QueryInterface(IDeckLinkDisplayMode_v7_1* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkDisplayMode_v7_1_AddRef(IDeckLinkDisplayMode_v7_1* This) { +static inline ULONG IDeckLinkDisplayMode_v7_1_AddRef(IDeckLinkDisplayMode_v7_1* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkDisplayMode_v7_1_Release(IDeckLinkDisplayMode_v7_1* This) { +static inline ULONG IDeckLinkDisplayMode_v7_1_Release(IDeckLinkDisplayMode_v7_1* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkDisplayMode_v7_1 methods ***/ -static FORCEINLINE HRESULT IDeckLinkDisplayMode_v7_1_GetName(IDeckLinkDisplayMode_v7_1* This,BSTR *name) { +static inline HRESULT IDeckLinkDisplayMode_v7_1_GetName(IDeckLinkDisplayMode_v7_1* This,BSTR *name) { return This->lpVtbl->GetName(This,name); } -static FORCEINLINE BMDDisplayMode IDeckLinkDisplayMode_v7_1_GetDisplayMode(IDeckLinkDisplayMode_v7_1* This) { +static inline BMDDisplayMode IDeckLinkDisplayMode_v7_1_GetDisplayMode(IDeckLinkDisplayMode_v7_1* This) { return This->lpVtbl->GetDisplayMode(This); } -static FORCEINLINE LONG IDeckLinkDisplayMode_v7_1_GetWidth(IDeckLinkDisplayMode_v7_1* This) { +static inline LONG IDeckLinkDisplayMode_v7_1_GetWidth(IDeckLinkDisplayMode_v7_1* This) { return This->lpVtbl->GetWidth(This); } -static FORCEINLINE LONG IDeckLinkDisplayMode_v7_1_GetHeight(IDeckLinkDisplayMode_v7_1* This) { +static inline LONG IDeckLinkDisplayMode_v7_1_GetHeight(IDeckLinkDisplayMode_v7_1* This) { return This->lpVtbl->GetHeight(This); } -static FORCEINLINE HRESULT IDeckLinkDisplayMode_v7_1_GetFrameRate(IDeckLinkDisplayMode_v7_1* This,BMDTimeValue *frameDuration,BMDTimeScale *timeScale) { +static inline HRESULT IDeckLinkDisplayMode_v7_1_GetFrameRate(IDeckLinkDisplayMode_v7_1* This,BMDTimeValue *frameDuration,BMDTimeScale *timeScale) { return This->lpVtbl->GetFrameRate(This,frameDuration,timeScale); } #endif @@ -19273,17 +19503,17 @@ interface IDeckLinkVideoOutputCallback_v7_1 { #define IDeckLinkVideoOutputCallback_v7_1_ScheduledFrameCompleted(This,completedFrame,result) (This)->lpVtbl->ScheduledFrameCompleted(This,completedFrame,result) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkVideoOutputCallback_v7_1_QueryInterface(IDeckLinkVideoOutputCallback_v7_1* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkVideoOutputCallback_v7_1_QueryInterface(IDeckLinkVideoOutputCallback_v7_1* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkVideoOutputCallback_v7_1_AddRef(IDeckLinkVideoOutputCallback_v7_1* This) { +static inline ULONG IDeckLinkVideoOutputCallback_v7_1_AddRef(IDeckLinkVideoOutputCallback_v7_1* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkVideoOutputCallback_v7_1_Release(IDeckLinkVideoOutputCallback_v7_1* This) { +static inline ULONG IDeckLinkVideoOutputCallback_v7_1_Release(IDeckLinkVideoOutputCallback_v7_1* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkVideoOutputCallback_v7_1 methods ***/ -static FORCEINLINE HRESULT IDeckLinkVideoOutputCallback_v7_1_ScheduledFrameCompleted(IDeckLinkVideoOutputCallback_v7_1* This,IDeckLinkVideoFrame_v7_1 *completedFrame,BMDOutputFrameCompletionResult result) { +static inline HRESULT IDeckLinkVideoOutputCallback_v7_1_ScheduledFrameCompleted(IDeckLinkVideoOutputCallback_v7_1* This,IDeckLinkVideoFrame_v7_1 *completedFrame,BMDOutputFrameCompletionResult result) { return This->lpVtbl->ScheduledFrameCompleted(This,completedFrame,result); } #endif @@ -19352,17 +19582,17 @@ interface IDeckLinkInputCallback_v7_1 { #define IDeckLinkInputCallback_v7_1_VideoInputFrameArrived(This,videoFrame,audioPacket) (This)->lpVtbl->VideoInputFrameArrived(This,videoFrame,audioPacket) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkInputCallback_v7_1_QueryInterface(IDeckLinkInputCallback_v7_1* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkInputCallback_v7_1_QueryInterface(IDeckLinkInputCallback_v7_1* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkInputCallback_v7_1_AddRef(IDeckLinkInputCallback_v7_1* This) { +static inline ULONG IDeckLinkInputCallback_v7_1_AddRef(IDeckLinkInputCallback_v7_1* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkInputCallback_v7_1_Release(IDeckLinkInputCallback_v7_1* This) { +static inline ULONG IDeckLinkInputCallback_v7_1_Release(IDeckLinkInputCallback_v7_1* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkInputCallback_v7_1 methods ***/ -static FORCEINLINE HRESULT IDeckLinkInputCallback_v7_1_VideoInputFrameArrived(IDeckLinkInputCallback_v7_1* This,IDeckLinkVideoInputFrame_v7_1 *videoFrame,IDeckLinkAudioInputPacket_v7_1 *audioPacket) { +static inline HRESULT IDeckLinkInputCallback_v7_1_VideoInputFrameArrived(IDeckLinkInputCallback_v7_1* This,IDeckLinkVideoInputFrame_v7_1 *videoFrame,IDeckLinkAudioInputPacket_v7_1 *audioPacket) { return This->lpVtbl->VideoInputFrameArrived(This,videoFrame,audioPacket); } #endif @@ -19650,80 +19880,80 @@ interface IDeckLinkOutput_v7_1 { #define IDeckLinkOutput_v7_1_GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) (This)->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_QueryInterface(IDeckLinkOutput_v7_1* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkOutput_v7_1_QueryInterface(IDeckLinkOutput_v7_1* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkOutput_v7_1_AddRef(IDeckLinkOutput_v7_1* This) { +static inline ULONG IDeckLinkOutput_v7_1_AddRef(IDeckLinkOutput_v7_1* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkOutput_v7_1_Release(IDeckLinkOutput_v7_1* This) { +static inline ULONG IDeckLinkOutput_v7_1_Release(IDeckLinkOutput_v7_1* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkOutput_v7_1 methods ***/ -static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_DoesSupportVideoMode(IDeckLinkOutput_v7_1* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDDisplayModeSupport_v10_11 *result) { +static inline HRESULT IDeckLinkOutput_v7_1_DoesSupportVideoMode(IDeckLinkOutput_v7_1* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDDisplayModeSupport_v10_11 *result) { return This->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,result); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_GetDisplayModeIterator(IDeckLinkOutput_v7_1* This,IDeckLinkDisplayModeIterator_v7_1 **iterator) { +static inline HRESULT IDeckLinkOutput_v7_1_GetDisplayModeIterator(IDeckLinkOutput_v7_1* This,IDeckLinkDisplayModeIterator_v7_1 **iterator) { return This->lpVtbl->GetDisplayModeIterator(This,iterator); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_EnableVideoOutput(IDeckLinkOutput_v7_1* This,BMDDisplayMode displayMode) { +static inline HRESULT IDeckLinkOutput_v7_1_EnableVideoOutput(IDeckLinkOutput_v7_1* This,BMDDisplayMode displayMode) { return This->lpVtbl->EnableVideoOutput(This,displayMode); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_DisableVideoOutput(IDeckLinkOutput_v7_1* This) { +static inline HRESULT IDeckLinkOutput_v7_1_DisableVideoOutput(IDeckLinkOutput_v7_1* This) { return This->lpVtbl->DisableVideoOutput(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_SetVideoOutputFrameMemoryAllocator(IDeckLinkOutput_v7_1* This,IDeckLinkMemoryAllocator *theAllocator) { +static inline HRESULT IDeckLinkOutput_v7_1_SetVideoOutputFrameMemoryAllocator(IDeckLinkOutput_v7_1* This,IDeckLinkMemoryAllocator *theAllocator) { return This->lpVtbl->SetVideoOutputFrameMemoryAllocator(This,theAllocator); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_CreateVideoFrame(IDeckLinkOutput_v7_1* This,int width,int height,int rowBytes,BMDPixelFormat pixelFormat,BMDFrameFlags flags,IDeckLinkVideoFrame_v7_1 **outFrame) { +static inline HRESULT IDeckLinkOutput_v7_1_CreateVideoFrame(IDeckLinkOutput_v7_1* This,int width,int height,int rowBytes,BMDPixelFormat pixelFormat,BMDFrameFlags flags,IDeckLinkVideoFrame_v7_1 **outFrame) { return This->lpVtbl->CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_CreateVideoFrameFromBuffer(IDeckLinkOutput_v7_1* This,void *buffer,int width,int height,int rowBytes,BMDPixelFormat pixelFormat,BMDFrameFlags flags,IDeckLinkVideoFrame_v7_1 **outFrame) { +static inline HRESULT IDeckLinkOutput_v7_1_CreateVideoFrameFromBuffer(IDeckLinkOutput_v7_1* This,void *buffer,int width,int height,int rowBytes,BMDPixelFormat pixelFormat,BMDFrameFlags flags,IDeckLinkVideoFrame_v7_1 **outFrame) { return This->lpVtbl->CreateVideoFrameFromBuffer(This,buffer,width,height,rowBytes,pixelFormat,flags,outFrame); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_DisplayVideoFrameSync(IDeckLinkOutput_v7_1* This,IDeckLinkVideoFrame_v7_1 *theFrame) { +static inline HRESULT IDeckLinkOutput_v7_1_DisplayVideoFrameSync(IDeckLinkOutput_v7_1* This,IDeckLinkVideoFrame_v7_1 *theFrame) { return This->lpVtbl->DisplayVideoFrameSync(This,theFrame); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_ScheduleVideoFrame(IDeckLinkOutput_v7_1* This,IDeckLinkVideoFrame_v7_1 *theFrame,BMDTimeValue displayTime,BMDTimeValue displayDuration,BMDTimeScale timeScale) { +static inline HRESULT IDeckLinkOutput_v7_1_ScheduleVideoFrame(IDeckLinkOutput_v7_1* This,IDeckLinkVideoFrame_v7_1 *theFrame,BMDTimeValue displayTime,BMDTimeValue displayDuration,BMDTimeScale timeScale) { return This->lpVtbl->ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_SetScheduledFrameCompletionCallback(IDeckLinkOutput_v7_1* This,IDeckLinkVideoOutputCallback_v7_1 *theCallback) { +static inline HRESULT IDeckLinkOutput_v7_1_SetScheduledFrameCompletionCallback(IDeckLinkOutput_v7_1* This,IDeckLinkVideoOutputCallback_v7_1 *theCallback) { return This->lpVtbl->SetScheduledFrameCompletionCallback(This,theCallback); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_EnableAudioOutput(IDeckLinkOutput_v7_1* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount) { +static inline HRESULT IDeckLinkOutput_v7_1_EnableAudioOutput(IDeckLinkOutput_v7_1* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount) { return This->lpVtbl->EnableAudioOutput(This,sampleRate,sampleType,channelCount); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_DisableAudioOutput(IDeckLinkOutput_v7_1* This) { +static inline HRESULT IDeckLinkOutput_v7_1_DisableAudioOutput(IDeckLinkOutput_v7_1* This) { return This->lpVtbl->DisableAudioOutput(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_WriteAudioSamplesSync(IDeckLinkOutput_v7_1* This,void *buffer,unsigned int sampleFrameCount,unsigned int *sampleFramesWritten) { +static inline HRESULT IDeckLinkOutput_v7_1_WriteAudioSamplesSync(IDeckLinkOutput_v7_1* This,void *buffer,unsigned int sampleFrameCount,unsigned int *sampleFramesWritten) { return This->lpVtbl->WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_BeginAudioPreroll(IDeckLinkOutput_v7_1* This) { +static inline HRESULT IDeckLinkOutput_v7_1_BeginAudioPreroll(IDeckLinkOutput_v7_1* This) { return This->lpVtbl->BeginAudioPreroll(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_EndAudioPreroll(IDeckLinkOutput_v7_1* This) { +static inline HRESULT IDeckLinkOutput_v7_1_EndAudioPreroll(IDeckLinkOutput_v7_1* This) { return This->lpVtbl->EndAudioPreroll(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_ScheduleAudioSamples(IDeckLinkOutput_v7_1* This,void *buffer,unsigned int sampleFrameCount,BMDTimeValue streamTime,BMDTimeScale timeScale,unsigned int *sampleFramesWritten) { +static inline HRESULT IDeckLinkOutput_v7_1_ScheduleAudioSamples(IDeckLinkOutput_v7_1* This,void *buffer,unsigned int sampleFrameCount,BMDTimeValue streamTime,BMDTimeScale timeScale,unsigned int *sampleFramesWritten) { return This->lpVtbl->ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_GetBufferedAudioSampleFrameCount(IDeckLinkOutput_v7_1* This,unsigned int *bufferedSampleCount) { +static inline HRESULT IDeckLinkOutput_v7_1_GetBufferedAudioSampleFrameCount(IDeckLinkOutput_v7_1* This,unsigned int *bufferedSampleCount) { return This->lpVtbl->GetBufferedAudioSampleFrameCount(This,bufferedSampleCount); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_FlushBufferedAudioSamples(IDeckLinkOutput_v7_1* This) { +static inline HRESULT IDeckLinkOutput_v7_1_FlushBufferedAudioSamples(IDeckLinkOutput_v7_1* This) { return This->lpVtbl->FlushBufferedAudioSamples(This); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_SetAudioCallback(IDeckLinkOutput_v7_1* This,IDeckLinkAudioOutputCallback *theCallback) { +static inline HRESULT IDeckLinkOutput_v7_1_SetAudioCallback(IDeckLinkOutput_v7_1* This,IDeckLinkAudioOutputCallback *theCallback) { return This->lpVtbl->SetAudioCallback(This,theCallback); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_StartScheduledPlayback(IDeckLinkOutput_v7_1* This,BMDTimeValue playbackStartTime,BMDTimeScale timeScale,double playbackSpeed) { +static inline HRESULT IDeckLinkOutput_v7_1_StartScheduledPlayback(IDeckLinkOutput_v7_1* This,BMDTimeValue playbackStartTime,BMDTimeScale timeScale,double playbackSpeed) { return This->lpVtbl->StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_StopScheduledPlayback(IDeckLinkOutput_v7_1* This,BMDTimeValue stopPlaybackAtTime,BMDTimeValue *actualStopTime,BMDTimeScale timeScale) { +static inline HRESULT IDeckLinkOutput_v7_1_StopScheduledPlayback(IDeckLinkOutput_v7_1* This,BMDTimeValue stopPlaybackAtTime,BMDTimeValue *actualStopTime,BMDTimeScale timeScale) { return This->lpVtbl->StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale); } -static FORCEINLINE HRESULT IDeckLinkOutput_v7_1_GetHardwareReferenceClock(IDeckLinkOutput_v7_1* This,BMDTimeScale desiredTimeScale,BMDTimeValue *elapsedTimeSinceSchedulerBegan) { +static inline HRESULT IDeckLinkOutput_v7_1_GetHardwareReferenceClock(IDeckLinkOutput_v7_1* This,BMDTimeScale desiredTimeScale,BMDTimeValue *elapsedTimeSinceSchedulerBegan) { return This->lpVtbl->GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan); } #endif @@ -19893,50 +20123,50 @@ interface IDeckLinkInput_v7_1 { #define IDeckLinkInput_v7_1_SetCallback(This,theCallback) (This)->lpVtbl->SetCallback(This,theCallback) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkInput_v7_1_QueryInterface(IDeckLinkInput_v7_1* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkInput_v7_1_QueryInterface(IDeckLinkInput_v7_1* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkInput_v7_1_AddRef(IDeckLinkInput_v7_1* This) { +static inline ULONG IDeckLinkInput_v7_1_AddRef(IDeckLinkInput_v7_1* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkInput_v7_1_Release(IDeckLinkInput_v7_1* This) { +static inline ULONG IDeckLinkInput_v7_1_Release(IDeckLinkInput_v7_1* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkInput_v7_1 methods ***/ -static FORCEINLINE HRESULT IDeckLinkInput_v7_1_DoesSupportVideoMode(IDeckLinkInput_v7_1* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDDisplayModeSupport_v10_11 *result) { +static inline HRESULT IDeckLinkInput_v7_1_DoesSupportVideoMode(IDeckLinkInput_v7_1* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDDisplayModeSupport_v10_11 *result) { return This->lpVtbl->DoesSupportVideoMode(This,displayMode,pixelFormat,result); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_1_GetDisplayModeIterator(IDeckLinkInput_v7_1* This,IDeckLinkDisplayModeIterator_v7_1 **iterator) { +static inline HRESULT IDeckLinkInput_v7_1_GetDisplayModeIterator(IDeckLinkInput_v7_1* This,IDeckLinkDisplayModeIterator_v7_1 **iterator) { return This->lpVtbl->GetDisplayModeIterator(This,iterator); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_1_EnableVideoInput(IDeckLinkInput_v7_1* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags) { +static inline HRESULT IDeckLinkInput_v7_1_EnableVideoInput(IDeckLinkInput_v7_1* This,BMDDisplayMode displayMode,BMDPixelFormat pixelFormat,BMDVideoInputFlags flags) { return This->lpVtbl->EnableVideoInput(This,displayMode,pixelFormat,flags); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_1_DisableVideoInput(IDeckLinkInput_v7_1* This) { +static inline HRESULT IDeckLinkInput_v7_1_DisableVideoInput(IDeckLinkInput_v7_1* This) { return This->lpVtbl->DisableVideoInput(This); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_1_EnableAudioInput(IDeckLinkInput_v7_1* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount) { +static inline HRESULT IDeckLinkInput_v7_1_EnableAudioInput(IDeckLinkInput_v7_1* This,BMDAudioSampleRate sampleRate,BMDAudioSampleType sampleType,unsigned int channelCount) { return This->lpVtbl->EnableAudioInput(This,sampleRate,sampleType,channelCount); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_1_DisableAudioInput(IDeckLinkInput_v7_1* This) { +static inline HRESULT IDeckLinkInput_v7_1_DisableAudioInput(IDeckLinkInput_v7_1* This) { return This->lpVtbl->DisableAudioInput(This); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_1_ReadAudioSamples(IDeckLinkInput_v7_1* This,void *buffer,unsigned int sampleFrameCount,unsigned int *sampleFramesRead,BMDTimeValue *audioPacketTime,BMDTimeScale timeScale) { +static inline HRESULT IDeckLinkInput_v7_1_ReadAudioSamples(IDeckLinkInput_v7_1* This,void *buffer,unsigned int sampleFrameCount,unsigned int *sampleFramesRead,BMDTimeValue *audioPacketTime,BMDTimeScale timeScale) { return This->lpVtbl->ReadAudioSamples(This,buffer,sampleFrameCount,sampleFramesRead,audioPacketTime,timeScale); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_1_GetBufferedAudioSampleFrameCount(IDeckLinkInput_v7_1* This,unsigned int *bufferedSampleCount) { +static inline HRESULT IDeckLinkInput_v7_1_GetBufferedAudioSampleFrameCount(IDeckLinkInput_v7_1* This,unsigned int *bufferedSampleCount) { return This->lpVtbl->GetBufferedAudioSampleFrameCount(This,bufferedSampleCount); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_1_StartStreams(IDeckLinkInput_v7_1* This) { +static inline HRESULT IDeckLinkInput_v7_1_StartStreams(IDeckLinkInput_v7_1* This) { return This->lpVtbl->StartStreams(This); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_1_StopStreams(IDeckLinkInput_v7_1* This) { +static inline HRESULT IDeckLinkInput_v7_1_StopStreams(IDeckLinkInput_v7_1* This) { return This->lpVtbl->StopStreams(This); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_1_PauseStreams(IDeckLinkInput_v7_1* This) { +static inline HRESULT IDeckLinkInput_v7_1_PauseStreams(IDeckLinkInput_v7_1* This) { return This->lpVtbl->PauseStreams(This); } -static FORCEINLINE HRESULT IDeckLinkInput_v7_1_SetCallback(IDeckLinkInput_v7_1* This,IDeckLinkInputCallback_v7_1 *theCallback) { +static inline HRESULT IDeckLinkInput_v7_1_SetCallback(IDeckLinkInput_v7_1* This,IDeckLinkInputCallback_v7_1 *theCallback) { return This->lpVtbl->SetCallback(This,theCallback); } #endif @@ -20038,32 +20268,32 @@ interface IDeckLinkVideoFrame_v7_1 { #define IDeckLinkVideoFrame_v7_1_GetBytes(This,buffer) (This)->lpVtbl->GetBytes(This,buffer) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkVideoFrame_v7_1_QueryInterface(IDeckLinkVideoFrame_v7_1* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkVideoFrame_v7_1_QueryInterface(IDeckLinkVideoFrame_v7_1* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkVideoFrame_v7_1_AddRef(IDeckLinkVideoFrame_v7_1* This) { +static inline ULONG IDeckLinkVideoFrame_v7_1_AddRef(IDeckLinkVideoFrame_v7_1* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkVideoFrame_v7_1_Release(IDeckLinkVideoFrame_v7_1* This) { +static inline ULONG IDeckLinkVideoFrame_v7_1_Release(IDeckLinkVideoFrame_v7_1* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkVideoFrame_v7_1 methods ***/ -static FORCEINLINE LONG IDeckLinkVideoFrame_v7_1_GetWidth(IDeckLinkVideoFrame_v7_1* This) { +static inline LONG IDeckLinkVideoFrame_v7_1_GetWidth(IDeckLinkVideoFrame_v7_1* This) { return This->lpVtbl->GetWidth(This); } -static FORCEINLINE LONG IDeckLinkVideoFrame_v7_1_GetHeight(IDeckLinkVideoFrame_v7_1* This) { +static inline LONG IDeckLinkVideoFrame_v7_1_GetHeight(IDeckLinkVideoFrame_v7_1* This) { return This->lpVtbl->GetHeight(This); } -static FORCEINLINE LONG IDeckLinkVideoFrame_v7_1_GetRowBytes(IDeckLinkVideoFrame_v7_1* This) { +static inline LONG IDeckLinkVideoFrame_v7_1_GetRowBytes(IDeckLinkVideoFrame_v7_1* This) { return This->lpVtbl->GetRowBytes(This); } -static FORCEINLINE BMDPixelFormat IDeckLinkVideoFrame_v7_1_GetPixelFormat(IDeckLinkVideoFrame_v7_1* This) { +static inline BMDPixelFormat IDeckLinkVideoFrame_v7_1_GetPixelFormat(IDeckLinkVideoFrame_v7_1* This) { return This->lpVtbl->GetPixelFormat(This); } -static FORCEINLINE BMDFrameFlags IDeckLinkVideoFrame_v7_1_GetFlags(IDeckLinkVideoFrame_v7_1* This) { +static inline BMDFrameFlags IDeckLinkVideoFrame_v7_1_GetFlags(IDeckLinkVideoFrame_v7_1* This) { return This->lpVtbl->GetFlags(This); } -static FORCEINLINE HRESULT IDeckLinkVideoFrame_v7_1_GetBytes(IDeckLinkVideoFrame_v7_1* This,void **buffer) { +static inline HRESULT IDeckLinkVideoFrame_v7_1_GetBytes(IDeckLinkVideoFrame_v7_1* This,void **buffer) { return This->lpVtbl->GetBytes(This,buffer); } #endif @@ -20161,36 +20391,36 @@ interface IDeckLinkVideoInputFrame_v7_1 { #define IDeckLinkVideoInputFrame_v7_1_GetFrameTime(This,frameTime,frameDuration,timeScale) (This)->lpVtbl->GetFrameTime(This,frameTime,frameDuration,timeScale) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_v7_1_QueryInterface(IDeckLinkVideoInputFrame_v7_1* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkVideoInputFrame_v7_1_QueryInterface(IDeckLinkVideoInputFrame_v7_1* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkVideoInputFrame_v7_1_AddRef(IDeckLinkVideoInputFrame_v7_1* This) { +static inline ULONG IDeckLinkVideoInputFrame_v7_1_AddRef(IDeckLinkVideoInputFrame_v7_1* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkVideoInputFrame_v7_1_Release(IDeckLinkVideoInputFrame_v7_1* This) { +static inline ULONG IDeckLinkVideoInputFrame_v7_1_Release(IDeckLinkVideoInputFrame_v7_1* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkVideoFrame_v7_1 methods ***/ -static FORCEINLINE LONG IDeckLinkVideoInputFrame_v7_1_GetWidth(IDeckLinkVideoInputFrame_v7_1* This) { +static inline LONG IDeckLinkVideoInputFrame_v7_1_GetWidth(IDeckLinkVideoInputFrame_v7_1* This) { return This->lpVtbl->GetWidth(This); } -static FORCEINLINE LONG IDeckLinkVideoInputFrame_v7_1_GetHeight(IDeckLinkVideoInputFrame_v7_1* This) { +static inline LONG IDeckLinkVideoInputFrame_v7_1_GetHeight(IDeckLinkVideoInputFrame_v7_1* This) { return This->lpVtbl->GetHeight(This); } -static FORCEINLINE LONG IDeckLinkVideoInputFrame_v7_1_GetRowBytes(IDeckLinkVideoInputFrame_v7_1* This) { +static inline LONG IDeckLinkVideoInputFrame_v7_1_GetRowBytes(IDeckLinkVideoInputFrame_v7_1* This) { return This->lpVtbl->GetRowBytes(This); } -static FORCEINLINE BMDPixelFormat IDeckLinkVideoInputFrame_v7_1_GetPixelFormat(IDeckLinkVideoInputFrame_v7_1* This) { +static inline BMDPixelFormat IDeckLinkVideoInputFrame_v7_1_GetPixelFormat(IDeckLinkVideoInputFrame_v7_1* This) { return This->lpVtbl->GetPixelFormat(This); } -static FORCEINLINE BMDFrameFlags IDeckLinkVideoInputFrame_v7_1_GetFlags(IDeckLinkVideoInputFrame_v7_1* This) { +static inline BMDFrameFlags IDeckLinkVideoInputFrame_v7_1_GetFlags(IDeckLinkVideoInputFrame_v7_1* This) { return This->lpVtbl->GetFlags(This); } -static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_v7_1_GetBytes(IDeckLinkVideoInputFrame_v7_1* This,void **buffer) { +static inline HRESULT IDeckLinkVideoInputFrame_v7_1_GetBytes(IDeckLinkVideoInputFrame_v7_1* This,void **buffer) { return This->lpVtbl->GetBytes(This,buffer); } /*** IDeckLinkVideoInputFrame_v7_1 methods ***/ -static FORCEINLINE HRESULT IDeckLinkVideoInputFrame_v7_1_GetFrameTime(IDeckLinkVideoInputFrame_v7_1* This,BMDTimeValue *frameTime,BMDTimeValue *frameDuration,BMDTimeScale timeScale) { +static inline HRESULT IDeckLinkVideoInputFrame_v7_1_GetFrameTime(IDeckLinkVideoInputFrame_v7_1* This,BMDTimeValue *frameTime,BMDTimeValue *frameDuration,BMDTimeScale timeScale) { return This->lpVtbl->GetFrameTime(This,frameTime,frameDuration,timeScale); } #endif @@ -20274,23 +20504,23 @@ interface IDeckLinkAudioInputPacket_v7_1 { #define IDeckLinkAudioInputPacket_v7_1_GetAudioPacketTime(This,packetTime,timeScale) (This)->lpVtbl->GetAudioPacketTime(This,packetTime,timeScale) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT IDeckLinkAudioInputPacket_v7_1_QueryInterface(IDeckLinkAudioInputPacket_v7_1* This,REFIID riid,void **ppvObject) { +static inline HRESULT IDeckLinkAudioInputPacket_v7_1_QueryInterface(IDeckLinkAudioInputPacket_v7_1* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG IDeckLinkAudioInputPacket_v7_1_AddRef(IDeckLinkAudioInputPacket_v7_1* This) { +static inline ULONG IDeckLinkAudioInputPacket_v7_1_AddRef(IDeckLinkAudioInputPacket_v7_1* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG IDeckLinkAudioInputPacket_v7_1_Release(IDeckLinkAudioInputPacket_v7_1* This) { +static inline ULONG IDeckLinkAudioInputPacket_v7_1_Release(IDeckLinkAudioInputPacket_v7_1* This) { return This->lpVtbl->Release(This); } /*** IDeckLinkAudioInputPacket_v7_1 methods ***/ -static FORCEINLINE LONG IDeckLinkAudioInputPacket_v7_1_GetSampleCount(IDeckLinkAudioInputPacket_v7_1* This) { +static inline LONG IDeckLinkAudioInputPacket_v7_1_GetSampleCount(IDeckLinkAudioInputPacket_v7_1* This) { return This->lpVtbl->GetSampleCount(This); } -static FORCEINLINE HRESULT IDeckLinkAudioInputPacket_v7_1_GetBytes(IDeckLinkAudioInputPacket_v7_1* This,void **buffer) { +static inline HRESULT IDeckLinkAudioInputPacket_v7_1_GetBytes(IDeckLinkAudioInputPacket_v7_1* This,void **buffer) { return This->lpVtbl->GetBytes(This,buffer); } -static FORCEINLINE HRESULT IDeckLinkAudioInputPacket_v7_1_GetAudioPacketTime(IDeckLinkAudioInputPacket_v7_1* This,BMDTimeValue *packetTime,BMDTimeScale timeScale) { +static inline HRESULT IDeckLinkAudioInputPacket_v7_1_GetAudioPacketTime(IDeckLinkAudioInputPacket_v7_1* This,BMDTimeValue *packetTime,BMDTimeScale timeScale) { return This->lpVtbl->GetAudioPacketTime(This,packetTime,timeScale); } #endif @@ -20301,6 +20531,7 @@ static FORCEINLINE HRESULT IDeckLinkAudioInputPacket_v7_1_GetAudioPacketTime(IDe #endif /* __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__ */ +#endif /* __DeckLinkAPI_LIBRARY_DEFINED__ */ /* Begin additional prototypes for all interfaces */ ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *); diff --git a/ext-deps/DeckLink/Windows/DeckLinkAPIVersion.h b/ext-deps/DeckLink/Windows/DeckLinkAPIVersion.h index dcdeeb1ca2..4004523560 100644 --- a/ext-deps/DeckLink/Windows/DeckLinkAPIVersion.h +++ b/ext-deps/DeckLink/Windows/DeckLinkAPIVersion.h @@ -1,27 +1,40 @@ /* -LICENSE-START- * ** Copyright (c) 2014 Blackmagic Design - * ** - * ** Permission is hereby granted, free of charge, to any person or organization - * ** obtaining a copy of the software and accompanying documentation covered by - * ** this license (the "Software") to use, reproduce, display, distribute, - * ** execute, and transmit the Software, and to prepare derivative works of the - * ** Software, and to permit third-parties to whom the Software is furnished to - * ** do so, all subject to the following: + * ** + * ** Permission is hereby granted, free of charge, to any person or organization + * ** obtaining a copy of the software and accompanying documentation (the + * ** "Software") to use, reproduce, display, distribute, sub-license, execute, + * ** and transmit the Software, and to prepare derivative works of the Software, + * ** and to permit third-parties to whom the Software is furnished to do so, in + * ** accordance with: * ** - * ** The copyright notices in the Software and this entire statement, including - * ** the above license grant, this restriction and the following disclaimer, - * ** must be included in all copies of the Software, in whole or in part, and - * ** all derivative works of the Software, unless such copies or derivative - * ** works are solely in the form of machine-executable object code generated by - * ** a source language processor. + * ** (1) if the Software is obtained from Blackmagic Design, the End User License + * ** Agreement for the Software Development Kit (“EULA”) available at + * ** https://www.blackmagicdesign.com/EULA/DeckLinkSDK; or * ** - * ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * ** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * ** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT - * ** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE - * ** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, - * ** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * ** (2) if the Software is obtained from any third party, such licensing terms + * ** as notified by that third party, + * ** + * ** and all subject to the following: + * ** + * ** (3) the copyright notices in the Software and this entire statement, + * ** including the above license grant, this restriction and the following + * ** disclaimer, must be included in all copies of the Software, in whole or in + * ** part, and all derivative works of the Software, unless such copies or + * ** derivative works are solely in the form of machine-executable object code + * ** generated by a source language processor. + * ** + * ** (4) THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * ** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * ** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT + * ** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE + * ** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, + * ** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * ** DEALINGS IN THE SOFTWARE. + * ** + * ** A copy of the Software is available free of charge at + * ** https://www.blackmagicdesign.com/desktopvideo_sdk under the EULA. + * ** * ** -LICENSE-END- * */ @@ -30,8 +43,8 @@ #ifndef __DeckLink_API_Version_h__ #define __DeckLink_API_Version_h__ -#define BLACKMAGIC_DECKLINK_API_VERSION 0x0b060000 -#define BLACKMAGIC_DECKLINK_API_VERSION_STRING "11.6" +#define BLACKMAGIC_DECKLINK_API_VERSION 0x0c060000 +#define BLACKMAGIC_DECKLINK_API_VERSION_STRING "12.6" #endif // __DeckLink_API_Version_h__ diff --git a/ext-deps/DeckLink/Windows/DeckLinkAPI_i.c b/ext-deps/DeckLink/Windows/DeckLinkAPI_i.c index a39422822b..5c61abd98c 100644 --- a/ext-deps/DeckLink/Windows/DeckLinkAPI_i.c +++ b/ext-deps/DeckLink/Windows/DeckLinkAPI_i.c @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 5.8 from DeckLinkAPI.idl - Do not edit ***/ +/*** Autogenerated by WIDL 9.20 from DeckLinkAPI.idl - Do not edit ***/ #include #include @@ -82,6 +82,7 @@ MIDL_DEFINE_GUID(IID, IID_IDeckLinkAudioInputPacket, 0xe43d5870, 0x2894, 0x11de, MIDL_DEFINE_GUID(IID, IID_IDeckLinkScreenPreviewCallback, 0xb1d3f49a, 0x85fe, 0x4c5d, 0x95,0xc8, 0x0b,0x5d,0x5d,0xcc,0xd4,0x38); MIDL_DEFINE_GUID(IID, IID_IDeckLinkGLScreenPreviewHelper, 0x504e2209, 0xcac7, 0x4c1a, 0x9f,0xb4, 0xc5,0xbb,0x62,0x74,0xd2,0x2f); MIDL_DEFINE_GUID(IID, IID_IDeckLinkDX9ScreenPreviewHelper, 0x2094b522, 0xd1a1, 0x40c0, 0x9a,0xc7, 0x1c,0x01,0x22,0x18,0xef,0x02); +MIDL_DEFINE_GUID(IID, IID_IDeckLinkWPFDX9ScreenPreviewHelper, 0xad8ec84a, 0x7dde, 0x11e9, 0x8f,0x9e, 0x2a,0x86,0xe4,0x08,0x5a,0x59); MIDL_DEFINE_GUID(IID, IID_IDeckLinkNotificationCallback, 0xb002a1ec, 0x070d, 0x4288, 0x82,0x89, 0xbd,0x5d,0x36,0xe5,0xff,0x0d); MIDL_DEFINE_GUID(IID, IID_IDeckLinkNotification, 0xb85df4c8, 0xbdf5, 0x47c1, 0x80,0x64, 0x28,0x16,0x2e,0xbd,0xd4,0xeb); MIDL_DEFINE_GUID(IID, IID_IDeckLinkProfileAttributes, 0x17d4bf8e, 0x4911, 0x473a, 0x80,0xa0, 0x73,0x1c,0xf6,0xff,0x34,0x5b); @@ -97,12 +98,14 @@ MIDL_DEFINE_GUID(IID, IID_IDeckLinkDiscovery, 0xcdbf631c, 0xbc76, 0x45fa, 0xb4,0 MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkIterator, 0xba6c6f44, 0x6da5, 0x4dce, 0x94,0xaa, 0xee,0x2d,0x13,0x72,0xa6,0x76); MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkAPIInformation, 0x263ca19f, 0xed09, 0x482e, 0x9f,0x9d, 0x84,0x00,0x57,0x83,0xa2,0x37); MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkGLScreenPreviewHelper, 0xf63e77c7, 0xb655, 0x4a4a, 0x9a,0xd0, 0x3c,0xa8,0x5d,0x39,0x43,0x43); +MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkGL3ScreenPreviewHelper, 0x00696a71, 0xebc7, 0x491f, 0xac,0x02, 0x18,0xd3,0x39,0x3f,0x33,0xf0); MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkDX9ScreenPreviewHelper, 0xcc010023, 0xe01d, 0x4525, 0x9d,0x59, 0x80,0xc8,0xab,0x3d,0xc7,0xa0); +MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkWPFDX9ScreenPreviewHelper, 0xef2a8478, 0x7ddf, 0x11e9, 0x8f,0x9e, 0x2a,0x86,0xe4,0x08,0x5a,0x59); MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkVideoConversion, 0x7dbbbb11, 0x5b7b, 0x467d, 0xae,0xa4, 0xce,0xa4,0x68,0xfd,0x36,0x8c); MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkDiscovery, 0x22fbfc33, 0x8d07, 0x495c, 0xa5,0xbf, 0xda,0xb5,0xea,0x9b,0x82,0xdb); MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkVideoFrameAncillaryPackets, 0xf891ad29, 0xd0c2, 0x46e9, 0xa9,0x26, 0x4e,0x2d,0x0d,0xd8,0xcf,0xad); -MIDL_DEFINE_GUID(IID, IID_IDeckLinkOutput_v11_4, 0x065a0f6c, 0xc508, 0x4d0d, 0xb9,0x19, 0xf5,0xeb,0x0e,0xbf,0xc9,0x6b); -MIDL_DEFINE_GUID(IID, IID_IDeckLinkInput_v11_4, 0x2a88cf76, 0xf494, 0x4216, 0xa7,0xef, 0xdc,0x74,0xee,0xb8,0x38,0x82); +MIDL_DEFINE_GUID(IID, IID_IDeckLinkInputCallback_v11_5_1, 0xdd04e5ec, 0x7415, 0x42ab, 0xae,0x4a, 0xe8,0x0c,0x4d,0xfc,0x04,0x4a); +MIDL_DEFINE_GUID(IID, IID_IDeckLinkInput_v11_5_1, 0x9434c6e4, 0xb15d, 0x4b1c, 0x97,0x9e, 0x66,0x1e,0x3d,0xdc,0xb4,0xb9); MIDL_DEFINE_GUID(IID, IID_IDeckLinkConfiguration_v10_11, 0xef90380b, 0x4ae5, 0x4346, 0x90,0x77, 0xe2,0x88,0xe1,0x49,0xf1,0x29); MIDL_DEFINE_GUID(IID, IID_IDeckLinkAttributes_v10_11, 0xabc11843, 0xd966, 0x44cb, 0x96,0xe2, 0xa1,0xcb,0x5d,0x31,0x35,0xc4); MIDL_DEFINE_GUID(IID, IID_IDeckLinkOutput_v10_11, 0xcc5c8a6e, 0x3f2f, 0x4b3a, 0x87,0xea, 0xfd,0x78,0xaf,0x30,0x05,0x64); @@ -111,16 +114,16 @@ MIDL_DEFINE_GUID(IID, IID_IDeckLinkEncoderInput_v10_11, 0x270587da, 0x6b7d, 0x42 MIDL_DEFINE_GUID(IID, IID_IDeckLinkNotification_v10_11, 0x0a1fb207, 0xe215, 0x441b, 0x9b,0x19, 0x6f,0xa1,0x57,0x59,0x46,0xc5); MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkIterator_v10_11, 0x87d2693f, 0x8d4a, 0x45c7, 0xb4,0x3f, 0x10,0xac,0xba,0x25,0xe6,0x8f); MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkDiscovery_v10_11, 0x652615d4, 0x26cd, 0x4514, 0xb1,0x61, 0x2f,0xd5,0x07,0x2e,0xd0,0x08); -MIDL_DEFINE_GUID(IID, IID_IDeckLinkInputCallback_v11_5_1, 0xdd04e5ec, 0x7415, 0x42ab, 0xae,0x4a, 0xe8,0x0c,0x4d,0xfc,0x04,0x4a); -MIDL_DEFINE_GUID(IID, IID_IDeckLinkInput_v11_5_1, 0x9434c6e4, 0xb15d, 0x4b1c, 0x97,0x9e, 0x66,0x1e,0x3d,0xdc,0xb4,0xb9); -MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoFrameMetadataExtensions_v11_5, 0xd5973dc9, 0x6432, 0x46d0, 0x8f,0x0b, 0x24,0x96,0xf8,0xa1,0x23,0x8f); MIDL_DEFINE_GUID(IID, IID_IDeckLinkConfiguration_v10_9, 0xcb71734a, 0xfe37, 0x4e8d, 0x8e,0x13, 0x80,0x21,0x33,0xa1,0xc3,0xf2); MIDL_DEFINE_GUID(CLSID, CLSID_CBMDStreamingDiscovery_v10_8, 0x0caa31f6, 0x8a26, 0x40b0, 0x86,0xa4, 0xbf,0x58,0xdc,0xca,0x71,0x0c); +MIDL_DEFINE_GUID(IID, IID_IDeckLinkConfiguration_v10_4, 0x1e69fcf6, 0x4203, 0x4936, 0x80,0x76, 0x2a,0x9f,0x4c,0xfd,0x50,0xcb); +MIDL_DEFINE_GUID(IID, IID_IDeckLinkConfiguration_v10_2, 0xc679a35b, 0x610c, 0x4d09, 0xb7,0x48, 0x1d,0x04,0x78,0x10,0x0f,0xc0); +MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoFrameMetadataExtensions_v11_5, 0xd5973dc9, 0x6432, 0x46d0, 0x8f,0x0b, 0x24,0x96,0xf8,0xa1,0x23,0x8f); +MIDL_DEFINE_GUID(IID, IID_IDeckLinkOutput_v11_4, 0x065a0f6c, 0xc508, 0x4d0d, 0xb9,0x19, 0xf5,0xeb,0x0e,0xbf,0xc9,0x6b); +MIDL_DEFINE_GUID(IID, IID_IDeckLinkInput_v11_4, 0x2a88cf76, 0xf494, 0x4216, 0xa7,0xef, 0xdc,0x74,0xee,0xb8,0x38,0x82); MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkIterator_v10_8, 0x1f2e109a, 0x8f4f, 0x49e4, 0x92,0x03, 0x13,0x55,0x95,0xcb,0x6f,0xa5); MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkDiscovery_v10_8, 0x1073a05c, 0xd885, 0x47e9, 0xb3,0xc6, 0x12,0x9b,0x3f,0x9f,0x64,0x8b); MIDL_DEFINE_GUID(IID, IID_IDeckLinkEncoderConfiguration_v10_5, 0x67455668, 0x0848, 0x45df, 0x8d,0x8e, 0x35,0x0a,0x77,0xc9,0xa0,0x28); -MIDL_DEFINE_GUID(IID, IID_IDeckLinkConfiguration_v10_4, 0x1e69fcf6, 0x4203, 0x4936, 0x80,0x76, 0x2a,0x9f,0x4c,0xfd,0x50,0xcb); -MIDL_DEFINE_GUID(IID, IID_IDeckLinkConfiguration_v10_2, 0xc679a35b, 0x610c, 0x4d09, 0xb7,0x48, 0x1d,0x04,0x78,0x10,0x0f,0xc0); MIDL_DEFINE_GUID(IID, IID_IDeckLinkOutput_v9_9, 0xa3ef0963, 0x0862, 0x44ed, 0x92,0xa9, 0xee,0x89,0xab,0xf4,0x31,0xc7); MIDL_DEFINE_GUID(IID, IID_IDeckLinkInput_v9_2, 0x6d40ef78, 0x28b9, 0x4e21, 0x99,0x0d, 0x95,0xbb,0x77,0x50,0xa0,0x4f); MIDL_DEFINE_GUID(IID, IID_IDeckLinkDeckControlStatusCallback_v8_1, 0xe5f693c1, 0x4283, 0x4716, 0xb1,0x8f, 0xc1,0x43,0x15,0x21,0x95,0x5b); diff --git a/ext-deps/DeckLink/Windows/README b/ext-deps/DeckLink/Windows/README index 52f12f582f..f0b70e28d0 100644 --- a/ext-deps/DeckLink/Windows/README +++ b/ext-deps/DeckLink/Windows/README @@ -1,2 +1,2 @@ -Use widl from mingw-w64-x86_64-tools-git or MIDL from VS (use VS Command +Use widl from msys2 $MINGW_PACKAGE_PREFIX-tools-git or MIDL from VS (use VS Command Prompt) to compile interface from IDL. diff --git a/src/blackmagic_common.hpp b/src/blackmagic_common.hpp index 978180be71..3a1efa04f6 100644 --- a/src/blackmagic_common.hpp +++ b/src/blackmagic_common.hpp @@ -42,11 +42,10 @@ #include // needs to be included prior to windows.h which will be // included by foolowing include; wsock2.h needed for // htonl used by vcap/vdisp -#include "DeckLinkAPI_h.h" /* From DeckLink SDK */ -#else -#include "DeckLinkAPI.h" /* From DeckLink SDK */ #endif +#include "DeckLinkAPI.h" /* From DeckLink SDK */ + #include #include #include