What does HRESULT 0xC00DA412 (MF_E_TRANSCODE_NO_MATCHING_ENCODER) mean?

 
Previous Next
MF_E_TRANSCODE_PROFILE_NO_MATCHING_STREAMS MF_E_TRANSCODE_INVALID_PROFILE

MF_E_TRANSCODE_NO_MATCHING_ENCODER

MF_E_TRANSCODE_NO_MATCHING_ENCODER occurs after the profile contains stream configuration but the Transcode API cannot load an encoder for at least one configured target media type. The topology builder is responsible for inserting and configuring the encoder and media sink.

Log the exact target media type, not only the codec name

  • Dump MF_MT_MAJOR_TYPE, MF_MT_SUBTYPE, and the format attributes supplied to SetAudioAttributes or SetVideoAttributes. Channel count, sample rate, frame size, frame rate, and bitrate can all be relevant to encoder type negotiation.
  • For audio, use MFTranscodeGetAudioOutputAvailableTypes to obtain media types actually exposed for the requested encoder subtype and compare them with the profile.
  • Check whether MF_TRANSCODE_DONOT_INSERT_ENCODER was set. That option changes the expected topology and should not be confused with normal encoder insertion.

This HRESULT is more specific than an invalid profile: Microsoft documents it when an encoder cannot be found that accepts the media type given in the profile. Test with an enumerated or known-supported output type before changing the source file. Installing another codec may help only when the required encoder is genuinely absent; an impossible attribute combination should be corrected in the target type instead.

Microsoft: MFCreateTranscodeTopology · Microsoft: audio and video transcode attributes · Microsoft: Transcode API pipeline


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