diff options
| author | Orry Verducci <orry@orryverducci.co.uk> | 2020-08-10 22:17:13 +0100 |
|---|---|---|
| committer | Orry Verducci <orry@orryverducci.co.uk> | 2020-08-10 22:17:13 +0100 |
| commit | 2d6699fd470ba1f0fcabac9df4d5184205e0e351 (patch) | |
| tree | aa0f078df01baa798435ae25f3d5ee4945f7f501 /MediaBrowser.MediaEncoding/Configuration/EncodingConfigurationStore.cs | |
| parent | ce51775e7426ff4e037d593715395684ebf9b08a (diff) | |
| parent | b82a3fee85298a1063069cae5ff4df3029e468b0 (diff) | |
Merge remote-tracking branch 'upstream/master' into deinterlace-improvements
Diffstat (limited to 'MediaBrowser.MediaEncoding/Configuration/EncodingConfigurationStore.cs')
| -rw-r--r-- | MediaBrowser.MediaEncoding/Configuration/EncodingConfigurationStore.cs | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/MediaBrowser.MediaEncoding/Configuration/EncodingConfigurationStore.cs b/MediaBrowser.MediaEncoding/Configuration/EncodingConfigurationStore.cs new file mode 100644 index 000000000..2f158157e --- /dev/null +++ b/MediaBrowser.MediaEncoding/Configuration/EncodingConfigurationStore.cs @@ -0,0 +1,38 @@ +#pragma warning disable CS1591 + +using System; +using System.Globalization; +using System.IO; +using MediaBrowser.Common.Configuration; +using MediaBrowser.Model.Configuration; + +namespace MediaBrowser.MediaEncoding.Configuration +{ + public class EncodingConfigurationStore : ConfigurationStore, IValidatingConfiguration + { + public EncodingConfigurationStore() + { + ConfigurationType = typeof(EncodingOptions); + Key = "encoding"; + } + + public void Validate(object oldConfig, object newConfig) + { + var newPath = ((EncodingOptions)newConfig).TranscodingTempPath; + + if (!string.IsNullOrWhiteSpace(newPath) + && !string.Equals(((EncodingOptions)oldConfig).TranscodingTempPath, newPath, StringComparison.Ordinal)) + { + // Validate + if (!Directory.Exists(newPath)) + { + throw new DirectoryNotFoundException( + string.Format( + CultureInfo.InvariantCulture, + "{0} does not exist.", + newPath)); + } + } + } + } +} |
