[idd] audio: publish render data promptly

Publish committed WaveRT render frames on a 4 kHz timer while keeping
packet completion and notification semantics unchanged.

Serialize clock sampling with position updates to prevent concurrent
queries from replaying elapsed time.
This commit is contained in:
Geoffrey McRae
2026-09-02 05:22:43 +10:00
parent 4c395bb488
commit b75b90ff1d
4 changed files with 139 additions and 16 deletions

View File

@@ -263,6 +263,12 @@ void CAudioAdapter::WriteRenderFrames(
BrokerDeviceNotifyRenderAvailable(this, bytes, droppedBytes);
}
_IRQL_requires_max_(DISPATCH_LEVEL)
void CAudioAdapter::MarkRenderDiscontinuity()
{
InterlockedExchange(&m_renderDiscontinuity, 1);
}
_IRQL_requires_max_(DISPATCH_LEVEL)
void CAudioAdapter::ReadCaptureFrames(
_In_ const FormatFingerprint &format,