ICaptureGraphBuilder::RenderStream 方法 (strmif.h)
[與此頁面 相關的功能 DirectShow 是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對 Windows 10 和 Windows 11 進行優化。 Microsoft 強烈建議新程式代碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式代碼,以使用新的 API。]
語法
HRESULT RenderStream(
[in] const GUID *pCategory,
[in] IUnknown *pSource,
[in] IBaseFilter *pfCompressor,
[in] IBaseFilter *pfRenderer
);
參數
[in] pCategory
GUID 的指標,指定要連接之來源篩選的輸出針腳。 如需所有釘選類別的清單,請參閱 Pin 屬性集 。 NULL 表示轉譯唯一的輸出釘選,而不論類別為何。
[in] pSource
IBaseFilter 或 IPin 介面的指標,代表來源篩選條件或輸出釘選。 來源篩選通常是檔案來源篩選條件,例如 AVI 檔案來源篩選或擷取篩選器。
[in] pfCompressor
代表選擇性壓縮篩選器的 IBaseFilter 介面指標。
[in] pfRenderer
代表轉譯器的 IBaseFilter 介面指標。 您可以從 ICaptureGraphBuilder::SetOutputFileName 使用 ppf (multiplexer) 参數來提供此值。
傳回值
如果擷取篩選器有擷取釘選但沒有預覽釘選,而且您在擷取釘選上呼叫 RenderStream
&PIN_CATEGORY_PREVIEW 類別,則會傳回VFW_S_NOPREVIEWPIN。 在此情況下, RenderStream
將會轉譯 Smart Tee 篩選器的預覽釘選。 如需詳細資訊,請參閱<備註>。
備註
如果您為 pCategory 指定非 NULLPin 屬性集 GUID 和 pSource 的擷取篩選器,此方法會具現化並連接其他必要的上游篩選,例如電視微調器和交叉欄。 然後,它會轉譯 pSource 的擷取釘選。
如果 pSource 是針腳,則為 pCategory 指定 NULL,此方法會從該釘選轉譯數據流。
如果來源篩選條件只有一個輸出針腳,請為 pCategory 指定 NULL。
指定為參數的 pSource、pfCompressor 和 pfRenderer 篩選必須存在於圖形中,才能呼叫此方法。
如果您要建置使用 WDM 擷取篩選的擷取圖形,此方法將會建置所有必要的上游篩選條件和下游篩選條件。
某些使用新 WDM VPE (視訊埠擴充功能的擷取篩選器,) 視訊擷取硬體具有視訊埠釘選,而不是用於預覽的預覽釘選。 視訊埠釘選不會直接連接到視訊轉譯器,而是連接到稱為 「重迭混音器」的特殊篩選。 您的應用程式不需要擔心這個問題。 您只需要使用 PIN_CATEGORY_PREVIEW 呼叫 RenderStream
,如果這是必要的,擷取圖形產生器就會正確地透過重迭混音器轉譯 VIDEO PORT 針腳。
當您使用 RenderStream
搭配PIN_CATEGORY_CAPTURE或PIN_CATEGORY_PREVIEW類別) 轉譯視訊擷取篩選 (擷取或預覽釘選時,擷取篩選器具有擷取釘選但沒有預覽釘選, Smart Tee 篩選會自動用來允許同時擷取和預覽。 例如,使用 PIN_CATEGORY_CAPTURE 類別呼叫 RenderStream
會實際將Smart Tee篩選器連接到篩選的擷取釘選,然後轉譯Smart Tee的擷取釘選。 如果您接著在擷取釘選上使用 PIN_CATEGORY_PREVIEW 類別來呼叫 RenderStream
,它實際上會轉譯 Smart Tee 的預覽釘選。 如果以 PIN_CATEGORY_PREVIEW呼叫 RenderStream
會導致使用擷取釘選和 Smart Tee 篩選器, RenderStream
則會傳回VFW_S_NOPREVIEWPIN以指出此問題。 因此,如果 FindInterface 找不到預覽介面,您可能需要使用 PIN_CATEGORY_PREVIEW 類別和 PIN_CATEGORY_CAPTURE 類別呼叫 FindInterface ,因為預覽介面可以藉由查看擷取篩選的擷取針腳下游找到。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | strmif.h (包含 Dshow.h) |