From 8b327f1d9bb5649df69f9547e38bcdcbfd416de1 Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@musicpd.org>
Date: Sun, 24 Mar 2019 22:42:06 +0100
Subject: [PATCH] filter/AutoConvert: implement Flush()

---
 src/filter/plugins/AutoConvertFilterPlugin.cxx | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/src/filter/plugins/AutoConvertFilterPlugin.cxx b/src/filter/plugins/AutoConvertFilterPlugin.cxx
index 08302cc00..accce87f2 100644
--- a/src/filter/plugins/AutoConvertFilterPlugin.cxx
+++ b/src/filter/plugins/AutoConvertFilterPlugin.cxx
@@ -56,6 +56,7 @@ public:
 	}
 
 	ConstBuffer<void> FilterPCM(ConstBuffer<void> src) override;
+	ConstBuffer<void> Flush() override;
 };
 
 class PreparedAutoConvertFilter final : public PreparedFilter {
@@ -104,6 +105,18 @@ AutoConvertFilter::FilterPCM(ConstBuffer<void> src)
 	return filter->FilterPCM(src);
 }
 
+ConstBuffer<void>
+AutoConvertFilter::Flush()
+{
+	if (convert != nullptr) {
+		auto result = convert->Flush();
+		if (!result.IsNull())
+			return filter->FilterPCM(result);
+	}
+
+	return filter->Flush();
+}
+
 std::unique_ptr<PreparedFilter>
 autoconvert_filter_new(std::unique_ptr<PreparedFilter> filter) noexcept
 {