| Previous | Next |
| NS_E_WMP_PNG_UNSUPPORTED_BITDEPTH | NS_E_WMP_PNG_UNSUPPORTED_FILTER |
NS_E_WMP_PNG_UNSUPPORTED_COMPRESSION
How to classify this WMP result
Windows Media Player reports NS_E_WMP_PNG_UNSUPPORTED_COMPRESSION (0xC00D102A) when the PNG compression-method field is not accepted by the WMP decoder. The PNG unsupported compression condition is owned by the image-loading path used by Windows Media Player skins to identify GIF, PNG, BMP or JPEG data, validate format-specific headers and create a bitmap usable by a UI control.
An additional test is to record the IHDR compression byte and verify the file was not produced as a proprietary PNG variant; that evidence is more useful than reinstalling the Player or changing several unrelated settings at once.
Investigation order
- Preserve
0xC00D102A, the ErrorItem context and the object instance involved in PNG unsupported compression. - 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 the IHDR compression byte and verify the file was not produced as a proprietary PNG variant.
- After you encode the image with the standard supported PNG compression method, recreate the owning WMP object and verify that the corrected generation completes.
The surrounding WMP state
A filename extension is not sufficient evidence of image format; the decoder acts on signatures, headers, markers, chunks and decoded dimensions. A second relevant constraint is that a file can be valid according to a modern format specification yet use a coding option that the legacy WMP skin decoder does not implement.
Representative case: A generated resource carries a nonstandard compression method value in IHDR.
Inputs that distinguish the causes
Preserve the first occurrence before retry or fallback changes the evidence. Capture one consistent object instance:
| Field | What to record |
|---|---|
| Decisive check | Record the IHDR compression byte and verify the file was not produced as a proprietary PNG variant |
| Artifact identity | Decoder-supported coding mode versus the file’s declared mode |
| Runtime state | Standalone decode result outside the skin package using the same bytes |
| Owning object | Archive member name, byte length, hash and file signature |
| Lower-level result | Format header fields, dimensions, bit depth and color model |
| Correlation | First invalid marker/chunk and its byte offset |
Do not confuse it with nearby results
| Result | Different condition |
|---|---|
NS_E_WMP_PNG_UNSUPPORTED_BITDEPTH | The PNG declares a bit depth unsupported by the legacy WMP skin decoder |
NS_E_WMP_PNG_UNSUPPORTED_FILTER | The PNG filter-method declaration is unsupported |
NS_E_WMP_PNG_INVALIDFORMAT | The PNG resource fails a format or decoder capability check before it can become skin artwork |
If this result is followed by a broader “cannot play,” “cannot load,” or “operation failed” result, preserve the earlier event. The later code can be a consequence from a wrapper, fallback item or UI layer rather than the producing failure.
Verification after correction
Keep one fixture that reproduces 0xC00D102A and one corrected fixture that changes only the identified precondition.
What a real fix must change
Change the responsible precondition rather than masking the symptom: encode the image with the standard supported PNG compression method.
- Avoid changing only the extension or MIME type while leaving the encoded bytes unchanged; it can destroy the artifact or state needed to explain this result.
- Avoid repeatedly recompressing the sole source image without retaining an original and a decoded pixel comparison; that can replace the original HRESULT with a secondary failure from another layer.
Technical references
- Skin files and image resources — API or format context.
- PNG specification — documentation for this result.
- Windows Media Player skins — normative or platform material relevant to this result.
Looking for a different code? Search another status or error code.