| Previous | Next |
| NS_E_WMP_JPG_BAD_DCTSIZE | NS_E_WMP_JPG_BAD_PRECISION |
NS_E_WMP_JPG_BAD_VERSION_NUMBER
What this HRESULT actually isolates
0xC00D1036 maps to NS_E_WMP_JPG_BAD_VERSION_NUMBER. Its actionable interpretation is the JPEG version or decoder/library version field is outside the implementation’s accepted set within the skin artwork decoder and raster-file contract; the producing mechanism is 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 SOI marker, frame marker, precision, sampling factors and the marker where decoding stops and the WMP build that rejected it; that evidence is more useful than reinstalling the Player or changing several unrelated settings at once.
How this layer works
The JPEG bad version number workflow must be separated from a generic WMP failure: a filename extension is not sufficient evidence of image format; the decoder acts on signatures, headers, markers, chunks and decoded dimensions. It also matters 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 for JPEG bad version number: The resource advertises a version that the embedded image path was not built to consume.
Evidence to capture before retry
Preserve the first occurrence before retry or fallback changes the evidence. Capture one consistent object instance:
| Field | What to record |
|---|---|
| What to verify | Record the SOI marker, frame marker, precision, sampling factors and the marker where decoding stops and the WMP build that rejected it |
| Artifact identity | Archive member name, byte length, hash and file signature for this reproduction |
| Runtime state | Format header fields, dimensions, bit depth and color model for this reproduction |
| Owning object | First invalid marker/chunk and its byte offset for this reproduction |
| Lower-level result | Decoder-supported coding mode versus the file’s declared mode for this reproduction |
| Correlation | Standalone decode result outside the skin package using the same bytes for this reproduction |
Why the symbolic name matters
| Result | Different condition |
|---|---|
NS_E_WMP_JPG_BAD_DCTSIZE | The JPEG requests a DCT block or scaled-DCT mode unsupported by the embedded decoder |
NS_E_WMP_JPG_BAD_PRECISION | The JPEG frame declares a sample precision unsupported by the WMP image decoder |
NS_E_WMP_JPG_CCIR601_NOTIMPL | The JPEG asks for CCIR 601 sampling treatment not implemented by this decoder path |
A focused diagnostic sequence
- Find the first component that returned this result and label that event as the failure point.
- Freeze the input and object identity associated with the failing operation before WMP fallback or cleanup changes it.
- Reconstruct the immediately preceding successful state, then identify the call or event that crossed into failure.
- Perform the code-specific test: record the SOI marker, frame marker, precision, sampling factors and the marker where decoding stops and the WMP build that rejected it.
- Make the targeted change—export using a supported interchange version or correct the mismatched decoder component—and repeat the same producing operation.
Correct the producing condition
Resolve this result where the relevant state is produced: export using a supported interchange version or correct the mismatched decoder component. After correction, reload or recreate the owning object so cached failure state is not mistaken for a successful repair.
- 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.
Regression check
Repeat the action that returned this HRESULT and verify that the same object passes the former failure point. Success means reaching the next expected load, parse, playlist, control or playback state—not merely suppressing a dialog.
Discriminating evidence: Save the JPEG marker stream through the version-related failure and record the decoder stage that rejects it. This result concerns an unsupported or invalid JPEG version marker, whereas arithmetic-coding support is a distinct decoder capability check.
Technical references
- Skin files and image resources — normative or platform material relevant to this HRESULT.
- ITU-T T.81 JPEG specification — API or format context.
- JPEG standards overview — documentation for this HRESULT.
Looking for a different code? Search another status or error code.