status_t CameraSource::start(MetaData *meta) { ALOGV("start"); CHECK(!mStarted); if (mInitCheck != OK) { ALOGE("CameraSource is not initialized yet"); return mInitCheck; } char value[PROPERTY_VALUE_MAX]; if (property_get("media.stagefright.record-stats", value, NULL) && (!strcmp(value, "1") || !strcasecmp(value, "true"))) { mCollectStats = true; } mStartTimeUs = 0; mNumInputBuffers = 0; if (meta) { int64_t startTimeUs; if (meta->findInt64(kKeyTime, &startTimeUs)) { mStartTimeUs = startTimeUs; } int32_t nBuffers; if (meta->findInt32(kKeyNumBuffers, &nBuffers)) { CHECK_GT(nBuffers, 0); mNumInputBuffers = nBuffers; } } startCameraRecording(); mStarted = true; return OK; }
status_t CameraSource::start(MetaData *meta) { ALOGV("start"); CHECK(!mStarted); if (mInitCheck != OK) { ALOGE("CameraSource is not initialized yet"); return mInitCheck; } char value[PROPERTY_VALUE_MAX]; if (property_get("media.stagefright.record-stats", value, NULL) && (!strcmp(value, "1") || !strcasecmp(value, "true"))) { mCollectStats = true; } mStartTimeUs = 0; mNumInputBuffers = 0; mEncoderFormat = HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED; mEncoderDataSpace = HAL_DATASPACE_BT709; if (meta) { int64_t startTimeUs; if (meta->findInt64(kKeyTime, &startTimeUs)) { mStartTimeUs = startTimeUs; } int32_t nBuffers; if (meta->findInt32(kKeyNumBuffers, &nBuffers)) { CHECK_GT(nBuffers, 0); mNumInputBuffers = nBuffers; } // apply encoder color format if specified if (meta->findInt32(kKeyPixelFormat, &mEncoderFormat)) { ALOGV("Using encoder format: %#x", mEncoderFormat); } if (meta->findInt32(kKeyColorSpace, &mEncoderDataSpace)) { ALOGV("Using encoder data space: %#x", mEncoderDataSpace); } } status_t err; if ((err = startCameraRecording()) == OK) { mStarted = true; } return err; }
status_t CameraSource::start(MetaData *meta) { ALOGV("start"); CHECK(!mStarted); if (mInitCheck != OK) { ALOGE("CameraSource is not initialized yet"); return mInitCheck; } char value[PROPERTY_VALUE_MAX]; if (property_get("media.stagefright.record-stats", value, NULL) && (!strcmp(value, "1") || !strcasecmp(value, "true"))) { mCollectStats = true; } mStartTimeUs = 0; mNumInputBuffers = 0; if (meta) { int64_t startTimeUs; if (meta->findInt64(kKeyTime, &startTimeUs)) { mStartTimeUs = startTimeUs; } int32_t nBuffers; if (meta->findInt32(kKeyNumBuffers, &nBuffers)) { CHECK_GT(nBuffers, 0); mNumInputBuffers = nBuffers; } } #ifdef MTK_AOSP_ENHANCEMENT//do not drop frame after start // Need Refine: check whether need, //may be camera start send frame before startCameraReording return //mStarted = true; #endif status_t err; if ((err = startCameraRecording()) == OK) { mStarted = true; } #ifdef MTK_AOSP_ENHANCEMENT ALOGI("startCameraRecording return=%d",err); #endif return err; }