platform.cpp 636 B

1234567891011121314151617181920212223242526
  1. #include "../platform.hpp"
  2. #include <util/platform.h>
  3. IDeckLinkDiscovery *CreateDeckLinkDiscoveryInstance(void)
  4. {
  5. IDeckLinkDiscovery *instance;
  6. const HRESULT result = CoCreateInstance(CLSID_CDeckLinkDiscovery,
  7. nullptr, CLSCTX_ALL, IID_IDeckLinkDiscovery,
  8. (void **)&instance);
  9. return result == S_OK ? instance : nullptr;
  10. }
  11. bool DeckLinkStringToStdString(decklink_string_t input, std::string& output)
  12. {
  13. if (input == nullptr)
  14. return false;
  15. size_t len = wcslen(input);
  16. size_t utf8_len = os_wcs_to_utf8(input, len, nullptr, 0);
  17. output.resize(utf8_len);
  18. os_wcs_to_utf8(input, len, &output[0], utf8_len);
  19. return true;
  20. }