parent
714ce2640b
commit
7b7f48a0e3
|
@ -1,4 +1,4 @@
|
||||||
using FluentAssertions;
|
using FluentAssertions;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using NzbDrone.Core.MediaFiles.MediaInfo;
|
using NzbDrone.Core.MediaFiles.MediaInfo;
|
||||||
using NzbDrone.Test.Common;
|
using NzbDrone.Test.Common;
|
||||||
|
@ -131,5 +131,19 @@ namespace NzbDrone.Core.Test.MediaFiles.MediaInfo.MediaInfoFormatterTests
|
||||||
|
|
||||||
MediaInfoFormatter.FormatAudioChannels(mediaInfoModel).Should().Be(7.1m);
|
MediaInfoFormatter.FormatAudioChannels(mediaInfoModel).Should().Be(7.1m);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void should_sum_dual_mono_representation_AudioChannelPositions()
|
||||||
|
{
|
||||||
|
var mediaInfoModel = new MediaInfoModel
|
||||||
|
{
|
||||||
|
AudioChannels = 2,
|
||||||
|
AudioChannelPositions = "1+1",
|
||||||
|
AudioChannelPositionsText = null,
|
||||||
|
SchemaRevision = 3
|
||||||
|
};
|
||||||
|
|
||||||
|
MediaInfoFormatter.FormatAudioChannels(mediaInfoModel).Should().Be(2.0m);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
@ -35,11 +35,17 @@ namespace NzbDrone.Core.MediaFiles.MediaInfo
|
||||||
return mediaInfo.AudioChannelPositionsText.ContainsIgnoreCase("LFE") ? audioChannels - 1 + 0.1m : audioChannels;
|
return mediaInfo.AudioChannelPositionsText.ContainsIgnoreCase("LFE") ? audioChannels - 1 + 0.1m : audioChannels;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (audioChannelPositions.Contains("+"))
|
||||||
|
{
|
||||||
|
return audioChannelPositions.Split('+')
|
||||||
|
.Sum(s => decimal.Parse(s.Trim(), CultureInfo.InvariantCulture));
|
||||||
|
}
|
||||||
|
|
||||||
return audioChannelPositions.Replace("Object Based / ", "")
|
return audioChannelPositions.Replace("Object Based / ", "")
|
||||||
.Split(new string[] { " / " }, StringSplitOptions.RemoveEmptyEntries)
|
.Split(new string[] { " / " }, StringSplitOptions.RemoveEmptyEntries)
|
||||||
.First()
|
.First()
|
||||||
.Split('/')
|
.Split('/')
|
||||||
.Sum(s => decimal.Parse(s, CultureInfo.InvariantCulture));
|
.Sum(s => decimal.Parse(s, CultureInfo.InvariantCulture));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string FormatAudioCodec(MediaInfoModel mediaInfo, string sceneName)
|
public static string FormatAudioCodec(MediaInfoModel mediaInfo, string sceneName)
|
||||||
|
|
Loading…
Reference in New Issue