1) The last statement in your loop is 'lastprocessFrameID=currentFrameID', this will cause the loop to exit after first iteration.
2) If you are getting the frames like you described, they will be fetched in reverse order (newest to oldest), this will probably be a problem for you because every time you enter the loop you will start processing frame N, where the last frame you processed was N-60 (in the extreme scenario), then you will process frame N-59, N-58 etc.
3) From what you are describing, it seems that the frame rate is OK (test it in the visualizer), you are missing a lot of frames because something in your processing takes a long time. Try to do nothing and see the rate you get.