diff options
| author | Cody Robibero <cody@robibe.ro> | 2025-10-13 14:16:05 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-13 14:16:05 -0600 |
| commit | b36aab9399973274e5d539093e0cd8bdd2bd9b25 (patch) | |
| tree | 935c931ff13db14a3004640225212846fa78d635 | |
| parent | 2c7d2d4719c670afe83530c06ba267074a0196e3 (diff) | |
Validate encoder path (#14996)
| -rw-r--r-- | MediaBrowser.MediaEncoding/Configuration/EncodingConfigurationStore.cs | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/MediaBrowser.MediaEncoding/Configuration/EncodingConfigurationStore.cs b/MediaBrowser.MediaEncoding/Configuration/EncodingConfigurationStore.cs index 2f158157e..19c1de9f7 100644 --- a/MediaBrowser.MediaEncoding/Configuration/EncodingConfigurationStore.cs +++ b/MediaBrowser.MediaEncoding/Configuration/EncodingConfigurationStore.cs @@ -18,10 +18,16 @@ namespace MediaBrowser.MediaEncoding.Configuration public void Validate(object oldConfig, object newConfig) { - var newPath = ((EncodingOptions)newConfig).TranscodingTempPath; + var oldEncodingOptions = (EncodingOptions)oldConfig; + var newEncodingOptions = (EncodingOptions)newConfig; + + ArgumentNullException.ThrowIfNull(oldEncodingOptions, nameof(oldConfig)); + ArgumentNullException.ThrowIfNull(newEncodingOptions, nameof(newConfig)); + + var newPath = newEncodingOptions.TranscodingTempPath; if (!string.IsNullOrWhiteSpace(newPath) - && !string.Equals(((EncodingOptions)oldConfig).TranscodingTempPath, newPath, StringComparison.Ordinal)) + && !string.Equals(oldEncodingOptions.TranscodingTempPath, newPath, StringComparison.Ordinal)) { // Validate if (!Directory.Exists(newPath)) @@ -33,6 +39,12 @@ namespace MediaBrowser.MediaEncoding.Configuration newPath)); } } + + if (!string.IsNullOrWhiteSpace(newEncodingOptions.EncoderAppPath) + && !string.Equals(oldEncodingOptions.EncoderAppPath, newEncodingOptions.EncoderAppPath, StringComparison.Ordinal)) + { + throw new InvalidOperationException("Unable to update encoder app path."); + } } } } |
