summaryrefslogtreecommitdiff
path: root/src/decoder/plugins
diff options
context:
space:
mode:
authorMichal Koutenský <koutak.m@gmail.com>2018-05-04 20:29:12 +0200
committerMax Kellermann <max@musicpd.org>2018-05-07 10:57:03 +0200
commitd495ec71a89fe9e1e70263302967c0c774ffdba0 (patch)
treee448525c86734ff55255839326d77c40141187d9 /src/decoder/plugins
parentb763852f575fa9395289e7fe3e26f9b133961c81 (diff)
decoder/opus: add support for R128_ALBUM_GAIN tag
Diffstat (limited to 'src/decoder/plugins')
-rw-r--r--src/decoder/plugins/OpusTags.cxx8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/decoder/plugins/OpusTags.cxx b/src/decoder/plugins/OpusTags.cxx
index 8baeccd2f..41c499aec 100644
--- a/src/decoder/plugins/OpusTags.cxx
+++ b/src/decoder/plugins/OpusTags.cxx
@@ -53,6 +53,14 @@ ScanOneOpusTag(const char *name, const char *value,
long l = strtol(value, &endptr, 10);
if (endptr > value && *endptr == 0)
rgi->track.gain = double(l) / 256.;
+ } else if (rgi != nullptr && strcmp(name, "R128_ALBUM_GAIN") == 0) {
+ /* R128_ALBUM_GAIN is a Q7.8 fixed point number in
+ dB */
+
+ char *endptr;
+ long l = strtol(value, &endptr, 10);
+ if (endptr > value && *endptr == 0)
+ rgi->album.gain = double(l) / 256.;
}
tag_handler_invoke_pair(handler, ctx, name, value);