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.cs34
1 files changed, 11 insertions, 23 deletions
diff --git a/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs b/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs
index d4df19af2..55b3398bb 100644
--- a/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs
+++ b/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs
@@ -1,5 +1,4 @@
using MediaBrowser.Common.IO;
-using MediaBrowser.MediaInfo;
using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Extensions;
@@ -26,7 +25,7 @@ namespace MediaBrowser.MediaEncoding.Probing
_fileSystem = fileSystem;
}
- public Model.MediaInfo.MediaInfo GetMediaInfo(InternalMediaInfoResult data, VideoType videoType, bool isAudio, string path, MediaProtocol protocol)
+ public MediaInfo GetMediaInfo(InternalMediaInfoResult data, VideoType videoType, bool isAudio, string path, MediaProtocol protocol)
{
var info = new Model.MediaInfo.MediaInfo
{
@@ -109,7 +108,7 @@ namespace MediaBrowser.MediaEncoding.Probing
if (videoStream != null && videoType == VideoType.VideoFile)
{
- UpdateFromMediaInfo(info, videoStream);
+ DetectInterlaced(info, videoStream);
}
}
@@ -934,29 +933,18 @@ namespace MediaBrowser.MediaEncoding.Probing
return TransportStreamTimestamp.None;
}
- private void UpdateFromMediaInfo(MediaSourceInfo video, MediaStream videoStream)
+ private void DetectInterlaced(MediaSourceInfo video, MediaStream videoStream)
{
- if (video.Protocol == MediaProtocol.File && videoStream != null)
+ if (video.Protocol != MediaProtocol.File || videoStream == null)
{
- try
- {
- _logger.Debug("Running MediaInfo against {0}", video.Path);
-
- var result = new MediaInfoLib().GetVideoInfo(video.Path);
+ return;
+ }
- videoStream.IsCabac = result.IsCabac ?? videoStream.IsCabac;
- videoStream.IsInterlaced = result.IsInterlaced ?? videoStream.IsInterlaced;
- videoStream.BitDepth = result.BitDepth ?? videoStream.BitDepth;
- videoStream.RefFrames = result.RefFrames ?? videoStream.RefFrames;
- }
- catch (TypeLoadException)
- {
- // This is non-essential. Don't spam the log
- }
- catch (Exception ex)
- {
- _logger.ErrorException("Error running MediaInfo on {0}", ex, video.Path);
- }
+ // Take a shortcut and limit this to containers that are likely to have interlaced content
+ if (!string.Equals(video.Container, "ts", StringComparison.OrdinalIgnoreCase) &&
+ !string.Equals(video.Container, "wtv", StringComparison.OrdinalIgnoreCase))
+ {
+ return;
}
}
}