fix(windows): restore screen-share cross-build
This commit is contained in:
@@ -348,6 +348,7 @@ mod tests {
|
|||||||
/// `cargo test --lib -- --ignored --test-threads=1 clip_player_node`
|
/// `cargo test --lib -- --ignored --test-threads=1 clip_player_node`
|
||||||
#[test]
|
#[test]
|
||||||
#[ignore = "live: requires a running PipeWire daemon and pw-dump; run with --test-threads=1"]
|
#[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() {
|
fn clip_player_node_carries_both_ownership_carriers() {
|
||||||
use crate::audio::ownership::{self, live_test};
|
use crate::audio::ownership::{self, live_test};
|
||||||
|
|
||||||
|
|||||||
@@ -3576,6 +3576,7 @@ async fn run_core_loop(
|
|||||||
let session = active_session
|
let session = active_session
|
||||||
.as_mut()
|
.as_mut()
|
||||||
.expect("session presence checked before PixelPass probe");
|
.expect("session presence checked before PixelPass probe");
|
||||||
|
#[cfg(target_os = "linux")]
|
||||||
let aec_module_index = matches!(
|
let aec_module_index = matches!(
|
||||||
audio,
|
audio,
|
||||||
crate::screenshare::ShareAudioSelection::DesktopExcluding
|
crate::screenshare::ShareAudioSelection::DesktopExcluding
|
||||||
@@ -3587,6 +3588,15 @@ async fn run_core_loop(
|
|||||||
.map(crate::audio::echo_cancel::EchoCancelGuard::module_index)
|
.map(crate::audio::echo_cancel::EchoCancelGuard::module_index)
|
||||||
})
|
})
|
||||||
.flatten();
|
.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.
|
// Every share gets a notice forwarder — not just app-audio ones.
|
||||||
// App-audio and desktop-exclusion events become UI state, and
|
// App-audio and desktop-exclusion events become UI state, and
|
||||||
// the drain's terminal `Eof` becomes a generation-scoped fault.
|
// the drain's terminal `Eof` becomes a generation-scoped fault.
|
||||||
|
|||||||
@@ -1016,6 +1016,7 @@ mod tests {
|
|||||||
/// `cargo test --lib -- --ignored spawned_player`
|
/// `cargo test --lib -- --ignored spawned_player`
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
#[ignore = "live: requires a running PipeWire daemon, mpv and pw-dump"]
|
#[ignore = "live: requires a running PipeWire daemon, mpv and pw-dump"]
|
||||||
|
#[cfg(not(windows))]
|
||||||
async fn spawned_player_node_carries_both_ownership_carriers() {
|
async fn spawned_player_node_carries_both_ownership_carriers() {
|
||||||
use crate::audio::ownership::live_test;
|
use crate::audio::ownership::live_test;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user