執行緒和關鍵區段

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

本節說明 DirectShow 篩選中的執行緒,以及您應該採取的步驟,以避免自訂篩選中的損毀或死結。

本節中的範例會使用虛擬程式碼來說明您需要撰寫的程式碼。 它們假設自訂篩選是使用衍生自 DirectShow 基類的類別,如下所示:

  • CMyInputPin:衍生自 CBaseInputPin
  • CMyOutputPin:衍生自 CBaseOutputPin
  • CMyFilter:衍生自 CBaseFilter
  • CMyInputAllocator:輸入針腳的配置器,衍生自 CMemAllocator。 並非所有篩選都需要自訂配置器。 對於許多篩選準則, CMemAllocator 類別就已足夠。

此章節包含下列主題。

篩選開發人員的資料流程

撰寫 DirectShow 篩選