I can't test teh code at the moment.. but looking through it can you change the OpenTheora function to the following to see if it fixes the problem.
You will need to recompile it to see the changes
Rem bbdoc: Opens a Theora file ready for drawing. returns: A handle to the Theora movie. NULL if the file doesn't exist End Rem Function OpenTheora:Ttheora(filename:String,buffersize:Int=4096) Local t:Ttheora If LOOKUP = 0 Then ' init YUV variables _TYUVinit() LOOKUP = 1 EndIf t = New Ttheora t.color = True 'False t.decoder = _initdecoder() _opentheora(t.decoder,filename) _theoraheader(t.decoder) t.headerlength = 0 t.width = TheoraWidth(t) t.height = TheoraHeight(t) t.fps = _theorafps(t.decoder) t.buffer = CreateBank(buffersize) t.buffersize = buffersize t.filename = filename t.movie = LittleEndianStream(OpenStream(t.filename,True,False)) t.sync = True StartTheora(t) Return t End Function
You will need to recompile it to see the changes