Condividi tramite


KSPROPERTY_CAMERACONTROL_EXTENDED_RELATIVEPANELOPTIMIZATION

KSPROPERTY_CAMERACONTROL_EXTENDED_RELATIVEPANELOPTIMIZATION è un ID proprietà usato per informare il driver del fatto che la fotocamera sia anteriore o meno, rispetto alla visualizzazione attiva dell'applicazione. Windows imposta la proprietà quando viene impostata la nuova proprietà API WinRT PanelBasedOptimizationControl.Panel.

Esempi di impostazione dei controlli KSProperty sono disponibili nel driver di esempio di fotocamera AVStream in GitHub.

Tabella riepilogo utilizzo

Recupero Set Destinazione Tipo di descrittore delle proprietà Tipo di valore della proprietà
Filtra KSPROPERTY KSCAMERA_EXTENDEDPROP_HEADER

Commenti

La richiesta di proprietà contiene una struttura KSCAMERA_EXTENDEDPROP_HEADER e una struttura KSCAMERA_EXTENDEDPROP_VALUE .

La dimensione totale dei dati delle proprietà è sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VALUE).

Il membro Size di KSCAMERA_EXTENDEDPROP_HEADER è impostato su questa dimensione totale dei dati delle proprietà.

Di seguito sono riportati i flag che possono essere posizionati nella KSCAMERA_EXTENDEDPROP_HEADER. Flag e KSCAMERA_EXTENDEDPROP_HEADER. Campi di funzionalità .

Modalità di ottimizzazione del pannello relativa Descrizione
KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_OFF La fotocamera userà la modalità normale dell'operazione
KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_ON La fotocamera userà l'ottimizzazione relativa a una posizione descritta nel campo valore
KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_DYNAMIC L'hint per la posizione della fotocamera può essere modificato in modo dinamico durante lo streaming senza recuperare il flusso

KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION è sempre un controllo sincrono.

Qualsiasi app può leggere la proprietà, ma solo le app che hanno aperto la fotocamera per l'accesso esclusivo possono scrivere sul valore della proprietà.

Se si tenta di scrivere la proprietà senza avere accesso in modalità esclusiva, verrà restituito un codice di errore appropriato.

Per quanto riguarda il mapping di questo DDI a PanelBasedOptimizationControl, l'applicazione che usa PanelBasedOptimizationControl imposta il valore del pannello, che Windows userà internamente per programmare il campo KSCAMERA_EXTENDEDPROP_VALUE del payload.

Il campo Funzionalità e flag verrà controllato da Windows.

Se il driver riceve un'operazione SET mentre il dispositivo della fotocamera è in streaming e il flag KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_DYNAMIC* non è impostato, il driver restituirà un errore basato sullo stato.

La tabella seguente contiene i requisiti per i campi struttura KSCAMERA_EXTENDEDPROP_HEADER quando si usa il controllo metadati.

Membro Descrizione
Versione Questo deve essere 1.
PinId KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF)
Dimensione Questa deve essere sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VALUE)
Risultato Indica i risultati dell'errore dell'ultima operazione SET. Se non è stata eseguita alcuna operazione SET, questa operazione deve essere 0.
Funzionalità Deve essere un po 'saggio OR dei flag di KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_XXX supportati definiti in precedenza.
Flags Si tratta di un campo di lettura/scrittura. Può essere KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_ON o flag di KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_OFF definiti in precedenza.

Se KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_ON viene specificato nel campo Flags della KSCAMERA_EXTENDEDPROP_HEADER, il campo Value.ul deve specificare il PLD per la direzione relativa in cui la fotocamera è attualmente rivolta.

Questo può essere uno dei valori di enumerazione per ACPI PLD, ma la maggior parte delle volte sarà Front, Back o Unknown.

Se viene specificato KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_OFF , per le operazioni SET, il campo Valore viene ignorato.

Per le operazioni GET, il driver deve restituire la direzione per cui la fotocamera è attualmente programmata.

Se viene specificato KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_OFF o se non è stato impostato alcun valore, è necessario restituire il PLD predefinito del dispositivo.

Se viene specificato KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_ON , è necessario restituire il valore impostato più di recente.

Requisiti

Intestazione: ksmedia.h (include Ksmedia.h)