[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

@@ -46,7 +46,7 @@ PCPIN_DESCRIPTOR g_RenderWavePins[] =
{
0, nullptr,
0, nullptr,
kRenderFormatCount, g_renderDataRangePointers,
kRenderDataRangeCount, g_renderDataRangePointers,
KSPIN_DATAFLOW_IN,
KSPIN_COMMUNICATION_SINK,
&KSCATEGORY_AUDIO,
@@ -115,7 +115,7 @@ PCPIN_DESCRIPTOR g_CaptureWavePins[] =
{
0, nullptr,
0, nullptr,
kCaptureFormatCount, g_captureDataRangePointers,
kCaptureDataRangeCount, g_captureDataRangePointers,
KSPIN_DATAFLOW_OUT,
KSPIN_COMMUNICATION_SINK,
&KSCATEGORY_AUDIO,
@@ -284,8 +284,8 @@ NTSTATUS CMiniportWaveRT::NewStream(
if (InterlockedCompareExchange(&m_streamOpen, 1, 0) != 0)
return STATUS_DEVICE_BUSY;
CMiniportWaveRTStream *newStream =
new(NonPagedPoolNx, LGAUDIO_POOL_TAG) CMiniportWaveRTStream(
CWS *newStream =
new(NonPagedPoolNx, LGAUDIO_POOL_TAG) CWS(
this, m_adapter, portStream, m_kind);
if (!newStream)
{