fix(bridge): JOINED audio needs BOTH stereo channels declared (fixes -91dB silence)
VHD_SlotExtractAudio on the JOINED slot returned -91dB silence when only pAudioChannels[0] was declared. On this card/SDK declaring BOTH channel[0] and channel[1] of the stereo pair makes the SDK land real PCM. Verified -13.3dB audible against the live SDI source (was -91dB).
This commit is contained in:
parent
97267aa857
commit
f5566cbb81
1 changed files with 9 additions and 1 deletions
|
|
@ -474,7 +474,15 @@ static void audio_extract_init(AudioExtract *ax, PortState *ps) {
|
|||
ax->ai.pAudioGroups[0].pAudioChannels[0].Mode = VHD_AM_STEREO;
|
||||
ax->ai.pAudioGroups[0].pAudioChannels[0].BufferFormat = VHD_AF_16;
|
||||
ax->ai.pAudioGroups[0].pAudioChannels[0].pData = ax->buf;
|
||||
/* pAudioChannels[1] intentionally left zeroed (memset above). */
|
||||
/* BOTH channels of the stereo pair MUST be declared (Mode+BufferFormat) for
|
||||
* VHD_SlotExtractAudio to return samples on THIS card/SDK. Configuring only
|
||||
* channel[0] (per the upstream FFmpeg fork's pattern) yielded -91dB silence
|
||||
* here; declaring channel[1] too — matching the proven DISJOINED_ANC config
|
||||
* that extracted real audio — makes the SDK land real PCM (verified -13.3dB
|
||||
* against the live source). The interleaved L/R s16le still lands in
|
||||
* channel[0].pData; channel[1] just needs its descriptor present. */
|
||||
ax->ai.pAudioGroups[0].pAudioChannels[1].Mode = VHD_AM_STEREO;
|
||||
ax->ai.pAudioGroups[0].pAudioChannels[1].BufferFormat = VHD_AF_16;
|
||||
ax->enabled = 1;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue