using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
namespace FFMpegCore
{
public class FFOptions : ICloneable
{
///
/// Working directory for the ffmpeg/ffprobe instance
///
public string WorkingDirectory { get; set; } = string.Empty;
///
/// Folder container ffmpeg and ffprobe binaries. Leave empty if ffmpeg and ffprobe are present in PATH
///
public string BinaryFolder { get; set; } = string.Empty;
///
/// Folder used for temporary files necessary for static methods on FFMpeg class
///
public string TemporaryFilesFolder { get; set; } = Path.GetTempPath();
///
/// Encoding used for parsing stdout/stderr on ffmpeg and ffprobe processes
///
public Encoding Encoding { get; set; } = Encoding.Default;
///
///
///
public Dictionary ExtensionOverrides { get; set; } = new Dictionary
{
{ "mpegts", ".ts" },
};
///
/// Whether to cache calls to get ffmpeg codec, pixel- and container-formats
///
public bool UseCache { get; set; } = true;
///
object ICloneable.Clone() => Clone();
///
/// Creates a new object that is a copy of the current instance.
///
public FFOptions Clone() => (FFOptions)MemberwiseClone();
}
}