| Previous | Next |
| MF_E_SESSION_PAUSEWHILESTOPPED | MF_E_INVALID_WORKQUEUE |
MF_E_FORMAT_CHANGE_NOT_SUPPORTED
Interpret the result in the pipeline
MF_E_FORMAT_CHANGE_NOT_SUPPORTED (0xC00D36FE) is a failure result from Windows Media Foundation. The generated section above already contains the platform message; the useful extra information is that this result isolates the proposed media type is individually supported, but the object cannot switch to it during the current stream or lifecycle.
The producer is the transform, source reader, sink writer, or stream negotiating a dynamic media-type change, so diagnosis should begin with that object and its state rather than with a broad reinstall or an unrelated codec change. A representative occurrence is resolution changes midstream and the decoder supports both sizes only when configured before streaming starts.
Checkpoint map
| Checkpoint | Question to answer |
|---|---|
| Input | What exact name, type, index, URL, position, media item, account, device, or setup package reached the transform, source reader, sink writer, or stream negotiating a dynamic media-type change? |
| State | Was the object initialized, connected, started, stopped, committed, authorized, or ready when it evaluated the proposed media type is individually supported, but the object cannot switch to it during the current stream or lifecycle? |
| Evidence | the old and new major/subtype GUIDs, frame size, rate, channel layout, stream flags, MFT messages, and whether the object advertises dynamic changes. |
| Completion | Which event, callback, output sample, provider result, or installer action should have followed MF_E_FORMAT_CHANGE_NOT_SUPPORTED? |
Decisive observations
Collect MF_E_FORMAT_CHANGE_NOT_SUPPORTED data before automatic retries, Player navigation, device reconnection, source shutdown, or setup rollback destroys it. For MF_E_FORMAT_CHANGE_NOT_SUPPORTED, the minimum useful record contains the exact returning API, object identity, input identity, current lifecycle state, and the first lower-level failure.
A MF_E_FORMAT_CHANGE_NOT_SUPPORTED trace must not store credentials, license payloads, private keys, authorization headers, or unrelated library contents. For MF_E_FORMAT_CHANGE_NOT_SUPPORTED, record identifiers, hashes, lengths, status values, and redacted endpoint information sufficient to correlate the event.
Minimal experiment
- Reproduce once with tracing enabled and preserve
0xC00D36FEbefore any fallback. - Verify the decisive observation: the old and new major/subtype GUIDs, frame size, rate, channel layout, stream flags, MFT messages, and whether the object advertises dynamic changes.
- Run the controlled comparison: configure the target type before streaming in a new object and compare that result with the attempted midstream change.
- Return to the
MF_E_FORMAT_CHANGE_NOT_SUPPORTEDbaseline, apply the supported correction, and create a new object generation if the old one entered a terminal state. - Repeat the
MF_E_FORMAT_CHANGE_NOT_SUPPORTEDtest until the original call advances past this checkpoint and the expected output is validated.
Similar messages, different checkpoints
| HRESULT | Boundary indicated by its standard description |
|---|---|
MF_E_DRM_UNSUPPORTED | No DRM support is available; compare this boundary specifically with MF_E_FORMAT_CHANGE_NOT_SUPPORTED. |
MF_E_UNAUTHORIZED | This operation is not authorized; compare this boundary specifically with MF_E_FORMAT_CHANGE_NOT_SUPPORTED. |
MF_E_OUT_OF_RANGE | The value is not in the specified or valid range; compare this boundary specifically with MF_E_FORMAT_CHANGE_NOT_SUPPORTED. |
The codes compared with MF_E_FORMAT_CHANGE_NOT_SUPPORTED can lead to the same user-facing “cannot play,” “operation failed,” or “setup failed” dialog. They remain technically different. Here, MF_E_INVALIDTYPE means the type itself is unacceptable, not merely the timing of the transition.
Targeted recovery
For this occurrence, stop and rebuild the affected branch with the target type, or use a component that supports dynamic format changes. For MF_E_FORMAT_CHANGE_NOT_SUPPORTED, avoid generic cleanup until the original artifact is copied and the producing state is known. A destructive reset during MF_E_FORMAT_CHANGE_NOT_SUPPORTED diagnosis can remove evidence while leaving the actual policy, device, network, format, or lifecycle error unchanged.
Verification of MF_E_FORMAT_CHANGE_NOT_SUPPORTED must use the same input and action that failed. Confirm the expected state transition and check that the workflow does not merely substitute another error after MF_E_FORMAT_CHANGE_NOT_SUPPORTED disappears.
Authoritative references
- Media Foundation architecture — reference used for the
MF_E_FORMAT_CHANGE_NOT_SUPPORTEDcheckpoint. - Media Foundation error codes — reference used for the
MF_E_FORMAT_CHANGE_NOT_SUPPORTEDcheckpoint. - About Media Foundation transforms — reference used for the
MF_E_FORMAT_CHANGE_NOT_SUPPORTEDcheckpoint. - Media types — reference used for the
MF_E_FORMAT_CHANGE_NOT_SUPPORTEDcheckpoint.
Looking for a different code? Search another status or error code.