IVideoFileWriter GetVideoFileWriter(IImageProvider ImgProvider)
{
var selectedVideoSourceKind = VideoViewModel.SelectedVideoSourceKind;
var encoder = VideoViewModel.SelectedCodec;
IVideoFileWriter videoEncoder = null;
encoder.Quality = VideoViewModel.Quality;
if (encoder.Name == "Gif")
{
if (GifViewModel.Unconstrained)
_recorder = new UnconstrainedFrameRateGifRecorder(
new GifWriter(_currentFileName,
Repeat: GifViewModel.Repeat ? GifViewModel.RepeatCount : -1),
ImgProvider);
else
videoEncoder = new GifWriter(_currentFileName, 1000/VideoViewModel.FrameRate,
GifViewModel.Repeat ? GifViewModel.RepeatCount : -1);
}
else if (selectedVideoSourceKind != VideoSourceKind.NoVideo)
videoEncoder = new AviWriter(_currentFileName, encoder);
return videoEncoder;
}