From ec092f20c887e9eea1d985d6d0aba9c504ef1849 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Mon, 24 Feb 2025 19:46:01 +0100 Subject: Fix merging audio with audio device and app audio where one audio device is a microphone with mono input --- TODO | 2 +- src/pipewire_audio.c | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/TODO b/TODO index d4a11ce..a5032a5 100644 --- a/TODO +++ b/TODO @@ -178,7 +178,7 @@ Test if `xrandr --output DP-1 --scale 1.5` captures correct size on nvidia. Fix cursor position and scale when scaling x11 display. -Support surround audio in application audio recording. Right now only stereo sound is supported. +Support surround audio in application audio recording. Right now only stereo and mono sound is supported. Support application audio recording without pulseaudio combined sink. diff --git a/src/pipewire_audio.c b/src/pipewire_audio.c index 00cd4b4..54f29bc 100644 --- a/src/pipewire_audio.c +++ b/src/pipewire_audio.c @@ -109,6 +109,17 @@ static void gsr_pipewire_audio_create_link(gsr_pipewire_audio *self, const gsr_p output_fl_port = gsr_pipewire_audio_get_node_port_by_name(self, output_node->id, "capture_FL"); output_fr_port = gsr_pipewire_audio_get_node_port_by_name(self, output_node->id, "capture_FR"); } + if(!output_fl_port || !output_fr_port) { + const gsr_pipewire_audio_port *output_mono_port = NULL; + output_mono_port = gsr_pipewire_audio_get_node_port_by_name(self, output_node->id, "monitor_MONO"); + if(!output_mono_port) + output_mono_port = gsr_pipewire_audio_get_node_port_by_name(self, output_node->id, "capture_MONO"); + + if(output_mono_port) { + output_fl_port = output_mono_port; + output_fr_port = output_mono_port; + } + } break; } } -- cgit v1.2.3-70-g09d2