From 13ce07d181b1ffa8f73ba9734cbc7d72baaaec91 Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@musicpd.org>
Date: Wed, 6 Nov 2019 16:05:22 +0100
Subject: [PATCH] output/shout: declare metadata as UTF-8

Apparently, Icecast defaults to ISO-8859-1 for MP3:

 http://icecast.org/docs/icecast-2.4.0/config-file.html#mountsettings

This change forces Icecast to UTF-8 without having to configure it in
Icecast's configuration file.
---
 NEWS                                     | 1 +
 src/output/plugins/ShoutOutputPlugin.cxx | 1 +
 2 files changed, 2 insertions(+)

diff --git a/NEWS b/NEWS
index 6bb77ecf4..5f4b2337f 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,7 @@
 ver 0.21.17 (not yet released)
 * outputs
   - jack: mark ports as terminal
+  - shout: declare metadata as UTF-8
 * fix build failure with -Ddatabase=false
 
 ver 0.21.16 (2019/10/16)
diff --git a/src/output/plugins/ShoutOutputPlugin.cxx b/src/output/plugins/ShoutOutputPlugin.cxx
index eec956d2a..659de603f 100644
--- a/src/output/plugins/ShoutOutputPlugin.cxx
+++ b/src/output/plugins/ShoutOutputPlugin.cxx
@@ -383,6 +383,7 @@ ShoutOutput::SendTag(const Tag &tag)
 		shout_tag_to_metadata(tag, song, sizeof(song));
 
 		shout_metadata_add(meta, "song", song);
+		shout_metadata_add(meta, "charset", "UTF-8");
 		if (SHOUTERR_SUCCESS != shout_set_metadata(shout_conn, meta)) {
 			LogWarning(shout_output_domain,
 				   "error setting shout metadata");