aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Extensions/ConfigurationExtensions.cs
diff options
context:
space:
mode:
authordkanada <dkanada@users.noreply.github.com>2019-12-18 08:54:40 +0900
committerGitHub <noreply@github.com>2019-12-18 08:54:40 +0900
commitbc7cbfb21aced3ad72ddd98183ad457e50b48dc8 (patch)
treee9766356fdc2106874f491deab5b67a0964f5a35 /MediaBrowser.Controller/Extensions/ConfigurationExtensions.cs
parent0f444c21e9d2e2e8dbb4c454cc7d3dc467de8d32 (diff)
parent6464bca791b515cac3059fd6e166149b18b5086f (diff)
Merge pull request #1941 from Bond-009/mediaencoding
Make probesize and analyzeduration configurable and simplify circular dependencies
Diffstat (limited to 'MediaBrowser.Controller/Extensions/ConfigurationExtensions.cs')
-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..76c9b4b26
--- /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 FfmpegAnalyzeDurationKey = "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 GetFFmpegProbeSize(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 GetFFmpegAnalyzeDuration(this IConfiguration configuration)
+ => configuration[FfmpegAnalyzeDurationKey];
+ }
+}