| Previous | Next |
| NS_E_NO_DATAVIEW_SUPPORT | NS_E_ARCHIVE_SAME_AS_INPUT |
NS_E_CODEC_UNAVAILABLE
The failing boundary in the Encoder object model
The useful reading of NS_E_CODEC_UNAVAILABLE (0xC00D1B83) is not merely the standard message shown above. It locates profile activation when one or more named codecs cannot be instantiated inside encoder plug-in discovery and activation.
Source, transform and device-control extensions are COM plug-ins in a session that returns this result. The Encoder must parse a CLSID, instantiate the registered component, obtain the expected interface and verify that the plug-in supports the selected source or transformation.
Evidence that separates this code from a wrapper error
A registered class can still be the wrong bitness, expose the wrong interface or reject the requested media type in a session that returns this result. For example, a.prx file references a codec removed during system cleanup. Preserve the result distinction before a UI layer converts the result into a broad start, capture or profile failure.
| Field | What to preserve |
|---|---|
| Decisive values | profile codec indexes/FOURCCs, installed codec inventory, process bitness and activation HRESULT |
| Producing object | CLSID text and binary value, COM registration path and bitness, DLL path/version/signature, requested interface IID, source scheme or transform name, activation HRESULT and access-control result |
| 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 codec unavailable boundary |
Interpret the next measurement
| Observation | How to interpret it |
|---|---|
| Observation that supports it | The decisive evidence is profile codec indexes/FOURCCs, installed codec inventory, process bitness and activation HRESULT. It confirms profile activation when one or more named codecs cannot be instantiated in the same object generation. |
| Observation that points to an earlier failure | The recorded values satisfy the codec unavailable 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 (profile activation when one or more named codecs cannot be instantiated), but a codec, archive or broadcast sink then fails in a subsequent stage. |
| Verification after correction | Apply this isolated change: install the intended trusted codec or choose an available codec while preserving profile requirements. The original codec unavailable call should then advance past the same checkpoint. |
The operational impact of it is limited to the encoder plug-in discovery and activation transition that owns profile activation when one or more named codecs cannot be instantiated. In the representative case where a.prx file references a codec removed during system cleanup, keep the first failing call and its object identity so a later wrapper cannot replace the codec unavailable evidence.
Test the condition without rewriting the session
- Record
0xC00D1B83, it, the Encoder version and the exact API call or property access that returned it. - Export the current
.wmeor.prxconfiguration, then capture profile codec indexes/FOURCCs, installed codec inventory, process bitness and activation HRESULT. - verify the encoder plug-in discovery and activation precondition without changing the source, profile and output sink at the same time.
- Run one controlled comparison in which only this condition changes: install the intended trusted codec or choose an available codec while preserving profile requirements.
- After the change, recreate the affected Encoder object rather than assuming the existing graph discarded its earlier codec unavailable state.
Interpret neighboring results carefully
| Result | Why it is a different boundary |
|---|---|
NS_E_PLUGIN_CLSID_INVALID | parsing and activation of a COM plug-in class identifier |
NS_E_TRANSFORM_PLUGIN_NOT_FOUND | lookup or activation cannot find the transform plug-in named by the session |
NS_E_NO_VALID_SOURCE_PLUGIN | selection or activation of a source plug-in capable of opening the configured input |
Resolution and verification
The direct repair for this occurrence is to install the intended trusted codec or choose an available codec while preserving profile requirements. 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 codec unavailable checkpoint.
Do not register downloaded DLLs blindly; preserve the original CLSID mapping and verify provenance, bitness and interface support in a session that returns it.
References for the boundary
- Retrieving the configured encoder input.
- Preparing a source group for encoding.
- Saving a Windows Media Encoder configuration.
- ICCompressQuery video-compressor format check.
Looking for a different code? Search another status or error code.