12345678910111213141516171819202122232425262728293031323334 |
- #pragma once
- #include "DecklinkBase.h"
- #include "../../libobs/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();
- };
|