From b7f259882b39dbb1509db281930fecca3875db83 Mon Sep 17 00:00:00 2001 From: Curve Date: Mon, 15 Apr 2024 01:34:07 +0200 Subject: [PATCH] feat(screen-share): allow to ignore pipewire-pulse warning --- src/renderer/components/ScreenSharePicker.tsx | 60 +++++++++++-------- 1 file changed, 35 insertions(+), 25 deletions(-) diff --git a/src/renderer/components/ScreenSharePicker.tsx b/src/renderer/components/ScreenSharePicker.tsx index 6f95ae0..4259808 100644 --- a/src/renderer/components/ScreenSharePicker.tsx +++ b/src/renderer/components/ScreenSharePicker.tsx @@ -267,7 +267,11 @@ function AudioSourcePickerLinux({ const [sources, _, loading] = useAwaiter(() => VesktopNative.virtmic.list(), { fallbackValue: { ok: true, targets: [], hasPipewirePulse: true } }); + const allSources = sources.ok ? ["None", "Entire System", ...sources.targets] : null; + const hasPipewirePulse = sources.ok ? sources.hasPipewirePulse : true; + + const [ignorePulseWarning, setIgnorePulseWarning] = useState(false); return ( <> @@ -279,32 +283,38 @@ function AudioSourcePickerLinux({ Audio Source )} - {!sources.ok && - (sources.isGlibcxxToOld ? ( - - Failed to retrieve Audio Sources because your C++ library is too old to run venmic. If you - would like to stream with Audio, see{" "} - - this guide - - - ) : ( - - Failed to retrieve Audio Sources. If you would like to stream with Audio, make sure you're - using Pipewire, not Pulseaudio - - ))} + {!sources.ok && sources.isGlibCxxOutdated && ( + + Failed to retrieve Audio Sources because your C++ library is too old to run + + venmic + + . See{" "} + + this guide + {" "} + for possible solutions. + + )} - {allSources && ( - ({ label: s, value: s, default: s === "None" }))} + isSelected={s => s === audioSource} + select={setAudioSource} + serialize={String} + /> + ) + ) : ( + + Could not find pipewire-pulse. This usually means that you do not run pipewire as your main + audio-server.
+ You can still continue, however, please beware that you can only share audio of apps that are + running under pipewire. +
+ setIgnorePulseWarning(true)}>I know what I'm doing +
)}