| Previous | Next |
| NS_E_INVALID_VIDEO_WIDTH_FOR_INTERLACED_ENCODING | NS_E_DRM_INVALID_APPLICATION |
NS_E_MARKIN_UNSUPPORTED
Diagnostic meaning beyond the standard text
For NS_E_MARKIN_UNSUPPORTED (0xC00D1BE9), the actionable event is MarkIn or MarkOut clipping is requested for a source type that does not support seeking to marks. Keep the result producing boundary attached to the original Encoder callback or COM call.
Why the session can reach this point
Windows Media Encoder builds a timeline for every selected source before samples enter the codec in a session that returns this result. Mark-in, mark-out, repeat and time-compression settings are therefore validated against the source duration and against each other before encoding begins.
A file that opens and reports a duration can still fail here because timeline validation happens after source discovery but before the first encoded sample in a session that returns this result. One concrete way to reach the condition is that a live device or custom streaming source receives file-style clip offsets. The result test should therefore preserve the object generation and numeric settings, not just a screenshot of the final dialog.
Trace fields with diagnostic value
| Field | What to preserve |
|---|---|
| Decisive values | source type/scheme, seekability and configured MarkIn/MarkOut |
| Producing object | source-group name, source URL or device moniker, MarkIn and MarkOut in milliseconds, detected duration, Repeat flag, preprocessing mode and encoder state |
| 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 markin unsupported boundary |
Decision matrix
| Observation | How to interpret it |
|---|---|
| Observation that supports it | The decisive evidence is source type/scheme, seekability and configured MarkIn/MarkOut. It confirms MarkIn or MarkOut clipping is requested for a source type that does not support seeking to marks in the same object generation. |
| Observation that points to an earlier failure | The recorded values satisfy the markin unsupported 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 (MarkIn or MarkOut clipping is requested for a source type that does not support seeking to marks), but a codec, archive or broadcast sink then fails in a subsequent stage. |
| Verification after correction | Apply this isolated change: remove marks or use a seekable source implementation. The original markin unsupported call should then advance past the same checkpoint. |
The operational impact of it is limited to the source timeline and clipping transition that owns MarkIn or MarkOut clipping is requested for a source type that does not support seeking to marks. In the representative case where a live device or custom streaming source receives file-style clip offsets, keep the first failing call and its object identity so a later wrapper cannot replace the markin unsupported evidence.
Decision path
- Record
0xC00D1BE9, it, the Encoder version and the exact API call or property access that returned it. - Export the current
.wmeor.prxconfiguration, then capture source type/scheme, seekability and configured MarkIn/MarkOut. - verify the source timeline and clipping precondition without changing the source, profile and output sink at the same time.
- Run one controlled comparison in which only this condition changes: remove marks or use a seekable source implementation.
- After the change, recreate the affected Encoder object rather than assuming the existing graph discarded its earlier markin unsupported state.
Codes with similar symptoms but different owners
| Result | Why it is a different boundary |
|---|---|
NS_E_SOURCE_CANNOT_LOOP | Repeat is enabled for a source type that cannot be replayed |
NS_E_BAD_MARKOUT | validation of IWMEncSource.MarkOut against MarkIn and the end of the source |
NS_E_BAD_MARKIN | validation of IWMEncSource.MarkIn before the source timeline is committed |
Safe recovery
Resolve the producing condition by ensuring that you remove marks or use a seekable source implementation. Then rebuild only the portion of the Encoder graph affected by it and verify the original call.
Do not re-encode or trim the only copy of the input while diagnosing the timeline; preserve the original duration and timestamps so the invalid interval can be reproduced in a session that returns it.
Source material
- IWMEncSource.MarkOut.
- IWMEncSource.Repeat.
- Preparing a source group for encoding.
- Two-pass encoding.
Looking for a different code? Search another status or error code.
