Устройства захвата видео с помощью радио-тюнеров
Microsoft Windows XP и более поздних версий, а также Microsoft DirectX 8.1 и более поздних версий обеспечивают поддержку устройств захвата видео, включающих FM-радио-тюнеры.
Мини-диск для захвата видео для устройства с FM-тюнером должен поддерживать свойство KSPROPERTY_TUNER_STATUS . Это позволит клиентам пользовательского режима получить KSPROPERTY_TUNER_STATUS_S структуру, описывающую ход выполнения операций настройки.
Мини-драйверы могут поддерживать одну из трех стратегий настройки:
Настройка по смещению PLL.
Если оборудование FM-тюнера поддерживает настройку через смещение PLL, для элемента Стратегииструктуры KSPROPERTY_TUNER_MODE_CAPS_S должно быть задано значение KS_TUNER_STRATEGY_PLL.
Если оборудование FM-тюнера не обеспечивает поддержку PLL, мини-диск должен эмулировать поддержку PLL с помощью собственного индикатора силы сигнала. Предоставляемая системой логика настройки FM в KsTvTune.ax включена только в том случае, если мини-диск указывает, что поддерживает стратегию KS_TUNER_STRATEGY_PLL .
Настройка по силе сигнала.
Если мини-накопитель задает для элемента Strategy структуры KSPROPERTY_TUNER_MODE_CAPS_S значение KS_TUNER_STRATEGY_SIGNAL_STRENGTH, KsTvTune.ax по-прежнему пытается использовать элемент PLLOffset структуры KSPROPERTY_TUNER_STATUS_S. Следовательно, это не является допустимым вариантом для обеспечения совместимости в будущем.
Кроме того, мини-диск должен задать для элемента SignalStrength структуры KSPROPERTY_TUNER_STATUS_S значение -1, 0 или 1 в зависимости от того, выбрана ли допустимая частота в данный момент. Поставщики решают, какой уровень индикатора силы сигнала приемника (RSSI) или децибела милливольта (dBmV) выше или ниже базового напряжения является приемлемым сигналом для приема FM.
Настройка выполняется вручную с помощью мини-драйвера.
Задайте для элемента Стратегия структуры KSPROPERTY_TUNER_MODE_CAPS_Sзначение KS_TUNER_STRATEGY_DRIVER_TUNES для управления логикой настройки в мини-накопителе.
В режиме FM KsTvTune.ax шаги через диапазон 200 кГц вокруг частоты (100 кГц с обеих сторон), используя заданный мини-накопителем элемент TuningGranularityструктуры KSPROPERTY_TUNER_MODE_CAPS_S в качестве размера шага. Поиск останавливается, когда KsTvTune.ax выполняет поиск по всему диапазону 200 кГц или когда мини-диск определяет, что хороший сигнал найден, в зависимости от того, что произойдет раньше.
Настройка занимает гораздо больше времени, если мини-диск всегда задает значение PLLOffset , равное -1 или 1. В этом случае логика настройки в KsTvTune.ax повторяет перекрывающиеся диапазоны частот. Мини-диск должен указать значение PLLOffset со значением -1 или 1 только при первом запросе на настройку или в том случае, если тюнер находится в пределах восьми шагов от наилучшего сигнала. Дополнительные сведения о запросах на настройку см. в разделе Распознавание первого запроса на настройку.
Процесс настройки всегда начинается с центральной частоты, как это требуется приложением, и шаг не выше 100 кГц выше центра. Однако если PLLOffset становится 1 ближе к верхнему пределу 100 кГц, логика настройки выходит за пределы диапазона 100 кГц.
Если процесс настройки не находит приемлемый сигнал в верхнем диапазоне, он пытается ниже центральной частоты, шаг вверх от не ниже 100 кГц ниже центра и заканчивается на центральной частоте, если он по-прежнему не нашел приемлемый сигнал. Опять же, если PLLOffset становится 1 рядом с центральной частотой, выполните настройку за пределами центральной частоты, прежде чем, наконец, вернуться к ней.
Значение элемента PLLOffset , равное -1 или 1 в первом запросе на настройку, приводит к тому, что KsTvTune.ax переходит в режим точной настройки. Режим точной настройки состоит из быстрой последовательности запросов на настройку с интервалами шагов, заданными элементом TuningGranularityструктуры KSPROPERTY_TUNER_MODE_CAPS_S в направлении, указанном PLLOffset.
KsTvTune.ax останавливает попытку настройки, если она завершается неудачей после восьми этапов точной настройки при увеличении или уменьшении частоты. После KsTvTune.ax находится в режиме точной настройки, если PLLOffset изменяет направление с -1 на 1 или с 1 на -1 или становится 0, запрос на настройку считается успешным. Точная настройка и поиск в диапазоне 200 кГц останавливаются на этом этапе.
Однако если значение PLLOffset больше 1 или меньше -1, то точная настройка либо не запускается, либо отклоняется. Режим точной настройки не зависит от поиска в диапазоне 200 кГц вокруг центральной частоты, хотя оба используют размер шага, указанный в разделе TuningGranularity (поэтому рекомендуется всегда возвращать PLLOffset - 1..1).