DriverFrame* Camera::grabTemporaryFrame() { if(!isStreaming() && !streamOn()) { fprintf(stderr, "Camera could not grab frame: streaming could not be turned on.\n"); return NULL; } if(buffers == NULL) { setupBuffers(); } return buffers->grabTemporaryFrame(); }
status_t QCameraStream_preview::start() { ALOGV("%s: E", __func__); status_t ret = NO_ERROR; Mutex::Autolock lock(mLock); /* call start() in parent class to start the monitor thread*/ //QCameraStream::start (); #if 0 ret = cam_config_prepare_buf(mCameraId, &mDisplayBuf); ALOGE("Debug : %s : cam_config_prepare_buf",__func__); if(ret != MM_CAMERA_OK) { ALOGV("%s:reg preview buf err=%d\n", __func__, ret); ret = BAD_VALUE; goto error; }else { ret = NO_ERROR; } #endif /* For preview, the OP_MODE we set is dependent upon whether we are starting camera or camcorder. For snapshot, anyway we disable preview. However, for ZSL we need to set OP_MODE to OP_MODE_ZSL and not OP_MODE_VIDEO. We'll set that for now in CamCtrl. So in case of ZSL we skip setting Mode here */ /* call mm_camera action start(...) */ ALOGE("Starting Preview/Video Stream. "); mFirstFrameRcvd = false; ALOGE("Starting Preview/Video Stream. "); ret = streamOn(); if (MM_CAMERA_OK != ret) { ALOGE ("%s: preview streaming start err=%d\n", __func__, ret); ret = BAD_VALUE; goto end; } ALOGE("Debug : %s : Preview streaming Started",__func__); ret = NO_ERROR; mActive = true; goto end; end: ALOGE("%s: X", __func__); return ret; }