| Previous | Next |
| NS_E_NO_FRAMES_SUBMITTED_TO_ANALYZER | NS_E_NO_SMPTE_WITH_MULTIPLE_SOURCEGROUPS |
NS_E_INPUT_DOESNOT_SUPPORT_SMPTE
Where the Encoder produces this result
0xC00D1BA8 (NS_E_INPUT_DOESNOT_SUPPORT_SMPTE) identifies selected source cannot provide the SMPTE timecode requested from it. The important diagnostic boundary is the Encoder object that validates this state; a later “cannot start encoding” dialog can hide that more precise origin.
Encoder timecode is tied to a video stream, source capabilities and a selected SMPTE mode in a session that returns this result. Device-control time values include frame-rate and frame-count information, while generated timecode adds compatibility constraints for multiple source groups and MBR profiles.
What has already succeeded
A source can produce video frames but still lack usable device timecode or violate the topology required for generated timecode in a session that returns this result. In a representative input doesnot support smpte case, a plain file source without timecode metadata is treated like a tape device. The result observation should be tested at the producing object instead of being treated as a general codec or operating-system failure.
State snapshot to capture
| Field | What to preserve |
|---|---|
| Decisive values | source type, device-control capabilities and first WMTIMECODE read result |
| Producing object | EnableTimecode flag, StartingTimecode, SMPTE mode, frame rate, drop-frame setting, source support, source-group count, audience count and first timecode sample |
| Session correlation | the same source-group generation, audience index, object identity and callback sequence that produced this result |
| Lower-level evidence | the first COM, driver, file-system or codec HRESULT observed before the Encoder mapped the condition to this result |
| Controlled comparison | a known-good session that changes only the setting named in the input doesnot support smpte boundary |
How to read the next observation
| Observation | How to interpret it |
|---|---|
| Observation that supports it | The decisive evidence is source type, device-control capabilities and first WMTIMECODE read result. It confirms selected source cannot provide the SMPTE timecode requested from it in the same object generation. |
| Observation that points to an earlier failure | The recorded values satisfy the input doesnot support smpte rule, but a source, driver, COM activation or file operation returns a different HRESULT first. |
| Observation that points to a later failure | The Encoder passes this boundary (selected source cannot provide the SMPTE timecode requested from it), but a codec, archive or broadcast sink then fails in a subsequent stage. |
| Verification after correction | Apply this isolated change: use generated timecode or a source/device that exposes SMPTE data. The original input doesnot support smpte call should then advance past the same checkpoint. |
The operational impact of it is limited to the smpte timecode generation and validation transition that owns selected source cannot provide the SMPTE timecode requested from it. In the representative case where a plain file source without timecode metadata is treated like a tape device, keep the first failing call and its object identity so a later wrapper cannot replace the input doesnot support smpte evidence.
A controlled diagnostic sequence
- Record
0xC00D1BA8, it, the Encoder version and the exact API call or property access that returned it. - Export the current
.wmeor.prxconfiguration, then capture source type, device-control capabilities and first WMTIMECODE read result. - verify the smpte timecode generation and validation precondition without changing the source, profile and output sink at the same time.
- Run one controlled comparison in which only this condition changes: use generated timecode or a source/device that exposes SMPTE data.
- After the change, recreate the affected Encoder object rather than assuming the existing graph discarded its earlier input doesnot support smpte state.
Nearby HRESULTs that mean something else
| Result | Why it is a different boundary |
|---|---|
NS_E_NO_SMPTE_WITH_MULTIPLE_SOURCEGROUPS | generated or source timecode is requested in a session with multiple source groups |
NS_E_INVALID_TIMECODE | parsing or range validation of the configured starting timecode |
NS_E_TIMECODE_REQUIRES_VIDEOSTREAM | timecode generation is enabled in an audio-only profile |
Corrective action at the right layer
The focused correction is to use generated timecode or a source/device that exposes SMPTE data. A retry is useful only after the recorded input doesnot support smpte precondition changes.
Do not convert timecode to wall-clock strings before preserving the raw frame count, frame-rate code and drop-frame mode in a session that returns it.
Technical references
- WMTIMECODE device-control structure.
- WMEncoder.StartingTimecode.
- WMEncoder.EnableTimecode.
- Detecting profile compatibility.
Looking for a different code? Search another status or error code.
