From 80dc7c2f744b61162dbf5471b99250acc773f0a2 Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@musicpd.org>
Date: Mon, 30 Apr 2018 20:32:36 +0200
Subject: [PATCH 1/4] increment version number to 0.20.20

---
 NEWS         | 2 ++
 configure.ac | 4 ++--
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/NEWS b/NEWS
index 132758bc2..efd31e7d1 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,5 @@
+ver 0.20.20 (not yet released)
+
 ver 0.20.19 (2018/04/26)
 * protocol
   - validate absolute seek time, reject negative values
diff --git a/configure.ac b/configure.ac
index 06daf6a0b..69d233709 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,10 +1,10 @@
 AC_PREREQ(2.60)
 
-AC_INIT(mpd, 0.20.19, musicpd-dev-team@lists.sourceforge.net)
+AC_INIT(mpd, 0.20.20, musicpd-dev-team@lists.sourceforge.net)
 
 VERSION_MAJOR=0
 VERSION_MINOR=20
-VERSION_REVISION=19
+VERSION_REVISION=20
 VERSION_EXTRA=0
 
 AC_CONFIG_SRCDIR([src/Main.cxx])

From c44d1566fa40ebf2a1560a27aef9e4536f86b47e Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@musicpd.org>
Date: Fri, 9 Feb 2018 13:19:26 +0100
Subject: [PATCH 2/4] SongFilter: fix "modified-since" filter

Error message sent to client was "basic_string::_M_construct null not
valid" due to passing nullptr to the std::string constructor.

Regression caused by commit 386688b87ac
---
 NEWS               | 2 ++
 src/SongFilter.cxx | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/NEWS b/NEWS
index efd31e7d1..2f1bc0107 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,6 @@
 ver 0.20.20 (not yet released)
+* protocol
+  - fix "modified-since" filter regression
 
 ver 0.20.19 (2018/04/26)
 * protocol
diff --git a/src/SongFilter.cxx b/src/SongFilter.cxx
index c0e0a2edd..2e0d6751a 100644
--- a/src/SongFilter.cxx
+++ b/src/SongFilter.cxx
@@ -67,7 +67,7 @@ SongFilter::Item::Item(unsigned _tag, const char *_value, bool _fold_case)
 }
 
 SongFilter::Item::Item(unsigned _tag, time_t _time)
-	:tag(_tag), value(nullptr), time(_time)
+	:tag(_tag), time(_time)
 {
 }
 

From ac61fd1d78c3d57d8d72446a8b41cfb0c9c1906e Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@musicpd.org>
Date: Thu, 3 May 2018 11:59:18 +0200
Subject: [PATCH 3/4] {input,output}/alsa: work around -Wswitch due to
 SND_PCM_STATE_PRIVATE1

---
 src/input/plugins/AlsaInputPlugin.cxx   | 6 ++++++
 src/output/plugins/AlsaOutputPlugin.cxx | 6 ++++++
 2 files changed, 12 insertions(+)

diff --git a/src/input/plugins/AlsaInputPlugin.cxx b/src/input/plugins/AlsaInputPlugin.cxx
index 4cbf1644c..d38fcc5f8 100644
--- a/src/input/plugins/AlsaInputPlugin.cxx
+++ b/src/input/plugins/AlsaInputPlugin.cxx
@@ -270,6 +270,12 @@ AlsaInputStream::Recover(int err)
 		/* this is no error, so just keep running */
 		err = 0;
 		break;
+
+	default:
+		/* this default case is just here to work around
+		   -Wswitch due to SND_PCM_STATE_PRIVATE1 (libasound
+		   1.1.6) */
+		break;
 	}
 
 
diff --git a/src/output/plugins/AlsaOutputPlugin.cxx b/src/output/plugins/AlsaOutputPlugin.cxx
index cb243c406..87b2ef7e5 100644
--- a/src/output/plugins/AlsaOutputPlugin.cxx
+++ b/src/output/plugins/AlsaOutputPlugin.cxx
@@ -846,6 +846,12 @@ AlsaOutput::Recover(int err)
 	case SND_PCM_STATE_DRAINING:
 		err = 0;
 		break;
+
+	default:
+		/* this default case is just here to work around
+		   -Wswitch due to SND_PCM_STATE_PRIVATE1 (libasound
+		   1.1.6) */
+		break;
 	}
 
 	return err;

From 6522d2f72271367cc90a3b4f81c88a925d54981f Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@musicpd.org>
Date: Thu, 3 May 2018 12:02:11 +0200
Subject: [PATCH 4/4] decoder/{dsdiff,dsf}: support more MIME types

These are used by DSD-streaming servers.  For example, MiniDLNA uses
"audio/x-dsd".
---
 NEWS                                        | 2 ++
 src/decoder/plugins/DsdiffDecoderPlugin.cxx | 2 ++
 src/decoder/plugins/DsfDecoderPlugin.cxx    | 2 ++
 3 files changed, 6 insertions(+)

diff --git a/NEWS b/NEWS
index 2f1bc0107..d7c78c319 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,8 @@
 ver 0.20.20 (not yet released)
 * protocol
   - fix "modified-since" filter regression
+* decoder
+  - dsdiff, dsf: support more MIME types
 
 ver 0.20.19 (2018/04/26)
 * protocol
diff --git a/src/decoder/plugins/DsdiffDecoderPlugin.cxx b/src/decoder/plugins/DsdiffDecoderPlugin.cxx
index 2c371559b..b427ab10f 100644
--- a/src/decoder/plugins/DsdiffDecoderPlugin.cxx
+++ b/src/decoder/plugins/DsdiffDecoderPlugin.cxx
@@ -484,6 +484,8 @@ static const char *const dsdiff_suffixes[] = {
 
 static const char *const dsdiff_mime_types[] = {
 	"application/x-dff",
+	"audio/x-dff",
+	"audio/x-dsd",
 	nullptr
 };
 
diff --git a/src/decoder/plugins/DsfDecoderPlugin.cxx b/src/decoder/plugins/DsfDecoderPlugin.cxx
index 243d73ec5..1b008cc55 100644
--- a/src/decoder/plugins/DsfDecoderPlugin.cxx
+++ b/src/decoder/plugins/DsfDecoderPlugin.cxx
@@ -358,6 +358,8 @@ static const char *const dsf_suffixes[] = {
 
 static const char *const dsf_mime_types[] = {
 	"application/x-dsf",
+	"audio/x-dsf",
+	"audio/x-dsd",
 	nullptr
 };