decklink: Add Blackmagic DeckLink capture plugin

This is a cross-platform Blackmagic device capture plugin that makes use
of the manufacturer provided DeckLink SDK.
This commit is contained in:
Skyler Lipthay
2015-02-18 15:15:38 -08:00
parent 001bfb4a6d
commit 4225fa8eee
13 changed files with 1027 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
#include "decklink-device-mode.hpp"
DeckLinkDeviceMode::DeckLinkDeviceMode(IDeckLinkDisplayMode *mode,
long long id) : id(id), mode(mode)
{
if (mode == nullptr)
return;
mode->AddRef();
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)
{
if (mode != nullptr)
mode->Release();
}
BMDDisplayMode DeckLinkDeviceMode::GetDisplayMode(void) const
{
if (mode != nullptr)
return mode->GetDisplayMode();
return bmdModeUnknown;
}
long long DeckLinkDeviceMode::GetId(void) const
{
return id;
}
const std::string& DeckLinkDeviceMode::GetName(void) const
{
return name;
}