diff --git a/src/audio_core/sink_details.h b/src/audio_core/sink_details.h index aa8aae1a99..ea666c5549 100644 --- a/src/audio_core/sink_details.h +++ b/src/audio_core/sink_details.h @@ -6,6 +6,7 @@ #include #include +#include #include namespace AudioCore { @@ -13,16 +14,18 @@ namespace AudioCore { class Sink; struct SinkDetails { - SinkDetails(const char* id_, std::function(std::string)> factory_, - std::function()> list_devices_) - : id(id_), factory(factory_), list_devices(list_devices_) {} + using FactoryFn = std::function(std::string)>; + using ListDevicesFn = std::function()>; + + SinkDetails(const char* id_, FactoryFn factory_, ListDevicesFn list_devices_) + : id(id_), factory(std::move(factory_)), list_devices(std::move(list_devices_)) {} /// Name for this sink. const char* id; /// A method to call to construct an instance of this type of sink. - std::function(std::string device_id)> factory; + FactoryFn factory; /// A method to call to list available devices. - std::function()> list_devices; + ListDevicesFn list_devices; }; extern const std::vector g_sink_details;