diff options
Diffstat (limited to 'MediaBrowser.Model/Dto/MediaSourceInfo.cs')
| -rw-r--r-- | MediaBrowser.Model/Dto/MediaSourceInfo.cs | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/MediaBrowser.Model/Dto/MediaSourceInfo.cs b/MediaBrowser.Model/Dto/MediaSourceInfo.cs index 4f93f476f..250cbeb10 100644 --- a/MediaBrowser.Model/Dto/MediaSourceInfo.cs +++ b/MediaBrowser.Model/Dto/MediaSourceInfo.cs @@ -1,8 +1,8 @@ -using System; -using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Entities; using MediaBrowser.Model.Extensions; using MediaBrowser.Model.MediaInfo; using System.Collections.Generic; +using System.Linq; using MediaBrowser.Model.Serialization; namespace MediaBrowser.Model.Dto @@ -72,6 +72,32 @@ namespace MediaBrowser.Model.Dto SupportsProbing = true; } + public void InferTotalBitrate() + { + if (Bitrate.HasValue || MediaStreams == null) + { + return; + } + + var internalStreams = MediaStreams + .Where(i => !i.IsExternal) + .ToList(); + + if (internalStreams.Count == 0) + { + return; + } + + var bitrate = internalStreams + .Select(m => m.BitRate ?? 0) + .Sum(); + + if (bitrate > 0) + { + Bitrate = bitrate; + } + } + public int? DefaultAudioStreamIndex { get; set; } public int? DefaultSubtitleStreamIndex { get; set; } |
