2015-02-06 03:17:33 -08:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
class OBSBasic;
|
|
|
|
|
|
|
|
struct BasicOutputHandler {
|
|
|
|
OBSOutput fileOutput;
|
|
|
|
OBSOutput streamOutput;
|
|
|
|
int activeRefs = 0;
|
|
|
|
OBSBasic *main;
|
|
|
|
|
2015-07-03 23:00:21 -07:00
|
|
|
OBSSignal startRecording;
|
|
|
|
OBSSignal stopRecording;
|
|
|
|
OBSSignal startStreaming;
|
|
|
|
OBSSignal stopStreaming;
|
|
|
|
|
2015-02-06 03:17:33 -08:00
|
|
|
inline BasicOutputHandler(OBSBasic *main_) : main(main_) {}
|
|
|
|
|
|
|
|
virtual ~BasicOutputHandler() {};
|
|
|
|
|
|
|
|
virtual bool StartStreaming(obs_service_t *service) = 0;
|
|
|
|
virtual bool StartRecording() = 0;
|
|
|
|
virtual void StopStreaming() = 0;
|
|
|
|
virtual void StopRecording() = 0;
|
|
|
|
virtual bool StreamingActive() const = 0;
|
|
|
|
virtual bool RecordingActive() const = 0;
|
|
|
|
|
|
|
|
virtual void Update() = 0;
|
|
|
|
|
|
|
|
inline bool Active() const {return !!activeRefs;}
|
|
|
|
};
|
|
|
|
|
|
|
|
BasicOutputHandler *CreateSimpleOutputHandler(OBSBasic *main);
|
2015-01-26 13:41:22 -08:00
|
|
|
BasicOutputHandler *CreateAdvancedOutputHandler(OBSBasic *main);
|