aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.MediaEncoding/Configuration/EncodingConfigurationStore.cs
diff options
context:
space:
mode:
authorJoshua M. Boniface <joshua@boniface.me>2020-08-05 00:00:15 -0400
committerGitHub <noreply@github.com>2020-08-05 00:00:15 -0400
commit3e974c03519edd5ceb262a475a8b35ff2839add6 (patch)
treed18dd39b10c85733c66dc4ce619a304a0087ca03 /MediaBrowser.MediaEncoding/Configuration/EncodingConfigurationStore.cs
parentff4489575b0b29638285a0cf255289134900009f (diff)
parent393666efcfa85e858857334b5cb5a3ec70586f20 (diff)
Merge pull request #3825 from crobibero/api-merge-again
Merge master into api-migration
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));
+ }
+ }
+ }
+ }
+}