private void UpdateRecorder() { if (recorder != null) { if (recorder.EncoderType == settings.EncoderType) { return; } DisposeRecorder(); } switch (settings.EncoderType) { case EncoderType.Gif: recorder = new EditorGifRecorder(); break; case EncoderType.MP4: recorder = new EditorMP4Recorder(); break; default: throw new InvalidOperationException(); } }
private void DisposeRecorder() { if (Recording) { EndRecording(); } if (recorder != null) { recorder.Dispose(); recorder = null; } }