Программирование стратегических игр с DirectX 9.0
bda5893f

Граф фильтров


DirectShow построен на базе программных фильтров. Фильтры в DirectShow выполняют операции над потоками данных. Фильтры выполняют множество функций, и в число основных входят:

  • Чтение данных из файла.
  • Декодирование потоковых данных.
  • Захват видео.
  • Передача данных системной аппаратуре.
  • Например, граф фильтров может читать файл MP3 и вормировать звук для его вывода аудиооборудованием. Эти действия показаны на рис. 7.5.


    Рис. 7.5. Граф фильтров MP3

    Как видно на рис. 7.5, граф фильтров читает данные из файла MP3, декодирует их, а затем отправляет аудиоаппаратуре для воспроизведения. Рабочей лошадкой индустрии фильтров в DirectShow является интерфейс IGraphBuilder. В таблице 7.6 перечислены входящие в этот интерфейс функции.

    Таблица 7.6. Методы интерфейса IGraphBuilder

    Метод Описание
    Abort Сообщает графу о необходимости прекратить текущую операцию.
    AddSourceFilter Добавляет фильтр источника.
    Connect Соединяет два контакта.
    Render Добавляет фильтр к выходному контакту.
    RenderFile Загружает файл для воспроизведения. Я использую этот метод в своем примере для загрузки MP3-файла.
    SetLogFile Устанавливает обработчик для файла журналирования выходной информации.
    ShouldOperationContinue Сообщает должна ли продолжаться операция. Это очень странная функция, которую вам никогда не придется вызывать.



    Содержание раздела