chore: consolidate parallel-session WIP (HOLD — do not push)
Local snapshot of intermingled in-flight work, committed to unblock the encode
refactor (a clean ffmpeg_win.rs for the vbv-dedup follow-on). These hunks span
the same files and can't be cleanly split here; the commit bundles three
distinct workstreams that each belong in their own PR:
- logging rework (~43 files: level re-tiering, structured fields, `?e`,
hot-path flood latches)
- conflicting-host detection (detect.rs + detect/{linux,windows}.rs + wiring
in main.rs/mgmt.rs/Cargo.toml/docs/packaging)
- standby-sink DWM-stall attribution (windows/display_events.rs + capture/
vdisplay wiring)
NOT verified as a combination. NOT to be pushed until the refactor is done and
these are re-verified and reorganized into their proper per-workstream PRs.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -21,6 +21,7 @@
|
||||
mod audio;
|
||||
mod capture;
|
||||
mod config;
|
||||
mod detect;
|
||||
mod discovery;
|
||||
mod wol;
|
||||
// Goal-1 stage 6: top-level platform-only modules live under `src/linux/` and `src/windows/`; `#[path]`
|
||||
@@ -31,6 +32,9 @@ mod crash;
|
||||
#[cfg(target_os = "windows")]
|
||||
#[path = "windows/ddc.rs"]
|
||||
mod ddc;
|
||||
#[cfg(target_os = "windows")]
|
||||
#[path = "windows/display_events.rs"]
|
||||
mod display_events;
|
||||
#[cfg(target_os = "linux")]
|
||||
#[path = "linux/dmabuf_fence.rs"]
|
||||
mod dmabuf_fence;
|
||||
@@ -211,6 +215,19 @@ fn real_main() -> Result<()> {
|
||||
monitor_devnode::startup_recover();
|
||||
gamestream::serve(mgmt_opts, native, gamestream)
|
||||
}
|
||||
// Report other Moonlight-compatible hosts (Sunshine/Apollo/…) installed or running on this
|
||||
// machine — side-by-side use is unsupported. Exit 1 if any are found (so the installers and
|
||||
// support scripts can gate on it), 0 if clean. The host also runs this at `serve` startup.
|
||||
Some("detect-conflicts") => {
|
||||
let found = detect::scan();
|
||||
if found.is_empty() {
|
||||
println!("No conflicting game-streaming host detected.");
|
||||
Ok(())
|
||||
} else {
|
||||
print!("{}", detect::render_report(&found));
|
||||
std::process::exit(1);
|
||||
}
|
||||
}
|
||||
// Print the management API's OpenAPI document (for client codegen).
|
||||
Some("openapi") => {
|
||||
print!("{}", mgmt::openapi_json());
|
||||
|
||||
Reference in New Issue
Block a user