ReplayGainInfo: move more code to a function

This commit is contained in:
Max Kellermann 2019-09-13 19:49:41 +02:00
parent b6243a9945
commit 9270829b5b
1 changed files with 13 additions and 6 deletions

View File

@ -146,6 +146,15 @@ ImportMpcdecReplayGain(mpc_uint16_t gain, mpc_uint16_t peak) noexcept
return t;
}
static constexpr ReplayGainInfo
ImportMpcdecReplayGain(const mpc_streaminfo &info) noexcept
{
auto rgi = ReplayGainInfo::Undefined();
rgi.album = ImportMpcdecReplayGain(info.gain_album, info.peak_album);
rgi.track = ImportMpcdecReplayGain(info.gain_title, info.peak_title);
return rgi;
}
static void
mpcdec_decode(DecoderClient &client, InputStream &is)
{
@ -176,12 +185,10 @@ mpcdec_decode(DecoderClient &client, InputStream &is)
mpcdec_sample_format,
info.channels);
ReplayGainInfo rgi;
rgi.Clear();
rgi.album = ImportMpcdecReplayGain(info.gain_album, info.peak_album);
rgi.track = ImportMpcdecReplayGain(info.gain_title, info.peak_title);
client.SubmitReplayGain(&rgi);
{
const auto rgi = ImportMpcdecReplayGain(info);
client.SubmitReplayGain(&rgi);
}
client.Ready(audio_format, is.IsSeekable(),
SongTime::FromS(mpc_streaminfo_get_length(&info)));