Skip to content

Monitor Off does not mute live WASAPI output in beta #665

Description

@iamfatness

Symptom

In beta beta-2026-09-26-0eb6fb2, the Monitor UI toggles On/Off but GoXLR Game keeps playing audio in a live meeting.

Evidence

The installed native process and local Release binary hash match (26319C...39B7A89). Live /snapshot reports audioMixSession.monitorEnabled=true, monitorStatus=playing, but no monitorControl; /state reports empty monitor authority epoch and revision 0. MediaCore::audioMixSessionState() includes monitorControl in idle branches but omits it in the live branch. The #661 shell coordinator needs the authority epoch/revision before it submits a versioned edit, so the visible Off draft cannot apply while the mix is live.

Done when

  • Live audio snapshot includes the same monitor control state as idle branches.
  • A regression test fails if the live branch omits it and verifies a versioned Off command stops monitoring while audio mixing remains live.
  • Control API and installed beta validation show Off reaches native state and monitor frames stop advancing; On resumes.
  • Preserve record/stream audio and do not alter the live meeting for an automated test.

Activity

  1. iamfatness commented on Sep 26, 2026

    @iamfatness
    OwnerAuthor

    Root cause confirmed in installed beta beta-2026-09-26-0eb6fb2: live audioMixSession reports monitorEnabled=true, monitorStatus=playing, but no monitorControl state; /state shows empty authority epoch/revision 0. The #661 coordinator cannot submit an Off command without this token. The native code emitted the token in idle branches but not the live branch.

    PR #666 adds that missing live field and a test for On → Off → On while a PCM source keeps the mix live. Targeted native tests and all 2248 MediaCore .NET tests pass. Installed fixed-beta acceptance remains; the active meeting was not interrupted to swap binaries.

  2. iamfatness commented on Sep 26, 2026

    @iamfatness
    OwnerAuthor

    PR #666 merged into main at 975076b. Reopening this issue because the installed fixed-beta validation of Monitor Off/On in a live mix remains outstanding; the currently running beta still contains the old native binary.

  3. iamfatness commented on Sep 26, 2026

    @iamfatness
    OwnerAuthor

    Patched unsigned beta published from main 975076b8: https://github.com/iamfatness/CoreVideoPro/releases/tag/beta-2026-09-26-975076b . All six assets and GitHub SHA-256 digests verified; CI green.

    The previous beta remains installed and running in the owner's meeting. Keep this issue open until the new beta is installed and Off/On is confirmed on GoXLR Game with live audio. The local installer smoke gate was not run because it refuses to alter the existing CoreVideo shortcut/installation.

  4. iamfatness commented on Sep 26, 2026

    @iamfatness
    OwnerAuthor

    Installed acceptance passed on beta-2026-09-26-975076b (main 975076b8). The installed manifest verified 849 delivered file hashes with zero mismatches; runtime probe exited 0 (success=true, windowOpened=false); both stable shortcuts target the new install.

    In the installed app, Control API audio.monitor.set Off returned ok=true and live native state changed to monitorOn=false, revision 3, last result applied, monitorStatus=muted. On returned ok=true, revision 4, monitorStatus=playing. The live snapshot contains monitorControl, with Zoom Live and 10 participants. Monitor frames advanced from 781,440 to 925,440 over 3 seconds with zero underruns. The owner independently confirmed: "Button works again." The initial monitor On state was restored after the test.

    The standalone installer stress script still self-refused on an existing CoreVideo shortcut; this does not negate the actual installed release and live monitor acceptance. Closing #665.

  5. added a commit that references this issue on Sep 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    backlogRanked in docs/BACKLOG.md

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions