skip album ReplayGain parsing if no album or value already present

This commit is contained in:
Florin Popescu
2026-07-28 19:48:51 +02:00
parent e2adf2e2bf
commit f6f0fed2d1
@@ -468,18 +468,18 @@ namespace MediaBrowser.Providers.MediaInfo
}
}
TryGetSanitizedAdditionalFields(track, "REPLAYGAIN_ALBUM_GAIN", out var trackAlbumGainTag);
if (trackAlbumGainTag is not null)
if (audio.AlbumEntity is not null && !audio.AlbumEntity.NormalizationGain.HasValue)
{
if (trackAlbumGainTag.EndsWith("db", StringComparison.OrdinalIgnoreCase))
{
trackAlbumGainTag = trackAlbumGainTag[..^2].Trim();
}
TryGetSanitizedAdditionalFields(track, "REPLAYGAIN_ALBUM_GAIN", out var trackAlbumGainTag);
if (float.TryParse(trackAlbumGainTag, NumberStyles.Float, CultureInfo.InvariantCulture, out var value) && float.IsFinite(value))
if (trackAlbumGainTag is not null)
{
if (audio.AlbumEntity is not null && !audio.AlbumEntity.NormalizationGain.HasValue)
if (trackAlbumGainTag.EndsWith("db", StringComparison.OrdinalIgnoreCase))
{
trackAlbumGainTag = trackAlbumGainTag[..^2].Trim();
}
if (float.TryParse(trackAlbumGainTag, NumberStyles.Float, CultureInfo.InvariantCulture, out var value) && float.IsFinite(value))
{
audio.AlbumEntity.NormalizationGain = value;
}