1
0

decklink-device-mode.hpp 736 B

12345678910111213141516171819202122232425262728293031
  1. #pragma once
  2. #include "platform.hpp"
  3. #include <string>
  4. #define MODE_ID_AUTO -1
  5. class DeckLinkDeviceMode {
  6. protected:
  7. long long id;
  8. ComPtr<IDeckLinkDisplayMode> mode;
  9. std::string name;
  10. public:
  11. DeckLinkDeviceMode(IDeckLinkDisplayMode *mode, long long id);
  12. DeckLinkDeviceMode(const std::string &name, long long id);
  13. virtual ~DeckLinkDeviceMode(void);
  14. BMDDisplayMode GetDisplayMode(void) const;
  15. BMDDisplayModeFlags GetDisplayModeFlags(void) const;
  16. long long GetId(void) const;
  17. const std::string &GetName(void) const;
  18. bool IsEqualFrameRate(int64_t num, int64_t den);
  19. void SetMode(IDeckLinkDisplayMode *mode);
  20. int GetWidth();
  21. int GetHeight();
  22. bool GetFrameRate(BMDTimeValue *frameDuration, BMDTimeScale *timeScale);
  23. };