fix(windows): restore screen-share cross-build

This commit is contained in:
2026-08-22 18:57:29 -04:00
parent f100981ad0
commit 6b9a72aee5
3 changed files with 12 additions and 0 deletions
+1
View File
@@ -348,6 +348,7 @@ mod tests {
/// `cargo test --lib -- --ignored --test-threads=1 clip_player_node`
#[test]
#[ignore = "live: requires a running PipeWire daemon and pw-dump; run with --test-threads=1"]
#[cfg(not(windows))]
fn clip_player_node_carries_both_ownership_carriers() {
use crate::audio::ownership::{self, live_test};
+10
View File
@@ -3576,6 +3576,7 @@ async fn run_core_loop(
let session = active_session
.as_mut()
.expect("session presence checked before PixelPass probe");
#[cfg(target_os = "linux")]
let aec_module_index = matches!(
audio,
crate::screenshare::ShareAudioSelection::DesktopExcluding
@@ -3587,6 +3588,15 @@ async fn run_core_loop(
.map(crate::audio::echo_cancel::EchoCancelGuard::module_index)
})
.flatten();
// Windows has no PipeWire echo-cancel module, so there is no
// module identity to hand to PixelPass. Keep the shared host
// spawn path platform-neutral without importing the Linux-only
// `audio::echo_cancel` module into a Windows build.
#[cfg(not(target_os = "linux"))]
let aec_module_index = {
debug_assert!(session.teardown.echo_cancel().is_none());
None
};
// Every share gets a notice forwarder — not just app-audio ones.
// App-audio and desktop-exclusion events become UI state, and
// the drain's terminal `Eof` becomes a generation-scoped fault.
+1
View File
@@ -1016,6 +1016,7 @@ mod tests {
/// `cargo test --lib -- --ignored spawned_player`
#[tokio::test]
#[ignore = "live: requires a running PipeWire daemon, mpv and pw-dump"]
#[cfg(not(windows))]
async fn spawned_player_node_carries_both_ownership_carriers() {
use crate::audio::ownership::live_test;