Przeglądaj źródła

Merge pull request #7198 from dmitrylyzo/transcode-conditions

Joshua M. Boniface 3 lat temu
rodzic
commit
8197e5921e

+ 5 - 0
MediaBrowser.Model/Dlna/StreamBuilder.cs

@@ -699,6 +699,11 @@ namespace MediaBrowser.Model.Dlna
                     if (playlistItem.PlayMethod != PlayMethod.DirectPlay)
                     {
                         playlistItem.PlayMethod = PlayMethod.Transcode;
+
+                        if ((playlistItem.TranscodeReasons & (VideoReasons | TranscodeReason.ContainerBitrateExceedsLimit)) != 0)
+                        {
+                            ApplyTranscodingConditions(playlistItem, transcodingProfile.Conditions, null, true, true);
+                        }
                     }
                 }
             }

+ 8 - 0
MediaBrowser.Model/Dlna/TranscodingProfile.cs

@@ -1,5 +1,6 @@
 #pragma warning disable CS1591
 
+using System;
 using System.ComponentModel;
 using System.Xml.Serialization;
 
@@ -7,6 +8,11 @@ namespace MediaBrowser.Model.Dlna
 {
     public class TranscodingProfile
     {
+        public TranscodingProfile()
+        {
+            Conditions = Array.Empty<ProfileCondition>();
+        }
+
         [XmlAttribute("container")]
         public string Container { get; set; } = string.Empty;
 
@@ -61,6 +67,8 @@ namespace MediaBrowser.Model.Dlna
         [XmlAttribute("breakOnNonKeyFrames")]
         public bool BreakOnNonKeyFrames { get; set; }
 
+        public ProfileCondition[] Conditions { get; set; }
+
         public string[] GetAudioCodecs()
         {
             return ContainerProfile.SplitValue(AudioCodec);