fix(desktop): stop the windows audio probe timing out against its own budget (#1814)

This commit is contained in:
Hampus authored and GitHub committed 2026-08-21 17:29:12 +02:00
1 parent 85a03a9e39
commit 10bc8c1efa
2 files changed
+3 -2

No files matched your search

@@ -832,7 +832,7 @@ export async function armNativeAudioForNextCapture(sourceId: string): Promise<bo
platform: electronApi.platform, platform: electronApi.platform,
sourceId, sourceId,
backend: availability?.backend ?? null, backend: availability?.backend ?? null,
reason: availability?.reason ?? 'os-version-too-old', reason: availability?.reason ?? 'process-scope-unsupported',
detail: availability?.detail ?? null, detail: availability?.detail ?? null,
}); });
logger.warn('Cannot arm per-window audio capture: native audio addon unavailable', { logger.warn('Cannot arm per-window audio capture: native audio addon unavailable', {
@@ -1071,6 +1071,7 @@ mod platform {
const BACKSLASH_UTF16: &[u16] = &[b'\\' as u16, 0]; const BACKSLASH_UTF16: &[u16] = &[b'\\' as u16, 0];
const PROCESS_LOOPBACK_PROBE_TIMEOUT_MS: u32 = 1_500; const PROCESS_LOOPBACK_PROBE_TIMEOUT_MS: u32 = 1_500;
const PROCESS_LOOPBACK_PROBE_COUNT: u64 = 2;
const SESSION_MIXER_REFRESH_INTERVAL: Duration = Duration::from_millis(1_000); const SESSION_MIXER_REFRESH_INTERVAL: Duration = Duration::from_millis(1_000);
const SESSION_MIXER_WAIT_TIMEOUT_MS: u32 = 250; const SESSION_MIXER_WAIT_TIMEOUT_MS: u32 = 250;
const MAX_SESSION_MIXER_CAPTURES: usize = 48; const MAX_SESSION_MIXER_CAPTURES: usize = 48;
@@ -2197,7 +2198,7 @@ mod platform {
}); });
match rx.recv_timeout(std::time::Duration::from_millis( match rx.recv_timeout(std::time::Duration::from_millis(
u64::from(PROCESS_LOOPBACK_PROBE_TIMEOUT_MS) + 500, u64::from(PROCESS_LOOPBACK_PROBE_TIMEOUT_MS) * PROCESS_LOOPBACK_PROBE_COUNT + 500,
)) { )) {
Ok((include_result, exclude_result)) => ProcessLoopbackRuntimeProbe { Ok((include_result, exclude_result)) => ProcessLoopbackRuntimeProbe {
include_supported: include_result.is_ok(), include_supported: include_result.is_ok(),