mirror of https://github.com/ErsatzTV/ErsatzTV.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
103 lines
3.5 KiB
103 lines
3.5 KiB
using ErsatzTV.Application.FFmpegProfiles; |
|
using ErsatzTV.Application.FFmpegProfiles.Commands; |
|
using ErsatzTV.Application.Resolutions; |
|
using ErsatzTV.Core.Domain; |
|
using ErsatzTV.Core.FFmpeg; |
|
|
|
namespace ErsatzTV.ViewModels |
|
{ |
|
public class FFmpegProfileEditViewModel |
|
{ |
|
public FFmpegProfileEditViewModel() |
|
{ |
|
} |
|
|
|
public FFmpegProfileEditViewModel(FFmpegProfileViewModel viewModel) |
|
{ |
|
AudioBitrate = viewModel.AudioBitrate; |
|
AudioBufferSize = viewModel.AudioBufferSize; |
|
AudioChannels = viewModel.AudioChannels; |
|
AudioCodec = viewModel.AudioCodec; |
|
AudioSampleRate = viewModel.AudioSampleRate; |
|
NormalizeLoudness = viewModel.NormalizeLoudness; |
|
Id = viewModel.Id; |
|
Name = viewModel.Name; |
|
NormalizeAudio = viewModel.NormalizeAudio; |
|
NormalizeVideo = viewModel.NormalizeVideo; |
|
Resolution = viewModel.Resolution; |
|
ThreadCount = viewModel.ThreadCount; |
|
Transcode = viewModel.Transcode; |
|
HardwareAcceleration = viewModel.HardwareAcceleration; |
|
VaapiDriver = viewModel.VaapiDriver; |
|
VaapiDevice = viewModel.VaapiDevice; |
|
VideoBitrate = viewModel.VideoBitrate; |
|
VideoBufferSize = viewModel.VideoBufferSize; |
|
VideoCodec = viewModel.VideoCodec; |
|
} |
|
|
|
public int AudioBitrate { get; set; } |
|
public int AudioBufferSize { get; set; } |
|
public int AudioChannels { get; set; } |
|
public string AudioCodec { get; set; } |
|
public int AudioSampleRate { get; set; } |
|
public bool NormalizeLoudness { get; set; } |
|
public int Id { get; set; } |
|
public string Name { get; set; } |
|
public bool NormalizeAudio { get; set; } |
|
public bool NormalizeVideo { get; set; } |
|
public ResolutionViewModel Resolution { get; set; } |
|
public int ThreadCount { get; set; } |
|
public bool Transcode { get; set; } |
|
public HardwareAccelerationKind HardwareAcceleration { get; set; } |
|
public VaapiDriver VaapiDriver { get; set; } |
|
public string VaapiDevice { get; set; } |
|
public int VideoBitrate { get; set; } |
|
public int VideoBufferSize { get; set; } |
|
public string VideoCodec { get; set; } |
|
|
|
public CreateFFmpegProfile ToCreate() => |
|
new( |
|
Name, |
|
ThreadCount, |
|
Transcode, |
|
HardwareAcceleration, |
|
VaapiDriver, |
|
VaapiDevice, |
|
Resolution.Id, |
|
NormalizeVideo, |
|
VideoCodec, |
|
VideoBitrate, |
|
VideoBufferSize, |
|
AudioCodec, |
|
AudioBitrate, |
|
AudioBufferSize, |
|
NormalizeLoudness, |
|
AudioChannels, |
|
AudioSampleRate, |
|
NormalizeAudio |
|
); |
|
|
|
public UpdateFFmpegProfile ToUpdate() => |
|
new( |
|
Id, |
|
Name, |
|
ThreadCount, |
|
Transcode, |
|
HardwareAcceleration, |
|
VaapiDriver, |
|
VaapiDevice, |
|
Resolution.Id, |
|
NormalizeVideo, |
|
VideoCodec, |
|
VideoBitrate, |
|
VideoBufferSize, |
|
AudioCodec, |
|
AudioBitrate, |
|
AudioBufferSize, |
|
NormalizeLoudness, |
|
AudioChannels, |
|
AudioSampleRate, |
|
NormalizeAudio |
|
); |
|
} |
|
}
|
|
|