diff options
| author | gnattu <gnattu@users.noreply.github.com> | 2024-03-28 23:26:01 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-28 09:26:01 -0600 |
| commit | be21d51742f3bd85f5401c925791148bdc4b0cbf (patch) | |
| tree | 8f8ed07c692360b86266998916ae8c844f22ccf9 | |
| parent | aac96addfeb5fa6a02450935c89e2580532c4652 (diff) | |
fix: move trickplay specific option into TrickplayOptions (#11229)
5 files changed, 10 insertions, 7 deletions
diff --git a/Jellyfin.Server.Implementations/Trickplay/TrickplayManager.cs b/Jellyfin.Server.Implementations/Trickplay/TrickplayManager.cs index 095bc9ed3..fed5dab69 100644 --- a/Jellyfin.Server.Implementations/Trickplay/TrickplayManager.cs +++ b/Jellyfin.Server.Implementations/Trickplay/TrickplayManager.cs @@ -141,6 +141,7 @@ public class TrickplayManager : ITrickplayManager width, TimeSpan.FromMilliseconds(options.Interval), options.EnableHwAcceleration, + options.EnableHwEncoding, options.ProcessThreads, options.Qscale, options.ProcessPriority, diff --git a/MediaBrowser.Controller/MediaEncoding/IMediaEncoder.cs b/MediaBrowser.Controller/MediaEncoding/IMediaEncoder.cs index c2cef4978..e696fa52c 100644 --- a/MediaBrowser.Controller/MediaEncoding/IMediaEncoder.cs +++ b/MediaBrowser.Controller/MediaEncoding/IMediaEncoder.cs @@ -149,6 +149,7 @@ namespace MediaBrowser.Controller.MediaEncoding /// <param name="maxWidth">The maximum width.</param> /// <param name="interval">The interval.</param> /// <param name="allowHwAccel">Allow for hardware acceleration.</param> + /// <param name="enableHwEncoding">Use hardware mjpeg encoder.</param> /// <param name="threads">The input/output thread count for ffmpeg.</param> /// <param name="qualityScale">The qscale value for ffmpeg.</param> /// <param name="priority">The process priority for the ffmpeg process.</param> @@ -163,6 +164,7 @@ namespace MediaBrowser.Controller.MediaEncoding int maxWidth, TimeSpan interval, bool allowHwAccel, + bool enableHwEncoding, int? threads, int? qualityScale, ProcessPriorityClass? priority, diff --git a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs index 3df444205..6c43315a8 100644 --- a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs +++ b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs @@ -800,6 +800,7 @@ namespace MediaBrowser.MediaEncoding.Encoder int maxWidth, TimeSpan interval, bool allowHwAccel, + bool enableHwEncoding, int? threads, int? qualityScale, ProcessPriorityClass? priority, @@ -828,7 +829,7 @@ namespace MediaBrowser.MediaEncoding.Encoder MediaPath = inputFile, OutputVideoCodec = "mjpeg" }; - var vidEncoder = options.AllowMjpegEncoding ? encodingHelper.GetVideoEncoder(jobState, options) : jobState.OutputVideoCodec; + var vidEncoder = enableHwEncoding ? encodingHelper.GetVideoEncoder(jobState, options) : jobState.OutputVideoCodec; // Get input and filter arguments var inputArg = encodingHelper.GetInputArgument(jobState, options, container).Trim(); diff --git a/MediaBrowser.Model/Configuration/EncodingOptions.cs b/MediaBrowser.Model/Configuration/EncodingOptions.cs index ab6f0d867..9a192f584 100644 --- a/MediaBrowser.Model/Configuration/EncodingOptions.cs +++ b/MediaBrowser.Model/Configuration/EncodingOptions.cs @@ -51,7 +51,6 @@ public class EncodingOptions EnableHardwareEncoding = true; AllowHevcEncoding = false; AllowAv1Encoding = false; - AllowMjpegEncoding = false; EnableSubtitleExtraction = true; AllowOnDemandMetadataBasedKeyframeExtractionForExtensions = new[] { "mkv" }; HardwareDecodingCodecs = new string[] { "h264", "vc1" }; @@ -263,11 +262,6 @@ public class EncodingOptions public bool AllowAv1Encoding { get; set; } /// <summary> - /// Gets or sets a value indicating whether MJPEG encoding is enabled. - /// </summary> - public bool AllowMjpegEncoding { get; set; } - - /// <summary> /// Gets or sets a value indicating whether subtitle extraction is enabled. /// </summary> public bool EnableSubtitleExtraction { get; set; } diff --git a/MediaBrowser.Model/Configuration/TrickplayOptions.cs b/MediaBrowser.Model/Configuration/TrickplayOptions.cs index 92c16ee84..a151d3429 100644 --- a/MediaBrowser.Model/Configuration/TrickplayOptions.cs +++ b/MediaBrowser.Model/Configuration/TrickplayOptions.cs @@ -14,6 +14,11 @@ public class TrickplayOptions public bool EnableHwAcceleration { get; set; } = false; /// <summary> + /// Gets or sets a value indicating whether or not to use HW accelerated MJPEG encoding. + /// </summary> + public bool EnableHwEncoding { 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; |
