What does HRESULT 0xC00D6D74 (MF_E_TRANSFORM_CANNOT_CHANGE_MEDIATYPE_WHILE_PROCESSING) mean?

 
Previous Next
MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_SPKR_CONFIG MF_E_UNSUPPORTED_D3D_TYPE

MF_E_TRANSFORM_CANNOT_CHANGE_MEDIATYPE_WHILE_PROCESSING

MF_E_TRANSFORM_CANNOT_CHANGE_MEDIATYPE_WHILE_PROCESSING means that the MFT requires its queued data to be drained or flushed before a type change. The desired format can be valid; the timing of the change is not.

Drain or flush deliberately

  • For a normal format transition, send the drain message and call ProcessOutput until the transform needs more input.
  • Use a flush only when discarding queued media is acceptable for the application.
  • Check MFT_SUPPORT_DYNAMIC_FORMAT_CHANGE; without that capability, drain before changing the input type.

Do not mix media-type changes with uncontrolled input submission, or the transform can retain samples under the old format.

Microsoft: handling stream changes · Microsoft: IMFTransform::SetOutputType


Looking for a different code? Search another status or error code.