| Previous | Next |
| VFW_E_SIZENOTSET | VFW_E_NO_SINK |
VFW_E_NO_CLOCK
Meaning
Windows documents VFW_E_NO_CLOCK as “Cannot lock for synchronization because no clock has been defined”. In practical terms, it is returned when a DirectShow synchronization or advise operation requires a reference clock but the graph or filter has none.
Likely causes
- Possible cause 1: the graph deliberately selected no clock and a component still requests timed synchronization.
- Possible cause 2: clock selection failed during graph setup.
- Possible cause 3: a filter cached a clock that was removed or released.
Evidence to collect
- Capture 1: IMediaFilter::GetSyncSource result for the affected filter.
- Capture 2: graph clock-selection events and clock CLSID.
- Capture 3: advise time, stream time and graph state.
Correct handling and retry
- Corrective action 1: assign a valid reference clock before timed operations.
- Corrective action 2: support clockless execution only in components designed for clockless execution.
- Corrective action 3: refresh clock references after graph reconstruction.
Retry guidance. Retry after setting the synchronization source; waiting longer cannot create a missing clock.
Difference from nearby HRESULTs
VFW_E_TIME_ALREADY_PASSED has a clock but rejects a past schedule, whereas it means timed scheduling has no clock source at all.
Practical scenario
A fast-as-possible transcoding graph disables its clock, but a custom renderer still schedules an advise; making that renderer clockless prevents it.
Official Microsoft references
Looking for a different code? Search another status or error code.