| Previous | Next |
| NS_E_NOSOURCEGROUPS | NS_E_NO_DATAVIEW_SUPPORT |
NS_E_INVALIDINPUTFPS
How to interpret the code in a real encoding session
0xC00D1B81 is named NS_E_INVALIDINPUTFPS. Its practical scope is inverse-telecine validation requiring the expected 30-fps input cadence, which belongs to preprocessing, analysis and multipass constraints rather than to every part of Windows Media playback or Windows itself.
Mechanism and point of failure
Inverse telecine, time compression, image preprocessing, content analysis and two-pass encoding require access to particular source types and often require rereading or temporarily storing the source in a session that returns this result. Live, looping and device inputs impose additional restrictions at the invalidinputfps checkpoint.
The underlying audio or video source may be healthy while the requested preprocessing workflow is impossible for that source lifecycle in a session that returns this result. A typical reproduction is: a 25-fps PAL file is passed through a preset that enables inverse telecine. This makes the first result from the Encoder more valuable than a later generic message.
Reproduction matrix
| Field | What to preserve |
|---|---|
| Decisive values | detected frame rate as rational values, field order and selected inverse-telecine option |
| Producing object | source type, live/file flag, Repeat flag, pass count, temporary-storage setting, preprocessing filters, analyzer frame count, input frame rate, content EDL path and selected codec mode |
| 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 invalidinputfps boundary |
Evidence matrix
| Observation | How to interpret it |
|---|---|
| Observation that supports it | The decisive evidence is detected frame rate as rational values, field order and selected inverse-telecine option. It confirms inverse-telecine validation requiring the expected 30-fps input cadence in the same object generation. |
| Observation that points to an earlier failure | The recorded values satisfy the invalidinputfps 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 (inverse-telecine validation requiring the expected 30-fps input cadence), but a codec, archive or broadcast sink then fails in a subsequent stage. |
| Verification after correction | Apply this isolated change: disable inverse telecine or provide the supported NTSC-rate source. The original invalidinputfps call should then advance past the same checkpoint. |
The operational impact of it is limited to the preprocessing, analysis and multipass constraints transition that owns inverse-telecine validation requiring the expected 30-fps input cadence. In the representative case where a 25-fps PAL file is passed through a preset that enables inverse telecine, keep the first failing call and its object identity so a later wrapper cannot replace the invalidinputfps evidence.
Minimal experiment
- Record
0xC00D1B81, it, the Encoder version and the exact API call or property access that returned it. - Export the current
.wmeor.prxconfiguration, then capture detected frame rate as rational values, field order and selected inverse-telecine option. - verify the preprocessing, analysis and multipass constraints precondition without changing the source, profile and output sink at the same time.
- Run one controlled comparison in which only this condition changes: disable inverse telecine or provide the supported NTSC-rate source.
- After the change, recreate the affected Encoder object rather than assuming the existing graph discarded its earlier invalidinputfps state.
Do not collapse these results together
| Result | Why it is a different boundary |
|---|---|
NS_E_NO_REALTIME_TIMECOMPRESSION | time-compression setup on a live broadcast that cannot be reread or scheduled faster than real time |
NS_E_NO_REALTIME_PREPROCESS | image preprocessing requested for a live source that cannot complete the required look-ahead or reread |
NS_E_NO_REPEAT_PREPROCESS | preprocessing or two-pass analysis requested while the source is configured to loop |
What to change—and what to leave alone
Change the smallest responsible precondition: disable inverse telecine or provide the supported NTSC-rate source. While retesting it, keep all unrelated source, audience and output values fixed until the same call is repeated.
Do not enable several preprocessing features at once during diagnosis; validate the plain one-pass source first, then add one transformation with its required storage or analysis stage in a session that returns it.
Authoritative documentation
- Two-pass encoding.
- IWMEncContentAnalyzer.Property.
- Voice-codec editing decision lists.
- IWMEncSource.Repeat.
Looking for a different code? Search another status or error code.
