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