Condividi tramite


Riconoscimento della prima richiesta di ottimizzazione

Alcuni tuner richiedono una frequenza per ottenere informazioni valide sulla forza del segnale/PLL, quindi un minidriver potrebbe dover riconoscere quando KsTvTune.ax sta effettuando una richiesta di ottimizzazione iniziale.

Ogni richiesta di ottimizzazione è in realtà una coppia di richieste al minidriver. Il minidriver riceve prima una richiesta KSPROPERTY_TUNER_FREQUENCY impostata seguita da una o più richieste di KSPROPERTY_TUNER_STATUS .

Nella prima richiesta di ottimizzazione si verifica un ritardo tra la richiesta set e la prima richiesta get. Il minidriver imposta la lunghezza del ritardo in millisecondi nel membro SettlingTime della struttura KSPROPERTY_TUNER_MODE_CAPS_S . La richiesta get viene ripetuta ogni cinque millisecondi mentre il membro Occupato della struttura KSPROPERTY_TUNER_STATUS_S è diverso da zero, fino a cinque tentativi.

KsTvTune.ax non considera il completamento di una richiesta di ottimizzazione fino a quando non riceve uno stato nonbusy dal dispositivo o se il dispositivo è ancora occupato 20 millisecondi dopo l'intervallo specificato dal membro SettlingTime della struttura KSPROPERTY_TUNER_MODE_CAPS_S , a ogni condizione che viene prima.

Successivamente, per ogni richiesta di ottimizzazione durante la modalità di ottimizzazione, sarà previsto un intervallo di cinque millisecondi tra la richiesta impostata e la prima richiesta get.

Se si desidera KsTvTune.ax riprovare almeno una volta dopo una richiesta iniziale, restituire sempre un valore PLLOffset pari a 1 nella prima richiesta di ottimizzazione. KsTvTune.ax tenta immediatamente il passaggio successivo superiore, come specificato dal membro TuningGranularity della struttura KSPROPERTY_TUNER_MODE_CAPS_S . A questo punto, è possibile restituire un valore PLLOffset maggiore di 1 o minore di -1 se il minidriver determina che non c'è alcun segnale o un valore PLLOffset pari a -1 o 0 se il minidriver determina che il segnale è buono.