From ae9c2dd83070dea6ddb268c3a7b3bf2299667cfe Mon Sep 17 00:00:00 2001 From: Qstick Date: Thu, 26 Sep 2019 21:31:46 -0400 Subject: [PATCH] New: Log Sentry Warn if AudioChannelPositions Error --- .../FormatAudioChannelsFixture.cs | 16 ++++++++++++++++ .../MediaFiles/MediaInfo/MediaInfoFormatter.cs | 7 +++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/NzbDrone.Core.Test/MediaFiles/MediaInfo/MediaInfoFormatterTests/FormatAudioChannelsFixture.cs b/src/NzbDrone.Core.Test/MediaFiles/MediaInfo/MediaInfoFormatterTests/FormatAudioChannelsFixture.cs index 7a80c9af4..cc9e06864 100644 --- a/src/NzbDrone.Core.Test/MediaFiles/MediaInfo/MediaInfoFormatterTests/FormatAudioChannelsFixture.cs +++ b/src/NzbDrone.Core.Test/MediaFiles/MediaInfo/MediaInfoFormatterTests/FormatAudioChannelsFixture.cs @@ -173,5 +173,21 @@ namespace NzbDrone.Core.Test.MediaFiles.MediaInfo.MediaInfoFormatterTests MediaInfoFormatter.FormatAudioChannels(mediaInfoModel).Should().Be(5.1m); } + + [Test] + public void should_warn_unknown_AudioChannelPostions() + { + var mediaInfoModel = new MediaInfoModel + { + AudioChannels = 2, + AudioChannelPositions = "3/2/0.2.1", + AudioChannelPositionsText = null, + SchemaRevision = 3 + }; + + MediaInfoFormatter.FormatAudioChannels(mediaInfoModel).Should().Be(2m); + + ExceptionVerification.ExpectedWarns(1); + } } } diff --git a/src/NzbDrone.Core/MediaFiles/MediaInfo/MediaInfoFormatter.cs b/src/NzbDrone.Core/MediaFiles/MediaInfo/MediaInfoFormatter.cs index 6ced34684..9ab59d6f6 100644 --- a/src/NzbDrone.Core/MediaFiles/MediaInfo/MediaInfoFormatter.cs +++ b/src/NzbDrone.Core/MediaFiles/MediaInfo/MediaInfoFormatter.cs @@ -461,9 +461,12 @@ namespace NzbDrone.Core.MediaFiles.MediaInfo .Sum(s => decimal.Parse(s, CultureInfo.InvariantCulture)); } } - catch (Exception e) + catch (Exception) { - Logger.Warn(e, "Unable to format audio channels using 'AudioChannelPositions', with a value of: '{0}'", audioChannelPositions); + Logger.Warn() + .Message("Unable to format audio channels using 'AudioChannelPositions', with a value of: '{0}'", audioChannelPositions) + .WriteSentryWarn("UnknownAudioChannelFormat", mediaInfo.AudioChannels.ToString(), mediaInfo.AudioFormat, audioChannelPositions, mediaInfo.AudioChannelPositionsText) + .Write(); } return null;