Site icon EfmSoft

Что означает код HRESULT 0xC00D6D7C (MF_E_TRANSFORM_EXATTRIBUTE_NOT_SUPPORTED)?

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

MF_E_TRANSFORM_EXATTRIBUTE_NOT_SUPPORTED

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

MF_E_TRANSFORM_EXATTRIBUTE_NOT_SUPPORTED (0xC00D6D7C) — MFT не поддерживает запрошенную модель самостоятельного переноса дополнительных атрибутов входных сэмплов на выход.

Сэмплы Media Foundation могут содержать атрибуты с важной семантикой потока — например, признак разрыва. Ответственность за перенос этих атрибутов определяется свойством MFPKEY_EXATTRIBUTE_SUPPORTED: при VARIANT_TRUE это делает MFT, иначе соответствующие атрибуты переносит клиент или Media Session, не затирая значения, выставленные преобразованием.

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

  • Запросите MFPKEY_EXATTRIBUTE_SUPPORTED через IPropertyStore, если MFT предоставляет это хранилище.
  • Если свойства нет или оно равно VARIANT_FALSE, переносите применимые атрибуты на стороне клиента и не перезаписывайте метаданные, уже выставленные MFT.
  • Для асинхронного MFT не рассчитывайте на это свойство: Microsoft отдельно указывает, что такая модель переноса к асинхронным преобразованиям не применяется.
  • Не решайте проблему удалением всех атрибутов: некоторые из них нужны следующим компонентам конвейера для правильной обработки разрывов и других событий потока.

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


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

Exit mobile version