diff --git a/src/command/PartitionCommands.cxx b/src/command/PartitionCommands.cxx
index 83108b7dc..b225d6ab0 100644
--- a/src/command/PartitionCommands.cxx
+++ b/src/command/PartitionCommands.cxx
@@ -155,7 +155,7 @@ handle_delpartition(Client &client, Request request, Response &response)
 CommandResult
 handle_moveoutput(Client &client, Request request, Response &response)
 {
-	const char *output_name = request[0];
+	const std::string_view output_name = request[0];
 
 	auto &dest_partition = client.GetPartition();
 	auto *existing_output = dest_partition.outputs.FindByName(output_name);
diff --git a/src/output/MultipleOutputs.cxx b/src/output/MultipleOutputs.cxx
index e5ac932dc..5b97bddab 100644
--- a/src/output/MultipleOutputs.cxx
+++ b/src/output/MultipleOutputs.cxx
@@ -118,10 +118,10 @@ MultipleOutputs::Configure(EventLoop &event_loop, EventLoop &rt_event_loop,
 }
 
 AudioOutputControl *
-MultipleOutputs::FindByName(const char *name) noexcept
+MultipleOutputs::FindByName(const std::string_view name) noexcept
 {
 	for (const auto &i : outputs)
-		if (StringIsEqual(i->GetName(), name))
+		if (name == i->GetName())
 			return i.get();
 
 	return nullptr;
diff --git a/src/output/MultipleOutputs.hxx b/src/output/MultipleOutputs.hxx
index d32c2c7e9..11b05839b 100644
--- a/src/output/MultipleOutputs.hxx
+++ b/src/output/MultipleOutputs.hxx
@@ -115,13 +115,13 @@ public:
 	 * Returns nullptr if the name does not exist.
 	 */
 	gcc_pure
-	AudioOutputControl *FindByName(const char *name) noexcept;
+	AudioOutputControl *FindByName(std::string_view name) noexcept;
 
 	/**
 	 * Does an audio output device with this name exist?
 	 */
 	gcc_pure
-	bool HasName(const char *name) noexcept {
+	bool HasName(std::string_view name) noexcept {
 		return FindByName(name) != nullptr;
 	}