2006-09-19, 12:51 PM
I don't follow. You say that this problem occurs when GBPVR is playing video "in the background", but that your plugin is not running as an IVideoPlugin. As far as I am aware, the only way to run a plugin while video is playing is to run it as an IVideoPlugin. Am I missing something here?
Also, when a plugin is running as an IVideoPlugin, needsRendering() is irrelevant. As long as the plugin is active (having returned true when needsToBeShown() is polled), render() will be called every ~1 second. Check the IVP.rtf file for a fuller explanation.
Yes, OSDs (On-Screen Displays) are controls and displays that are superimposed on a video screen.
So if I understand you correctly, your plugin is active, running on top of video, and render() gets called every second, but you don't see the effects of it being drawn until after a keyboard event.
That's odd.
I wonder if it's something weird you're doing that's causing this. The "Hello World" plugin can easily be adapted to run on top of video. Can you try that, adding for example a counter ("Hello World 1", "Hello World 2", ...) that increments each time it is rendered, to see if the thing updates without your key input?
Also, can you please post the code of your current render() method, and a log showing video starting, the plugin getting activated, render() getting called, etc.
Also, when a plugin is running as an IVideoPlugin, needsRendering() is irrelevant. As long as the plugin is active (having returned true when needsToBeShown() is polled), render() will be called every ~1 second. Check the IVP.rtf file for a fuller explanation.
Yes, OSDs (On-Screen Displays) are controls and displays that are superimposed on a video screen.
So if I understand you correctly, your plugin is active, running on top of video, and render() gets called every second, but you don't see the effects of it being drawn until after a keyboard event.
That's odd.
I wonder if it's something weird you're doing that's causing this. The "Hello World" plugin can easily be adapted to run on top of video. Can you try that, adding for example a counter ("Hello World 1", "Hello World 2", ...) that increments each time it is rendered, to see if the thing updates without your key input?
Also, can you please post the code of your current render() method, and a log showing video starting, the plugin getting activated, render() getting called, etc.