My video Camera app does record in the landscape mode, but the front facing camera previews the regular image, but the actual recording is mirrored (flipped or inverted) acr
Try applying a transformation matrix to a TextureView. As per Prevent flipping of the front facing camera
This works for API level >= 14
The bad news: this mirroring is hardcoded into the camera service, and can not be disabled.
The good news: if you are on a recent API (API level >= 14), you can easily use a TextureView to mirror the preview image back to the original. Take the TextureView Example over at the Android Documentation, then use setTransform to set a mirroring transform. This will revert the preview image back to the non-mirrored original.
Note that a mirror transform is the same as a scaling transform with a -1 scale on the X axis.
If you are on an older API version, you might be able to do the same with a SurfaceView (using setScaleX, API level >= 11).