aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/MediaEncoding/EncodingJobOptions.cs
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2017-10-01 23:35:45 -0400
committerGitHub <noreply@github.com>2017-10-01 23:35:45 -0400
commita73da532d52ae68ad01965dbf368bacc7d56a218 (patch)
treea6f05e95515f822dfc129c36554f74f1da4d4c23 /MediaBrowser.Controller/MediaEncoding/EncodingJobOptions.cs
parentf651fd6ffba80a6f8e54fca7d014622692cc08f7 (diff)
parent796f374359d75e22d2095b3f3a8f9b220cacde27 (diff)
Merge pull request #2931 from MediaBrowser/beta
Beta
Diffstat (limited to 'MediaBrowser.Controller/MediaEncoding/EncodingJobOptions.cs')
-rw-r--r--MediaBrowser.Controller/MediaEncoding/EncodingJobOptions.cs46
1 files changed, 36 insertions, 10 deletions
diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingJobOptions.cs b/MediaBrowser.Controller/MediaEncoding/EncodingJobOptions.cs
index 5fc93bf38..bac2a6e65 100644
--- a/MediaBrowser.Controller/MediaEncoding/EncodingJobOptions.cs
+++ b/MediaBrowser.Controller/MediaEncoding/EncodingJobOptions.cs
@@ -1,4 +1,7 @@
-using System.Globalization;
+using System;
+using System.Collections.Generic;
+using System.Globalization;
+using System.Linq;
using MediaBrowser.Model.Dlna;
using MediaBrowser.Model.Services;
@@ -37,18 +40,16 @@ namespace MediaBrowser.Controller.MediaEncoding
MaxWidth = info.MaxWidth;
MaxHeight = info.MaxHeight;
MaxFramerate = info.MaxFramerate;
- Profile = info.VideoProfile;
ItemId = info.ItemId;
MediaSourceId = info.MediaSourceId;
- AudioCodec = info.TargetAudioCodec;
+ AudioCodec = info.TargetAudioCodec.FirstOrDefault();
MaxAudioChannels = info.MaxAudioChannels;
AudioBitRate = info.AudioBitrate;
AudioSampleRate = info.TargetAudioSampleRate;
DeviceProfile = deviceProfile;
- VideoCodec = info.TargetVideoCodec;
+ VideoCodec = info.TargetVideoCodec.FirstOrDefault();
VideoBitRate = info.VideoBitrate;
AudioStreamIndex = info.AudioStreamIndex;
- MaxRefFrames = info.MaxRefFrames;
MaxVideoBitDepth = info.MaxVideoBitDepth;
SubtitleMethod = info.SubtitleDeliveryMethod;
Context = info.Context;
@@ -58,11 +59,7 @@ namespace MediaBrowser.Controller.MediaEncoding
{
SubtitleStreamIndex = info.SubtitleStreamIndex;
}
-
- if (info.VideoLevel.HasValue)
- {
- Level = info.VideoLevel.Value.ToString(_usCulture);
- }
+ StreamOptions = info.StreamOptions;
}
}
@@ -224,12 +221,41 @@ namespace MediaBrowser.Controller.MediaEncoding
public EncodingContext Context { get; set; }
+ public void SetOption(string qualifier, string name, string value)
+ {
+ SetOption(qualifier + "-" + name, value);
+ }
+
+ public Dictionary<string, string> StreamOptions { get; set; }
+
+ public void SetOption(string name, string value)
+ {
+ StreamOptions[name] = value;
+ }
+
+ public string GetOption(string qualifier, string name)
+ {
+ return GetOption(qualifier + "-" + name);
+ }
+
+ public string GetOption(string name)
+ {
+ string value;
+ if (StreamOptions.TryGetValue(name, out value))
+ {
+ return value;
+ }
+
+ return null;
+ }
+
public BaseEncodingJobOptions()
{
EnableAutoStreamCopy = true;
AllowVideoStreamCopy = true;
AllowAudioStreamCopy = true;
Context = EncodingContext.Streaming;
+ StreamOptions = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
}
}
}