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 |
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
IDirectMusicSynth::GetLatencyClock