Skip to content

Output formats

OpenJOC keeps renderer semantics and container semantics separate. The selected output extension controls the container, but it does not change the rendered PCM.

Output Contract
Standard preset to .wav Truthful WAVEFORMATEXTENSIBLE identities and mask.
7.1.6 or 9.1.x to .wav Fails closed; use semantic CAF.
22.2 to .wav Explicit unmasked 24-channel PCM in canonical order.
Custom layout to .wav Explicit unmasked PCM in the declared order.
Preset or custom layout to .caf Semantic channel descriptions; custom geometry can preserve coordinates.
Binaural Two-channel L/R-ear output.
export-adm .wav / .bw64 Reconstructed ADM BWF with signed 24-bit PCM and an adjacent JSON report.

LFE channels are logical destinations. They are not projection vertices, and OpenJOC does not perform crossover or Bass Management.

Levels and latency

The recommended render order is:

encoded DRC → programme dialnorm → JOC rendering
  → speaker FinalLinkedGain → optional static peak scalar → file

Speaker output reports 609 samples of availability delay. Binaural output reports 577 samples before its finite FIR tail is drained. Logical PTS is not shifted to hide this delay.

export-adm keeps floating-point reconstruction until the integer boundary. Its signed-24-bit writer rejects non-finite or out-of-range samples instead of clipping, normalizing, or silently attenuating them. See PCM24 headroom.