| Предыдущий | Следующий |
| MF_E_SESSION_PAUSEWHILESTOPPED | MF_E_INVALID_WORKQUEUE |
MF_E_FORMAT_CHANGE_NOT_SUPPORTED
Что означает MF_E_FORMAT_CHANGE_NOT_SUPPORTED
MF_E_FORMAT_CHANGE_NOT_SUPPORTED (0xC00D36FE) — Указанный тип мультимедиа поддерживается, но требует изменения формата, которое этот объект не поддерживает.
Этот HRESULT отличается от «тип вообще не поддерживается». Целевой формат может быть допустим при первоначальной настройке, но объект не разрешает динамическую смену во время текущей обработки — например при изменении разрешения, частоты дискретизации или другого параметра формата.
Что проверить и как подтвердить исправление
Запишите текущий и новый тип мультимедиа и точный API, на котором выполнялась смена. Убедитесь, что компонент действительно объявляет поддержку обоих типов отдельно; это ещё не гарантирует возможность перехода между ними в активном состоянии.
Проверьте жизненный цикл объекта: некоторые источники, преобразования и приёмники принимают новый формат только после остановки, сброса или пересоздания соответствующей ветки. Не повторяйте SetInputType/SetOutputType в том же состоянии без предусмотренного перехода.
Исправление подтверждается либо штатной динамической сменой у компонента, который её поддерживает, либо корректной остановкой и перестройкой ветки с новым типом. Не маскируйте отказ подстановкой другого HRESULT верхним уровнем.
Документация для результата 0xC00D36FE: Media Foundation architecture · Media Foundation error codes · About Media Foundation transforms.
Нужно найти другой код? Найти другой код состояния или ошибки.