diff options
| author | Luke <luke.pulverenti@gmail.com> | 2015-12-22 12:35:15 -0500 |
|---|---|---|
| committer | Luke <luke.pulverenti@gmail.com> | 2015-12-22 12:35:15 -0500 |
| commit | fabe9b1caa96334552e17c4ce55e8df3e8a5d9b1 (patch) | |
| tree | be13ac310c259de71ebefd39e3cb9e6049b98cf1 | |
| parent | 2a3609106c5f7533fe07c2906d7e16ef0156341e (diff) | |
| parent | f6491c69fd75aae8f558af985d18d23e20950c2b (diff) | |
Merge pull request #1351 from MediaBrowser/master
update BdInfo probing
| -rw-r--r-- | MediaBrowser.Controller/Entities/Video.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs | 72 |
2 files changed, 37 insertions, 37 deletions
diff --git a/MediaBrowser.Controller/Entities/Video.cs b/MediaBrowser.Controller/Entities/Video.cs index 2a59dd7f7..197222669 100644 --- a/MediaBrowser.Controller/Entities/Video.cs +++ b/MediaBrowser.Controller/Entities/Video.cs @@ -298,8 +298,6 @@ namespace MediaBrowser.Controller.Entities return base.IsValidFromResolver(newItem); } - public string MainFeaturePlaylistName { get; set; } - /// <summary> /// Gets the playable stream files. /// </summary> diff --git a/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs b/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs index 4744b3729..efa6ff0cf 100644 --- a/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs +++ b/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs @@ -297,52 +297,54 @@ namespace MediaBrowser.Providers.MediaInfo { var video = (Video)item; - int? currentHeight = null; - int? currentWidth = null; - int? currentBitRate = null; - - var videoStream = mediaStreams.FirstOrDefault(s => s.Type == MediaStreamType.Video); + video.PlayableStreamFileNames = blurayInfo.Files.ToList(); - // Grab the values that ffprobe recorded - if (videoStream != null) + // Use BD Info if it has multiple m2ts. Otherwise, treat it like a video file and rely more on ffprobe output + if (blurayInfo.Files.Count > 1) { - currentBitRate = videoStream.BitRate; - currentWidth = videoStream.Width; - currentHeight = videoStream.Height; - } + int? currentHeight = null; + int? currentWidth = null; + int? currentBitRate = null; - // Fill video properties from the BDInfo result - mediaStreams.Clear(); - mediaStreams.AddRange(blurayInfo.MediaStreams); + var videoStream = mediaStreams.FirstOrDefault(s => s.Type == MediaStreamType.Video); - video.MainFeaturePlaylistName = blurayInfo.PlaylistName; - - if (blurayInfo.RunTimeTicks.HasValue && blurayInfo.RunTimeTicks.Value > 0) - { - video.RunTimeTicks = blurayInfo.RunTimeTicks; - } + // Grab the values that ffprobe recorded + if (videoStream != null) + { + currentBitRate = videoStream.BitRate; + currentWidth = videoStream.Width; + currentHeight = videoStream.Height; + } - video.PlayableStreamFileNames = blurayInfo.Files.ToList(); + // Fill video properties from the BDInfo result + mediaStreams.Clear(); + mediaStreams.AddRange(blurayInfo.MediaStreams); - if (blurayInfo.Chapters != null) - { - chapters.Clear(); + if (blurayInfo.RunTimeTicks.HasValue && blurayInfo.RunTimeTicks.Value > 0) + { + video.RunTimeTicks = blurayInfo.RunTimeTicks; + } - chapters.AddRange(blurayInfo.Chapters.Select(c => new ChapterInfo + if (blurayInfo.Chapters != null) { - StartPositionTicks = TimeSpan.FromSeconds(c).Ticks + chapters.Clear(); - })); - } + chapters.AddRange(blurayInfo.Chapters.Select(c => new ChapterInfo + { + StartPositionTicks = TimeSpan.FromSeconds(c).Ticks - videoStream = mediaStreams.FirstOrDefault(s => s.Type == MediaStreamType.Video); + })); + } - // Use the ffprobe values if these are empty - if (videoStream != null) - { - videoStream.BitRate = IsEmpty(videoStream.BitRate) ? currentBitRate : videoStream.BitRate; - videoStream.Width = IsEmpty(videoStream.Width) ? currentWidth : videoStream.Width; - videoStream.Height = IsEmpty(videoStream.Height) ? currentHeight : videoStream.Height; + videoStream = mediaStreams.FirstOrDefault(s => s.Type == MediaStreamType.Video); + + // Use the ffprobe values if these are empty + if (videoStream != null) + { + videoStream.BitRate = IsEmpty(videoStream.BitRate) ? currentBitRate : videoStream.BitRate; + videoStream.Width = IsEmpty(videoStream.Width) ? currentWidth : videoStream.Width; + videoStream.Height = IsEmpty(videoStream.Height) ? currentHeight : videoStream.Height; + } } } |
