1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
#pragma once
#include "DecklinkBase.h"
#include <media-io/video-scaler.h>
class DeckLinkOutput : public DecklinkBase {
protected:
obs_output_t *output;
int width;
int height;
static void DevicesChanged(void *param, DeckLinkDevice *device,
bool added);
public:
const char *deviceHash;
long long modeID;
uint64_t start_timestamp;
uint32_t audio_samplerate;
size_t audio_planes;
size_t audio_size;
int keyerMode;
DeckLinkOutput(obs_output_t *output,
DeckLinkDeviceDiscovery *discovery);
virtual ~DeckLinkOutput(void);
obs_output_t *GetOutput(void) const;
bool Activate(DeckLinkDevice *device, long long modeId) override;
void Deactivate() override;
void DisplayVideoFrame(video_data *pData);
void WriteAudio(audio_data *frames);
void SetSize(int width, int height);
int GetWidth();
int GetHeight();
};
|