Skip to content

Keep USB audio inputs without connector detection available - #37

Draft
Igor Baranov (iibaranov-IG) wants to merge 1 commit into
microsoft:yamaha-mainfrom
iibaranov-IG:bcl/low-latency-audio-36-6f1b6b17700d96d0
Draft

Igor Baranov (iibaranov-IG) wants to merge 1 commit into
microsoft:yamaha-mainfrom
iibaranov-IG:bcl/low-latency-audio-36-6f1b6b17700d96d0

Conversation

@iibaranov-IG

Copy link
Copy Markdown
Contributor

USBAudio2-ACX advertises jack detection on endpoints whose USB terminals have no connector control, causing a selected input behind a hardware selector to appear unavailable in the legacy Windows sound panel.

Change

Configure the no-connector-control dummy jack with no detection flag or presence callback while preserving its connected state and leaving the physical jack path unchanged.

Related issue: #36

Reproduction and acceptance

Install the yamaha-main driver for a USB Audio 2 device with a Selector Unit, select an input such as Aux In in Windows Settings, then open the Recording page in mmsys.cpl; the selected endpoint says Currently unavailable and its level meter stays idle.

Dummy jacks for terminals without connector control are advertised as static, connector-controlled physical jacks retain presence detection, and the selected MUX input remains available in mmsys.cpl.

BCL evidence

Run: https://github.com/iibaranov-IG/broadcast-control-lab/actions/runs/34838140237

Artifact: batch-evidence/low-latency-audio-36
BCL revision: 1228d56bf3135b61e909c002f7257366fff0bce9
Tested baseline: microsoft/low-latency-audio@7af4ddaec3e930a029a3e27750fe181b03a7ea2a
Candidate SHA-256: 6f1b6b17700d96d09eb3b3e0920af97601c0f9a42688582db677bc8bd7313253

  • baseline-red: PASS; command: node --test tests/test_static_dummy_jack_bcl.mjs; exit: 1; log: upstream-2-baseline-red.log
  • candidate-green: PASS; command: node --test tests/test_static_dummy_jack_bcl.mjs; exit: 0; log: upstream-3-candidate-green.log
  • candidate-suite: PASS; command: node --test tests/test_static_dummy_jack_bcl.mjs; exit: 0; log: upstream-4-candidate-suite.log

Owner check

Build and install the candidate USBAudio2-ACX driver on the reported Windows setup. Select Aux In, open mmsys.cpl Recording, and confirm it shows Default Device with an active level meter. Repeat with Microphone, What U Hear and SPDIF In, then check a device with real connector detection still changes availability when unplugged.

BCL verifies the pinned production source is red before the change and green after it, and that connector-controlled jacks retain detection. The Windows kernel driver has not been built or installed by BCL; the final UI and meter behavior require the reporter's Sound Blaster G3.

Hardware verified: false. Full application verified: false.

The evidence artifact contains HARDWARE-CHECK.md and owner-result.json. Automated checks do not certify hardware.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The kernel-driver change is consistent, but final endpoint behavior still requires Windows hardware validation.

Pull request overview

Updates dummy USB audio jacks to remain statically available when connector detection is unsupported.

Changes:

  • Removes presence callbacks and detection flags from dummy jacks.
  • Preserves detection behavior for physical, connector-controlled jacks.
File summaries
File Description
src/uac2-driver/CircuitCommon.cpp Configures dummy jacks as static endpoints.
Review details
  • Files reviewed: 1/1 changed files
  • Comments generated: 0
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants