3. Camera Overview
Application Camera
Application Camera Surface
Framework
JNI(java native interface)
Binder postbuffer
Client Camera.cpp Surface
Binder
Server Camera mSurface mSurface
Service buffer Overlay Surface
Native flinger
Framework
YUV buffer
Camera
ServiceClient
mmap() RGB565
buffer
Camera Overlay Gralloc
HAL module module
V4L2
Kernel
Camera Frame
Kernel LCD LCD
buffer or
Driver buffer Controller pannel
Overlay
3
4. Camcorder Overview
Application Camcorder
Application Media
Camera Recorder
Framework
JNI JNI
Binder Surface
Client Camera.cpp
Media Audio
Recorder Recorder
Binder
Server Camera Media
Service PlayerService Audio Surface
flinger flinger
StagefrightRecorder
Camera Audio
Video
ServiceClient encorder encorder
Audio Overlay,Gralloc
Camera OMX Codec HAL module
HAL
Kernel
Camera Frame
Kernel H/W
/dev/mic buffer or
Driver buffer Codec
Overlay
4
5. 카메라 서비스 프레임워크의 클래스
(a)
(b)
ICameraClient ICameraService
Android.hardware`.Camera
BnCameraClient BnCameraService
JNI Camera
(1) 연결과정 바인더 CameraService
RPC
BpCameraService
BpCamera
(c) ICamera
BnCamera
(2) 설정및 제어 바인더 RPC
CameraService::Client
(3) 이벤트 처리 바인더 RPC CameraHardwareInterface
BpCameraClient
5
7. Media Recorder와 Camera의 연결
Aandorid.hardware.camera
ICameraClient ICameraService
BnCameraClient BnCameraService
Camera
x CameraService
BpCameraService
BpCamera
StagefrightRecorder
(1
x x
ICamera
)
ICameraClient
BnCamera
(3)
BnCameraClient (2 CamereaService::Client
)
Camera
BpCameraClient
BpCameraService
BpCamera
7
8. Media Recorder 전체구조
VideoCame
ra
IMediaRecordClient IMediaPlayerService ICameraService
Aandorid.media
.MediaRecorder BnCameraService
BnMediaRrecorderCli BnMediaPlayerServic
ent e
CameraService
MediaRecorder MediaPlayerService
BpMediaPlayerServic
e
BpMediaRecorder
ICamera
BnCamera
IMediaRecorder ICameraClient
CamereaServic
BnCameraClient
e::Client
BnMediaRrecorder
Camera
BpCameraClien
MediaRecorderClient
t
BpCameraServi
ce
CameraHardwareInterface
BpMediaRecorderCli BpCamera
ent StagefrightRecorder
Kernel
driver
8