DirectShow - порядок вызова IAMStreamConfig :: SetFormat и ICaptureGraphBuilder2 :: RenderStream создает проблемы в некоторых видеокамерах - PullRequest
0 голосов
/ 23 марта 2012

Мне нужно настроить разрешение экрана моей видеокамеры перед тем, как захватывать и обрабатывать данные.Изначально я сделал это следующим образом.

  1. Создал все необходимые интерфейсы.

  2. Добавлены фильтры камеры и рендеринга

  3. Сделал RenderStream с категориями захвата и предварительного просмотра PIN-кода.

  4. Затем сделал цикл по структурам AM_MEDIA_TYPE и установил параметры.

Это работало для многих камер, но некоторые камеры не работали.Затем я изменил порядок 3 и 4, приведенный выше.То есть я сделал настройку параметров перед RenderStream.На этот раз случаи ошибок прошли, но некоторые встроенные камеры в ноутбуке SONY VAIO и т. Д., Похоже, дают сбой.

Теперь мои вопросы

  1. Какой оптимальный и правильный метод получения и установки параметров AM_MEDIA_TYPE и запуска графика?

  2. Если есть разные камеры, если я получу указание того, какой порядок лучше для конкретной камеры, пройдя через интерфейсы DirectShow камеры, это также послужит моей цели.

Пожалуйста, помогите мне в этом как можно скорее,

Спасибо и всего наилучшего,

Шиджу

1 Ответ

3 голосов
/ 23 марта 2012

IAMStreamConfig::SetFormat необходимо использовать для установки формата захвата перед подключением и рендерингом контакта.Таким образом, нисходящая подцепь фильтров создается с правильными типами носителей.

...