| Previous | Next |
| NS_E_INVALID_VIDEO_IQUALITY | NS_E_INVALID_VIDEO_BUFFER |
NS_E_INVALID_VIDEO_CQUALITY
Diagnostic meaning beyond the standard text
For NS_E_INVALID_VIDEO_CQUALITY (0xC00D1BC8), the actionable event is codec quality control is outside the supported range. Keep the result producing boundary attached to the original Encoder callback or COM call.
Why the session can reach this point
The video profile selects a codec and rate-control mode, then supplies bitrate, peak rate, frame rate, frame size, key-frame spacing, quality, buffer and optional interlace or pixel-aspect settings in a session that returns this result. The codec validates both values and combinations.
A source preview does not prove that the output profile is accepted; output dimensions and rate-control settings are validated by the selected encoder codec in a session that returns this result. One concrete way to reach the condition is that a negative sentinel is serialized as a large unsigned value. 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 | codec-quality value, codec identity and profile mode |
| Producing object | audience index, codec FOURCC/index, VBR mode, width and height, frame rate, average and peak bitrate, buffer values, key-frame interval, quality values, interlace mode and pixel aspect ratio |
| 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 video cquality boundary |
Decision matrix
| Observation | How to interpret it |
|---|---|
| Observation that supports it | The decisive evidence is codec-quality value, codec identity and profile mode. It confirms codec quality control is outside the supported range in the same object generation. |
| Observation that points to an earlier failure | The recorded values satisfy the invalid video cquality 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 (codec quality control is outside the supported range), but a codec, archive or broadcast sink then fails in a subsequent stage. |
| Verification after correction | Apply this isolated change: set a valid codec quality value or let the codec default it. The original invalid video cquality call should then advance past the same checkpoint. |
The operational impact of it is limited to the video stream and audience settings transition that owns codec quality control is outside the supported range. In the representative case where a negative sentinel is serialized as a large unsigned value, keep the first failing call and its object identity so a later wrapper cannot replace the invalid video cquality evidence.
Decision path
- Record
0xC00D1BC8, it, the Encoder version and the exact API call or property access that returned it. - Export the current
.wmeor.prxconfiguration, then capture codec-quality value, codec identity and profile mode. - verify the video stream and audience settings precondition without changing the source, profile and output sink at the same time.
- Run one controlled comparison in which only this condition changes: set a valid codec quality value or let the codec default it.
- After the change, recreate the affected Encoder object rather than assuming the existing graph discarded its earlier invalid video cquality state.
Codes with similar symptoms but different owners
| Result | Why it is a different boundary |
|---|---|
NS_E_INVALID_VIDEO_IQUALITY | video image-quality/sharpness control is outside its permitted range |
NS_E_INVALID_VIDEO_BUFFER | video buffer setting is invalid for the selected codec and bitrate mode |
NS_E_INVALID_VIDEO_KEYFRAME | key-frame interval or spacing is rejected by the codec |
Safe recovery
Resolve the producing condition by ensuring that you set a valid codec quality value or let the codec default it. Then rebuild only the portion of the Encoder graph affected by it and verify the original call.
Do not rely on the UI label alone; record the numeric profile fields and codec identity before changing presets in a session that returns it.
Source material
- Selecting a video codec for an audience.
- IWMEncProfile2.VBRMode.
- IWMEncVideoSource2.Width and live capture sizing.
- Non-square pixel mode in an encoder profile.
Looking for a different code? Search another status or error code.
