feat(screenshare): integrate desktop audio exclusion

This commit is contained in:
2026-08-21 22:12:48 -04:00
parent ba96e59db0
commit 2c2b861516
7 changed files with 848 additions and 137 deletions
+7 -4
View File
@@ -305,10 +305,6 @@ pub(super) struct ScreenshareTeardown<C: ChildProcess, G> {
///
/// ⚠️ **LAST FIELD ON PURPOSE** — see the module docs and the struct note.
///
/// Never read, and that is the design: the guard is held only so that its
/// `Drop` runs, and only so that it runs *here*, last. `dead_code` is right
/// that nothing reads it and wrong that it does nothing.
#[allow(dead_code)]
echo_cancel: Option<G>,
}
@@ -325,6 +321,13 @@ impl<C: ChildProcess, G> ScreenshareTeardown<C, G> {
self.host.is_some()
}
/// Borrow the session-owned AEC guard without disturbing its load-bearing
/// last-field drop order. Phase 8 uses this only to pass the module identity
/// to PixelPass while the guard remains owned here.
pub(super) fn echo_cancel(&self) -> Option<&G> {
self.echo_cancel.as_ref()
}
pub(super) fn set_host(&mut self, child: C) {
self.host = Some(ReapOnDrop::new(child, "screen-share host"));
}