Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Is WC's RepaintVideo() absolutely necessary?

3 views
Skip to first unread message

Bogdan

unread,
Nov 26, 2009, 9:07:20 AM11/26/09
to
Hi,

I have a full-screen app with windowless VMR7/9 occupying the whole screen.
The app plays mp2/4 full-screen clips. The app's window cannot be sized or
moved by a user.

Could someone please let me know if I still need to call WC's RepainVideo()
in such environment? I have tested the app with different clips/decoders
and and seemed to work fine without RepaintVideo(). I'm trying to avoid a
'black flash' on the screen when the app calls WC's RepaintVideo() right
after the graph is started.

The reason that I'm not very comfortable with the above approach is that I
remember having some problems with VMRs and outputs from TV tuners and/or
USB cameras few years ago. In those cases, the video would not show through
without the initial call to WC's RepaintVideo().

Thanks,
Bogdan


Alessandro Angeli

unread,
Nov 30, 2009, 1:10:00 PM11/30/09
to

From: "Bogdan"

> I have a full-screen app with windowless VMR7/9 occupying
> the whole screen. The app plays mp2/4 full-screen clips.
> The app's window cannot be sized or moved by a user.
>
> Could someone please let me know if I still need to call
> WC's RepainVideo() in such environment? I have tested

When someone has to use Google to figure out what you are
talking about, it's a clear sign that you did not write a
clear post: nobody uses WC to mean IVMRWindowlessControl(9).

> the app with different clips/decoders and and seemed to
> work fine without RepaintVideo(). I'm trying to avoid a
> 'black flash' on the screen when the app calls WC's
> RepaintVideo() right after the graph is started.
> The reason that I'm not very comfortable with the above
> approach is that I remember having some problems with
> VMRs and outputs from TV tuners and/or USB cameras few
> years ago. In those cases, the video would not show
> through without the initial call to WC's RepaintVideo().

http://msdn.microsoft.com/en-us/library/dd407299.aspx

Read the "Handle Window Messages" section: you should not
paint onto the video rectangle. On the other hand, probably
you only need to call RepaintVideo() when the graph is
paused, since the VMR will repaint the rectangle anyway when
it is running.

--
// Alessandro Angeli
// MVP :: DirectShow / MediaFoundation
// mvpnews at riseoftheants dot com
// http://www.riseoftheants.com/mmx/faq.htm


0 new messages