Что означает код HRESULT 0xC00DABE5 (MF_E_CAPTURE_ENGINE_ALL_EFFECTS_REMOVED)?

 
Предыдущий Следующий
MF_E_CAPTURE_ENGINE_INVALID_OP MF_E_CAPTURE_SOURCE_NO_INDEPENDENT_PHOTO_STREAM_PRESENT

MF_E_CAPTURE_ENGINE_ALL_EFFECTS_REMOVED

MF_E_CAPTURE_ENGINE_ALL_EFFECTS_REMOVED (0xC00DABE5) означает, что после изменения тракта захвата ранее добавленные эффекты больше не подошли к новой конфигурации и механизм захвата удалил их.

Эффект в механизм захвата добавляется к конкретному потоку источника через IMFCaptureSource и работает только с теми типами мультимедиа, которые способен принять и выдать соответствующий MFT-преобразователь. Если меняется поток, его формат или способ соединения с приёмником, ранее допустимая цепочка эффектов может перестать разрешаться. Этот HRESULT описывает уже выполненное защитное действие: Media Foundation сохранила работоспособную топологию ценой удаления несовместимых эффектов.

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

  • Сохраните список эффектов, индекс исходного потока и его тип мультимедиа до и после изменения конфигурации.
  • Проверьте, какой именно переход предшествовал HRESULT: смена формата, переключение фото/видео-потока, изменение приёмника или повторная настройка потока источника.
  • Добавляйте эффекты обратно по одному и проверяйте совместимость каждого с новым входным и выходным форматом. Массовое восстановление старой цепочки может сразу вернуть ту же несовместимость.
  • Для исходного JPEG-потока фотографии и прямой передачи H.264 без перекодирования отдельно учитывайте ограничения механизм захвата на обработку без промежуточного декодирования/преобразования.

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


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