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)