写到第五篇,我们已经把大致的流程已经贯穿完了,还有很多东西没有讲,日后慢慢再说。不过现在有一个重要的问题,就是整个流利里各种buf,provider,bufmgr,queue类等之间的关系,说白了就是buf类和buf辅助类之前的关系。理清这些类的关系和这些类的作用,再从Buf流理解一下整个框架,CamAdapter和CamClient是怎么通过Buf联系,会对日后的分析有一个很大的帮助。也相当于对本文的一个总结。本来为了避免贴太多代码,想直接写中文总结的,后来发现贴代码虽然看得更辛苦一点,但细节更清晰,还是贴代码吧…

2015年10月26日 0条评论 12点热度 阅读全文

Camera的数据来源及Camera的管理  我们接着第3篇,再返回Cam1DeviceBase::startPreview()的(4) mpCamAdapter->startPreview()。在讲(4)前我们先来看看(1)onStartPreview()。 onStartPreview();的实现在DefaultCam1Device.cpp DefaultCam1Device::onStartPreview() { // Initialize Camera Adapter. //下面的…

2015年10月26日 0条评论 13点热度 阅读全文

Preview的显示流程 这次我们要从最开始startPreview的时候开始,在starPreview之间就setPreviewWindow()。 //CameraClient.cpp status_t CameraClient::startPreviewMode() { mHardware->previewEnabled(); mHardware->setPreviewWindow(mPreviewWindow); result = mHardware->startPreview(); } 最…

2015年10月26日 0条评论 12点热度 阅读全文

Camera startPreview流程 上接第一篇,这个过程的主要任务是,如何读取数据的,读取的数据是什么格式,最好能知道是如何去预览的 上层APP调用的是Camera.java的startPreview();,下面列出startPreview的调用流程 //Camera.java public native final void startPreview();   //android_hardware_Camera.cpp static void android_hardware_Camera_st…

2015年10月26日 0条评论 12点热度 阅读全文