Что означает код HRESULT 0xC00D3703 (MF_E_INVALID_CODEC_MERIT)?

 
Предыдущий Следующий
MF_E_OUT_OF_RANGE MF_E_HW_MFT_FAILED_START_STREAMING

MF_E_INVALID_CODEC_MERIT

Что означает MF_E_INVALID_CODEC_MERIT

MF_E_INVALID_CODEC_MERIT (0xC00D3703) — значение приоритета аппаратного кодека в объекте активации не прошло проверку Media Foundation.

Для аппаратных MFT атрибут MFT_CODEC_MERIT_Attribute влияет на порядок перечисления кодеков. Это значение не считается доверенным. При активации Media Foundation получает проверенное значение через MFGetMFTMerit; если оно не совпадает с заявленным в IMFActivate, ActivateObject возвращает этот HRESULT.

Что проверить и как подтвердить исправление

Зафиксируйте CLSID MFT, категорию, разрядность процесса и значение MFT_CODEC_MERIT_Attribute на объекте активации. Затем сравните его с результатом MFGetMFTMerit. Особое внимание нужно уделить сторонней регистрации аппаратного MFT или коду, который копирует или изменяет атрибуты IMFActivate после перечисления.

Не исправляйте эту ошибку сменой входного файла или медиатипа: проверка значения приоритета выполняется до обработки сэмплов. Исправление подтверждается успешным IMFActivate::ActivateObject при том же MFT после устранения расхождения.

Документация для результата 0xC00D3703: MFT_CODEC_MERIT_Attribute · MFCreateTransformActivate · Transform Attributes.


Нужно найти другой код? Найти другой код состояния или ошибки.