aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Common
diff options
context:
space:
mode:
authorJPVenson <github@jpb.email>2025-04-26 18:30:25 +0300
committerGitHub <noreply@github.com>2025-04-26 09:30:25 -0600
commit8ee358de2ca956d22c14f28c3783ba99acd87a32 (patch)
tree8127a03e3ef0b7b2a19a51781ec809ba2ce66216 /MediaBrowser.Common
parentdf5671263fc8370ae17b7a5d53f06a86de5cbc93 (diff)
Check for path overlaps (#12832)
Diffstat (limited to 'MediaBrowser.Common')
-rw-r--r--MediaBrowser.Common/Configuration/EncodingConfigurationExtensions.cs3
-rw-r--r--MediaBrowser.Common/Configuration/IApplicationPaths.cs13
2 files changed, 14 insertions, 2 deletions
diff --git a/MediaBrowser.Common/Configuration/EncodingConfigurationExtensions.cs b/MediaBrowser.Common/Configuration/EncodingConfigurationExtensions.cs
index 70a4fe409..78e96ab47 100644
--- a/MediaBrowser.Common/Configuration/EncodingConfigurationExtensions.cs
+++ b/MediaBrowser.Common/Configuration/EncodingConfigurationExtensions.cs
@@ -35,8 +35,7 @@ namespace MediaBrowser.Common.Configuration
transcodingTempPath = Path.Combine(configurationManager.CommonApplicationPaths.CachePath, "transcodes");
}
- // Make sure the directory exists
- Directory.CreateDirectory(transcodingTempPath);
+ configurationManager.CommonApplicationPaths.CreateAndCheckMarker(transcodingTempPath, "transcode", true);
return transcodingTempPath;
}
}
diff --git a/MediaBrowser.Common/Configuration/IApplicationPaths.cs b/MediaBrowser.Common/Configuration/IApplicationPaths.cs
index 7a8ab3236..fa0d8247b 100644
--- a/MediaBrowser.Common/Configuration/IApplicationPaths.cs
+++ b/MediaBrowser.Common/Configuration/IApplicationPaths.cs
@@ -90,5 +90,18 @@ namespace MediaBrowser.Common.Configuration
/// </summary>
/// <value>The trickplay path.</value>
string TrickplayPath { get; }
+
+ /// <summary>
+ /// Checks and creates all known base paths.
+ /// </summary>
+ void MakeSanityCheckOrThrow();
+
+ /// <summary>
+ /// Checks and creates the given path and adds it with a marker file if non existant.
+ /// </summary>
+ /// <param name="path">The path to check.</param>
+ /// <param name="markerName">The common marker file name.</param>
+ /// <param name="recursive">Check for other settings paths recursivly.</param>
+ void CreateAndCheckMarker(string path, string markerName, bool recursive = false);
}
}