* add explicit warning for zero/invalid duration media items * set dateadded on plex media versions * add media stream table * save local media streams to db * save plex media streams to db * add preferred language settings (no validation) * use preferred language if possible * code cleanup * proper language code validation * force scan of all libraries to pull in media streams
41 lines
1.8 KiB
C#
41 lines
1.8 KiB
C#
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
using ErsatzTV.Core.Domain;
|
|
using ErsatzTV.Core.Interfaces.Repositories;
|
|
using LanguageExt;
|
|
using MediatR;
|
|
|
|
namespace ErsatzTV.Application.FFmpegProfiles.Queries
|
|
{
|
|
public class GetFFmpegSettingsHandler : IRequestHandler<GetFFmpegSettings, FFmpegSettingsViewModel>
|
|
{
|
|
private readonly IConfigElementRepository _configElementRepository;
|
|
|
|
public GetFFmpegSettingsHandler(IConfigElementRepository configElementRepository) =>
|
|
_configElementRepository = configElementRepository;
|
|
|
|
public async Task<FFmpegSettingsViewModel> Handle(
|
|
GetFFmpegSettings request,
|
|
CancellationToken cancellationToken)
|
|
{
|
|
Option<string> ffmpegPath = await _configElementRepository.GetValue<string>(ConfigElementKey.FFmpegPath);
|
|
Option<string> ffprobePath = await _configElementRepository.GetValue<string>(ConfigElementKey.FFprobePath);
|
|
Option<int> defaultFFmpegProfileId =
|
|
await _configElementRepository.GetValue<int>(ConfigElementKey.FFmpegDefaultProfileId);
|
|
Option<bool> saveReports =
|
|
await _configElementRepository.GetValue<bool>(ConfigElementKey.FFmpegSaveReports);
|
|
Option<string> preferredLanguageCode =
|
|
await _configElementRepository.GetValue<string>(ConfigElementKey.FFmpegPreferredLanguageCode);
|
|
|
|
return new FFmpegSettingsViewModel
|
|
{
|
|
FFmpegPath = ffmpegPath.IfNone(string.Empty),
|
|
FFprobePath = ffprobePath.IfNone(string.Empty),
|
|
DefaultFFmpegProfileId = defaultFFmpegProfileId.IfNone(0),
|
|
SaveReports = saveReports.IfNone(false),
|
|
PreferredLanguageCode = preferredLanguageCode.IfNone("eng")
|
|
};
|
|
}
|
|
}
|
|
}
|