private void Ws_StreamingStatusChanged(SLOBSWebsocket sender, ESLOBSStreamingState state) { SLOBSStreamingState input = new SLOBSStreamingState(); input.StreamingStatus = state; var output = _translateStreamingStatus(input); output.Record = _state.Record; output.Replay = _state.Replay; if (StreamingStatusChanged != null) { StreamingStatusChanged(this, output); } }
private SOBSStreamingState _translateStreamingStatus(SLOBSStreamingState input) { var state = new SOBSStreamingState(); switch (input.StreamingStatus) { case ESLOBSStreamingState.Live: state.Stream = EOBSStreamingState.Started; break; case ESLOBSStreamingState.Offline: state.Stream = EOBSStreamingState.Stopped; break; case ESLOBSStreamingState.Starting: state.Stream = EOBSStreamingState.Starting; break; case ESLOBSStreamingState.Ending: state.Stream = EOBSStreamingState.Stopping; break; case ESLOBSStreamingState.Reconnecting: state.Stream = EOBSStreamingState.Reconnecting; break; default: state.Stream = EOBSStreamingState.Unkown; break; } switch (input.RecordingStatus) { case ESLOBSSRecordingState.Recording: state.Record = EOBSStreamingState.Started; break; case ESLOBSSRecordingState.Offline: state.Record = EOBSStreamingState.Stopped; break; case ESLOBSSRecordingState.Starting: state.Record = EOBSStreamingState.Starting; break; case ESLOBSSRecordingState.Stopping: state.Record = EOBSStreamingState.Stopping; break; default: state.Record = EOBSStreamingState.Unkown; break; } switch (input.ReplayBufferStatus) { case ESLOBSSReplayBufferState.Running: state.Replay = EOBSStreamingState.Started; break; case ESLOBSSReplayBufferState.Offline: state.Replay = EOBSStreamingState.Stopped; break; case ESLOBSSReplayBufferState.Saving: state.Replay = EOBSStreamingState.Stopping; break; case ESLOBSSReplayBufferState.Stopping: state.Replay = EOBSStreamingState.Stopping; break; default: state.Replay = EOBSStreamingState.Unkown; break; } return(state); }