diff options
| author | Joshua M. Boniface <joshua@boniface.me> | 2022-03-25 10:11:45 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-03-25 10:11:45 -0400 |
| commit | 8197e5921efb41718dc41fd8269ae2a41aacf957 (patch) | |
| tree | 0370482e12b5e0fde30e63cbb30da567c5670475 | |
| parent | 5f7ffd786309df52cfa0f3e10c73b27db55a978a (diff) | |
| parent | e4137a62799309ad9cba410e6c6c4e20f635642a (diff) | |
Merge pull request #7198 from dmitrylyzo/transcode-conditions
| -rw-r--r-- | MediaBrowser.Model/Dlna/StreamBuilder.cs | 5 | ||||
| -rw-r--r-- | MediaBrowser.Model/Dlna/TranscodingProfile.cs | 8 |
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); |
