Skip to content

Support integer and mono audio output formats - #118

Closed
brxs wants to merge 1 commit into
mainfrom
codex/107-audio-formats
Closed

Support integer and mono audio output formats#118
brxs wants to merge 1 commit into
mainfrom
codex/107-audio-formats

Conversation

@brxs

@brxs brxs commented Aug 8, 2026

Copy link
Copy Markdown
Collaborator

Part of #107.

Adds cross-platform output-device compatibility at the CPAL boundary while preserving the engine's internal 48 kHz stereo f32 contract.

What changed

  • supports f32, i16, and u16 output streams
  • handles mono downmix, stereo output, and wider master/cue routing
  • clips and converts samples without allocating in the realtime callback
  • processes arbitrarily large host callbacks in bounded preallocated tiles, including synchronized master/cue and resampled output
  • keeps non-48 kHz resampling ahead of final sample conversion
  • reports the selected output sample format
  • uses cross-toolchain MXCSR access for FTZ/DAZ on x86_64

Verification

  • 16 focused device tests, including oversized primary, master/cue, and resampled callbacks
  • full engine suite: 116 tests
  • cargo clippy --all-targets -- -D warnings
  • Windows MSVC engine compile check
  • full Rust workspace compile check

Actual playback qualification on Windows/Linux mono and integer-only devices remains part of the platform hardware matrix; this PR establishes and unit-tests the portable format/channel contract.

@brxs
brxs force-pushed the codex/107-audio-formats branch from 40d31b9 to eb5996b Compare August 8, 2026 20:46
@brxs
brxs marked this pull request as ready for review August 8, 2026 20:52
@brxs

brxs commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator Author

Superseded by and fully consolidated into #131. The combined branch includes this lane's substantive changes, subsequent integration fixes, and exact-head cross-platform validation. Please continue review in #131.

@brxs brxs closed this Aug 10, 2026
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.

1 participant