| Previous | Next |
| NS_E_NONSQUAREPIXELMODE_MISMATCH | NS_E_END_OF_TAPE |
NS_E_SMPTEMODE_MISMATCH
How to interpret the code in a real encoding session
0xC00D1BAD is named NS_E_SMPTEMODE_MISMATCH. Its practical scope is SMPTE timecode mode differs across audiences for the same source index, which belongs to profile, audience and stream topology rather than to every part of Windows Media playback or Windows itself.
Mechanism and point of failure
A Windows Media Encoder profile declares content types and one or more audiences in a session that returns this result. Each audience maps source indexes to audio, video, script or file streams and must remain structurally consistent with the other audiences in a multiple-bit-rate profile.
Individual fields may be syntactically valid while the complete profile is inconsistent across audiences or does not match the source group in a session that returns this result. A typical reproduction is: one audience uses 30-drop while another uses 30-nondrop for the same stream. This makes the first result from the Encoder more valuable than a later generic message.
Reproduction matrix
| Field | What to preserve |
|---|---|
| Decisive values | timecode mode, frame-rate basis and source index per audience |
| Producing object | profile name and content type, audience count and total bitrate, source indexes, stream types, language identifiers, selected audiences and result of IWMEncProfile2.Validate |
| 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 smptemode mismatch boundary |
Evidence matrix
| Observation | How to interpret it |
|---|---|
| Observation that supports it | The decisive evidence is timecode mode, frame-rate basis and source index per audience. It confirms SMPTE timecode mode differs across audiences for the same source index in the same object generation. |
| Observation that points to an earlier failure | The recorded values satisfy the smptemode mismatch 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 (SMPTE timecode mode differs across audiences for the same source index), but a codec, archive or broadcast sink then fails in a subsequent stage. |
| Verification after correction | Apply this isolated change: select one common timecode mode across the audiences. The original smptemode mismatch call should then advance past the same checkpoint. |
The operational impact of it is limited to the profile, audience and stream topology transition that owns SMPTE timecode mode differs across audiences for the same source index. In the representative case where one audience uses 30-drop while another uses 30-nondrop for the same stream, keep the first failing call and its object identity so a later wrapper cannot replace the smptemode mismatch evidence.
Minimal experiment
- Record
0xC00D1BAD, it, the Encoder version and the exact API call or property access that returned it. - Export the current
.wmeor.prxconfiguration, then capture timecode mode, frame-rate basis and source index per audience. - verify the profile, audience and stream topology precondition without changing the source, profile and output sink at the same time.
- Run one controlled comparison in which only this condition changes: select one common timecode mode across the audiences.
- After the change, recreate the affected Encoder object rather than assuming the existing graph discarded its earlier smptemode mismatch state.
Do not collapse these results together
| Result | Why it is a different boundary |
|---|---|
NS_E_NONSQUAREPIXELMODE_MISMATCH | non-square-pixel mode differs across audiences sharing a source index |
NS_E_NO_MEDIA_IN_AUDIENCE | an audience contains neither audio nor video media inputs |
NS_E_INTERLACEMODE_MISMATCH | the same source index has different interlace modes across audiences |
What to change—and what to leave alone
Change the smallest responsible precondition: select one common timecode mode across the audiences. While retesting it, keep all unrelated source, audience and output values fixed until the same call is repeated.
Do not repair a profile by deleting arbitrary audiences; export the.prx first and compare the same source index across every audience in a session that returns it.
Authoritative documentation
- Adding an audience to an encoder profile.
- IWMEncAudienceObj.TotalBitrate.
- Retrieving the profile assigned to a source group.
- Detecting profile compatibility.
Looking for a different code? Search another status or error code.