Index: third_party/decklink/win/include/DeckLinkAPITypes.idl |
diff --git a/third_party/decklink/mac/include/DeckLinkAPITypes.h b/third_party/decklink/win/include/DeckLinkAPITypes.idl |
similarity index 68% |
copy from third_party/decklink/mac/include/DeckLinkAPITypes.h |
copy to third_party/decklink/win/include/DeckLinkAPITypes.idl |
index d747cdf9b8a4e5d91c2daa435b27445d848e81ba..d0a95967174c352db5aee105f9a3632571883cf2 100644 |
--- a/third_party/decklink/mac/include/DeckLinkAPITypes.h |
+++ b/third_party/decklink/win/include/DeckLinkAPITypes.idl |
@@ -25,9 +25,6 @@ |
** -LICENSE-END- |
*/ |
-#ifndef BMD_DECKLINKAPITYPES_H |
-#define BMD_DECKLINKAPITYPES_H |
- |
#ifndef BMD_CONST |
#if defined(_MSC_VER) |
@@ -39,60 +36,57 @@ |
// Type Declarations |
-typedef int64_t BMDTimeValue; |
-typedef int64_t BMDTimeScale; |
-typedef uint32_t BMDTimecodeBCD; |
-typedef uint32_t BMDTimecodeUserBits; |
+typedef LONGLONG BMDTimeValue; |
+typedef LONGLONG BMDTimeScale; |
+typedef unsigned long BMDTimecodeBCD; |
+typedef unsigned long BMDTimecodeUserBits; |
-// Interface ID Declarations |
+// Enumeration Mapping |
-BMD_CONST REFIID IID_IDeckLinkTimecode = /* BC6CFBD3-8317-4325-AC1C-1216391E9340 */ {0xBC,0x6C,0xFB,0xD3,0x83,0x17,0x43,0x25,0xAC,0x1C,0x12,0x16,0x39,0x1E,0x93,0x40}; |
+cpp_quote("typedef unsigned long BMDTimecodeFlags;") |
+cpp_quote("#if 0") |
+typedef enum _BMDTimecodeFlags BMDTimecodeFlags; |
+cpp_quote("#endif") |
/* Enum BMDTimecodeFlags - Timecode flags */ |
-typedef uint32_t BMDTimecodeFlags; |
-enum _BMDTimecodeFlags { |
+[v1_enum] enum _BMDTimecodeFlags { |
bmdTimecodeFlagDefault = 0, |
bmdTimecodeIsDropFrame = 1 << 0 |
}; |
/* Enum BMDVideoConnection - Video connection types */ |
-typedef uint32_t BMDVideoConnection; |
-enum _BMDVideoConnection { |
+typedef [v1_enum] enum _BMDVideoConnection { |
bmdVideoConnectionSDI = 1 << 0, |
bmdVideoConnectionHDMI = 1 << 1, |
bmdVideoConnectionOpticalSDI = 1 << 2, |
bmdVideoConnectionComponent = 1 << 3, |
bmdVideoConnectionComposite = 1 << 4, |
bmdVideoConnectionSVideo = 1 << 5 |
-}; |
+} BMDVideoConnection; |
// Forward Declarations |
-class IDeckLinkTimecode; |
+interface IDeckLinkTimecode; |
/* Interface IDeckLinkTimecode - Used for video frame timecode representation. */ |
-class IDeckLinkTimecode : public IUnknown |
+[ |
+ object, |
+ uuid(BC6CFBD3-8317-4325-AC1C-1216391E9340), |
+ helpstring("Used for video frame timecode representation.") |
+] interface IDeckLinkTimecode : 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; |
- virtual HRESULT GetTimecodeUserBits (/* out */ BMDTimecodeUserBits *userBits) = 0; |
- |
-protected: |
- virtual ~IDeckLinkTimecode () {}; // call Release method to drop reference count |
+ BMDTimecodeBCD GetBCD(void); |
+ HRESULT GetComponents([out] unsigned char *hours, [out] unsigned char *minutes, [out] unsigned char *seconds, [out] unsigned char *frames); |
+ HRESULT GetString([out] BSTR *timecode); |
+ BMDTimecodeFlags GetFlags(void); |
+ HRESULT GetTimecodeUserBits([out] BMDTimecodeUserBits *userBits); |
}; |
-/* Functions */ |
- |
-extern "C" { |
+/* Coclasses */ |
- |
-}; |
+importlib("stdole2.tlb"); |
-#endif /* defined(BMD_DECKLINKAPITYPES_H) */ |