SlideShare a Scribd company logo
1 of 8
Camera, Camcorder framework
         Overview
       (GingerBread)




                              박철희
                         1
Multimedia Overview




                      2
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
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
카메라 서비스 프레임워크의 클래스

                             (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
미디어 레코드 프레임워크의 클래스


     VideoCamera
                          (a)                                                   (b)
                                  IMediaRecordClient                                     IMediaPlayerService
Aandorid.media.Media
     Recorder
                                BnMediaRrecorderClient                                   BnMediaPlayerService

                                                                     1)연결
                                    MediaRecorder                                         MediaPlayerService

                   JNI
                                        BpMediaPlayerService


                                          BpMediaRecorder
                                                                                                    2)생성



                         5)연결                          (c)
                                          4)연결
                                                                    IMediaRecorder


                                                                   BnMediaRrecorder


                                                                  MediaRecorderClient




                                                       BpMediaRecorderClient            3)생성
                                                                                                     StagefrightRecorder

                                                                                                           6
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
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

More Related Content

What's hot

Valdir Adorni - Compwire / EMC2 Clariion Implementation Sample
Valdir Adorni - Compwire / EMC2 Clariion Implementation SampleValdir Adorni - Compwire / EMC2 Clariion Implementation Sample
Valdir Adorni - Compwire / EMC2 Clariion Implementation SampleValdir Adorni
 
A slightly deeper dive into Stagefright
A slightly deeper dive into StagefrightA slightly deeper dive into Stagefright
A slightly deeper dive into StagefrightAlexy Joseph
 
Dalvik Vm & Jit
Dalvik Vm & JitDalvik Vm & Jit
Dalvik Vm & JitAnkit Somani
 
Aprendendo Ruby e Rails (2012)
Aprendendo Ruby e Rails (2012)Aprendendo Ruby e Rails (2012)
Aprendendo Ruby e Rails (2012)Fabio Akita
 
A Better Python for the JVM
A Better Python for the JVMA Better Python for the JVM
A Better Python for the JVMTobias Lindaaker
 
Ffmpeg
FfmpegFfmpeg
Ffmpegduquoi
 

What's hot (9)

Valdir Adorni - Compwire / EMC2 Clariion Implementation Sample
Valdir Adorni - Compwire / EMC2 Clariion Implementation SampleValdir Adorni - Compwire / EMC2 Clariion Implementation Sample
Valdir Adorni - Compwire / EMC2 Clariion Implementation Sample
 
Gareth edwards xilinx
Gareth edwards xilinxGareth edwards xilinx
Gareth edwards xilinx
 
A slightly deeper dive into Stagefright
A slightly deeper dive into StagefrightA slightly deeper dive into Stagefright
A slightly deeper dive into Stagefright
 
Dalvik Vm & Jit
Dalvik Vm & JitDalvik Vm & Jit
Dalvik Vm & Jit
 
Aprendendo Ruby e Rails (2012)
Aprendendo Ruby e Rails (2012)Aprendendo Ruby e Rails (2012)
Aprendendo Ruby e Rails (2012)
 
Generator
GeneratorGenerator
Generator
 
Akka JUGL 2012
Akka JUGL 2012Akka JUGL 2012
Akka JUGL 2012
 
A Better Python for the JVM
A Better Python for the JVMA Better Python for the JVM
A Better Python for the JVM
 
Ffmpeg
FfmpegFfmpeg
Ffmpeg
 

Viewers also liked

C++정리 스마트포인터
C++정리 스마트포인터C++정리 스마트포인터
C++정리 스마트포인터fefe7270
 
Surface flingerservice(서피스 상태 변경 jb)
Surface flingerservice(서피스 상태 변경 jb)Surface flingerservice(서피스 상태 변경 jb)
Surface flingerservice(서피스 상태 변경 jb)fefe7270
 
Surface flingerservice(서피스 플링거 연결 jb)
Surface flingerservice(서피스 플링거 연결 jb)Surface flingerservice(서피스 플링거 연결 jb)
Surface flingerservice(서피스 플링거 연결 jb)fefe7270
 
Surface flingerservice(그래픽 공유 버퍼 생성 및 등록)
Surface flingerservice(그래픽 공유 버퍼 생성 및 등록)Surface flingerservice(그래픽 공유 버퍼 생성 및 등록)
Surface flingerservice(그래픽 공유 버퍼 생성 및 등록)fefe7270
 
Android audio system(audiopolicy_manager)
Android audio system(audiopolicy_manager)Android audio system(audiopolicy_manager)
Android audio system(audiopolicy_manager)fefe7270
 
Android Audio & OpenSL
Android Audio & OpenSLAndroid Audio & OpenSL
Android Audio & OpenSLYoss Cohen
 
Android audio system(오디오 출력-트랙생성)
Android audio system(오디오 출력-트랙생성)Android audio system(오디오 출력-트랙생성)
Android audio system(오디오 출력-트랙생성)fefe7270
 
Surface flingerservice(서피스 출력 요청 jb)
Surface flingerservice(서피스 출력 요청 jb)Surface flingerservice(서피스 출력 요청 jb)
Surface flingerservice(서피스 출력 요청 jb)fefe7270
 
Android audio system(audioplicy_service)
Android audio system(audioplicy_service)Android audio system(audioplicy_service)
Android audio system(audioplicy_service)fefe7270
 
Android audio system(audioflinger)
Android audio system(audioflinger)Android audio system(audioflinger)
Android audio system(audioflinger)fefe7270
 
Android audio system(audio_hardwareinterace)
Android audio system(audio_hardwareinterace)Android audio system(audio_hardwareinterace)
Android audio system(audio_hardwareinterace)fefe7270
 

Viewers also liked (12)

C++정리 스마트포인터
C++정리 스마트포인터C++정리 스마트포인터
C++정리 스마트포인터
 
Surface flingerservice(서피스 상태 변경 jb)
Surface flingerservice(서피스 상태 변경 jb)Surface flingerservice(서피스 상태 변경 jb)
Surface flingerservice(서피스 상태 변경 jb)
 
Surface flingerservice(서피스 플링거 연결 jb)
Surface flingerservice(서피스 플링거 연결 jb)Surface flingerservice(서피스 플링거 연결 jb)
Surface flingerservice(서피스 플링거 연결 jb)
 
Surface flingerservice(그래픽 공유 버퍼 생성 및 등록)
Surface flingerservice(그래픽 공유 버퍼 생성 및 등록)Surface flingerservice(그래픽 공유 버퍼 생성 및 등록)
Surface flingerservice(그래픽 공유 버퍼 생성 및 등록)
 
Android audio system(audiopolicy_manager)
Android audio system(audiopolicy_manager)Android audio system(audiopolicy_manager)
Android audio system(audiopolicy_manager)
 
Android Audio & OpenSL
Android Audio & OpenSLAndroid Audio & OpenSL
Android Audio & OpenSL
 
Android audio system(오디오 출력-트랙생성)
Android audio system(오디오 출력-트랙생성)Android audio system(오디오 출력-트랙생성)
Android audio system(오디오 출력-트랙생성)
 
Surface flingerservice(서피스 출력 요청 jb)
Surface flingerservice(서피스 출력 요청 jb)Surface flingerservice(서피스 출력 요청 jb)
Surface flingerservice(서피스 출력 요청 jb)
 
Android audio system(audioplicy_service)
Android audio system(audioplicy_service)Android audio system(audioplicy_service)
Android audio system(audioplicy_service)
 
Android audio system(audioflinger)
Android audio system(audioflinger)Android audio system(audioflinger)
Android audio system(audioflinger)
 
Android Audio System
Android Audio SystemAndroid Audio System
Android Audio System
 
Android audio system(audio_hardwareinterace)
Android audio system(audio_hardwareinterace)Android audio system(audio_hardwareinterace)
Android audio system(audio_hardwareinterace)
 

Similar to Camera camcorder framework overview(ginger bread)

Android. behind the scenes_programatica 2012
Android. behind the scenes_programatica 2012Android. behind the scenes_programatica 2012
Android. behind the scenes_programatica 2012Agora Group
 
20111130 hardware-monitoring-with-the-new-ipmi-plugin-v2
20111130 hardware-monitoring-with-the-new-ipmi-plugin-v220111130 hardware-monitoring-with-the-new-ipmi-plugin-v2
20111130 hardware-monitoring-with-the-new-ipmi-plugin-v2Werner Fischer
 
Camera 2.0 in Android 4.2
Camera 2.0 in Android 4.2 Camera 2.0 in Android 4.2
Camera 2.0 in Android 4.2 Balwinder Kaur
 
Component Based Distributed System Development
Component Based Distributed System DevelopmentComponent Based Distributed System Development
Component Based Distributed System DevelopmentEmmanuel Fuchs
 
Training Videovigilancia IP: Capture
Training Videovigilancia IP: CaptureTraining Videovigilancia IP: Capture
Training Videovigilancia IP: CaptureNestor Carralero
 
virtualization tutorial at ACM bangalore Compute 2009
virtualization tutorial at ACM bangalore Compute 2009virtualization tutorial at ACM bangalore Compute 2009
virtualization tutorial at ACM bangalore Compute 2009ACMBangalore
 
Toward a practical “HPC Cloud”: Performance tuning of a virtualized HPC cluster
Toward a practical “HPC Cloud”: Performance tuning of a virtualized HPC clusterToward a practical “HPC Cloud”: Performance tuning of a virtualized HPC cluster
Toward a practical “HPC Cloud”: Performance tuning of a virtualized HPC clusterRyousei Takano
 
Are ott the new walled gardens
Are ott the new walled gardensAre ott the new walled gardens
Are ott the new walled gardensAmir Zmora
 
Blaze Cctv Camera Solutions Blaze Automation
Blaze Cctv Camera Solutions Blaze AutomationBlaze Cctv Camera Solutions Blaze Automation
Blaze Cctv Camera Solutions Blaze AutomationBlaze Automation
 
Blaze cctv camera solutions blaze automation
Blaze cctv camera solutions blaze automation Blaze cctv camera solutions blaze automation
Blaze cctv camera solutions blaze automation Blaze_Hyd
 
Tacademy techclinic-2012-07-11
Tacademy techclinic-2012-07-11Tacademy techclinic-2012-07-11
Tacademy techclinic-2012-07-11영호 라
 
iWedia Product and Service Portfolio (July 12)
iWedia Product and Service Portfolio (July 12)iWedia Product and Service Portfolio (July 12)
iWedia Product and Service Portfolio (July 12)hcreff
 
Visual and technical quality control for high definition television
Visual and technical quality control for high definition televisionVisual and technical quality control for high definition television
Visual and technical quality control for high definition televisionvrt-medialab
 
ARM Architecture-based System Virtualization: Xen ARM open source software pr...
ARM Architecture-based System Virtualization: Xen ARM open source software pr...ARM Architecture-based System Virtualization: Xen ARM open source software pr...
ARM Architecture-based System Virtualization: Xen ARM open source software pr...The Linux Foundation
 
Flex Stack Rapid Prototyping System
Flex Stack Rapid Prototyping SystemFlex Stack Rapid Prototyping System
Flex Stack Rapid Prototyping Systemfrankp617
 
Cross platform computer vision optimization
Cross platform computer vision optimizationCross platform computer vision optimization
Cross platform computer vision optimizationYoss Cohen
 
SONY IBC2008
SONY IBC2008SONY IBC2008
SONY IBC2008lychakov
 

Similar to Camera camcorder framework overview(ginger bread) (20)

Android. behind the scenes_programatica 2012
Android. behind the scenes_programatica 2012Android. behind the scenes_programatica 2012
Android. behind the scenes_programatica 2012
 
20111130 hardware-monitoring-with-the-new-ipmi-plugin-v2
20111130 hardware-monitoring-with-the-new-ipmi-plugin-v220111130 hardware-monitoring-with-the-new-ipmi-plugin-v2
20111130 hardware-monitoring-with-the-new-ipmi-plugin-v2
 
Camera 2.0 in Android 4.2
Camera 2.0 in Android 4.2 Camera 2.0 in Android 4.2
Camera 2.0 in Android 4.2
 
Component Based Distributed System Development
Component Based Distributed System DevelopmentComponent Based Distributed System Development
Component Based Distributed System Development
 
Training Videovigilancia IP: Capture
Training Videovigilancia IP: CaptureTraining Videovigilancia IP: Capture
Training Videovigilancia IP: Capture
 
virtualization tutorial at ACM bangalore Compute 2009
virtualization tutorial at ACM bangalore Compute 2009virtualization tutorial at ACM bangalore Compute 2009
virtualization tutorial at ACM bangalore Compute 2009
 
Toward a practical “HPC Cloud”: Performance tuning of a virtualized HPC cluster
Toward a practical “HPC Cloud”: Performance tuning of a virtualized HPC clusterToward a practical “HPC Cloud”: Performance tuning of a virtualized HPC cluster
Toward a practical “HPC Cloud”: Performance tuning of a virtualized HPC cluster
 
Are ott the new walled gardens
Are ott the new walled gardensAre ott the new walled gardens
Are ott the new walled gardens
 
2008 EBU Training BBC Scotland Infrastructure
2008 EBU Training BBC Scotland Infrastructure2008 EBU Training BBC Scotland Infrastructure
2008 EBU Training BBC Scotland Infrastructure
 
Junliang`s Resume
Junliang`s ResumeJunliang`s Resume
Junliang`s Resume
 
Blaze Cctv Camera Solutions Blaze Automation
Blaze Cctv Camera Solutions Blaze AutomationBlaze Cctv Camera Solutions Blaze Automation
Blaze Cctv Camera Solutions Blaze Automation
 
Blaze cctv camera solutions blaze automation
Blaze cctv camera solutions blaze automation Blaze cctv camera solutions blaze automation
Blaze cctv camera solutions blaze automation
 
Tacademy techclinic-2012-07-11
Tacademy techclinic-2012-07-11Tacademy techclinic-2012-07-11
Tacademy techclinic-2012-07-11
 
POLYCOM
POLYCOMPOLYCOM
POLYCOM
 
iWedia Product and Service Portfolio (July 12)
iWedia Product and Service Portfolio (July 12)iWedia Product and Service Portfolio (July 12)
iWedia Product and Service Portfolio (July 12)
 
Visual and technical quality control for high definition television
Visual and technical quality control for high definition televisionVisual and technical quality control for high definition television
Visual and technical quality control for high definition television
 
ARM Architecture-based System Virtualization: Xen ARM open source software pr...
ARM Architecture-based System Virtualization: Xen ARM open source software pr...ARM Architecture-based System Virtualization: Xen ARM open source software pr...
ARM Architecture-based System Virtualization: Xen ARM open source software pr...
 
Flex Stack Rapid Prototyping System
Flex Stack Rapid Prototyping SystemFlex Stack Rapid Prototyping System
Flex Stack Rapid Prototyping System
 
Cross platform computer vision optimization
Cross platform computer vision optimizationCross platform computer vision optimization
Cross platform computer vision optimization
 
SONY IBC2008
SONY IBC2008SONY IBC2008
SONY IBC2008
 

More from fefe7270

Surface flingerservice(서피스플링거서비스초기화 jb)
Surface flingerservice(서피스플링거서비스초기화 jb)Surface flingerservice(서피스플링거서비스초기화 jb)
Surface flingerservice(서피스플링거서비스초기화 jb)fefe7270
 
Surface flingerservice(서피스 플링거 연결 ics)
Surface flingerservice(서피스 플링거 연결 ics)Surface flingerservice(서피스 플링거 연결 ics)
Surface flingerservice(서피스 플링거 연결 ics)fefe7270
 
Surface flingerservice(서피스플링거서비스초기화 ics)
Surface flingerservice(서피스플링거서비스초기화 ics)Surface flingerservice(서피스플링거서비스초기화 ics)
Surface flingerservice(서피스플링거서비스초기화 ics)fefe7270
 
Surface flingerservice(서피스 상태 변경 및 출력 요청)
Surface flingerservice(서피스 상태 변경 및 출력 요청)Surface flingerservice(서피스 상태 변경 및 출력 요청)
Surface flingerservice(서피스 상태 변경 및 출력 요청)fefe7270
 
Surface flingerservice(서피스 플링거 연결)
Surface flingerservice(서피스 플링거 연결)Surface flingerservice(서피스 플링거 연결)
Surface flingerservice(서피스 플링거 연결)fefe7270
 
Surface flingerservice(서피스플링거서비스초기화)
Surface flingerservice(서피스플링거서비스초기화)Surface flingerservice(서피스플링거서비스초기화)
Surface flingerservice(서피스플링거서비스초기화)fefe7270
 
Android audio system(pcm데이터출력준비-서비스서버)
Android audio system(pcm데이터출력준비-서비스서버)Android audio system(pcm데이터출력준비-서비스서버)
Android audio system(pcm데이터출력준비-서비스서버)fefe7270
 
Android audio system(pcm데이터출력요청-서비스클라이언트)
Android audio system(pcm데이터출력요청-서비스클라이언트)Android audio system(pcm데이터출력요청-서비스클라이언트)
Android audio system(pcm데이터출력요청-서비스클라이언트)fefe7270
 
Android audio system(오디오 출력-트랙활성화)
Android audio system(오디오 출력-트랙활성화)Android audio system(오디오 출력-트랙활성화)
Android audio system(오디오 출력-트랙활성화)fefe7270
 
Android audio system(오디오 플링거 서비스 초기화)
Android audio system(오디오 플링거 서비스 초기화)Android audio system(오디오 플링거 서비스 초기화)
Android audio system(오디오 플링거 서비스 초기화)fefe7270
 

More from fefe7270 (10)

Surface flingerservice(서피스플링거서비스초기화 jb)
Surface flingerservice(서피스플링거서비스초기화 jb)Surface flingerservice(서피스플링거서비스초기화 jb)
Surface flingerservice(서피스플링거서비스초기화 jb)
 
Surface flingerservice(서피스 플링거 연결 ics)
Surface flingerservice(서피스 플링거 연결 ics)Surface flingerservice(서피스 플링거 연결 ics)
Surface flingerservice(서피스 플링거 연결 ics)
 
Surface flingerservice(서피스플링거서비스초기화 ics)
Surface flingerservice(서피스플링거서비스초기화 ics)Surface flingerservice(서피스플링거서비스초기화 ics)
Surface flingerservice(서피스플링거서비스초기화 ics)
 
Surface flingerservice(서피스 상태 변경 및 출력 요청)
Surface flingerservice(서피스 상태 변경 및 출력 요청)Surface flingerservice(서피스 상태 변경 및 출력 요청)
Surface flingerservice(서피스 상태 변경 및 출력 요청)
 
Surface flingerservice(서피스 플링거 연결)
Surface flingerservice(서피스 플링거 연결)Surface flingerservice(서피스 플링거 연결)
Surface flingerservice(서피스 플링거 연결)
 
Surface flingerservice(서피스플링거서비스초기화)
Surface flingerservice(서피스플링거서비스초기화)Surface flingerservice(서피스플링거서비스초기화)
Surface flingerservice(서피스플링거서비스초기화)
 
Android audio system(pcm데이터출력준비-서비스서버)
Android audio system(pcm데이터출력준비-서비스서버)Android audio system(pcm데이터출력준비-서비스서버)
Android audio system(pcm데이터출력준비-서비스서버)
 
Android audio system(pcm데이터출력요청-서비스클라이언트)
Android audio system(pcm데이터출력요청-서비스클라이언트)Android audio system(pcm데이터출력요청-서비스클라이언트)
Android audio system(pcm데이터출력요청-서비스클라이언트)
 
Android audio system(오디오 출력-트랙활성화)
Android audio system(오디오 출력-트랙활성화)Android audio system(오디오 출력-트랙활성화)
Android audio system(오디오 출력-트랙활성화)
 
Android audio system(오디오 플링거 서비스 초기화)
Android audio system(오디오 플링거 서비스 초기화)Android audio system(오디오 플링거 서비스 초기화)
Android audio system(오디오 플링거 서비스 초기화)
 

Recently uploaded

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 

Recently uploaded (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 

Camera camcorder framework overview(ginger bread)

  • 1. Camera, Camcorder framework Overview (GingerBread) 박철희 1
  • 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
  • 6. 미디어 레코드 프레임워크의 클래스 VideoCamera (a) (b) IMediaRecordClient IMediaPlayerService Aandorid.media.Media Recorder BnMediaRrecorderClient BnMediaPlayerService 1)연결 MediaRecorder MediaPlayerService JNI BpMediaPlayerService BpMediaRecorder 2)생성 5)연결 (c) 4)연결 IMediaRecorder BnMediaRrecorder MediaRecorderClient BpMediaRecorderClient 3)생성 StagefrightRecorder 6
  • 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