aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Overlay.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/Overlay.cpp b/src/Overlay.cpp
index dbf71c7..5ddff4d 100644
--- a/src/Overlay.cpp
+++ b/src/Overlay.cpp
@@ -2185,6 +2185,8 @@ namespace gsr {
for(const AudioTrack &audio_track : audio_tracks) {
std::string audio_track_merged;
+ int num_app_audio = 0;
+
for(const std::string &audio_input_name : audio_track.audio_inputs) {
std::string new_audio_input_name = audio_input_name;
const bool is_app_audio = starts_with(new_audio_input_name, "app:");
@@ -2194,12 +2196,22 @@ namespace gsr {
if(is_app_audio && audio_track.application_audio_invert)
new_audio_input_name.replace(0, 4, "app-inverse:");
+ if(is_app_audio)
+ ++num_app_audio;
+
if(!audio_track_merged.empty())
audio_track_merged += "|";
audio_track_merged += new_audio_input_name;
}
+ if(num_app_audio == 0 && audio_track.application_audio_invert) {
+ if(!audio_track_merged.empty())
+ audio_track_merged += "|";
+
+ audio_track_merged += "app-inverse:";
+ }
+
if(!audio_track_merged.empty())
result.push_back(std::move(audio_track_merged));
}