In my camera app, you can switch between the front and back camera. When I take picture with the back camera the picture is the same like the preview shows. But when I switch to the front camera, the picture is mirrorrd.I think it has something to do that front and back camera is in landscape mode. I have tried almost every given answers on SO.
It would really help if someone could point me in the right directions.
I think you are looking for setDisplayOrientation(int). There is a function they have that might help on the dev site:
http://developer.android.com/reference/android/hardware/Camera.html#setDisplayOrientation%28int%29
I found the answer , doing
mCamera.setDisplayOrientationa(int degrees);
did not help. I had to mirror the generated bitmap in order to get the result I wanted. I used the Matrix method to a achieve this .The issue with front camera was figured out to be specific to android 4.0+. So after you decoded the byte-array in method "onPictureTaken"
just call rotateBitmap to rotate the bitmap