KSPROPERTY_SYNTH_LATENCYCLOCK

The KSPROPERTY_SYNTH_LATENCYCLOCK property is used to query the miniport driver for the stream's current latency-clock time, which is always greater than the master-clock time.

Usage Summary Table

Get Set Target Property descriptor type Property value type

Yes

No

Pin

KSNODEPROPERTY

ULONGLONG

 

The property value (operation data) is of type ULONGLONG and represents the synthesizer's current latency time. This time is specified relative to the master clock and expressed in 100-nanosecond units.

Return Value

A KSPROPERTY_SYNTH_LATENCYCLOCK property request returns STATUS_SUCCESS to indicate that it has completed successfully. Otherwise, the request returns an appropriate error status code. The following table shows some of the possible failure codes.

Status Code Meaning

STATUS_BUFFER_TOO_SMALL

The buffer was too small to complete the operation.

STATUS_UNSUCCESSFUL

The operation did not complete successfully.

STATUS_INVALID_DEVICE_REQUEST

The operation is invalid for this device.

 

Remarks

Latency clocks are typically used to synchronize audio output streams among multiple devices.

A KSPROPERTY_SYNTH_LATENCYCLOCK get-property request should return a latency-clock time that equals the current master-clock time, plus the minimum guaranteed latency of the audio filter that the stream passes through. An application program that schedules audio data to be played earlier than the current latency-clock time risks having the data played late.

For more information about latency clocks, see the following:

  • The discussion of the KSPROPERTY_SYNTH_LATENCYCLOCK property in Latency Clocks.

  • The descriptions of the IDirectMusicPort::GetLatencyClock and IReferenceClock::GetTime methods in the Microsoft Windows SDK documentation.

Requirements

Header

Dmusprop.h (include Dmusprop.h)

See also

KSNODEPROPERTY

IDirectMusicSynth::GetLatencyClock

 

 

Send comments about this topic to Microsoft