I haven\'t found any explanation for this so far. Basically I have a video recording class which works splendidly when setVideoSize() is set to 720 x 480 on my Samsung Galax
I've experienced similar problems like this in the past. What you're doing seems to be fine but here are a few suggestions that might help to debug the problem:
Ensure you are selecting a supported resolution
int cameraId = 0; // using back facing camera
Camera camera = Camera.open(cameraId);
Camera.Parameters cameraParams = camera.getParameters();
List supportedPreviewSizes = cameraParams.getSupportedPreviewSizez();
// find suitable Camera preview size from list and set your CamcorderProfile to use that new size
After you've located a suitable preview size be sure to reset your SurfaceView -- you will need to resize it to accommodate the change in aspect ratio
MediaRecorder API uses the SurfaceView so if your surface view isn't configured correctly it will result in the green flicker you're seeing
Ensure you are using a video bit rate that can support the new resolution -- try bumping the video bit rate to double what it was originally set to (*note this drastically effects your output filesize)
CamcorderProfile.QUALITY_HIGH returns the highest possible supported camera resolution. Ensure you are using the correct camera id (front vs. back) -- maybe the back facing camera supports 1080p but the front facing camera does not?
Hope the tips help!