/
githubmirror
/
obs-studio
Обзор
Документация
Войти
/
githubmirror
/
obs-studio
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
plugins/decklink/decklink-device-mode.cpp
92 строки
2 KB
Warchamp7
Update C++ files with braces
09 июн 2026, 20:41
09 июн 2026, 20:41
30b63c6
Код
Авторство
О чём код?
#include "decklink-device-mode.hpp" DeckLinkDeviceMode::DeckLinkDeviceMode(IDeckLinkDisplayMode *mode, long long id) : id(id), mode(mode) { if (mode == nullptr) { return; } decklink_string_t decklinkStringName; if (mode->GetName(&decklinkStringName) == S_OK) { DeckLinkStringToStdString(decklinkStringName, name); } } DeckLinkDeviceMode::DeckLinkDeviceMode(const std::string &name, long long id) : id(id), mode(nullptr), name(name) {} DeckLinkDeviceMode::~DeckLinkDeviceMode(void) {} BMDDisplayMode DeckLinkDeviceMode::GetDisplayMode(void) const { if (mode != nullptr) { return mode->GetDisplayMode(); } return bmdModeUnknown; } int DeckLinkDeviceMode::GetWidth() { if (mode != nullptr) { return mode->GetWidth(); } return 0; } int DeckLinkDeviceMode::GetHeight() { if (mode != nullptr) { return mode->GetHeight(); } return 0; } bool DeckLinkDeviceMode::GetFrameRate(BMDTimeValue *frameDuration, BMDTimeScale *timeScale) { if (mode != nullptr) { return SUCCEEDED(mode->GetFrameRate(frameDuration, timeScale)); } return false; } BMDDisplayModeFlags DeckLinkDeviceMode::GetDisplayModeFlags(void) const { if (mode != nullptr) { return mode->GetFlags(); } return (BMDDisplayModeFlags)0; } long long DeckLinkDeviceMode::GetId(void) const { return id; } const std::string &DeckLinkDeviceMode::GetName(void) const { return name; } bool DeckLinkDeviceMode::IsEqualFrameRate(int64_t num, int64_t den) { bool equal = false; if (mode) { BMDTimeValue frameDuration; BMDTimeScale timeScale; if (SUCCEEDED(mode->GetFrameRate(&frameDuration, &timeScale))) { equal = timeScale * den == frameDuration * num; } } return equal; } void DeckLinkDeviceMode::SetMode(IDeckLinkDisplayMode *mode_) { mode = mode_; }