Android Camera原理之camera service類與接口關係

camera service主要是指 frameworks/av/services/camera/下面的代碼,最近在看這一塊的代碼,爲了更好地理清這一塊的代碼,也爲了後續學習camera方便一些,我以爲頗有必要理一下這一塊的總體架構。架構

下面分爲將camera service代碼分爲三個主要的執行模塊,分爲以Camera3Device 、 CameraManagerProvider 、Camera3Stream 爲核心。ide

  • Camera3Device
    frameworks/av/services/camera/libcameraservice/devices/Camera3Device.cpp
    調用源頭,也是開發者控制邏輯的起始點,變向的也能夠當作是控制源。
  • CameraManagerProvider
    frameworks/av/services/camera/libcameraservice/common/CameraProviderManager.cpp
    這是控制camera service 與 camera provider交互的地方,保證camera serviec 與camera provider會話正常。
  • Camera3Stream
    frameworks/av/services/camera/libcameraservice/devices/Camera3Stream .cpp
    管理輸入輸出源的地方,從HAL層取輸出源,並將輸出源返回到上層以供上層消費。

下面是這三個模塊以前的關係圖,之後它們與HAL層之間的聯繫,顯然核心的工做在HAL層完成,可是camera service做爲上層組織 上層和camera HAL通訊的中間層也是很是重要的。學習

本文只是串聯了camera service之間的主要模塊關係,你們查看代碼便可,本文結束後,camera 學習的主要陣地要轉到camera HAL層了,這也是最難的模塊。接口

camera service類與接口關係圖.jpg開發

camera service類與接口關係圖1.jpgservice

camera service類與接口關係圖2.jpgim

camera service類與接口關係圖3.jpg通信

相關文章
相關標籤/搜索