| Previous | Next |
| NS_E_INVALID_VIDEO_HEIGHT | NS_E_INVALID_VIDEO_KEYFRAME |
NS_E_INVALID_VIDEO_FPS
The failing boundary in the Encoder object model
The useful reading of NS_E_INVALID_VIDEO_FPS (0xC00D1BC5) is not merely the standard message shown above. It locates output frame-rate value is outside the codec/profile constraints inside video stream and audience settings.
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.
Evidence that separates this code from a wrapper error
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. For example, an integer conversion turns 29.97 fps into an invalid profile value. Preserve the result distinction before a UI layer converts the result into a broad start, capture or profile failure.
| Field | What to preserve |
|---|---|
| Decisive values | frame-rate numerator/denominator, codec, source cadence and rate-control 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 fps boundary |
Interpret the next measurement
| Observation | How to interpret it |
|---|---|
| Observation that supports it | The decisive evidence is frame-rate numerator/denominator, codec, source cadence and rate-control mode. It confirms output frame-rate value is outside the codec/profile constraints in the same object generation. |
| Observation that points to an earlier failure | The recorded values satisfy the invalid video fps 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 (output frame-rate value is outside the codec/profile constraints), but a codec, archive or broadcast sink then fails in a subsequent stage. |
| Verification after correction | Apply this isolated change: use a supported rational frame rate and preserve the intended cadence. The original invalid video fps 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 output frame-rate value is outside the codec/profile constraints. In the representative case where an integer conversion turns 29.97 fps into an invalid profile value, keep the first failing call and its object identity so a later wrapper cannot replace the invalid video fps evidence.
Test the condition without rewriting the session
- Record
0xC00D1BC5, it, the Encoder version and the exact API call or property access that returned it. - Export the current
.wmeor.prxconfiguration, then capture frame-rate numerator/denominator, codec, source cadence and rate-control 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: use a supported rational frame rate and preserve the intended cadence.
- After the change, recreate the affected Encoder object rather than assuming the existing graph discarded its earlier invalid video fps state.
Interpret neighboring results carefully
| Result | Why it is a different boundary |
|---|---|
NS_E_INVALID_VIDEO_HEIGHT | output video height fails codec or profile range validation |
NS_E_INVALID_VIDEO_KEYFRAME | key-frame interval or spacing is rejected by the codec |
NS_E_INVALID_VIDEO_WIDTH | output video width fails codec or profile range validation |
Resolution and verification
The direct repair for this occurrence is to use a supported rational frame rate and preserve the intended cadence. Recreate the affected source group, profile or output object, repeat the same operation, and confirm that the first failing HRESULT no longer comes from the invalid video fps checkpoint.
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.
References for the boundary
- 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.