aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Model/Dto
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2017-01-21 15:27:07 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2017-01-21 15:27:07 -0500
commit2ef30a3ba85190adb38ad7b2f360c2018cd0a5ff (patch)
tree99bceeee3e86def1c651ad209416202a67db7daa /MediaBrowser.Model/Dto
parent0bf95da493e91b6713f9b3ec76d6c9659a04ec10 (diff)
update program titles
Diffstat (limited to 'MediaBrowser.Model/Dto')
-rw-r--r--MediaBrowser.Model/Dto/MediaSourceInfo.cs30
1 files changed, 28 insertions, 2 deletions
diff --git a/MediaBrowser.Model/Dto/MediaSourceInfo.cs b/MediaBrowser.Model/Dto/MediaSourceInfo.cs
index 4f93f476f3..250cbeb107 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; }