android camere前摄预览镜像
一、背景
camera前摄预览镜像是android的原生设计,但随android手机安置的camera模组越来越多,从后置双摄到三摄…,但有些SOC平台的camera HAL设计可能依然只支持单摄或双摄,这时为了实现后置双摄或三摄的方案,需要其中一颗sensor用前摄的配置,但作为后摄来用,所以我们就需要去掉前摄中的预览镜像设定。
二、代码具体实现
在api1 + HAL1上,framwork camera.java中会有setDisplayOrientation的api提供给app去使用,它最终是能过调用HAL的setPreviewTransform来实现预览镜像的。
if (cmd == CAMERA_CMD_SET_DISPLAY_ORIENTATION) {
// Mirror the preview if the camera is front-facing.
orientation = getOrientation(arg1, mCameraFacing == CAMERA_FACING_FRONT);
if (orientation == -1) return BAD_VALUE;
if (mOrientation != orientation) {
mOrientation = orientation;
if (mPreviewWindow != 0) {
mHardware->setPreviewTransform(mOrientation);
}
}
return OK;
}
camera v2 api &#