aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Extensions
diff options
context:
space:
mode:
authorBond_009 <bond.009@outlook.com>2019-10-26 22:53:53 +0200
committerBond-009 <bond.009@outlook.com>2019-11-25 12:07:59 +0100
commitcc5acf37f75d2c652d9cd855ebc34a1e7d414a9f (patch)
tree1e5f031518b68a15dd9e41f7dde1273a678b3524 /MediaBrowser.Controller/Extensions
parente7098f1997ee74eb3bdaad33836839ace6d80f64 (diff)
Make probesize and analyzeduration configurable and simplify circular
dependencies Makes the probesize and analyzeduration configurable with env args. (`JELLYFIN_FFmpeg_probesize` and `FFmpeg_analyzeduration`)
Diffstat (limited to 'MediaBrowser.Controller/Extensions')
-rw-r--r--MediaBrowser.Controller/Extensions/ConfigurationExtensions.cs36
1 files changed, 36 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/Extensions/ConfigurationExtensions.cs b/MediaBrowser.Controller/Extensions/ConfigurationExtensions.cs
new file mode 100644
index 000000000..80a98ad5f
--- /dev/null
+++ b/MediaBrowser.Controller/Extensions/ConfigurationExtensions.cs
@@ -0,0 +1,36 @@
+using Microsoft.Extensions.Configuration;
+
+namespace MediaBrowser.Controller.Extensions
+{
+ /// <summary>
+ /// Configuration extensions for <c>MediaBrowser.Controller</c>.
+ /// </summary>
+ public static class ConfigurationExtensions
+ {
+ /// <summary>
+ /// The key for the FFmpeg probe size option.
+ /// </summary>
+ public const string FfmpegProbeSizeKey = "FFmpeg_probesize";
+
+ /// <summary>
+ /// The key for the FFmpeg analyse duration option.
+ /// </summary>
+ public const string FfmpegAnalyzeDuration = "FFmpeg_analyzeduration";
+
+ /// <summary>
+ /// Retrieves the FFmpeg probe size from the <see cref="IConfiguration" />.
+ /// </summary>
+ /// <param name="configuration">This configuration.</param>
+ /// <returns>The FFmpeg probe size option.</returns>
+ public static string GetProbeSize(this IConfiguration configuration)
+ => configuration[FfmpegProbeSizeKey];
+
+ /// <summary>
+ /// Retrieves the FFmpeg analyse duration from the <see cref="IConfiguration" />.
+ /// </summary>
+ /// <param name="configuration">This configuration.</param>
+ /// <returns>The FFmpeg analyse duration option.</returns>
+ public static string GetAnalyzeDuration(this IConfiguration configuration)
+ => configuration[FfmpegAnalyzeDuration];
+ }
+}