Поделиться через


Устройства захвата видео с помощью радио-тюнеров

Microsoft Windows XP и более поздних версий, а также Microsoft DirectX 8.1 и более поздних версий обеспечивают поддержку устройств захвата видео, включающих FM-радио-тюнеры.

Мини-диск для захвата видео для устройства с FM-тюнером должен поддерживать свойство KSPROPERTY_TUNER_STATUS . Это позволит клиентам пользовательского режима получить KSPROPERTY_TUNER_STATUS_S структуру, описывающую ход выполнения операций настройки.

Мини-драйверы могут поддерживать одну из трех стратегий настройки:

  1. Настройка по смещению PLL.

    Если оборудование FM-тюнера поддерживает настройку через смещение PLL, для элемента Стратегииструктуры KSPROPERTY_TUNER_MODE_CAPS_S должно быть задано значение KS_TUNER_STRATEGY_PLL.

    Если оборудование FM-тюнера не обеспечивает поддержку PLL, мини-диск должен эмулировать поддержку PLL с помощью собственного индикатора силы сигнала. Предоставляемая системой логика настройки FM в KsTvTune.ax включена только в том случае, если мини-диск указывает, что поддерживает стратегию KS_TUNER_STRATEGY_PLL .

  2. Настройка по силе сигнала.

    Если мини-накопитель задает для элемента 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.

  3. Настройка выполняется вручную с помощью мини-драйвера.

    Задайте для элемента Стратегия структуры 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).