| Предыдущий | Следующий |
| 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 отдельно указывает, что такая модель переноса к асинхронным преобразованиям не применяется.
- Не решайте проблему удалением всех атрибутов: некоторые из них нужны следующим компонентам конвейера для правильной обработки разрывов и других событий потока.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
