0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 13:08:50 +02:00
obs-studio/plugins/decklink/decklink-device.hpp
Skyler Lipthay 4225fa8eee decklink: Add Blackmagic DeckLink capture plugin
This is a cross-platform Blackmagic device capture plugin that makes use
of the manufacturer provided DeckLink SDK.
2015-03-21 16:40:05 -07:00

41 lines
999 B
C++

#pragma once
#include "decklink.hpp"
#include "decklink-device-mode.hpp"
#include <map>
#include <string>
#include <vector>
class DeckLinkDevice {
ComPtr<IDeckLink> device;
std::map<long long, DeckLinkDeviceMode *> modeIdMap;
std::vector<DeckLinkDeviceMode *> modes;
std::string name;
std::string displayName;
std::string hash;
volatile long refCount = 1;
public:
DeckLinkDevice(IDeckLink *device);
~DeckLinkDevice(void);
ULONG AddRef(void);
ULONG Release(void);
bool Init();
DeckLinkDeviceMode *FindMode(long long id);
const std::string& GetDisplayName(void);
const std::string& GetHash(void) const;
const std::vector<DeckLinkDeviceMode *>& GetModes(void) const;
const std::string& GetName(void) const;
bool GetInput(IDeckLinkInput **input);
inline bool IsDevice(IDeckLink *device_)
{
return device_ == device;
}
};