| Previous | Next |
| NS_E_WMP_PNG_UNSUPPORTED_COMPRESSION | NS_E_WMP_PNG_UNSUPPORTED_INTERLACE |
NS_E_WMP_PNG_UNSUPPORTED_FILTER
Where the Player stopped
The symbolic result NS_E_WMP_PNG_UNSUPPORTED_FILTER narrows 0xC00D102B to the PNG unsupported filter condition: the PNG filter-method declaration is unsupported. Keep the PNG unsupported filter boundary visible when a later dialog reduces it to a general media error.
An additional test is to record the IHDR filter-method byte and the first scanline/filter decoding result; that evidence is more useful than reinstalling the Player or changing several unrelated settings at once.
What succeeds before this failure
Two rules frame this diagnosis. First, a filename extension is not sufficient evidence of image format; the decoder acts on signatures, headers, markers, chunks and decoded dimensions. 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 malformed encoder writes an undefined filter method into the PNG header.
State worth preserving
Capture state before Player cleanup:
- Decisive check: record the IHDR filter-method byte and the first scanline/filter decoding result.
- Artifact: format header fields, dimensions, bit depth and color model.
- State: first invalid marker/chunk and its byte offset.
- Object identity: decoder-supported coding mode versus the file’s declared mode.
- Underlying evidence: standalone decode result outside the skin package using the same bytes.
- Correlation: archive member name, byte length, hash and file signature.
Reproduce without destroying evidence
- Preserve
0xC00D102B, the ErrorItem context and the object instance 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 the IHDR filter-method byte and the first scanline/filter decoding result.
- After you re-encode with the standard PNG filter method rather than changing only the extension, recreate the owning WMP object and verify that the corrected generation completes.
Related HRESULTs, different boundaries
| Result | Different condition |
|---|---|
NS_E_WMP_PNG_UNSUPPORTED_COMPRESSION | The PNG compression-method field is not accepted by the WMP decoder |
NS_E_WMP_PNG_UNSUPPORTED_INTERLACE | The PNG interlace mode is not implemented by this WMP image path |
NS_E_WMP_PNG_UNSUPPORTED_BAD_CRC | A PNG chunk fails its integrity check in Windows Media Player |
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.
Recovery at the right layer
Change the responsible precondition rather than masking the symptom: re-encode with the standard PNG filter method rather than changing only the extension.
- 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.
How to know the repair is real
Keep one fixture that reproduces 0xC00D102B and one corrected fixture that changes only the identified precondition.
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.
