IOverlay-Schnittstelle (strmif.h)
[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]
Die IOverlay
Schnittstelle stellt Informationen bereit, sodass ein Filter direkt in den Videospeicher schreiben kann, während das Video an der richtigen Fensterposition platziert wird. Es wird auf dem Eingabenadel des Videorenderers implementiert und kommuniziert mit einem Upstream-Filter (in der Regel ein Videodekomprimierungsfilter), indem die IOverlayNotify-Methoden dieses Filters aufgerufen werden, um ihn über Änderungen am Videofenster zu benachrichtigen.
Diese Schnittstelle hat keine Beziehung zur DirectDraw-Überlagerungsfunktion®. Der Microsoft-Videorenderer zeichnet Daten, die er über die IMemInputPin-Schnittstelle empfängt, und verwendet DirectDraw-Überlagerungen, sofern verfügbar. Diese Schnittstelle, die anstelle von IMemInputPin verwendet wird, soll Benachrichtigungsunterstützung für alle Upstream Filter bereitstellen, die die Zeichnungsfunktionen des Renderers umgehen, aber Benachrichtigungen über andere Anzeigeeigenschaften benötigen.
Weitere Informationen zur Zusammenarbeit der Schnittstellen und IOverlayNotify finden Sie auf derIOverlay
IOverlayNotify-Referenzseite.
Weitere Informationen zu asynchronen Benachrichtigungen über Änderungen am Renderingfenster finden Sie in der IOverlayNotify2-Schnittstelle .
Diese Schnittstelle wird im Microsoft® DirectShow-Videorendererfilter® implementiert. Es kann bei Bedarf auch in Ersatz-Videorendererfiltern implementiert werden. Implementieren Sie in diesem Fall diese Schnittstelle, sodass Filter, die direkt in den Framepuffer schreiben oder versuchen, ein Overlay zu positionieren, wissen, wo ihr Video angezeigt werden soll. Um diese Schnittstelle zu implementieren, muss der Renderer darauf vorbereitet sein, Methoden auf der IOverlayNotify-Schnittstelle oder der IOverlayNotify2-Schnittstelle des Filters zu verwenden, der die Zeichnung ausführt, wobei Benachrichtigungen über Änderungen der Videoeigenschaften angezeigt werden.
Der fensterbasierte Renderer in DirectShow unterstützt sowohl IMemInputPin - als auch IOverlay-Schnittstellen . Diese beiden Schnittstellen schließen sich gegenseitig aus. Ein Filter wählt die Verwendung des IOverlay-Transports aus, indem er während der Verbindung einen Medientyp bereitstellt, der über einen Untertyp von MEDIASUBTYPE_Overlay verfügt. Nach der Verbindung kann die Schnittstelle abgerufen und erfolgreich IOverlay
verwendet werden. Wenn eine Verbindung mit anderen Videoformaten (z. B. MEDIASUBTYPE_RGB8) hergestellt wird, gibt der Versuch, über aufruft IOverlay
, VFW_E_NOT_OVERLAY_CONNECTION zurück.
Verwenden Sie die Methoden für diese Funktion aus einem Upstream-Filter, der Videoüberlagerungseigenschaften steuern muss und die Anzeige der Videodaten selbst verarbeiten möchte. Dies wird in der Regel von Hardware-Videodecodern verwendet, die über eine alternative Verbindung mit der Videohardware verfügen.
Vererbung
Die IOverlay-Schnittstelle erbt von der IUnknown-Schnittstelle . IOverlay verfügt auch über folgende Arten von Membern:
Methoden
Die IOverlay-Schnittstelle verfügt über diese Methoden.
IOverlay::Advise Die Advise-Methode richtet einen Empfehlungslink für die durch den dwInterests-Parameter angegebenen Überlagerungsereignisse ein. |
IOverlay::GetClipList Die GetClipList-Methode ruft die Beschneidungsliste ab. |
IOverlay::GetColorKey Die GetColorKey-Methode ruft den aktuellen Farbschlüssel ab, der für die Chromaschlüsselung verwendet wird. |
IOverlay::GetDefaultColorKey Die GetDefaultColorKey-Methode ruft den Standardfarbschlüssel ab, der für eine Chroma-Key-Überlagerung verwendet wird. |
IOverlay::GetPalette Die GetPalette-Methode ruft die aktuelle Systempalette ab. |
IOverlay::GetVideoPosition Die GetVideoPosition-Methode ruft die aktuelle Videoquelle und das Zielrechteck ab. |
IOverlay::GetWindowHandle Die GetWindowHandle-Methode ruft das aktuelle Fensterhandle ab. |
IOverlay::SetColorKey Die SetColorKey-Methode ändert die Farbtaste. |
IOverlay::SetPalette Die SetPalette-Methode legt die Palette fest. |
IOverlay::Nicht hinzufügen Die Unadvise-Methode beendet den mit der IOverlayNotify-Schnittstelle eingerichteten Empfehlungslink. |
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | strmif.h (include Dshow.h) |