diff options
author | Max Kellermann <max@duempel.org> | 2014-09-24 20:54:20 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2014-09-24 22:21:13 +0200 |
commit | 441f9cc2ee1e62be0d5869c247aecff78c2ca3c6 (patch) | |
tree | f3da3a635c38e2feaddde27d41fb80c4bab46ddd /src/tag/ReplayGain.cxx | |
parent | 9f4fc8ad33470d2f82faafb96d5db41967faa151 (diff) | |
download | mpd-441f9cc2ee1e62be0d5869c247aecff78c2ca3c6.tar.gz mpd-441f9cc2ee1e62be0d5869c247aecff78c2ca3c6.tar.xz mpd-441f9cc2ee1e62be0d5869c247aecff78c2ca3c6.zip |
tag/ReplayGain: add VorbisComment parser
Move code from the Vorbis and FLAC decoder plugins.
Diffstat (limited to 'src/tag/ReplayGain.cxx')
-rw-r--r-- | src/tag/ReplayGain.cxx | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/tag/ReplayGain.cxx b/src/tag/ReplayGain.cxx index d2347dba5..83a48f243 100644 --- a/src/tag/ReplayGain.cxx +++ b/src/tag/ReplayGain.cxx @@ -19,6 +19,7 @@ #include "config.h" #include "ReplayGain.hxx" +#include "VorbisComment.hxx" #include "ReplayGainInfo.hxx" #include "util/ASCII.hxx" @@ -68,3 +69,18 @@ ParseReplayGainTag(ReplayGainInfo &info, const char *name, const char *value) return ParseReplayGainTagTemplate(info, NameValue{name, value}); } + +bool +ParseReplayGainVorbis(ReplayGainInfo &info, const char *entry) +{ + struct VorbisCommentEntry { + const char *entry; + + gcc_pure + const char *operator[](const char *n) const { + return vorbis_comment_value(entry, n); + } + }; + + return ParseReplayGainTagTemplate(info, VorbisCommentEntry{entry}); +} |