DecklinkOutput.hpp 842 B

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