Что означает код HRESULT 0xC00DABEB (MF_E_CAPTURE_NO_SAMPLES_IN_QUEUE)?

 
Предыдущий Следующий
MF_E_CAPTURE_PROPERTY_SET_DURING_PHOTO MF_E_HW_ACCELERATED_THUMBNAIL_NOT_SUPPORTED

MF_E_CAPTURE_NO_SAMPLES_IN_QUEUE

MF_E_CAPTURE_NO_SAMPLES_IN_QUEUE (0xC00DABEB) означает, что в очереди захвата сейчас нет доступного медиасэмпла для запрошенной операции.

Медиасэмпл (IMFSample) — это отдельная порция аудио- или видеоданных с временными метками и атрибутами. Пустая очередь не равна повреждённому сэмплу и не означает автоматически отказ камеры: потребитель мог опередить источник, поток мог только что запуститься, остановиться или перестраиваться, либо источник действительно перестал выдавать данные.

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

  • Сопоставьте время последнего полученного сэмпла, состояние потока и момент запроса, который получил MF_E_CAPTURE_NO_SAMPLES_IN_QUEUE.
  • Проверьте, продолжает ли источник выдавать новые сэмплы после HRESULT. Если очередь снова заполняется, это временное состояние, а не доказательство неисправности устройства.
  • Если поток замолчал надолго, ищите первое предшествующее событие механизм захвата, смену формата, остановку потока источника или ошибку устройства.
  • Не подставляйте фиктивный пустой IMFSample и не повторяйте последний кадр, если такое поведение явно не является политикой приложения: это скрывает отсутствие новых данных.

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


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