Ableiten von CBasePin
[Bei dem Feature auf dieser Seite, DirectShow, handelt es sich um ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine sowie der Audio- und Videoaufnahme in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt für neuen Code nach Möglichkeit dringend die Verwendung von MediaPlayer, IMFMediaEngine sowie der Audio- und Videoaufnahme in Media Foundation anstelle von DirectShow. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, wenn möglich umgeschrieben wird, um die neuen APIs zu verwenden.]
Um einen Pin mit CBasePin zu implementieren, müssen Sie eine neue Klasse von der Basisklasse ableiten und mehrere ihrer Methoden überschreiben. Sie müssen die folgenden Methoden überschreiben:
Darüber hinaus müssen Sie wahrscheinlich noch diese Methoden überschreiben:
- CBasePin::Active
- CBasePin::BreakConnect
- CBasePin::CheckConnect
- CBasePin::CompleteConnect
- CBasePin::EndOfStream
- CBasePin::Inactive
- CBasePin::Notify
- CBasePin::Run
Schließlich müssen Sie die Methoden IPin::BeginFlush und IPin::EndFlush implementieren.
Einige dieser Methoden werden in Basisklassen implementiert, die von CBasePin abgeleitet sind, z. B. CBaseInputPin und CBaseOutputPin.
Zugehörige Themen