27 lines
863 B
C++
27 lines
863 B
C++
#pragma once
|
|
|
|
#include "VideoIOConfig.h"
|
|
|
|
#include <functional>
|
|
#include <memory>
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
class VideoIODevice;
|
|
|
|
struct VideoIOBackendDescriptor
|
|
{
|
|
VideoIOBackendId backendId = VideoIOBackendId::DeckLink;
|
|
const char* backendName = "decklink";
|
|
const char* displayName = "Blackmagic DeckLink";
|
|
const char* unavailableMessage = "";
|
|
const char* unavailableTitle = "Video I/O initialization failed";
|
|
};
|
|
|
|
using VideoIODeviceFactory = std::function<std::unique_ptr<VideoIODevice>()>;
|
|
|
|
const VideoIOBackendDescriptor* GetVideoIOBackendDescriptor(VideoIOBackendId backendId);
|
|
std::vector<VideoIOBackendDescriptor> ListVideoIOBackendDescriptors();
|
|
std::unique_ptr<VideoIODevice> CreateVideoIODevice(VideoIOBackendId backendId, std::string& error);
|
|
bool IsVideoIOBackendUnavailableError(VideoIOBackendId backendId, const std::string& error);
|