diff --git a/doc/protocol.rst b/doc/protocol.rst
index 660b737bb..acc2d3c47 100644
--- a/doc/protocol.rst
+++ b/doc/protocol.rst
@@ -207,6 +207,7 @@ The following tags are supported by
* **performer**: the artist who performed the song.
* **comment**: a human-readable comment about this song. The exact meaning of this tag is not well-defined.
* **disc**: the decimal disc number in a multi-disc album.
+* **label**: the name of the label or publisher.
* **musicbrainz_artistid**: the artist id in the `MusicBrainz `_ database.
* **musicbrainz_albumid**: the album id in the `MusicBrainz `_ database.
* **musicbrainz_albumartistid**: the album artist id in the `MusicBrainz `_ database.
diff --git a/doc/user.rst b/doc/user.rst
index fd2c5b42b..b050fb4eb 100644
--- a/doc/user.rst
+++ b/doc/user.rst
@@ -770,6 +770,7 @@ When scanning or playing a song, :program:`MPD` parses its metadata. The followi
* **performer**: the artist who performed the song.
* **comment**: a human-readable comment about this song. The exact meaning of this tag is not well-defined.
* **disc**: the decimal disc number in a multi-disc album.
+* **label**: the name of the label or publisher.
* **musicbrainz_artistid**: the artist id in the `MusicBrainz `_ database.
* **musicbrainz_albumid**: the album id in the `MusicBrainz `_ database.
* **musicbrainz_albumartistid**: the album artist id in the `MusicBrainz `_ database.
diff --git a/src/tag/Id3Scan.cxx b/src/tag/Id3Scan.cxx
index d7afaf7cf..6d1dd970f 100644
--- a/src/tag/Id3Scan.cxx
+++ b/src/tag/Id3Scan.cxx
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2017 The Music Player Daemon Project
+ * Copyright 2003-2018 The Music Player Daemon Project
* http://www.musicpd.org
*
* This program is free software; you can redistribute it and/or modify
@@ -38,12 +38,13 @@
#include
#include
-# ifndef ID3_FRAME_COMPOSER
-# define ID3_FRAME_COMPOSER "TCOM"
-# endif
-# ifndef ID3_FRAME_DISC
-# define ID3_FRAME_DISC "TPOS"
-# endif
+#ifndef ID3_FRAME_COMPOSER
+#define ID3_FRAME_COMPOSER "TCOM"
+#endif
+
+#ifndef ID3_FRAME_DISC
+#define ID3_FRAME_DISC "TPOS"
+#endif
#ifndef ID3_FRAME_ARTIST_SORT
#define ID3_FRAME_ARTIST_SORT "TSOP"
@@ -61,6 +62,10 @@
#define ID3_FRAME_ORIGINAL_RELEASE_DATE "TDOR"
#endif
+#ifndef ID3_FRAME_LABEL
+#define ID3_FRAME_LABEL "TPUB"
+#endif
+
gcc_pure
static id3_utf8_t *
tag_id3_getstring(const struct id3_frame *frame, unsigned i) noexcept
@@ -317,6 +322,8 @@ scan_id3_tag(const struct id3_tag *tag, TagHandler &handler) noexcept
handler);
tag_id3_import_text(tag, ID3_FRAME_DISC, TAG_DISC,
handler);
+ tag_id3_import_text(tag, ID3_FRAME_LABEL, TAG_LABEL,
+ handler);
tag_id3_import_musicbrainz(tag, handler);
tag_id3_import_ufid(tag, handler);
diff --git a/src/tag/Names.c b/src/tag/Names.c
index 5657e5f80..5a4de3b4a 100644
--- a/src/tag/Names.c
+++ b/src/tag/Names.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2017 The Music Player Daemon Project
+ * Copyright 2003-2018 The Music Player Daemon Project
* http://www.musicpd.org
*
* This program is free software; you can redistribute it and/or modify
@@ -37,6 +37,7 @@ const char *const tag_item_names[TAG_NUM_OF_ITEM_TYPES] = {
[TAG_PERFORMER] = "Performer",
[TAG_COMMENT] = "Comment",
[TAG_DISC] = "Disc",
+ [TAG_LABEL] = "Label",
/* MusicBrainz tags from http://musicbrainz.org/doc/MusicBrainzTag */
[TAG_MUSICBRAINZ_ARTISTID] = "MUSICBRAINZ_ARTISTID",
diff --git a/src/tag/Type.h b/src/tag/Type.h
index 8e9d603b5..07429688e 100644
--- a/src/tag/Type.h
+++ b/src/tag/Type.h
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2017 The Music Player Daemon Project
+ * Copyright 2003-2018 The Music Player Daemon Project
* http://www.musicpd.org
*
* This program is free software; you can redistribute it and/or modify
@@ -51,6 +51,7 @@ enum TagType
TAG_PERFORMER,
TAG_COMMENT,
TAG_DISC,
+ TAG_LABEL,
TAG_MUSICBRAINZ_ARTISTID,
TAG_MUSICBRAINZ_ALBUMID,