Hi jobleonard,
thanks for the reply, I think you may be right about the ram usage, it seems to be hovering around 300-400MB so I should have some overhead there. I am using quite a few other libs, so 64 bit is unlikely to work in this situation, but worth looking into. I am using the glgraphics integration.
I did a basic video example to experiment with some other methods in the gs video class. I found that I could replicate the error fairly consistently when I left out the read(); method on the GSMovie object. This made me think that maybe it was trying to put the pixels into texture that were not in the reading buffer. (maybe ??) I came across the ready() method, that was used before the .9 update to test if there were pixels to be read. When I added the read inside a conditional on the ready method, it seems to eliminate all errors I was getting before. That is until windows reverted back to it's non-transparent theme. Now I am thinking that it may be an issue with opengl in general, or my video has some bad frames in it.
I also found that it is not necessary to have the putPixelsIntoTexture method in an if(), but just by testing if the video is ready, reading that and putting the pixels into the texture, it should work equally as well.
here's my test code if anyone wants to try:
- import processing.opengl.*;
- import codeanticode.gsvideo.*;
- import codeanticode.glgraphics.*;
- void setup () {
- size(6144, 1366, GLConstants.GLGRAPHICS);
- frameRate(60);
- BGvideo bgv = new BGvideo("bigMovie.mov", this);
-
- }
- void draw () {
- //background(255);
- }
- public class BGvideo {
- GSMovie myMovie;
- GLTexture tex;
- PApplet app;
- public BGvideo (String videoFile, PApplet app) {
- this.app = app;
- app.registerDraw(this);
- myMovie = new GSMovie(app, videoFile );
- tex = new GLTexture(app);
- myMovie.frameRate(myMovie.getSourceFrameRate());
- myMovie.setPixelDest(tex);
- myMovie.loop();
- }
- public void draw () {
- if(myMovie.ready()){
- myMovie.read();
- tex.putPixelsIntoTexture();
- }
- background(255, 0, 0);
- image(tex, 0, 0, app.width, app.height);
-
- }
- }
thanks for looking!
ak