internal PlaybackState NextFrame() { byte[] data = vd.GetFrame((clock == Clocks.Game ? GameBase.Time : AudioEngine.TimeUnedited) - startTime); if (data == null) { State = PlaybackState.Stopped; return(State); } framesArrived++; currentTexture = (currentTexture + 1) % FRAME_BUFFER; videoTextures[currentTexture].SetData(data); State = PlaybackState.Running; return(State); }