OpenGLES and OpenGL are slightly different. While the former is based on the latter they don't share all functionality. The OpenGLES version of
glReadPixels mandates
GL_RGBA format and an implementation specific format which can be obtained through
glGetInteger with argument GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES. Nothing else.
From your description it looks like
glReadPixels failed (
GL_RGB not supported -> undefined buffer content, just check
glGetError response). I can't say off the top of my head what the usual implementation response to the extra format is. I suggest you find out or stick with
GL_RGBA.
See also
Also, why do you decrement width and height by 1 for reading? You don't specify a coordinate but dimensions, unless you have a specific reason to do so
