platform.hpp 1.0 KB

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