| Previous | Next |
| NS_E_INVALID_INTERLACE_COMPAT | NS_E_INVALID_SOURCE_WITH_DEVICE_CONTROL |
NS_E_INVALID_NONSQUAREPIXEL_COMPAT
Diagnostic meaning beyond the standard text
For NS_E_INVALID_NONSQUAREPIXEL_COMPAT (0xC00D1BDD), the actionable event is non-square-pixel output conflicts with the Player 7.1 compatibility target. Keep the result producing boundary attached to the original Encoder callback or COM call.
Why the session can reach this point
Windows Media Encoder profiles can be checked for compatibility with older Windows Media Player generations in a session that returns this result. VBR, multiple audiences, audio/video format variation, interlace and non-square pixels can move a profile beyond the version 7.1 compatibility envelope.
The profile may be valid for Windows Media 9 or later and still be intentionally rejected when an older compatibility target is required in a session that returns this result. One concrete way to reach the condition is that anamorphic output is enabled in a profile intended for legacy clients. The result test should therefore preserve the object generation and numeric settings, not just a screenshot of the final dialog.
Trace fields with diagnostic value
| Field | What to preserve |
|---|---|
| Decisive values | pixel-aspect mode/ratio and DetectCompatibility result |
| Producing object | DetectCompatibility result, target player generation, audience count, VBR mode, codec and format per audience, frame size, interlace flag and non-square-pixel flag |
| 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 invalid nonsquarepixel compat boundary |
Decision matrix
| Observation | How to interpret it |
|---|---|
| Observation that supports it | The decisive evidence is pixel-aspect mode/ratio and DetectCompatibility result. It confirms non-square-pixel output conflicts with the Player 7.1 compatibility target in the same object generation. |
| Observation that points to an earlier failure | The recorded values satisfy the invalid nonsquarepixel compat 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 (non-square-pixel output conflicts with the Player 7.1 compatibility target), but a codec, archive or broadcast sink then fails in a subsequent stage. |
| Verification after correction | Apply this isolated change: use square-pixel output or target a newer player. The original invalid nonsquarepixel compat call should then advance past the same checkpoint. |
The operational impact of it is limited to the legacy player compatibility rules transition that owns non-square-pixel output conflicts with the Player 7.1 compatibility target. In the representative case where anamorphic output is enabled in a profile intended for legacy clients, keep the first failing call and its object identity so a later wrapper cannot replace the invalid nonsquarepixel compat evidence.
Decision path
- Record
0xC00D1BDD, it, the Encoder version and the exact API call or property access that returned it. - Export the current
.wmeor.prxconfiguration, then capture pixel-aspect mode/ratio and DetectCompatibility result. - verify the legacy player compatibility rules precondition without changing the source, profile and output sink at the same time.
- Run one controlled comparison in which only this condition changes: use square-pixel output or target a newer player.
- After the change, recreate the affected Encoder object rather than assuming the existing graph discarded its earlier invalid nonsquarepixel compat state.
Codes with similar symptoms but different owners
| Result | Why it is a different boundary |
|---|---|
NS_E_INVALID_INTERLACE_COMPAT | interlace preservation conflicts with the Player 7.1 compatibility target |
NS_E_MULTIPLE_VIDEO_SIZES | audiences use different frame sizes while Player 7.1 compatibility is requested |
NS_E_MULTIPLE_AUDIO_FORMATS | audiences use different audio formats while legacy Player 7.1 compatibility is requested |
Safe recovery
Resolve the producing condition by ensuring that you use square-pixel output or target a newer player. Then rebuild only the portion of the Encoder graph affected by it and verify the original call.
Do not describe a compatibility result as codec corruption; first decide whether support for the older player is a real requirement in a session that returns it.
Source material
- Detecting profile compatibility.
- IWMEncProfile2.VBRMode.
- Selecting a video codec for an audience.
- Adding an audience to an encoder profile.
Looking for a different code? Search another status or error code.
