KSPROPERTY_CAMERACONTROL_EXTENDED_RELATIVEPANELOPTIMIZATION

KSPROPERTY_CAMERACONTROL_EXTENDED_RELATIVEPANELOPTIMIZATION — это идентификатор свойства, используемый для информирования водителя о том, обращена ли камера спереди относительно активного дисплея приложения. Windows задаст свойство при установке нового свойства API WinRT PanelBasedOptimizationControl.Panel.

Примеры настройки элементов управления KSProperty можно найти в примере драйвера камеры AVStream на сайте GitHub.

Сводная таблица использования

Получить Присвойте параметру Назначение Тип дескриптора свойства Тип значения свойства
Да Да Фильтр KSPROPERTY KSCAMERA_EXTENDEDPROP_HEADER

Комментарии

Запрос свойства содержит структуру KSCAMERA_EXTENDEDPROP_HEADER и структуру KSCAMERA_EXTENDEDPROP_VALUE .

Общий размер данных свойства равен sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VALUE).

Элементу SizeKSCAMERA_EXTENDEDPROP_HEADER присвоен общий размер данных свойства.

Ниже приведены флаги, которые можно поместить в KSCAMERA_EXTENDEDPROP_HEADER. Флаги и KSCAMERA_EXTENDEDPROP_HEADER. Поля возможностей .

Режим оптимизации относительной панели Описание
KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_OFF Камера будет использовать обычный режим работы
KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_ON Камера будет использовать оптимизацию относительно позиции, описанной в поле значения
KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_DYNAMIC Указание о расположении камеры можно динамически настраивать во время потоковой передачи без сбоя потока

KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION всегда является синхронным элементом управления.

Любое приложение может считывать свойство , но только приложения, которые открыли камеру для монопольного доступа, могут записывать в значение свойства.

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

Что касается сопоставления этого DDI с PanelBasedOptimizationControl, приложение, использующее PanelBasedOptimizationControl, задаст значение Panel, которое Windows будет использовать для программирования поля KSCAMERA_EXTENDEDPROP_VALUE полезных данных.

Поле Возможности и флаги будет управляться Windows.

Если драйвер получает операцию SET во время потоковой передачи устройства камеры и флаг KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_DYNAMIC* не установлен, драйвер возвращает ошибку на основе состояния.

В следующей таблице приведены требования к полям структуры KSCAMERA_EXTENDEDPROP_HEADER при использовании элемента управления метаданными.

Член Описание
Версия Это значение должно быть 1.
PinId KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF)
Размер Это должны быть значения sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VALUE)
Результат Указывает результаты ошибки последней операции SET. Если операция SET не выполнена, это значение должно быть равным 0.
Функция Должен быть немного мудр или поддерживаемых флагов KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_XXX , определенных выше.
Флаги Это поле для чтения и записи. Это могут быть флаги KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_ON или KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_OFF , определенные выше.

Если KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_ON указано в поле ФлагиKSCAMERA_EXTENDEDPROP_HEADER, в поле Value.ul необходимо указать PLD для относительного направления, в которое в данный момент обращена камера.

Это может быть любое из значений перечисления для ACPI PLD, но чаще всего это будет Front, Back или Unknown.

Если указано KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_OFF , для операций SET поле Значение игнорируется.

Для операций GET драйвер должен вернуть направление, на которое в данный момент запрограммирована камера.

Если KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_OFF указано или значение не задано, необходимо вернуть PLD устройства по умолчанию.

Если указан KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_ON , необходимо вернуть последнее заданное значение.

Требования

Заголовок: ksmedia.h (включая Ksmedia.h)