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


Пример фильтра InfTee

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]

Описание

Фильтр InfTee предоставляет пример реализации фильтра DirectShow Infinite Pin Tee . Фильтр имеет один входной контакт и динамическое число выходных контактов. Все примеры мультимедиа, отправленные в фильтр, доставляются одновременно из всех выходных контактов.

Этот фильтр отображается в GraphEdit под именем "Пример бесконечного пин-кода", чтобы отличить его от стандартного фильтра Infinite Pin Tee, который предоставляется в DirectShow.

Использование

Так как этот фильтр не изменяет получаемые данные, все контакты должны соответствовать одному и тому же типу мультимедиа. В процессе подключения фильтр может повторно подключить некоторые контакты, чтобы обеспечить соответствие типов мультимедиа.

Данные, поступающие во входной контакт, не копируются перед отправкой в выходные контакты. Фильтр также обеспечивает доставку данных в подчиненные фильтры, чтобы гарантировать своевременное обслуживание обоих выходных данных. В частности, если один из выходных данных может блокироваться в функции-члене COutputQueue::Receive , тройник выключается из потока для доставки примера. Если не было потока для доставки образца, поток, доставляющий образец в контакт ввода тройника, мог бы передать данные в нижестоящий фильтр; на этом этапе он может блокироваться, сохраняя данные из другого нижестоящего фильтра в течение длительных периодов времени.

Скачивание примера

Чтобы скачать примеры пакета SDK DirectShow, установите последнюю версию пакета WINDOWS SDK.

Этот пример устанавливается по следующему пути: [корневой каталог SDK]\Samples\Multimedia\DirectShow\Filters\InfTee.

Примеры DirectShow