decklink-device-mode.hpp 655 B

123456789101112131415161718192021222324252627282930
  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. 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. };