Что означает код HRESULT 0xC00DABE2 (MF_E_CAPTURE_SINK_MIRROR_ERROR)?

 
Предыдущий Следующий
MF_E_CAPTURE_SINK_OUTPUT_NOT_SET MF_E_CAPTURE_SINK_ROTATE_ERROR

MF_E_CAPTURE_SINK_MIRROR_ERROR

MF_E_CAPTURE_SINK_MIRROR_ERROR (0xC00DABE2) означает, что текущая конфигурация тракта захвата не позволяет применить зеркальное отображение изображения.

В механизм захвата зеркалирование не является универсальным свойством любого выходного потока. IMFCaptureSource::SetMirrorState управляет именно видеопотоком предварительного просмотра, а устройство может предоставлять отдельные категории для предварительного просмотра, записи и фотографии. Поэтому работающее зеркалирование предварительного просмотра не доказывает, что тот же приём допустим для другого потока или для тракта с прямой передачей сжатых данных.

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

  • Запишите индекс исходного потока и его MF_CAPTURE_ENGINE_STREAM_CATEGORY. Убедитесь, что операция применяется к действительно поддерживаемому потоку предварительного просмотра.
  • Проверьте текущий тип мультимедиа и наличие эффектов/преобразований между источником и приёмником. При прямой передаче исходного JPEG или H.264 возможностей для дополнительной обработки может быть меньше.
  • Не переносите зеркалирование вслепую с источника на приёмник или наоборот: это меняет сам тракт обработки и может потребовать другой формат.
  • Если функция обязательна, выберите конфигурацию потока, в которой Media Foundation может вставить необходимое видеопреобразование, и подтвердите её на минимальном тракте предварительного просмотра.

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


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