aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua M. Boniface <joshua@boniface.me>2022-03-25 10:11:45 -0400
committerGitHub <noreply@github.com>2022-03-25 10:11:45 -0400
commit8197e5921efb41718dc41fd8269ae2a41aacf957 (patch)
tree0370482e12b5e0fde30e63cbb30da567c5670475
parent5f7ffd786309df52cfa0f3e10c73b27db55a978a (diff)
parente4137a62799309ad9cba410e6c6c4e20f635642a (diff)
Merge pull request #7198 from dmitrylyzo/transcode-conditions
-rw-r--r--MediaBrowser.Model/Dlna/StreamBuilder.cs5
-rw-r--r--MediaBrowser.Model/Dlna/TranscodingProfile.cs8
2 files changed, 13 insertions, 0 deletions
diff --git a/MediaBrowser.Model/Dlna/StreamBuilder.cs b/MediaBrowser.Model/Dlna/StreamBuilder.cs
index a0fe3867e..93b0a454c 100644
--- a/MediaBrowser.Model/Dlna/StreamBuilder.cs
+++ b/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);
+ }
}
}
}
diff --git a/MediaBrowser.Model/Dlna/TranscodingProfile.cs b/MediaBrowser.Model/Dlna/TranscodingProfile.cs
index 709bdad31..b4f6ec255 100644
--- a/MediaBrowser.Model/Dlna/TranscodingProfile.cs
+++ b/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);