| Previous | Next |
| NS_E_UNSUPPORTED_ENCODER_DEVICE | NS_E_NO_AUDIODATA |
NS_E_UNEXPECTED_DISPLAY_SETTINGS
The failing boundary in the Encoder object model
The useful reading of NS_E_UNEXPECTED_DISPLAY_SETTINGS (0xC00D1B88) is not merely the standard message shown above. It locates screen-capture session detects display geometry or color-depth changes after configuration inside video capture and compressor negotiation.
A live video source passes through device opening, capture-format negotiation, optional clipping and preview-window setup before an encoder codec accepts the frames in a session that returns this result. Width, height, pixel format and driver state belong to this boundary.
Evidence that separates this code from a wrapper error
Seeing a device in enumeration or obtaining a preview frame does not establish that the requested capture format can be delivered continuously to the encoder in a session that returns this result. For example, a remote-desktop reconnect changes resolution after the screen session is defined. 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 | configured and current resolution, virtual-desktop bounds, DPI topology and color depth |
| Producing object | device moniker, driver version, requested and native width/height, frame rate, BITMAPINFOHEADER compression and bit depth, preview state, source-plug-in result and first driver error |
| 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 unexpected display settings boundary |
Interpret the next measurement
| Observation | How to interpret it |
|---|---|
| Observation that supports it | The decisive evidence is configured and current resolution, virtual-desktop bounds, DPI topology and color depth. It confirms screen-capture session detects display geometry or color-depth changes after configuration in the same object generation. |
| Observation that points to an earlier failure | The recorded values satisfy the unexpected display settings 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 (screen-capture session detects display geometry or color-depth changes after configuration), but a codec, archive or broadcast sink then fails in a subsequent stage. |
| Verification after correction | Apply this isolated change: restore the captured display mode or rebuild the source against the new settings. The original unexpected display settings call should then advance past the same checkpoint. |
The operational impact of it is limited to the video capture and compressor negotiation transition that owns screen-capture session detects display geometry or color-depth changes after configuration. In the representative case where a remote-desktop reconnect changes resolution after the screen session is defined, keep the first failing call and its object identity so a later wrapper cannot replace the unexpected display settings evidence.
Test the condition without rewriting the session
- Record
0xC00D1B88, it, the Encoder version and the exact API call or property access that returned it. - Export the current
.wmeor.prxconfiguration, then capture configured and current resolution, virtual-desktop bounds, DPI topology and color depth. - verify the video capture and compressor negotiation precondition without changing the source, profile and output sink at the same time.
- Run one controlled comparison in which only this condition changes: restore the captured display mode or rebuild the source against the new settings.
- After the change, recreate the affected Encoder object rather than assuming the existing graph discarded its earlier unexpected display settings state.
Interpret neighboring results carefully
| Result | Why it is a different boundary |
|---|---|
NS_E_UNSUPPORTED_ENCODER_DEVICE | opening a device that enumerates but is not supported by the Encoder source plug-in |
NS_E_ACTIVE_SG_DEVICE_DISCONNECTED | a capture device used by the active source group is removed or becomes unavailable |
NS_E_NO_DATAVIEW_SUPPORT | request for Encoder Video panel data from a source or output path that cannot expose preview samples |
Resolution and verification
The direct repair for this occurrence is to restore the captured display mode or rebuild the source against the new settings. 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 unexpected display settings checkpoint.
Do not keep retrying an unstable capture driver in the same process after preserving the first error; close the graph and test one known-native format in a fresh process in a session that returns it.
References for the boundary
- IWMEncVideoSource2.Width and live capture sizing.
- BITMAPINFOHEADER structure.
- ICCompressQuery video-compressor format check.
- Retrieving the configured encoder input.
Looking for a different code? Search another status or error code.
