Что означает код HRESULT 0xC00D6D6E (MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_INPUT_MEDIATYPE)?

 
Предыдущий Следующий
MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_OUTPUT_MEDIATYPE MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_MEDIATYPE_COMBINATION

MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_INPUT_MEDIATYPE

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

MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_INPUT_MEDIATYPE (0xC00D6D6E) — Запрошенная операция MFT несовместима с уже выбранным входным типом мультимедиа.

Входной тип MFT — это уже согласованный формат данных на конкретном входном потоке, а не расширение исходного файла. Один и тот же MFT может поддерживать функцию для одного subtype, разрешения или аудиоформата и запрещать её для другого.

Что проверить

  • Сохраните идентификатор потока, major type, subtype и критичные атрибуты входа: размеры кадра, частоту, число каналов, профиль и другие параметры формата.
  • Получите допустимые варианты через GetInputAvailableType и проверяйте кандидатов через SetInputType.
  • Не делайте вывод по имени файла MP4/WAV: контейнер может содержать поток совсем другого codec subtype.
  • Если функция обязательна, выберите поддерживаемый входной формат или добавьте подходящее предшествующее преобразование вместо случайной смены выходных настроек.

Технические ссылки


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