Freigeben über


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 derIOverlayIOverlayNotify-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)