decoder/mad: move parse_id3_mixramp() to tag/Id3MixRamp.cxx
This commit is contained in:
@@ -23,6 +23,7 @@
|
||||
#include "input/InputStream.hxx"
|
||||
#include "tag/Id3Scan.hxx"
|
||||
#include "tag/Id3ReplayGain.hxx"
|
||||
#include "tag/Id3MixRamp.hxx"
|
||||
#include "tag/Handler.hxx"
|
||||
#include "tag/ReplayGain.hxx"
|
||||
#include "tag/MixRampParser.hxx"
|
||||
@@ -268,35 +269,6 @@ MadDecoder::FillBuffer() noexcept
|
||||
return true;
|
||||
}
|
||||
|
||||
#ifdef ENABLE_ID3TAG
|
||||
gcc_pure
|
||||
static MixRampInfo
|
||||
parse_id3_mixramp(struct id3_tag *tag) noexcept
|
||||
{
|
||||
MixRampInfo result;
|
||||
|
||||
struct id3_frame *frame;
|
||||
for (unsigned i = 0; (frame = id3_tag_findframe(tag, "TXXX", i)); i++) {
|
||||
if (frame->nfields < 3)
|
||||
continue;
|
||||
|
||||
char *const key = (char *)
|
||||
id3_ucs4_latin1duplicate(id3_field_getstring
|
||||
(&frame->fields[1]));
|
||||
char *const value = (char *)
|
||||
id3_ucs4_latin1duplicate(id3_field_getstring
|
||||
(&frame->fields[2]));
|
||||
|
||||
ParseMixRampTag(result, key, value);
|
||||
|
||||
free(key);
|
||||
free(value);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
#endif
|
||||
|
||||
inline void
|
||||
MadDecoder::ParseId3(size_t tagsize, Tag *mpd_tag) noexcept
|
||||
{
|
||||
@@ -338,7 +310,7 @@ MadDecoder::ParseId3(size_t tagsize, Tag *mpd_tag) noexcept
|
||||
found_replay_gain = true;
|
||||
}
|
||||
|
||||
client->SubmitMixRamp(parse_id3_mixramp(id3_tag.get()));
|
||||
client->SubmitMixRamp(Id3ToMixRampInfo(id3_tag.get()));
|
||||
}
|
||||
|
||||
#else /* !ENABLE_ID3TAG */
|
||||
|
Reference in New Issue
Block a user