共用方式為


線程和重要區段

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

本節說明 DirectShow 篩選中的線程處理,以及您應該採取的步驟,以避免自定義篩選中的當機或死結。

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

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

本節包含下列主題。

篩選開發人員 數據流

撰寫 DirectShow 篩選