KSPROPERTY_CAMERACONTROL_EXTENDED_RELATIVEPANELOPTIMIZATION
KSPROPERTY_CAMERACONTROL_EXTENDED_RELATIVEPANELOPTIMIZATION é uma ID de propriedade usada para informar ao driver se a câmera está voltada para a frente ou não, em relação à exibição ativa do aplicativo. O Windows definirá a propriedade quando a nova propriedade da API do WinRT PanelBasedOptimizationControl.Panel estiver definida.
Exemplos de configuração de controles KSProperty podem ser encontrados no Driver de Exemplo de Câmera AVStream no GitHub.
Tabela de resumo de uso
Obter | Definir | Destino | Tipo de descritor de propriedade | Tipo de valor da propriedade |
---|---|---|---|---|
Sim | Sim | Filtrar | KSPROPERTY | KSCAMERA_EXTENDEDPROP_HEADER |
Comentários
A solicitação de propriedade contém uma estrutura KSCAMERA_EXTENDEDPROP_HEADER e uma estrutura KSCAMERA_EXTENDEDPROP_VALUE .
O tamanho total dos dados da propriedade é sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VALUE)
.
O membro Size de KSCAMERA_EXTENDEDPROP_HEADER é definido como esse tamanho total de dados da propriedade.
Veja a seguir os sinalizadores que podem ser colocados no KSCAMERA_EXTENDEDPROP_HEADER. Sinalizadores e KSCAMERA_EXTENDEDPROP_HEADER. Campos de funcionalidade .
Modo de otimização de painel relativo | Descrição |
---|---|
KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_OFF | A câmera usará o modo normal de operação |
KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_ON | A câmera usará a otimização em relação a uma posição descrita no campo de valor |
KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_DYNAMIC | A dica de localização da câmera pode ser ajustada dinamicamente durante o streaming sem falhas no fluxo |
KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION é sempre um controle síncrono.
Qualquer aplicativo pode ler a propriedade, mas somente os aplicativos que abriram a câmera para acesso exclusivo podem gravar no valor da propriedade.
Um código de erro adequado será retornado se forem feitas tentativas de gravar a propriedade sem ter acesso ao modo exclusivo.
Em relação ao mapeamento dessa DDI para o PanelBasedOptimizationControl, o aplicativo que usa PanelBasedOptimizationControl definirá o valor panel, que o Windows usará internamente para programar o campo KSCAMERA_EXTENDEDPROP_VALUE do conteúdo.
O campo Capacidade e Sinalizadores será controlado pelo Windows.
Se o driver receber uma operação SET enquanto o dispositivo de câmera estiver transmitindo e o sinalizador KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_DYNAMIC* não estiver definido, o driver retornará um erro baseado em estado.
A tabela a seguir contém os requisitos para os campos de estrutura KSCAMERA_EXTENDEDPROP_HEADER ao usar o controle de metadados.
Membro | Descrição |
---|---|
Versão | Isso deve ser 1. |
PinId | KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF) |
Tamanho | Deve ser sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VALUE) |
Result | Indica os resultados do erro da última operação SET. Se nenhuma operação SET tiver ocorrido, ela deverá ser 0. |
Funcionalidade | Deve ser um pouco sábio OU dos sinalizadores de KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_XXX com suporte definidos acima. |
Flags | Este é um campo de leitura/gravação. Isso pode ser KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_ON ou KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_OFF sinalizadores definidos acima. |
Se KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_ON for especificado no campo Sinalizadores do KSCAMERA_EXTENDEDPROP_HEADER, o campo Value.ul deverá especificar o PLD para a direção relativa que a câmera está voltada no momento.
Isso pode ser qualquer um dos valores de enumeração para ACPI PLD, mas com mais frequência será Front, Back ou Unknown.
Se KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_OFF for especificado, para operações SET, o campo Valor será ignorado.
Para operações GET, o driver deve retornar a direção para a qual a câmera está programada no momento.
Se KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_OFF for especificado ou se nenhum valor tiver sido definido, o PLD padrão do dispositivo deverá ser retornado.
Se KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_ON for especificado, o valor definido mais recentemente deverá ser retornado.
Requisitos
Cabeçalho: ksmedia.h (inclua Ksmedia.h)