IAudioClient::GetStreamLatency

Previous Next

IAudioClient::GetStreamLatency

The GetStreamLatency method retrieves the maximum latency for the current stream and can be called any time after the stream has been initialized.

HRESULT GetStreamLatency(
  REFERENCE_TIME  *phnsLatency
);

Parameters

phnsLatency

[out]  Pointer to a REFERENCE_TIME variable into which the method writes a time value representing the latency. The time is expressed in 100-nanosecond units. For more information about REFERENCE_TIME, see the Windows SDK documentation.

Return Value

If the method succeeds, it returns S_OK. If it fails, possible return codes include, but are not limited to, the values shown in the following table.

Return code Description
AUDCLNT_E_NOT_INITIALIZED The audio stream has not been successfully initialized.
AUDCLNT_E_DEVICE_INVALIDATED The audio endpoint device has been unplugged, or the audio hardware or associated hardware resources have been reconfigured, disabled, removed, or otherwise made unavailable for use.
AUDCLNT_E_SERVICE_NOT_RUNNING The Windows audio service is not running.
E_POINTER Parameter phnsLatency is NULL.

Remarks

This method requires prior initialization of the IAudioClient interface. All calls to this method will fail with the error AUDCLNT_E_NOT_INITIALIZED until the client initializes the audio stream by successfully calling the IAudioClient::Initialize method.

This method retrieves the maximum latency for the current stream. The value will not change for the lifetime of the IAudioClient object.

Rendering clients can use this latency value to compute the minimum amount of data that they can write during any single processing pass. To write less than this minimum is to risk introducing glitches into the audio stream. For more information, see IAudioRenderClient::GetBuffer.

Requirements

Client: Windows Vista

Header: Include Audioclient.h.

See Also

Previous Next