From 042a9af840cf199bcf93a8782d3b849501c7716d Mon Sep 17 00:00:00 2001 From: Wohlstand Date: Sat, 6 Sep 2025 21:51:46 +0300 Subject: [PATCH] Added ability to listen source Useful when using captured hardware, not an application. --- src/config.cpp | 2 ++ src/config.h | 1 + src/platform/linux/audio.cpp | 3 ++- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/config.cpp b/src/config.cpp index a7b7b5cb8e1..41fa76d7dd7 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -510,6 +510,7 @@ namespace config { audio_t audio { {}, // audio_sink + {}, // audio_source {}, // virtual_sink true, // stream audio true, // install_steam_drivers @@ -1165,6 +1166,7 @@ namespace config { list_prep_cmd_f(vars, "global_prep_cmd", config::sunshine.prep_cmds); string_f(vars, "audio_sink", audio.sink); + string_f(vars, "audio_source", audio.source); string_f(vars, "virtual_sink", audio.virtual_sink); bool_f(vars, "stream_audio", audio.stream); bool_f(vars, "install_steam_audio_drivers", audio.install_steam_drivers); diff --git a/src/config.h b/src/config.h index 7ba1bd23452..3c38b78e943 100644 --- a/src/config.h +++ b/src/config.h @@ -146,6 +146,7 @@ namespace config { struct audio_t { std::string sink; + std::string source; std::string virtual_sink; bool stream; bool install_steam_drivers; diff --git a/src/platform/linux/audio.cpp b/src/platform/linux/audio.cpp index 0e53e939b2a..b712ea0f2c9 100644 --- a/src/platform/linux/audio.cpp +++ b/src/platform/linux/audio.cpp @@ -456,7 +456,8 @@ namespace platf { sink_name = get_default_sink_name(); } - return ::platf::microphone(mapping, channels, sample_rate, frame_size, get_monitor_name(sink_name)); + auto monitor_name = config::audio.source.empty() ? get_monitor_name(sink_name) : config::audio.source; + return ::platf::microphone(mapping, channels, sample_rate, frame_size, monitor_name); } bool is_sink_available(const std::string &sink) override {