aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Model/Configuration/TrickplayOptions.cs
diff options
context:
space:
mode:
authorJoshua M. Boniface <joshua@boniface.me>2023-10-19 01:45:42 -0400
committerGitHub <noreply@github.com>2023-10-19 01:45:42 -0400
commit8859a3ac8ea44f1a53668e0a7522cf4c875c4be8 (patch)
treeedc6ad0f1f241c2c3c2cdba5359d4d3006636d33 /MediaBrowser.Model/Configuration/TrickplayOptions.cs
parentde08d38a6f2a6e773fa1000574e08322605b56d3 (diff)
parent6b94d55e1ef7ca95e0ddc2a88b0ff0fd63d630a9 (diff)
Merge pull request #9554 from nicknsy/trickplay
Diffstat (limited to 'MediaBrowser.Model/Configuration/TrickplayOptions.cs')
-rw-r--r--MediaBrowser.Model/Configuration/TrickplayOptions.cs60
1 files changed, 60 insertions, 0 deletions
diff --git a/MediaBrowser.Model/Configuration/TrickplayOptions.cs b/MediaBrowser.Model/Configuration/TrickplayOptions.cs
new file mode 100644
index 0000000000..92c16ee84f
--- /dev/null
+++ b/MediaBrowser.Model/Configuration/TrickplayOptions.cs
@@ -0,0 +1,60 @@
+using System.Collections.Generic;
+using System.Diagnostics;
+
+namespace MediaBrowser.Model.Configuration;
+
+/// <summary>
+/// Class TrickplayOptions.
+/// </summary>
+public class TrickplayOptions
+{
+ /// <summary>
+ /// Gets or sets a value indicating whether or not to use HW acceleration.
+ /// </summary>
+ public bool EnableHwAcceleration { get; set; } = false;
+
+ /// <summary>
+ /// Gets or sets the behavior used by trickplay provider on library scan/update.
+ /// </summary>
+ public TrickplayScanBehavior ScanBehavior { get; set; } = TrickplayScanBehavior.NonBlocking;
+
+ /// <summary>
+ /// Gets or sets the process priority for the ffmpeg process.
+ /// </summary>
+ public ProcessPriorityClass ProcessPriority { get; set; } = ProcessPriorityClass.BelowNormal;
+
+ /// <summary>
+ /// Gets or sets the interval, in ms, between each new trickplay image.
+ /// </summary>
+ public int Interval { get; set; } = 10000;
+
+ /// <summary>
+ /// Gets or sets the target width resolutions, in px, to generates preview images for.
+ /// </summary>
+ public int[] WidthResolutions { get; set; } = new[] { 320 };
+
+ /// <summary>
+ /// Gets or sets number of tile images to allow in X dimension.
+ /// </summary>
+ public int TileWidth { get; set; } = 10;
+
+ /// <summary>
+ /// Gets or sets number of tile images to allow in Y dimension.
+ /// </summary>
+ public int TileHeight { get; set; } = 10;
+
+ /// <summary>
+ /// Gets or sets the ffmpeg output quality level.
+ /// </summary>
+ public int Qscale { get; set; } = 4;
+
+ /// <summary>
+ /// Gets or sets the jpeg quality to use for image tiles.
+ /// </summary>
+ public int JpegQuality { get; set; } = 90;
+
+ /// <summary>
+ /// Gets or sets the number of threads to be used by ffmpeg.
+ /// </summary>
+ public int ProcessThreads { get; set; } = 1;
+}