IOverlayNotify-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 IOverlayNotify
Schnittstelle bietet einen Upstream Filter, z. B. einen Decoder, mit Benachrichtigungen über Änderungen am Renderingfenster. Dies umfasst Benachrichtigungen über Änderungen an der Palette, der Farbtaste und der Fensterposition sowie änderungen an sichtbaren Regionen (Clipping).
Die meisten Softwarevideodecoder ermöglichen es dem Videorenderer, die von ihnen erzeugten dekomprimierten Bilder zu zeichnen, indem die Medienbeispiele an die IMemInputPin-Schnittstelle am Eingabenadel des Renderers übergeben werden.
Einige Videodecodierungsfilter (in der Regel Hardwaredekomprimierungsboards) übernehmen jedoch das Zeichnen der Bilder selbst, z. B. mithilfe eines VGA-Anschlusses. Diese Filter müssen nicht IMemInputPin verwenden, sondern können stattdessen die vom Renderereingabenadel bereitgestellte IOverlay-Schnittstelle verwenden. Über diese Schnittstelle kann der Decoder benachrichtigt werden, wenn sich die Fensterposition oder -größe ändert oder wenn sich die aktuelle Systempalette ändert, um Farbtasten und Paletten zu installieren und zu ändern.
Decoder, die ihre eigene Zeichnung ausführen, sollten die IOverlayNotify
Schnittstellen und IOverlayNotify2 implementieren. Der Renderer verwendet diese Schnittstelle, um den Decoder zu benachrichtigen, wenn sich die Fenstergröße oder -position ändert, sich die Systempalette ändert oder eine andere Farbtaste verwendet wird. Der Decoder sollte die IOverlay::Advise-Methode am Eingabenadel des Renderers aufrufen, um den Rückruf einzurichten. Sobald der Rückruf eingerichtet wurde, ruft der Renderer die Methoden des Decoders IOverlayNotify
auf, wenn die entsprechenden Ereignisse auftreten. Um den Rückruf abzubrechen, verwenden Sie die IOverlay::Unadvise-Methode .
Der Videorenderer ist der einzige Filter, der die Methoden für diese Schnittstelle aufruft. Dies erfolgt automatisch durch den Standard-Videorenderer. Wenn Sie einen Ersatzvideorenderer schreiben, müssen Sie die Methoden auf dieser Schnittstelle verwenden, wenn Ihr Filter IOverlay unterstützt und diese Schnittstelle in einem IOverlay::Advise-Aufruf an Ihren Filter übergeben wird.
Vererbung
Die IOverlayNotify-Schnittstelle erbt von der IUnknown-Schnittstelle . IOverlayNotify verfügt auch über folgende Arten von Membern:
Methoden
Die IOverlayNotify-Schnittstelle verfügt über diese Methoden.
IOverlayNotify::OnClipChange Die OnClipChange-Methode stellt eine Benachrichtigung bereit, dass sich der sichtbare Bereich des Fensters geändert hat. Es ist wichtig, dass alle Überlagerungshardware aktualisiert wird, um die Änderung an der sichtbaren Region widerzuspiegeln, bevor sie von dieser Methode zurückgegeben wird. |
IOverlayNotify::OnColorKeyChange Die OnColorKeyChange-Methode stellt eine Benachrichtigung bereit, dass sich der Farbschlüssel des Fensters geändert hat. |
IOverlayNotify::OnPaletteChange Die OnPaletteChange-Methode stellt eine Benachrichtigung bereit, dass sich die Palette des Fensters geändert hat. |
IOverlayNotify::OnPositionChange Die OnPositionChange-Methode stellt eine Benachrichtigung bereit, dass sich die Position geändert hat. |
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) |