Что означает код HRESULT 0xC00D6D79 (MF_E_TRANSFORM_STREAM_INVALID_RESOLUTION)?

 
Предыдущий Следующий
MF_E_TRANSFORM_CANNOT_INITIALIZE_ACM_DRIVER MF_E_TRANSFORM_ASYNC_MFT_NOT_SUPPORTED

MF_E_TRANSFORM_STREAM_INVALID_RESOLUTION

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

MF_E_TRANSFORM_STREAM_INVALID_RESOLUTION (0xC00D6D79) — MFT обнаружил в потоке разрешение, недопустимое для текущего преобразования или согласованного формата.

Кодированное видео может сообщить новые размеры кадра внутри самого потока. Если эти размеры невозможно принять — например, они превышают лимиты декодера, нарушают выравнивание или противоречат поддерживаемому профилю — это не обычная поддерживаемая смена формата. После обнаружения такого состояния дальнейший вывод старых кадров нельзя считать корректным.

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

  • Сравните MF_MT_FRAME_SIZE согласованного входного типа мультимедиа с размерами, прочитанными из заголовков кодека или события изменения формата.
  • Запишите timestamp и byte offset сэмпла, на котором впервые обнаружены новые или недопустимые размеры.
  • Проверьте максимальную ширину/высоту, требования выравнивания, профиль кодека и поддержку динамического изменения размеров у конкретного MFT.
  • Отделяйте этот HRESULT от MF_E_TRANSFORM_STREAM_CHANGE: поддерживаемую смену можно пересогласовать, а здесь преобразование считает новое разрешение недопустимым.

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


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