| Previous | Next |
| NS_E_NO_SMPTE_WITH_MULTIPLE_SOURCEGROUPS | NS_E_INTERLACEMODE_MISMATCH |
NS_E_BAD_CONTENTEDL
The failing boundary in the Encoder object model
The useful reading of NS_E_BAD_CONTENTEDL (0xC00D1BAA) is not merely the standard message shown above. It locates loading or parsing the voice-codec content optimization EDL inside preprocessing, analysis and multipass constraints.
Inverse telecine, time compression, image preprocessing, content analysis and two-pass encoding require access to particular source types and often require rereading or temporarily storing the source in a session that returns NS_E_BAD_CONTENTEDL. Live, looping and device inputs impose additional restrictions at the bad contentedl checkpoint.
Evidence that separates this code from a wrapper error
The underlying audio or video source may be healthy while the requested preprocessing workflow is impossible for that source lifecycle in a session that returns NS_E_BAD_CONTENTEDL. For example, a text editor changes the EDL format or truncates the file. Preserve the NS_E_BAD_CONTENTEDL distinction before a UI layer converts the result into a broad start, capture or profile failure.
| Field | What to preserve |
|---|---|
| Decisive values | EDL path, file hash, version field, entry order and read/parse HRESULT |
| Producing object | source type, live/file flag, Repeat flag, pass count, temporary-storage setting, preprocessing filters, analyzer frame count, input frame rate, content EDL path and selected codec mode |
| Session correlation | the same source-group generation, audience index, object identity and callback sequence that produced NS_E_BAD_CONTENTEDL |
| Lower-level evidence | the first COM, driver, file-system or codec HRESULT observed before the Encoder mapped the condition to NS_E_BAD_CONTENTEDL |
| Controlled comparison | a known-good session that changes only the setting named in the bad contentedl boundary |
Interpret the next measurement
| Observation | How to interpret it |
|---|---|
| Observation that supports this result | The decisive evidence is EDL path, file hash, version field, entry order and read/parse HRESULT. It confirms loading or parsing the voice-codec content optimization EDL in the same object generation. |
| Observation that points to an earlier failure | The recorded values satisfy the bad contentedl 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 (loading or parsing the voice-codec content optimization EDL), but a codec, archive or broadcast sink then fails in a subsequent stage. |
| Verification after correction | Apply this isolated change: restore a valid EDL generated for the selected voice-codec workflow. The original bad contentedl call should then advance past the same checkpoint. |
The operational impact of NS_E_BAD_CONTENTEDL is limited to the preprocessing, analysis and multipass constraints transition that owns loading or parsing the voice-codec content optimization EDL. For NS_E_BAD_CONTENTEDL, it does not, by itself, prove that every input is corrupt, every codec is missing or the complete Windows Media installation is unusable. In the representative case where a text editor changes the EDL format or truncates the file, keep the first failing call and its object identity so a later wrapper cannot replace the bad contentedl evidence.
Test the condition without rewriting the session
- Record
0xC00D1BAA,NS_E_BAD_CONTENTEDL, the Encoder version and the exact API call or property access that returned it. - Export the current
.wmeor.prxconfiguration, then capture EDL path, file hash, version field, entry order and read/parse HRESULT. - For
NS_E_BAD_CONTENTEDL, verify the preprocessing, analysis and multipass constraints precondition without changing the source, profile and output sink at the same time. - Run one controlled comparison in which only this condition changes: restore a valid EDL generated for the selected voice-codec workflow.
- After the change, recreate the affected Encoder object rather than assuming the existing graph discarded its earlier bad contentedl state.
Interpret neighboring results carefully
| Result | Why it is a different boundary |
|---|---|
NS_E_NO_FRAMES_SUBMITTED_TO_ANALYZER | content analyzer completes or is queried without receiving any video frames |
NS_E_NO_AUDIO_TIMECOMPRESSION | time compression is enabled for a session without an audio stream |
NS_E_NO_PAL_INVERSE_TELECINE | inverse telecine is selected for PAL-rate content where the feature is not applicable |
Resolution and verification
The direct repair for this occurrence is to restore a valid EDL generated for the selected voice-codec workflow. Recreate the affected source group, profile or output object, repeat the same operation, and confirm that the first failing HRESULT no longer comes from the bad contentedl checkpoint.
Do not enable several preprocessing features at once during diagnosis; validate the plain one-pass source first, then add one transformation with its required storage or analysis stage in a session that returns NS_E_BAD_CONTENTEDL.
References for the NS_E_BAD_CONTENTEDL boundary
- Two-pass encoding.
- IWMEncContentAnalyzer.Property.
- Voice-codec editing decision lists.
- IWMEncSource.Repeat.
Looking for a different code? Search another status or error code.