window-basic-main-outputs.hpp 766 B

12345678910111213141516171819202122232425262728
  1. #pragma once
  2. class OBSBasic;
  3. struct BasicOutputHandler {
  4. OBSOutput fileOutput;
  5. OBSOutput streamOutput;
  6. int activeRefs = 0;
  7. OBSBasic *main;
  8. inline BasicOutputHandler(OBSBasic *main_) : main(main_) {}
  9. virtual ~BasicOutputHandler() {};
  10. virtual bool StartStreaming(obs_service_t *service) = 0;
  11. virtual bool StartRecording() = 0;
  12. virtual void StopStreaming() = 0;
  13. virtual void StopRecording() = 0;
  14. virtual bool StreamingActive() const = 0;
  15. virtual bool RecordingActive() const = 0;
  16. virtual void Update() = 0;
  17. inline bool Active() const {return !!activeRefs;}
  18. };
  19. BasicOutputHandler *CreateSimpleOutputHandler(OBSBasic *main);
  20. BasicOutputHandler *CreateAdvancedOutputHandler(OBSBasic *main);