CBasePin からの派生
[このページに関連付けられている機能である DirectShow はレガシ機能です。 これは、MediaPlayer、IMFMediaEngine、メディア ファンデーションの Audio/Video Capture に置き換えられました。 これらの機能は、Windows 10 および Windows 11 用に最適化されています。 新しいコードでは、可能な場合は、DirectShow ではなく、MediaPlayer、IMFMediaEngine、メディア ファンデーションの Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存コードを、新しい API を使用するように可能であれば書き直すことを提案しています。]
CBasePin を使ってピンを実装するには、基底クラスから新しいクラスを派生し、そのメソッドのいくつかをオーバーライドする必要があります。 次のメソッドをオーバーライドする必要があります。
おそらく、以下の追加メソッドをオーバーライドする必要があります。
- CBasePin::Active
- CBasePin::BreakConnect
- CBasePin::CheckConnect
- CBasePin::CompleteConnect
- CBasePin::EndOfStream
- CBasePin::Inactive
- CBasePin::Notify
- CBasePin::Run
最後に、IPin::BeginFlush メソッドと IPin::EndFlush メソッドを実装する必要があります。
これらのメソッドの一部は、CBaseInputPin や CBaseOutputPin など、CBasePin から派生した基底クラスに実装されています。
関連トピック