[idd] audio: support 32-bit and common channel layouts

Advertise signed and floating-point 32-bit formats across mono,
stereo, quad, surround, 5.1, and 7.1 at every supported rate.

Carry sample encoding through the broker and LGMP protocol so integer
and floating-point streams remain distinct.

Expand packet, shared-memory, and ring capacity for eight-channel
32-bit audio.
This commit is contained in:
Geoffrey McRae
2026-09-05 07:39:32 +10:00
parent 5681dcdbe7
commit efc9952e74
13 changed files with 444 additions and 170 deletions

View File

@@ -420,6 +420,20 @@ static bool validFormat(const KVMFRAudioFormat * wire,
return false;
break;
case KVMFR_AUDIO_SAMPLE_S32_LE:
format = LG_AUDIO_FMT_S32_LE;
bytesPerSample = 4;
if (wire->validBits != 32 || wire->containerBits != 32)
return false;
break;
case KVMFR_AUDIO_SAMPLE_F32_LE:
format = LG_AUDIO_FMT_F32_LE;
bytesPerSample = 4;
if (wire->validBits != 32 || wire->containerBits != 32)
return false;
break;
default:
return false;
}