mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-03-05 09:46:17 +00:00
Merge remote-tracking branch 'remotes/jellyfin/api-migration' into api-audio
# Conflicts: # Emby.Server.Implementations/ApplicationHost.cs # Jellyfin.Api/Helpers/TranscodingJobHelper.cs
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -127,13 +127,19 @@ namespace MediaBrowser.Controller.MediaEncoding
|
||||
public string AlbumCoverPath { get; set; }
|
||||
|
||||
public string InputAudioSync { get; set; }
|
||||
|
||||
public string InputVideoSync { get; set; }
|
||||
|
||||
public TransportStreamTimestamp InputTimestamp { get; set; }
|
||||
|
||||
public MediaStream AudioStream { get; set; }
|
||||
|
||||
public string[] SupportedAudioCodecs { get; set; }
|
||||
|
||||
public string[] SupportedVideoCodecs { get; set; }
|
||||
|
||||
public string InputContainer { get; set; }
|
||||
|
||||
public IsoType? IsoType { get; set; }
|
||||
|
||||
public BaseEncodingJobOptions BaseRequest { get; set; }
|
||||
@@ -293,6 +299,7 @@ namespace MediaBrowser.Controller.MediaEncoding
|
||||
}
|
||||
|
||||
public bool IsVideoRequest { get; set; }
|
||||
|
||||
public TranscodingJobType TranscodingType { get; set; }
|
||||
|
||||
public EncodingJobInfo(TranscodingJobType jobType)
|
||||
@@ -418,7 +425,7 @@ namespace MediaBrowser.Controller.MediaEncoding
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Predicts the audio sample rate that will be in the output stream
|
||||
/// Predicts the audio sample rate that will be in the output stream.
|
||||
/// </summary>
|
||||
public double? TargetVideoLevel
|
||||
{
|
||||
@@ -441,7 +448,7 @@ namespace MediaBrowser.Controller.MediaEncoding
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Predicts the audio sample rate that will be in the output stream
|
||||
/// Predicts the audio sample rate that will be in the output stream.
|
||||
/// </summary>
|
||||
public int? TargetVideoBitDepth
|
||||
{
|
||||
@@ -476,7 +483,7 @@ namespace MediaBrowser.Controller.MediaEncoding
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Predicts the audio sample rate that will be in the output stream
|
||||
/// Predicts the audio sample rate that will be in the output stream.
|
||||
/// </summary>
|
||||
public float? TargetFramerate
|
||||
{
|
||||
@@ -508,7 +515,7 @@ namespace MediaBrowser.Controller.MediaEncoding
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Predicts the audio sample rate that will be in the output stream
|
||||
/// Predicts the audio sample rate that will be in the output stream.
|
||||
/// </summary>
|
||||
public int? TargetPacketLength
|
||||
{
|
||||
@@ -524,7 +531,7 @@ namespace MediaBrowser.Controller.MediaEncoding
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Predicts the audio sample rate that will be in the output stream
|
||||
/// Predicts the audio sample rate that will be in the output stream.
|
||||
/// </summary>
|
||||
public string TargetVideoProfile
|
||||
{
|
||||
@@ -672,6 +679,7 @@ namespace MediaBrowser.Controller.MediaEncoding
|
||||
}
|
||||
|
||||
public IProgress<double> Progress { get; set; }
|
||||
|
||||
public virtual void ReportTranscodingProgress(TimeSpan? transcodingPosition, float? framerate, double? percentComplete, long? bytesTranscoded, int? bitRate)
|
||||
{
|
||||
Progress.Report(percentComplete.Value);
|
||||
@@ -679,20 +687,20 @@ namespace MediaBrowser.Controller.MediaEncoding
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Enum TranscodingJobType
|
||||
/// Enum TranscodingJobType.
|
||||
/// </summary>
|
||||
public enum TranscodingJobType
|
||||
{
|
||||
/// <summary>
|
||||
/// The progressive
|
||||
/// The progressive.
|
||||
/// </summary>
|
||||
Progressive,
|
||||
/// <summary>
|
||||
/// The HLS
|
||||
/// The HLS.
|
||||
/// </summary>
|
||||
Hls,
|
||||
/// <summary>
|
||||
/// The dash
|
||||
/// The dash.
|
||||
/// </summary>
|
||||
Dash
|
||||
}
|
||||
|
||||
@@ -9,9 +9,11 @@ namespace MediaBrowser.Controller.MediaEncoding
|
||||
public class EncodingJobOptions : BaseEncodingJobOptions
|
||||
{
|
||||
public string OutputDirectory { get; set; }
|
||||
|
||||
public string ItemId { get; set; }
|
||||
|
||||
public string TempDirectory { get; set; }
|
||||
|
||||
public bool ReadInputAtNativeFramerate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
@@ -47,6 +49,7 @@ namespace MediaBrowser.Controller.MediaEncoding
|
||||
{
|
||||
SubtitleStreamIndex = info.SubtitleStreamIndex;
|
||||
}
|
||||
|
||||
StreamOptions = info.StreamOptions;
|
||||
}
|
||||
}
|
||||
@@ -81,7 +84,9 @@ namespace MediaBrowser.Controller.MediaEncoding
|
||||
public bool EnableAutoStreamCopy { get; set; }
|
||||
|
||||
public bool AllowVideoStreamCopy { get; set; }
|
||||
|
||||
public bool AllowAudioStreamCopy { get; set; }
|
||||
|
||||
public bool BreakOnNonKeyFrames { get; set; }
|
||||
|
||||
/// <summary>
|
||||
@@ -197,10 +202,15 @@ namespace MediaBrowser.Controller.MediaEncoding
|
||||
|
||||
[ApiMember(Name = "MaxVideoBitDepth", Description = "Optional.", IsRequired = false, DataType = "int", ParameterType = "query", Verb = "GET")]
|
||||
public int? MaxVideoBitDepth { get; set; }
|
||||
|
||||
public bool RequireAvc { get; set; }
|
||||
|
||||
public bool DeInterlace { get; set; }
|
||||
|
||||
public bool RequireNonAnamorphic { get; set; }
|
||||
|
||||
public int? TranscodingMaxAudioChannels { get; set; }
|
||||
|
||||
public int? CpuCoreLimit { get; set; }
|
||||
|
||||
public string LiveStreamId { get; set; }
|
||||
|
||||
@@ -11,7 +11,7 @@ using MediaBrowser.Model.System;
|
||||
namespace MediaBrowser.Controller.MediaEncoding
|
||||
{
|
||||
/// <summary>
|
||||
/// Interface IMediaEncoder
|
||||
/// Interface IMediaEncoder.
|
||||
/// </summary>
|
||||
public interface IMediaEncoder : ITranscoderSupport
|
||||
{
|
||||
@@ -27,12 +27,26 @@ namespace MediaBrowser.Controller.MediaEncoding
|
||||
string EncoderPath { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Supportses the decoder.
|
||||
/// Whether given encoder codec is supported.
|
||||
/// </summary>
|
||||
/// <param name="encoder">The encoder.</param>
|
||||
/// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
|
||||
bool SupportsEncoder(string encoder);
|
||||
|
||||
/// <summary>
|
||||
/// Whether given decoder codec is supported.
|
||||
/// </summary>
|
||||
/// <param name="decoder">The decoder.</param>
|
||||
/// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
|
||||
bool SupportsDecoder(string decoder);
|
||||
|
||||
/// <summary>
|
||||
/// Whether given hardware acceleration type is supported.
|
||||
/// </summary>
|
||||
/// <param name="hwaccel">The hwaccel.</param>
|
||||
/// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
|
||||
bool SupportsHwaccel(string hwaccel);
|
||||
|
||||
/// <summary>
|
||||
/// Extracts the audio image.
|
||||
/// </summary>
|
||||
@@ -98,7 +112,6 @@ namespace MediaBrowser.Controller.MediaEncoding
|
||||
void SetFFmpegPath();
|
||||
|
||||
void UpdateEncoderPath(string path, string pathType);
|
||||
bool SupportsEncoder(string encoder);
|
||||
|
||||
IEnumerable<string> GetPrimaryPlaylistVobFiles(string path, IIsoMount isoMount, uint? titleNumber);
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ using MediaBrowser.Model.IO;
|
||||
namespace MediaBrowser.Controller.MediaEncoding
|
||||
{
|
||||
/// <summary>
|
||||
/// Class MediaEncoderHelpers
|
||||
/// Class MediaEncoderHelpers.
|
||||
/// </summary>
|
||||
public static class MediaEncoderHelpers
|
||||
{
|
||||
|
||||
@@ -8,9 +8,13 @@ namespace MediaBrowser.Controller.MediaEncoding
|
||||
public class MediaInfoRequest
|
||||
{
|
||||
public MediaSourceInfo MediaSource { get; set; }
|
||||
|
||||
public bool ExtractChapters { get; set; }
|
||||
|
||||
public DlnaProfileType MediaType { get; set; }
|
||||
|
||||
public IIsoMount MountedIso { get; set; }
|
||||
|
||||
public string[] PlayableStreamFileNames { get; set; }
|
||||
|
||||
public MediaInfoRequest()
|
||||
|
||||
Reference in New Issue
Block a user