共用方式為


InfTee 篩選範例

[與此頁面相關聯的功能,DirectShow是舊版功能。 它已被 MediaPlayerIMFMediaEngine以及媒體基金會中的音訊/視訊擷取取代。 這些功能已針對 Windows 10 和 Windows 11 進行優化。 Microsoft強烈建議新程式代碼盡可能使用MediaPlayerIMFMediaEngine和Media Foundation中的音訊/視訊擷取,而不是DirectShow。 Microsoft建議使用舊版 API 的現有程式代碼,盡可能改寫成使用新的 API。]

描述

InfTee 濾鏡提供 DirectShow Infinite Pin Tee 濾鏡的一個範例實作。 過濾器有一個輸入針腳和動態數量的輸出針腳。 傳送到篩選器的所有媒體樣本會從所有輸出接腳同時傳遞。

此篩選會在 GraphEdit 中顯示為 Sample Infinite Pin Tee,以便與 DirectShow 中提供的標準 Infinite Pin Tee 篩選區分開來。

用法

由於此篩選不會變更它所接收的數據,因此所有連接點必須符合相同的媒體類型。 在連線過程中,過濾器可能會重新連接某些針腳,以使媒體類型匹配。

在傳送至輸出針腳之前,不會複製抵達輸入針腳的數據。 過濾器還確保數據傳輸到下游過濾器,以確保這兩個輸出都能及時得到服務。 特別是,如果其中一個輸出可能在 COutputQueue::Receive 成員函式中阻塞,那麼此分流器會啟動一個新線程來傳遞樣本。 如果沒有執行緒來傳遞範例,那麼將範例傳遞至 Tee 輸入端的執行緒可能會將數據傳遞至下游過濾器;在那個時候,它可能會阻塞,長時間阻止數據到達另一個下游過濾器。

下載範例

若要下載 DirectShow SDK 範例,請安裝最新版的 Windows SDK

此範例會安裝在下列路徑下:[SDK Root]\Samples\Multimedia\DirectShow\Filters\InfTee。

DirectShow 範例