platform.hpp 1.0 KB

1234567891011121314151617181920212223242526272829303132
  1. #pragma once
  2. #if defined(_WIN32)
  3. #include <DeckLinkAPI.h>
  4. #include "win/decklink-sdk/DeckLinkAPIVersion.h"
  5. typedef BOOL decklink_bool_t;
  6. typedef BSTR decklink_string_t;
  7. IDeckLinkDiscovery *CreateDeckLinkDiscoveryInstance(void);
  8. IDeckLinkIterator *CreateDeckLinkIteratorInstance(void);
  9. IDeckLinkVideoConversion *CreateVideoConversionInstance(void);
  10. #define IUnknownUUID IID_IUnknown
  11. typedef REFIID CFUUIDBytes;
  12. #define CFUUIDGetUUIDBytes(x) x
  13. #elif defined(__APPLE__)
  14. #include "mac/decklink-sdk/DeckLinkAPI.h"
  15. #include "mac/decklink-sdk/DeckLinkAPIVersion.h"
  16. #include <CoreFoundation/CoreFoundation.h>
  17. typedef bool decklink_bool_t;
  18. typedef CFStringRef decklink_string_t;
  19. #elif defined(__linux__)
  20. #include "linux/decklink-sdk/DeckLinkAPI.h"
  21. #include "linux/decklink-sdk/DeckLinkAPIVersion.h"
  22. typedef bool decklink_bool_t;
  23. typedef const char *decklink_string_t;
  24. #endif
  25. #include <util/windows/HRError.hpp>
  26. #include <util/windows/ComPtr.hpp>
  27. #include <string>
  28. bool DeckLinkStringToStdString(decklink_string_t input, std::string &output);