I have modified the AMCap example to use the VideoMixingRenderer9 instead of IVideoWindow for displaying video. When configured for windowless rendering mode, the VMR9 filter does not continue to render after a power standby/hibernate cycle. It works fine in either mode with IVideoWindow, but only works fine with windowed rendering mode with VMR9. Any suggestions for what I need to do to have VMR9 continue to render after resuming from standby/ hibernate? Even restarting the filter graph doesnt seem to solve the problem. Thanks Vilas
> When configured for > windowless rendering mode, the VMR9 filter does not continue to render > after a power standby/hibernate cycle. You could try pumping messages from your top-level window to the graph via the IGraphNotify interface. The renderer isn't getting the power events because it doesn't have its own window in order to hear them. I could be wrong though. drep
On Tue, 8 Jul 2008 09:43:31 -0700 (PDT), vkc wrote: > Any suggestions for what I > need to do to have VMR9 continue to render after resuming from standby/ > hibernate? Even restarting the filter graph doesnt seem to solve the > problem. Do you get WM_DISPLAYCHANGE on the application's message loop? If so, see IVMRWindowlessControl9::DisplayModeChanged Any dshow EC_ events? There has been discussion in the past about problems with VMR9 and screen savers. See Google Groups: http://groups.google.com/groups/search?ie=UTF-8&q=screen+saver+vmr9+group%3Amicrosoft.public.win32.programmer.directx.video&qt_s=Search Nothing definitive but it may help you find a solution. Please report back if you find anything. -- Please read this before replying: 1. Dshow & posting help: http://tmhare.mvps.org/help.htm 2. Trim & respond inline (please don't top post or snip everything) 3. Benefit others: follow up if you are helped or you found a solution
Solved the problem. Since VMR9 is configured for windowless operation, the container window must handle WM_PAINT messages and must call IVMRWindowlessControl9::RepaintVideo. Should have paid more attention to the VMR9 documentation: http://msdn.microsoft.com/en-us/library/ms788128(VS.85).aspx Thanks Vilas On Jul 8, 6:56 pm, "drep" wrote: > > When configured for > > windowless rendering mode, the VMR9 filter does not continue to render > > after a power standby/hibernate cycle. > > You could try pumping messages from your top-level window to the graph via > the IGraphNotify interface. The renderer isn't getting the power events > because it doesn't have its own window in order to hear them. > > I could be wrong though. > > drep
On Tue, 8 Jul 2008 20:21:14 -0600, The March Hare [MVP] wrote: > Do you get WM_DISPLAYCHANGE on the application's message loop? If so, see > > IVMRWindowlessControl9::DisplayModeChanged > > Any dshow EC_ events? > > There has been discussion in the past about problems with VMR9 and screen > savers. See Google Groups: > > http://groups.google.com/groups/search?ie=UTF-8&q=screen+saver+vmr9+group%3Amicrosoft.public.win32.programmer.directx.video&qt_s=Search > > Nothing definitive but it may help you find a solution. > > Please report back if you find anything. I've never completely solved this problem. In Windowless mode it is a problem when simply locking the desktop as the DirectDraw/3D surface is lost. You should receive an EC_ event in this case however the trick is getting it running again after the unlock/restore as the old renderer doesn't seem to work any more. I found I needed to strip out the renderer and create a new one before I could successfully re-run the graph. If you find an alternative solution I would be interested. -- http://www.chrisnet.net/code.htm [MS MVP for DirectShow / MediaFoundation]
On Thu, 10 Jul 2008 12:11:30 -0400, Chris P. wrote: > I found I needed to strip out the renderer > and create a new one before I could successfully re-run the graph. If you > find an alternative solution I would be interested. You'd think calling IVMRWindowlessControl9::DisplayModeChanged would handle it :( I only use VMR9 for a limited feature of my app, mostly a custom renderer. -- Please read this before replying: 1. Dshow & posting help: http://tmhare.mvps.org/help.htm 2. Trim & respond inline (please don't top post or snip everything) 3. Benefit others: follow up if you are helped or you found a solution