aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs')
-rw-r--r--MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs11
1 files changed, 11 insertions, 0 deletions
diff --git a/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs b/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs
index de055146a..c16d3afbd 100644
--- a/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs
+++ b/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs
@@ -180,6 +180,17 @@ namespace MediaBrowser.MediaEncoding.Probing
{
info.Video3DFormat = Video3DFormat.FullSideBySide;
}
+
+ var videoStreamsBitrate = info.MediaStreams.Where(i => i.Type == MediaStreamType.Video).Select(i => i.BitRate ?? 0).Sum();
+ // If ffprobe reported the container bitrate as being the same as the video stream bitrate, then it's wrong
+ if (videoStreamsBitrate == (info.Bitrate ?? 0))
+ {
+ var streamBitrates = info.MediaStreams.Where(i => !i.IsExternal).Select(i => i.BitRate ?? 0).Sum();
+ if (streamBitrates > (info.Bitrate ?? 0))
+ {
+ info.Bitrate = streamBitrates;
+ }
+ }
}
return info;