Android Camera移植

http://source.android.com/porting/camera.html

Camera

Android的camera子系统把camera的应用程序与应用程序框架以及用户空间库连接起来,反过来也与操作物理camera的硬件层进行通信。 下图为camera子系统的结构:

 构建一个camera库

为了实现一个camera驱动,创建一个动态链接库实现在CameraHardwareInterface.h中定义的camera接口,你必须把你的动态链接库命名为libcamera.so,从而在运行时它会从/system/lib被装载。你还需要把libcamera的源文件以及Android.mk文件放在vendor/acme/chipset_or_board/libcamera/中。

下面的stub Android.mk文件保证了libcamera编译和连接合适的库。

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE := libcamera

LOCAL_SHARED_LIBRARIES := /
    libutils /
    librpc /
    liblog

LOCAL_SRC_FILES += MyCameraHardware.cpp

LOCAL_CFLAGS +=

LOCAL_C_INCLUDES +=

LOCAL_STATIC_LIBRARIES += /
    libcamera-common /
    libclock-rpc /
    libcommondefs-rpc

include $(BUILD_SHARED_LIBRARY)

 流程图

预览

下图展示了camera 预览时必须的程序调用以及动作的流程。

 照相

下图展示了拍摄照片时时必须的程序调用以及动作的流程。

 

你可能感兴趣的:(Android Camera移植)