Hello!
I'm writing custom application built on top of VLC. Application in essence is pure VLC with OSD interface on top of it. And though this is OSD interface, it is implemented as a "video filter" module (because I'll need to scale video source at some point, but that's another story). Just like the logo filter, in it's "video filter" part. This OSD interface must be able to react to mouse actions, so I implemented this via callbacks with vout_filter_AddChild.
The problem is, my interface is not updated until the next frame arrives. So, when I move mouse, MouseEvent callback receives event on time, but interface is updated in filter's Render method. And when movie is paused, the interface is not updated at all. Funny though. I've tried to save previous frame and forcibly call Render method each time I need to update interface (well I know this is stupid and straightforward), but this just don't work for some reason. So, my question is: how can I forcibly update frame, forcibly "tell" to my vout-filter to repaint the screen?