diff --git a/NEWS b/NEWS
index 1297825a0..a7a93f040 100644
--- a/NEWS
+++ b/NEWS
@@ -31,6 +31,12 @@ ver 0.21 (not yet released)
   - opus: support for sending metadata using ogg stream chaining
 * require GCC 5.0
 
+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
   - validate absolute seek time, reject negative values
diff --git a/src/decoder/plugins/DsdiffDecoderPlugin.cxx b/src/decoder/plugins/DsdiffDecoderPlugin.cxx
index c34d303d1..b63bafd9a 100644
--- a/src/decoder/plugins/DsdiffDecoderPlugin.cxx
+++ b/src/decoder/plugins/DsdiffDecoderPlugin.cxx
@@ -485,6 +485,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 ddb4fa2f4..e49ca479d 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
 };
 
diff --git a/src/input/plugins/AlsaInputPlugin.cxx b/src/input/plugins/AlsaInputPlugin.cxx
index 71e910d86..ee8fdf55a 100644
--- a/src/input/plugins/AlsaInputPlugin.cxx
+++ b/src/input/plugins/AlsaInputPlugin.cxx
@@ -260,6 +260,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 dfd843da9..fa440f097 100644
--- a/src/output/plugins/AlsaOutputPlugin.cxx
+++ b/src/output/plugins/AlsaOutputPlugin.cxx
@@ -706,6 +706,12 @@ AlsaOutput::Recover(int err) noexcept
 	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;