EVT_ACX_STREAM_GET_HW_LATENCY callback function (acxstreams.h)
The EvtAcxStreamGetHwLatency event tells the driver to provide stream latency for the specific circuit of this stream (overall latency will be a sum of the latency of the different circuits).
Syntax
EVT_ACX_STREAM_GET_HW_LATENCY EvtAcxStreamGetHwLatency;
NTSTATUS EvtAcxStreamGetHwLatency(
ACXSTREAM Stream,
ULONG *FifoSize,
ULONG *Delay
)
{...}
Parameters
Stream
An ACXSTREAM object represents an audio stream created by a circuit. The stream is composed of a list of elements created based on the parent circuit's elements. For more information, see ACX - Summary of ACX Objects.
FifoSize
The FifoSize in bytes.
Delay
The Delay in 100-nanosecond units.
Return value
Returns STATUS_SUCCESS
if the call was successful. Otherwise, it returns an appropriate error code. For more information, see Using NTSTATUS Values.
Remarks
Example usage is shown below.
//
// Init streaming callbacks.
//
ACX_RT_STREAM_CALLBACKS rtCallbacks;
ACX_RT_STREAM_CALLBACKS_INIT(&rtCallbacks);
rtCallbacks.EvtAcxStreamGetHwLatency = EvtStreamGetHwLatency;
status = AcxStreamInitAssignAcxRtStreamCallbacks(StreamInit, &rtCallbacks));
PAGED_CODE_SEG
NTSTATUS
EvtStreamGetHwLatency(
_In_ ACXSTREAM Stream,
_Out_ ULONG * FifoSize,
_Out_ ULONG * Delay
)
{
PSTREAM_CONTEXT ctx;
PAGED_CODE();
ctx = GetStreamContext(Stream);
*FifoSize = ctx->DmaFifoSize;
*Delay = ctx->ChipsetDelay + ctx->CodecDelay;
return STATUS_SUCCESS;
}
ACX requirements
Minimum ACX version: 1.0
For more information about ACX versions, see ACX version overview.
Requirements
Requirement | Value |
---|---|
Header | acxstreams.h |
IRQL | PASSIVE_LEVEL |