From 7c251157edd1516ad08186c2cbaf43bca92bfc51 Mon Sep 17 00:00:00 2001 From: Leonardo Galli Date: Sun, 22 Jan 2017 23:03:47 +0100 Subject: [PATCH] Fix media info parsing of multiple audio channels. Fixes #315 Fixes #294 --- .../MediaFiles/MediaInfo/MediaInfoModel.cs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/NzbDrone.Core/MediaFiles/MediaInfo/MediaInfoModel.cs b/src/NzbDrone.Core/MediaFiles/MediaInfo/MediaInfoModel.cs index dd5b02ec8..98439c4c0 100644 --- a/src/NzbDrone.Core/MediaFiles/MediaInfo/MediaInfoModel.cs +++ b/src/NzbDrone.Core/MediaFiles/MediaInfo/MediaInfoModel.cs @@ -1,6 +1,7 @@ using System; using System.Globalization; using System.Linq; +using System.Linq.Expressions; using Newtonsoft.Json; using NzbDrone.Common.Extensions; using NzbDrone.Core.Datastore; @@ -48,11 +49,14 @@ namespace NzbDrone.Core.MediaFiles.MediaInfo return AudioChannelPositionsText.ContainsIgnoreCase("LFE") ? AudioChannels - 1 + 0.1m : AudioChannels; } - decimal channels = 0; + return + AudioChannelPositions.Replace(" / ", "$") + .Split('$') + .First() + .Split('/') + .Sum(s => decimal.Parse(s, CultureInfo.InvariantCulture)); - decimal.TryParse(AudioChannelPositions.Split('/').First(), out channels); - - return channels; + } } }