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