IVMRSurfaceAllocatorNotify interface (strmif.h)

[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

The IVMRSurfaceAllocatorNotify interface is implemented by the Video Mixing Renderer Filter 7 (VMR-7). Applications use this interface to set a custom allocator-presenter and the allocator-presenter uses this interface to inform the VMR-7 of changes to the system environment that affect the DirectDraw surfaces.

In order for an application to obtain this interface, the VMR must be in renderless mode.

For the VMR-9, use the IVMRSurfaceAllocatorNotify9 interface.

Inheritance

The IVMRSurfaceAllocatorNotify interface inherits from the IUnknown interface. IVMRSurfaceAllocatorNotify also has these types of members:

Methods

The IVMRSurfaceAllocatorNotify interface has these methods.

 
IVMRSurfaceAllocatorNotify::AdviseSurfaceAllocator

The AdviseSurfaceAllocator method is called by an application to instruct the VMR to use a custom allocator-presenter.
IVMRSurfaceAllocatorNotify::ChangeDDrawDevice

The ChangeDDrawDevice method notifies the VMR that the DirectDraw playback device has changed. For example, on a multi-monitor system, the user has moved the video rectangle from one monitor to another.
IVMRSurfaceAllocatorNotify::NotifyEvent

The NotifyEvent method is called by the allocator-presenter to inform the VMR of any significant DirectShow events during the allocation or presentation processes.
IVMRSurfaceAllocatorNotify::RestoreDDrawSurfaces

The RestoreDDrawSurfaces method notifies the VMR that a DirectDraw surface "loss" has been detected.
IVMRSurfaceAllocatorNotify::SetBorderColor

The SetBorderColor method specifies to the VMR which color to use in areas of the display rectangle which are not being used for video, for example when the video is letterboxed.
IVMRSurfaceAllocatorNotify::SetDDrawDevice

The SetDDrawDevice method sets the initial DirectDraw device and monitor to be used for video playback.

Requirements

Requirement Value
Minimum supported client Windows XP with SP1 [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Target Platform Windows
Header strmif.h (include Dshow.h)

See also

Using the Video Mixing Renderer