Appareils de capture vidéo avec tuners radio
Microsoft Windows XP et versions ultérieures et Microsoft DirectX 8.1 et versions ultérieures prennent en charge les appareils de capture vidéo qui incluent des tuners radio FM.
Un minidriver de capture vidéo pour un appareil doté d’un tuner FM doit prendre en charge la propriété KSPROPERTY_TUNER_STATUS . Cela permettra aux clients en mode utilisateur de récupérer une structure KSPROPERTY_TUNER_STATUS_S qui décrit la progression des opérations de paramétrage.
Les minidrivers peuvent prendre en charge l’une des trois stratégies de réglage :
Réglage par décalage PLL.
Si votre matériel de tuner FM prend en charge le réglage via le décalage PLL, votre minidriver doit définir le membre Stratégie de la structure KSPROPERTY_TUNER_MODE_CAPS_S sur KS_TUNER_STRATEGY_PLL.
Si votre matériel de tuner FM ne prend pas en charge PLL, le minidriver doit émuler la prise en charge PLL à l’aide de l’indicateur de force du signal natif. La logique de réglage FM fournie par le système dans KsTvTune.ax est activée uniquement si le minidriver spécifie qu’il prend en charge la stratégie de KS_TUNER_STRATEGY_PLL .
Réglage par force du signal.
Si le minidriver définit le membre Stratégie de la structure KSPROPERTY_TUNER_MODE_CAPS_S sur KS_TUNER_STRATEGY_SIGNAL_STRENGTH, KsTvTune.ax tente toujours d’utiliser le membre PLLOffset de la structure KSPROPERTY_TUNER_STATUS_S. Par conséquent, il ne s’agit pas d’une option valide pour la compatibilité future.
En outre, le minidriver doit définir le membre SignalStrength de la structure KSPROPERTY_TUNER_STATUS_S sur -1, 0 ou 1, selon qu’une fréquence acceptable est actuellement sélectionnée. Les fournisseurs déterminent le niveau d’indicateur de puissance du signal récepteur (RSSI) ou de décibel millivolt (dBmV) au-dessus ou en dessous de la tension de base constitue un signal acceptable pour la réception FM.
Réglage effectué manuellement par le minidriver.
Définissez le membre Stratégie de la structure KSPROPERTY_TUNER_MODE_CAPS_S sur KS_TUNER_STRATEGY_DRIVER_TUNES pour contrôler la logique de réglage dans le minidriver.
En mode FM, KsTvTune.ax parcourent la bande de 200 kHz autour d’une fréquence (100 kHz de chaque côté), en utilisant le membre TuningGranularity spécifié par minidriver de la structure KSPROPERTY_TUNER_MODE_CAPS_S comme taille d’étape . La recherche s’arrête quand KsTvTune.ax a effectué une recherche dans toute la bande de 200 kHz, ou lorsque le minidriver détermine qu’un bon signal a été trouvé, selon la première éventualité.
Le réglage prend beaucoup plus de temps si le minidriver spécifie toujours une valeur PLLOffset de -1 ou 1. Dans ce cas, la logique de paramétrage dans KsTvTune.ax recompose les plages de fréquences qui se chevauchent. Le minidriver doit spécifier un PLLOffset de -1 ou 1 uniquement lors de la première demande de réglage, ou lorsque le tuner se trouve à huit étapes du meilleur signal. Pour plus d’informations sur les demandes de paramétrage, consultez Reconnaissance de la première demande de paramétrage.
Le processus de réglage démarre toujours à la fréquence centrale, comme demandé par une application, et ne dépasse pas 100 kHz au-dessus du centre. Toutefois, si le PLLOffset devient 1 près de la limite supérieure de 100 kHz, la logique de réglage va au-delà de la bande de 100 kHz.
Si le processus d’optimisation ne trouve pas de signal acceptable dans la plage supérieure, il tente de descendre en dessous de la fréquence centrale, en passant de 100 kHz au-dessous du centre et se terminant à la fréquence centrale s’il n’a toujours trouvé aucun signal acceptable. Là encore, si le PLLOffset devient 1 près de la fréquence centrale, le réglage va au-delà de la fréquence centrale avant d’y revenir.
Une valeur de membre PLLOffset de -1 ou 1 lors de la première demande de paramétrage entraîne KsTvTune.ax passer en mode de réglage affiné. Le mode d’optimisation fine consiste à régler les demandes dans une succession rapide aux intervalles d’étapes spécifiés par le membre TuningGranularity de la structure KSPROPERTY_TUNER_MODE_CAPS_S dans le sens indiqué par PLLOffset.
KsTvTune.ax arrête sa tentative de réglage en cas d’échec après huit étapes d’optimisation des fréquences croissantes ou décroissantes. Une fois KsTvTune.ax est en mode réglage précis, si PLLOffset change de direction de -1 à 1, ou de 1 à -1, ou devient 0, la demande de paramétrage est considérée comme ayant réussi. Le réglage et la recherche dans la bande de 200 kHz s’arrêtent à ce point.
Toutefois, si PLLOffset est supérieur à 1 ou inférieur à -1, le réglage fin ne démarre pas ou est abandonné. Le mode de réglage fin est indépendant de la recherche via la bande de 200 kHz autour de la fréquence centrale, bien que les deux utilisent la taille d’étape spécifiée dans TuningGranularity (d’où la mise en garde contre le renvoi toujours d’un PLLOffset de -1..1).