Reputation: 382
I am using a directshow player which renders onto a panel using C++ Builder. I wish to duplicate what is playing onto a second monitor. Does directshow support any sort of events to say when a frame has been rendered by the renderer?
I am using the standard Microsoft player example which chooses the first available renderer which will work for the AVI file EVR, VRM9 this plays and renders fine. I would like to copy the rendered images as they update (50fps or 60fps max) and put them on a second screen which doesn't have all my other associated buttons and panels.
Upvotes: 0
Views: 519
Reputation: 1917
You need to configure EVR or VMR9 to use windowless render mode and implement a Custom Presenter for EVR which will be responsible for rendering of each received frame (texture). You'll then be able to render this texture on separate windows.
Here is a link to implementing a Custom Presenter for VMR9 as well, but IMO EVR is better to be used especially in Win 7 and higher.
Upvotes: 1