Browse Source

Update dependency z440.atl.core to v7 (#14391)

renovate[bot] 1 week ago
parent
commit
8629831658
2 changed files with 6 additions and 2 deletions
  1. 1 1
      Directory.Packages.props
  2. 5 1
      MediaBrowser.Providers/MediaInfo/AudioFileProber.cs

+ 1 - 1
Directory.Packages.props

@@ -84,7 +84,7 @@
     <PackageVersion Include="System.Text.Json" Version="9.0.6" />
     <PackageVersion Include="System.Threading.Tasks.Dataflow" Version="9.0.6" />
     <PackageVersion Include="TagLibSharp" Version="2.3.0" />
-    <PackageVersion Include="z440.atl.core" Version="6.26.0" />
+    <PackageVersion Include="z440.atl.core" Version="7.0.0" />
     <PackageVersion Include="TMDbLib" Version="2.2.0" />
     <PackageVersion Include="UTF.Unknown" Version="2.5.1" />
     <PackageVersion Include="Xunit.Priority" Version="1.1.6" />

+ 5 - 1
MediaBrowser.Providers/MediaInfo/AudioFileProber.cs

@@ -449,7 +449,11 @@ namespace MediaBrowser.Providers.MediaInfo
 
             // Save extracted lyrics if they exist,
             // and if the audio doesn't yet have lyrics.
-            var lyrics = track.Lyrics.SynchronizedLyrics.Count > 0 ? track.Lyrics.FormatSynchToLRC() : track.Lyrics.UnsynchronizedLyrics;
+            // ATL supports both SRT and LRC formats as synchronized lyrics, but we only want to save LRC format.
+            var supportedLyrics = track.Lyrics.Where(l => l.Format != LyricsInfo.LyricsFormat.SRT).ToList();
+            var candidateSynchronizedLyric = supportedLyrics.FirstOrDefault(l => l.Format is not LyricsInfo.LyricsFormat.UNSYNCHRONIZED and not LyricsInfo.LyricsFormat.OTHER && l.SynchronizedLyrics is not null);
+            var candidateUnsynchronizedLyric = supportedLyrics.FirstOrDefault(l => l.Format is LyricsInfo.LyricsFormat.UNSYNCHRONIZED or LyricsInfo.LyricsFormat.OTHER && l.UnsynchronizedLyrics is not null);
+            var lyrics = candidateSynchronizedLyric is not null ? candidateSynchronizedLyric.FormatSynch() : candidateUnsynchronizedLyric?.UnsynchronizedLyrics;
             if (!string.IsNullOrWhiteSpace(lyrics)
                 && tryExtractEmbeddedLyrics)
             {