Christian (et. al.),

I've got most of the pieces of the DirectShow version of my app figured out, 
but there is one thing that I am still confused about, that is dynamically 
updating the size of the DirectShow grabber frame. I see how this is 
accomplished in the example app, the DS video window is resized to match the 
size of the canvas. This effectively resizes the *window* image, but the actual 
frame (DirectShowSampleGrabber.Current) remains at the default size. 

My app requires processing the grabber image *before* it gets displayed so I 
currently dynamically resize and move the DSVideoWindow "off screen" during the 
main window's "Resizing" and "Resized" events. In the graber NewFrame event I 
pass the Current [frame] to the main window for display. The problem is that 
the Current [frame] doesn't get resized with the video window. Using the 
QuickTime grabber class, all that was required was to re-initalize the QT frame 
buffer to the new window size, but this doesn't seem to be possible in 
DirectShow. I could process and scale the frame to match the new window size, 
but not only is that incredibly processor intensive, the frame has *already* 
been scaled for the (hidden) video window...

Questions:

1. Is there some way to dynamically change the size of the 
DirectShowSampleGrabber.Current [frame]?
2. If not, what would be the most efficient method of accomplishing what I need 
to do?

Here are some ideas:

1. Process and scale the Current [frame] manually before displaying it in the 
main canvas. This seems redundant since the DSVideoWindow already contains a 
"scaled" version.
2. If I am going to ignore the DSVideoWindow anyway, what is the most processor 
efficient way to deal with it? Setting its visibility to "False" doesn't seem 
to actually work.
3. One option would be to use the DSVideoWindow as it is intended, but this 
would require you exposing it's "Paint" event as well as exposing its contents 
in some standard format (Picture?) so that it could be modified before actually 
being displayed. I'm not sure if this is a possibility.

I'd love to hear from anyone who has solved this problem...

Cheers.

-bill k

_______________________________________________
Mbsplugins_monkeybreadsoftware.info mailing list
[email protected]
https://ml01.ispgateway.de/mailman/listinfo/mbsplugins_monkeybreadsoftware.info

Reply via email to