VMR9 & SampleGrabber at the same time , how ?
-
http://msdn2.microsoft.com/en-us/library/ms786690.aspx It says : Include Qedit.h. This header file is not compatible with Microsoft® Direct3D® headers later than version 7. My application must do both VMR9 rendering and sample grabbing. But there are many problems when i include d3d9.h+vmr9.h with qedit.h at the same time , it gives lots of errors when trying to build how can i use vmr9 filter and samplegrabber filter at the same time ?
-
http://msdn2.microsoft.com/en-us/library/ms786690.aspx It says : Include Qedit.h. This header file is not compatible with Microsoft® Direct3D® headers later than version 7. My application must do both VMR9 rendering and sample grabbing. But there are many problems when i include d3d9.h+vmr9.h with qedit.h at the same time , it gives lots of errors when trying to build how can i use vmr9 filter and samplegrabber filter at the same time ?
The VMR has a built-in frame grabber that maybe you can use instead. See IBasicVideo::GetCurrentImage()[^] for VMR in windowed mode or IVMRWindowlessControl9::GetCurrentImage()[^] for VMR in windowless mode. Mark
Mark Salsbery Microsoft MVP - Visual C++
-
The VMR has a built-in frame grabber that maybe you can use instead. See IBasicVideo::GetCurrentImage()[^] for VMR in windowed mode or IVMRWindowlessControl9::GetCurrentImage()[^] for VMR in windowless mode. Mark
Mark Salsbery Microsoft MVP - Visual C++
-
Thanks but what about audio streams ? And what about processing imag , will it only give image or can it give chance of processing image buffer just in sample-grabber ?
Well this is unfortunate, but based on messing with this and searching for an answer... It looks like the only workaround is to separate VMR-related and SampleGrabber-related code into two different source modules. The two modules will need to include a different set of header files (which means including them in a pre-compiled header won't work). Another alternative is to make your own custom grabber filter. The Grabber Filter Sample in the DirectShow SDK implements one that already works. You'd want to change the names and GUIDs to your own to differentiate it from the SDK sample filter. Mark
Mark Salsbery Microsoft MVP - Visual C++