| Previous | Next |
| NS_E_WMPCORE_CODEC_NOT_FOUND | NS_E_WMPCORE_ERROR_DOWNLOADING_PLAYLIST |
NS_E_WMPCORE_CODEC_DOWNLOAD_NOT_ALLOWED
The exact condition behind the dialog
Windows Media Player reports NS_E_WMPCORE_CODEC_DOWNLOAD_NOT_ALLOWED (0xC00D109C) when the required codec is absent and Player policy/settings prohibit automatic acquisition. The playback core codec download not allowed condition is owned by the core that resolves Player.URL, selects or builds a playback graph, chooses codecs and devices, prerolls media and advances between playlist items while reporting asynchronous errors.
An additional test is to record missing subtype plus codec-download policy and network context; that evidence is more useful than reinstalling the Player or changing several unrelated settings at once.
Inputs that distinguish the causes
Preserve the first occurrence before retry or fallback changes the playback core codec download not allowed evidence. Capture one consistent object generation:
| Field | What to record |
|---|---|
| Decisive check | Record missing subtype plus codec-download policy and network context |
| Artifact identity | Ordered ErrorItem queue with errorCode, errorContext and media object for this reproduction |
| Runtime state | Player.URL, current media sourceURL and resolved final URL for this reproduction |
| Owning object | Play state and transition immediately before failure for this reproduction |
| Lower-level result | Selected graph/source/filter or codec identity and version for this reproduction |
| Correlation | Audio/video device identity and driver generation for this reproduction |
Log paths, hashes, IDs, offsets, and HRESULTs. Exclude secrets and unrelated content from logs.
The surrounding WMP state
The URL, playlist item, selected source, graph and codec are distinct objects; a failure at one should not be diagnosed by replacing all of them at once. A second relevant constraint is that the Error and MediaError paths can queue several results, so the first specific HRESULT and its error context are more useful than the last dialog.
Representative case: A managed system disables automatic codec downloads by design. The example isolates only the producing component.
Do not confuse it with nearby results
| Result | Different boundary |
|---|---|
NS_E_WMPCORE_CODEC_NOT_FOUND | The graph cannot find the specific codec required for a media stream |
NS_E_WMPCORE_CODEC_NOT_TRUSTED | The candidate codec fails the trust/signature policy required for installation/use |
NS_E_WMPCORE_MISNAMED_FILE | The file extension/name disagrees with the content or supported media interpretation |
If this result is followed by a broader “cannot play,” “cannot load,” or “operation failed” result, preserve the earlier event. A later wrapper error may be secondary.
Investigation order
- Preserve
0xC00D109C, the ErrorItem context and the object generation involved in the failing operation. - Compare the failing artifact with a known-good artifact that differs only in the suspected property.
- Separate acquisition, parsing, object construction, playback and persistence until the component that produced the failure is clear.
- Confirm the failure directly: record missing subtype plus codec-download policy and network context.
- After you deploy the codec through an authorized channel or enable the documented policy where appropriate, recreate the owning WMP object and verify that the corrected generation completes.
Verification after correction
Keep one fixture that reproduces 0xC00D109C and one corrected fixture that changes only the identified precondition. This condition correction is complete when the intended operation succeeds without being replaced by a neighboring WMP HRESULT.
What a real fix must change
Change the responsible precondition rather than masking the symptom: deploy the codec through an authorized channel or enable the documented policy where appropriate. A retry is meaningful only after that recorded condition changes.
- Avoid installing broad codec packs before identifying the requested media subtype and missing component; it can destroy the artifact or state needed to explain this result.
- Avoid clearing the error queue or skipping to another playlist item before preserving the first failing media object; that can replace the original HRESULT with a secondary failure from another layer.
Code-specific operational note
Use this result, 0xC00D109C and the symbolic phrase in traces. Correlate search keys with API and object.
Technical references
- Windows Media Player SDK — API or format context for this HRESULT.
- Player MediaError event — documentation used to identify the producing boundary of this result.
- ErrorItem object — normative or platform material relevant to this result.
- Supported protocols and file types
Looking for a different code? Search another status or error code.