I am trying to buffer upto 10 frames in GLES on Android. The incoming frames come from a camera to a surfacetexture
and I process the image using OpenGles. I'm attempting to do this because I'm applying several gles filters causing the GPU to choke, and so I'm losing frame rate. (A 30 FPS camera ends up giving 25 frames). My thinking is if I'm able to hold back a few frames and implement a circular buffer I should be able to delay the frames by a fixed amount (add latency), but still give a consistent frame-rate (throughput).
Any ideas on how this could be done?