Метод ICaptureGraphBuilder::RenderStream (strmif.h)
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]
Синтаксис
HRESULT RenderStream(
[in] const GUID *pCategory,
[in] IUnknown *pSource,
[in] IBaseFilter *pfCompressor,
[in] IBaseFilter *pfRenderer
);
Параметры
[in] pCategory
Указатель на GUID, указывающий, к какому выходному контакту исходного фильтра следует подключиться. Список всех категорий закрепления см. в разделе Набор свойств закрепления. ЗНАЧЕНИЕ NULL указывает, что отображается только выходной контакт независимо от категории.
[in] pSource
Указатель на интерфейс IBaseFilter или интерфейс IPin , представляющий фильтр источника или выходной контакт. Фильтры источника обычно являются фильтром источника файлов, например фильтром источника файлов AVI или фильтром записи.
[in] pfCompressor
Указатель на интерфейс IBaseFilter, представляющий необязательный фильтр сжатия.
[in] pfRenderer
Указатель на интерфейс IBaseFilter , представляющий отрисовщик. Для указания этого значения можно использовать параметр ppf (мультиплексор) из ICaptureGraphBuilder::SetOutputFileName .
Возвращаемое значение
Возвращает VFW_S_NOPREVIEWPIN, если фильтр отслеживания имеет закрепление, но не контакт предварительного просмотра, и вызывается RenderStream
с &PIN_CATEGORY_PREVIEW категорией в контакте захвата. В этом случае RenderStream
будет отображаться контакт предварительного просмотра фильтра Smart Tee . Дополнительные сведения см. в подразделе "Примечания".
Комментарии
Если для pCategory задан guid, отличный от NULL, и фильтр записи для pSource, этот метод создает экземпляры и подключает дополнительные необходимые фильтры вышестоящий, такие как ТВ-тюнеры и перекладины. Затем отрисовывается контакт захвата pSource.
Если pSource является закреплением, укажите значение NULL для параметра pCategory , и этот метод отрисовывает поток из этого контакта.
Если исходный фильтр имеет только один выходной контакт, укажите значение NULL для параметра pCategory.
Фильтры pSource, pfCompressor и pfRenderer, заданные в качестве параметров, должны присутствовать в графе перед вызовом этого метода.
Если вы создаете граф захвата, использующий фильтры записи WDM, этот метод создаст все необходимые вышестоящий фильтры, а также подчиненные фильтры.
Некоторые фильтры захвата, которые работают с новым оборудованием для захвата видео WDM VPE (расширение видеопорта), имеют контакты видеопорта вместо контактов предварительного просмотра, предназначенных для предварительного просмотра. Контакты видеопорта подключаются не напрямую к отрисовщику видео, а к специальному фильтру, который называется Overlay Mixer. Приложению не нужно беспокоиться об этом. Все, что вам нужно сделать, это вызвать RenderStream
с помощью PIN_CATEGORY_PREVIEW, и построитель графов захвата правильно отрисует закрепление VIDEO PORT через наложенный микшер, если это необходимо.
Если вы отрисовываете закрепление или предварительный просмотр фильтра видеозахвата (с помощью RenderStream
PIN_CATEGORY_CAPTURE или PIN_CATEGORY_PREVIEW категории) и фильтр захвата имеет закрепление, но без предварительного просмотра, фильтр Smart Tee будет автоматически использоваться для одновременного захвата и предварительного просмотра. Например, вызов RenderStream
с PIN_CATEGORY_CAPTURE категории фактически подключит фильтр Smart Tee к контакту захвата фильтра, а затем отрисовывает контакт захвата Smart Tee. Если затем вызвать RenderStream
с PIN_CATEGORY_PREVIEW категорией на контакте захвата, он фактически отрисовывает контакт предварительного просмотра Smart Tee. Если вызов RenderStream
с PIN_CATEGORY_PREVIEW приводит к использованию пин-кода захвата и фильтра Smart Tee, RenderStream
возвращает VFW_S_NOPREVIEWPIN, указывающее на это. Таким образом, если FindInterface не удается найти интерфейс предварительной версии, может потребоваться вызвать Метод FindInterface с категорией PIN_CATEGORY_PREVIEW и с категорией PIN_CATEGORY_CAPTURE, так как интерфейс предварительного просмотра можно найти, просмотрев вниз по контакту захвата фильтра отслеживания.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | strmif.h (включая Dshow.h) |