I have written an application in Visual Basic which requires serveral images to be alpha blended with a video stream from a TV tuner card.
By trying many different approaches, I think the only efficient method of achieving the task is to use Directshow and the Video Mixing Renderer. I have played with some C++ code but cannot get the VMR to do what I require.
Some of the images are created on a directdraw7 surface and are updated 30 times a second within the vb program. I need a way to add these changing surfaces to the VRM with a custom source filter or the method I've been working on, saving the images to disk and then using AddSourceFilter to mix the image with the video stream. However, I cannot find a way to reconnect the running graph to display an updated image. Also, I think this method will be far to slow - everything really needs to stay in video memory.
All I need is some help to point me in the right direction if I am already close to a solution, or a C++ sample that I can develope into my finished application. I have very little C++ experience however, so I may need the full dll coding if it becomes too complex.
1) A solution to alpha blending several directdraw7 surfaces with a video stream from a TV tuner card. The solution must support the surface image changing 30 times a second, which will be shown on the rendered video stream.
2) A sample C++ dll which can be tested by passing the window handle of a vb form.
3) Exclusive and complete copyrights to all work purchased. (No GPL, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site).