aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.MediaEncoding/Configuration/EncodingConfigurationStore.cs
diff options
context:
space:
mode:
authornyanmisaka <nst799610810@gmail.com>2020-08-19 16:56:53 +0800
committernyanmisaka <nst799610810@gmail.com>2020-08-19 16:56:53 +0800
commitaa75755480379e9497e82a4cb9410c267255c936 (patch)
tree25a20af061fd45e90398161a8f82b45d14e7cdbb /MediaBrowser.MediaEncoding/Configuration/EncodingConfigurationStore.cs
parent8165c3bb21a1ac4869dafa951f8a3ca3d21dda1e (diff)
parent93fe595e5e9863874c1973e4f2d7f3c85549d3f9 (diff)
Merge remote-tracking branch 'upstream/master' into fonts
Diffstat (limited to 'MediaBrowser.MediaEncoding/Configuration/EncodingConfigurationStore.cs')
-rw-r--r--MediaBrowser.MediaEncoding/Configuration/EncodingConfigurationStore.cs38
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));
+ }
+ }
+ }
+ }
+}