Что означает код HRESULT 0x80040248 (VFW_E_INVALID_MEDIA_TYPE)?

 
Предыдущий Следующий
VFW_E_INVALID_CLSID VFW_E_SAMPLE_TIME_NOT_SET

VFW_E_INVALID_MEDIA_TYPE

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

VFW_E_INVALID_MEDIA_TYPE означает, что DirectShow получил недопустимое или внутренне несогласованное описание media type. Причина может быть в сочетании major type/subtype, неверном format type, неправильном cbFormat либо повреждённом format block.

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

  • Разберите AM_MEDIA_TYPE: major type, subtype, format type и cbFormat.
  • Проверьте, соответствует ли фактический format block заявленной длине и структуре.
  • Сравните этот тип с media type, который согласовывается при нормальном pin negotiation для того же потока.
  • Не подменяйте subtype наугад, если исходный format block уже некорректен.

Как подтвердить исправление

После исправления структуры тот же поток должен согласовывать корректный media type без принудительной подмены codec/filter и без VFW_E_INVALID_MEDIA_TYPE.

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


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