DecklinkOutput.hpp 841 B

123456789101112131415161718192021222324252627282930313233343536
  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,
  10. bool added);
  11. public:
  12. const char *deviceHash;
  13. long long modeID;
  14. uint64_t start_timestamp;
  15. uint32_t audio_samplerate;
  16. size_t audio_planes;
  17. size_t audio_size;
  18. int keyerMode;
  19. DeckLinkOutput(obs_output_t *output,
  20. DeckLinkDeviceDiscovery *discovery);
  21. virtual ~DeckLinkOutput(void);
  22. obs_output_t *GetOutput(void) const;
  23. bool Activate(DeckLinkDevice *device, long long modeId) override;
  24. void Deactivate() override;
  25. void UpdateVideoFrame(video_data *pData);
  26. void WriteAudio(audio_data *frames);
  27. void SetSize(int width, int height);
  28. int GetWidth();
  29. int GetHeight();
  30. };