playshutter

1、

int32_t QCameraPostProcessor::processData(mm_camera_super_buf_t *frame)

if (m_parent->needReprocess()) {
        if ( !m_parent->isLongshotEnabled() && !m_parent->m_stateMachine.isNonZSLCaptureRunning()) {
            //play shutter sound
            m_parent->playShutter();
        }


        ALOGD("%s: need reprocess", __func__);
        // enqueu to post proc input queue


2、

int32_t QCameraPostProcessor::processData(mm_camera_super_buf_t *frame)

else {
        //play shutter sound
        if(!m_parent->m_stateMachine.isNonZSLCaptureRunning() &&
           !m_parent->mLongshotEnabled)
           m_parent->playShutter();


3、

int32_t QCameraPostProcessor::processPPData(mm_camera_super_buf_t *frame)

    if ( m_parent->isLongshotEnabled() &&
         !getMultipleStages() ) {/mutiplestade
        m_parent->playShutter();
    }


4、

void QCamera2HardwareInterface::metadata_stream_cb_routine(mm_camera_super_buf_t * super_frame, QCameraStream * stream,  void * userdata)
{

    if(pme->m_stateMachine.isNonZSLCaptureRunning()&&
       (pMetaData->is_meta_valid == 1) &&
       !pme->mLongshotEnabled) {
       //Make shutter call back in non ZSL mode once raw frame is received from VFE.
       pme->playShutter();
    }


5、

void *QCameraPostProcessor::dataProcessRoutine(void *data)


                    mm_camera_super_buf_t *super_buf =
                        (mm_camera_super_buf_t *)pme->m_inputRawQ.dequeue();


                    if (NULL != super_buf) {
                        //play shutter sound
                        pme->m_parent->playShutter();
                        ret = pme->processRawImageImpl(super_buf);
                        if (NO_ERROR != ret) {
                            pme->releaseSuperBuf(super_buf);
                            free(super_buf);
                            pme->sendEvtNotify(CAMERA_MSG_ERROR, UNKNOWN_ERROR, 0);
                        }
                    }


6、

int32_t QCameraStateMachine::procEvtPicTakingState(qcamera_sm_evt_enum_t evt, void *payload)
   

    case QCAMERA_SM_EVT_EVT_NOTIFY:
        {
            mm_camera_event_t *cam_evt = (mm_camera_event_t *)payload;
            switch (cam_evt->server_event_type) {
            case CAM_EVENT_TYPE_REPROCESS_STAGE_DONE:
                {
                    if ( m_parent->isLongshotEnabled() ) {
                        if(!m_parent->m_postprocessor.getMultipleStages()) {///mutiplestade
                            m_parent->m_postprocessor.setMultipleStages(true);
                        }
                        m_parent->playShutter();
                    }
                }
                break;


7、

int32_t QCameraStateMachine::procEvtPreviewPicTakingState(qcamera_sm_evt_enum_t evt,
                                                          void *payload)
{


    case QCAMERA_SM_EVT_EVT_NOTIFY:
        {
            mm_camera_event_t *cam_evt = (mm_camera_event_t *)payload;
            switch (cam_evt->server_event_type) {
            case CAM_EVENT_TYPE_REPROCESS_STAGE_DONE:
                {
                    if ( m_parent->isLongshotEnabled() ) {
                        if(!m_parent->m_postprocessor.getMultipleStages()) {///mutiplestade
                            m_parent->m_postprocessor.setMultipleStages(true);
                        }
                        m_parent->playShutter();
                    }
                }
                break;


int32_t QCameraPostProcessor::start(QCameraChannel *pSrcChannel)



    mMultipleStages = false;



----------------------------------------------------------------------------

make 相关

http://blog.sina.com.cn/s/blog_abc7e49a01011y0n.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值