aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.MediaEncoding/Encoder/EncodingJob.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2017-02-02 11:02:01 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2017-02-02 11:02:01 -0500
commit5edaf12d40188bc4d3b9544fcd1905e6ec1c459a (patch)
tree2eaa2c93b6e90297f0adb183d4a0353b4c896023 /MediaBrowser.MediaEncoding/Encoder/EncodingJob.cs
parent39e8e3cbe7865ba618c67c612a191b134f5ad186 (diff)
move encoding methods to shared classes
Diffstat (limited to 'MediaBrowser.MediaEncoding/Encoder/EncodingJob.cs')
-rw-r--r--MediaBrowser.MediaEncoding/Encoder/EncodingJob.cs83
1 files changed, 10 insertions, 73 deletions
diff --git a/MediaBrowser.MediaEncoding/Encoder/EncodingJob.cs b/MediaBrowser.MediaEncoding/Encoder/EncodingJob.cs
index b5ff5cbb6..f6895696a 100644
--- a/MediaBrowser.MediaEncoding/Encoder/EncodingJob.cs
+++ b/MediaBrowser.MediaEncoding/Encoder/EncodingJob.cs
@@ -17,7 +17,7 @@ using System.Threading.Tasks;
namespace MediaBrowser.MediaEncoding.Encoder
{
- public class EncodingJob : IDisposable
+ public class EncodingJob : EncodingJobInfo, IDisposable
{
public bool HasExited { get; internal set; }
public bool IsCancelled { get; internal set; }
@@ -25,46 +25,24 @@ namespace MediaBrowser.MediaEncoding.Encoder
public Stream LogFileStream { get; set; }
public IProgress<double> Progress { get; set; }
public TaskCompletionSource<bool> TaskCompletionSource;
- public EncodingJobOptions Options { get; set; }
- public string InputContainer { get; set; }
- public MediaSourceInfo MediaSource { get; set; }
- public MediaStream AudioStream { get; set; }
- public MediaStream VideoStream { get; set; }
- public MediaStream SubtitleStream { get; set; }
- public IIsoMount IsoMount { get; set; }
-
- public bool ReadInputAtNativeFramerate { get; set; }
- public bool IsVideoRequest { get; set; }
- public string InputAudioSync { get; set; }
- public string InputVideoSync { get; set; }
- public string Id { get; set; }
- public string MediaPath { get; set; }
- public MediaProtocol InputProtocol { get; set; }
- public bool IsInputVideo { get; set; }
- public VideoType VideoType { get; set; }
- public IsoType? IsoType { get; set; }
- public List<string> PlayableStreamFileNames { get; set; }
+ public EncodingJobOptions Options
+ {
+ get { return (EncodingJobOptions) BaseRequest; }
+ set { BaseRequest = value; }
+ }
- public List<string> SupportedAudioCodecs { get; set; }
- public Dictionary<string, string> RemoteHttpHeaders { get; set; }
- public TransportStreamTimestamp InputTimestamp { get; set; }
+ public string Id { get; set; }
- public bool DeInterlace { get; set; }
public string MimeType { get; set; }
public bool EstimateContentLength { get; set; }
public bool EnableMpegtsM2TsMode { get; set; }
public TranscodeSeekInfo TranscodeSeekInfo { get; set; }
public long? EncodingDurationTicks { get; set; }
public string LiveStreamId { get; set; }
- public long? RunTimeTicks;
public string ItemType { get; set; }
- public long? InputBitrate { get; set; }
- public long? InputFileSize { get; set; }
- public string OutputAudioSync = "1";
- public string OutputVideoSync = "vfr";
public string AlbumCoverPath { get; set; }
public string GetMimeType(string outputPath)
@@ -80,17 +58,14 @@ namespace MediaBrowser.MediaEncoding.Encoder
private readonly ILogger _logger;
private readonly IMediaSourceManager _mediaSourceManager;
- public EncodingJob(ILogger logger, IMediaSourceManager mediaSourceManager)
+ public EncodingJob(ILogger logger, IMediaSourceManager mediaSourceManager) :
+ base(logger)
{
_logger = logger;
_mediaSourceManager = mediaSourceManager;
Id = Guid.NewGuid().ToString("N");
- RemoteHttpHeaders = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
_logger = logger;
- SupportedAudioCodecs = new List<string>();
- PlayableStreamFileNames = new List<string>();
- RemoteHttpHeaders = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
TaskCompletionSource = new TaskCompletionSource<bool>();
}
@@ -118,23 +93,6 @@ namespace MediaBrowser.MediaEncoding.Encoder
}
}
- private void DisposeIsoMount()
- {
- if (IsoMount != null)
- {
- try
- {
- IsoMount.Dispose();
- }
- catch (Exception ex)
- {
- _logger.ErrorException("Error disposing iso mount", ex);
- }
-
- IsoMount = null;
- }
- }
-
private async void DisposeLiveStream()
{
if (MediaSource.RequiresClosing)
@@ -150,15 +108,8 @@ namespace MediaBrowser.MediaEncoding.Encoder
}
}
- public int InternalSubtitleStreamOffset { get; set; }
-
public string OutputFilePath { get; set; }
- public string OutputVideoCodec { get; set; }
- public string OutputAudioCodec { get; set; }
- public int? OutputAudioChannels;
- public int? OutputAudioSampleRate;
public int? OutputAudioBitrate;
- public int? OutputVideoBitrate;
public string ActualOutputVideoCodec
{
@@ -313,25 +264,11 @@ namespace MediaBrowser.MediaEncoding.Encoder
}
}
- /// <summary>
- /// Predicts the audio sample rate that will be in the output stream
- /// </summary>
- public double? TargetVideoLevel
- {
- get
- {
- var stream = VideoStream;
- return Options.Level.HasValue && !Options.Static
- ? Options.Level.Value
- : stream == null ? null : stream.Level;
- }
- }
-
public TransportStreamTimestamp TargetTimestamp
{
get
{
- var defaultValue = string.Equals(Options.OutputContainer, "m2ts", StringComparison.OrdinalIgnoreCase) ?
+ var defaultValue = string.Equals(OutputContainer, "m2ts", StringComparison.OrdinalIgnoreCase) ?
TransportStreamTimestamp.Valid :
TransportStreamTimestamp.None;