| Предыдущий | Следующий |
| MF_E_TRANSFORM_STREAM_INVALID_RESOLUTION | MF_E_TRANSFORM_EXATTRIBUTE_NOT_SUPPORTED |
MF_E_TRANSFORM_ASYNC_MFT_NOT_SUPPORTED
Что означает MF_E_TRANSFORM_ASYNC_MFT_NOT_SUPPORTED
MF_E_TRANSFORM_ASYNC_MFT_NOT_SUPPORTED (0xC00D6D7A) — Текущий хост или способ выбора преобразования не поддерживает асинхронную модель этого MFT.
Асинхронный MFT обрабатывает данные по событиям, а не как обычное синхронное преобразование. Поэтому недостаточно просто выставить один флаг: хост должен уметь получать события MFT, корректно завершать его через IMFShutdown и вообще выбирать асинхронные преобразования поддерживаемым способом.
Что проверить
- Проверьте
MF_TRANSFORM_ASYNCи способ перечисления MFT; для асинхронных преобразований используйте путь, поддерживающийMFT_ENUM_FLAG_ASYNCMFT. - Подтвердите, что вызывающий код реализует цикл событий
METransformNeedInput/METransformHaveOutput. - Если приложение рассчитано только на синхронные преобразования, выберите синхронный MFT того же класса вместо попытки «разблокировать» неподдерживаемую модель.
- Отделяйте этот код от
MF_E_TRANSFORM_ASYNC_LOCKED: там хост способен работать с асинхронным MFT, но не выполнил обязательную разблокировку.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
