diff options
| author | 1hitsong <3330318+1hitsong@users.noreply.github.com> | 2022-09-19 20:24:05 -0400 |
|---|---|---|
| committer | 1hitsong <3330318+1hitsong@users.noreply.github.com> | 2022-09-19 20:24:05 -0400 |
| commit | b442c79e620d2bdbb9007038371b75fe41b7cd8a (patch) | |
| tree | 77d5e8dd40d29cfbe692e4146dc0b8c4e89a9df0 | |
| parent | 3ba8218e45899c7d3622092ed92dc60b4c28803e (diff) | |
Make LyricParser a field
| -rw-r--r-- | MediaBrowser.Providers/Lyric/LrcLyricProvider.cs | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/MediaBrowser.Providers/Lyric/LrcLyricProvider.cs b/MediaBrowser.Providers/Lyric/LrcLyricProvider.cs index 3657cf894..3177abb96 100644 --- a/MediaBrowser.Providers/Lyric/LrcLyricProvider.cs +++ b/MediaBrowser.Providers/Lyric/LrcLyricProvider.cs @@ -18,6 +18,8 @@ public class LrcLyricProvider : ILyricProvider { private readonly ILogger<LrcLyricProvider> _logger; + private readonly LyricParser _lrcLyricParser; + private static readonly IReadOnlyList<string> _acceptedTimeFormats = new string[] { "HH:mm:ss", "H:mm:ss", "mm:ss", "m:ss" }; /// <summary> @@ -27,6 +29,7 @@ public class LrcLyricProvider : ILyricProvider public LrcLyricProvider(ILogger<LrcLyricProvider> logger) { _logger = logger; + _lrcLyricParser = new LrcParser.Parser.Lrc.LrcParser(); } /// <inheritdoc /> @@ -62,13 +65,11 @@ public class LrcLyricProvider : ILyricProvider try { - // Parse and sort lyric rows - LyricParser lrcLyricParser = new LrcParser.Parser.Lrc.LrcParser(); - lyricData = lrcLyricParser.Decode(lrcFileContent); + lyricData = _lrcLyricParser.Decode(lrcFileContent); } catch (Exception ex) { - _logger.LogError(ex, "Error parsing lyric data from {Provider}", Name); + _logger.LogError(ex, "Error parsing lyric file {LyricFilePath} from {Provider}", lyricFilePath, Name); return null; } @@ -92,7 +93,12 @@ public class LrcLyricProvider : ILyricProvider string metaDataFieldName = metaDataField[0][1..]; string metaDataFieldValue = metaDataField[1][..^1]; - fileMetaData.Add(metaDataFieldName, metaDataFieldValue); + if (string.IsNullOrEmpty(metaDataFieldName) || string.IsNullOrEmpty(metaDataFieldValue)) + { + continue; + } + + fileMetaData[metaDataFieldName] = metaDataFieldValue; } if (sortedLyricData.Count == 0) |
