篩選執行緒的摘要
[與此頁面相關的功能 DirectShow是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。
串流執行緒上會呼叫下列方法:
- IMemInputPin::Receive
- IMemInputPin::ReceiveMultiple
- IPin::EndOfStream
- IPin::NewSegment
- IMemAllocator::GetBuffer
在應用程式執行緒上會呼叫下列方法:
- 狀態變更: IBaseFilter::JoinFilterGraph、 IMediaFilter::P ause、 IMediaFilter::Run、 IMediaFilter::Stop、 IQualityControl::SetSink。
- 參考時鐘: IMediaFilter::GetSyncSource、 IMediaFilter::SetSyncSource。
- 釘選作業:IBaseFilter::FindPin、IPin::Connect、IPin::ConnectedTo、IPin::ConnectionMediaType、IPin::D isconnect、IPin::ReceiveConnection。
- 配置器函式: IMemInputPin::GetAllocator、 IMemInputPin::NotifyAllocator。
- Flushing: IPin::BeginFlush、 IPin::EndFlush。
此清單未涵蓋全部種類。 當您實作篩選時,必須考慮哪些方法會變更篩選狀態,以及哪些方法會執行串流作業。