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.
| 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.
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 error 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. |
Declared in dmusprop.h. Include dmusprop.h.
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: