CBaseOutputPin 類別

cbaseoutputpin class hierarchy

類別 CBaseOutputPin 是實作輸出釘選的抽象基類。

這個類別衍生自 CBasePin。 在下列方面,與 CBasePin 不同:

  • 它只會連接到支援 IMemInputPin 介面的輸入針腳。
  • 它支援透過 IMemAllocator 介面的本機記憶體傳輸。
  • 它會拒絕串流結束、排清和新區段通知。 (這些不應該傳送至輸出 pin.)
  • 它會提供方法來傳遞下游範例。

當針腳連接時,它會從輸入針腳要求記憶體配置器。 失敗,它會建立新的配置器物件。 輸出針腳負責設定配置器屬性。 它會透過純虛擬方法 CBaseOutputPin::D ecideBufferSize 執行此作業。 覆寫衍生類別中的這個方法。 如果輸入針腳有任何緩衝區需求,則會傳遞至 DecideBufferSize 方法。

呼叫 CBaseOutputPin::GetDeliveryBuffer 方法來取得空的媒體範例。 呼叫 CBaseOutputPin::D eliver 方法來傳遞下游範例。

衍生類別必須覆寫純虛擬 CBasePin::CheckMediaType 方法,以在釘選連線期間驗證媒體類型。

受保護的成員變數 描述
m_pAllocator 記憶體配置器的指標。
m_pInputPin 連接到這個針腳之輸入針腳的指標。
公用方法 描述
CBaseOutputPin 建構函式方法。
CompleteConnect 完成與輸入針腳的連線。 虛擬。
DecideAllocator 選取記憶體配置器。 虛擬。
GetDeliveryBuffer 擷取包含空白緩衝區的媒體範例。 虛擬。
提供 將媒體範例傳遞至連接的輸入針腳。 虛擬。
InitAllocator 建立記憶體配置器。 虛擬。
CheckConnect 判斷針腳連接是否適合。
BreakConnect 從連接釋放針腳。
使用中 通知針腳,篩選現在為使用中。
非使用中 通知針腳,篩選已不再使用中。
DeliverEndOfStream 將串流結束通知傳遞至連接的輸入針腳。虛擬。
DeliverBeginFlush 要求連接的輸入針腳開始排清作業。 虛擬。
DeliverEndFlush 要求連接的輸入針腳結束排清作業。 虛擬。
DeliverNewSegment 將新區段通知傳遞至連接的輸入針腳。 虛擬。
純虛擬方法 描述
DecideBufferSize 設定緩衝區需求。
IPin 方法 描述
BeginFlush 開始排清作業。
EndFlush 結束排清作業。
EndOfStream 通知針腳未預期其他資料。

規格需求

需求
標頭
Amfilter.h (包含 Streams.h)
程式庫
Strmbase.lib (零售組建) ;
Strmbasd.lib (偵錯組建)