diff --git a/cameraApp/cameraApp/src/main/cpp/camera_manager.cpp b/cameraApp/cameraApp/src/main/cpp/camera_manager.cpp index 0dc5308220593bb3b6e6ff9f80406970a6f7fd90..c3c63e251f270f02c998835cddea8c272da6655c 100755 --- a/cameraApp/cameraApp/src/main/cpp/camera_manager.cpp +++ b/cameraApp/cameraApp/src/main/cpp/camera_manager.cpp @@ -409,10 +409,12 @@ SampleCameraStateMng::~SampleCameraStateMng() } if (gRecFd_ >= 0) { FILE *fp = fdopen(gRecFd_, "w+"); - fflush(fp); - fsync(gRecFd_); - fclose(fp); - close(gRecFd_); + if (fp) { + fflush(fp); + fsync(gRecFd_); + fclose(fp); + close(gRecFd_); + } } if (fc_) { delete fc_; @@ -447,10 +449,12 @@ void SampleCameraStateMng::StartRecord(Surface *mSurface) } if (gRecFd_ > 0) { FILE *fp = fdopen(gRecFd_, "w+"); - fflush(fp); - fsync(gRecFd_); - fclose(fp); - close(gRecFd_); + if (fp) { + fflush(fp); + fsync(gRecFd_); + fclose(fp); + close(gRecFd_); + } gRecFd_ = -1; } @@ -466,10 +470,7 @@ void SampleCameraStateMng::StartRecord(Surface *mSurface) recorder_->Resume(); } else { ret = recorder_->SetOutputFile(gRecFd_); - if (ret != SUCCESS) { - return; - } - if (recorder_->Prepare() != SUCCESS || recorder_->Start() != SUCCESS) { + if (ret != SUCCESS || recorder_->Prepare() != SUCCESS || recorder_->Start() != SUCCESS) { return; } } @@ -485,8 +486,7 @@ void SampleCameraStateMng::StartRecord(Surface *mSurface) FrameConfig *fc = new FrameConfig(FRAME_CONFIG_RECORD); fc->AddSurface(*surface); - ret = cam_->TriggerLoopingCapture(*fc); - if (ret != 0) { + if (cam_->TriggerLoopingCapture(*fc) != 0) { delete fc; return; } @@ -553,15 +553,9 @@ bool SampleCameraStateMng::IsCaptureOver(void) return fsCb_.IsFinish(); } -void SampleCameraStateMng::SetPause() -{ +void SampleCameraStateMng::SetPause() { } -} - -void SampleCameraStateMng::SetResume(Surface *mSurface) -{ - -} +void SampleCameraStateMng::SetResume(Surface *mSurface) { } void SampleCameraStateMng::SetStop(int s) { @@ -657,72 +651,71 @@ bool SampleCameraManager::SampleCameraExist(void) int SampleCameraManager::SampleCameraStart(Surface *surface) { - if (CamStateMng == NULL) + if (CamStateMng == NULL) { return -1; + } CamStateMng->StartPreview(surface); - return 0; } int SampleCameraManager::SampleCameraStop(void) { - if (CamStateMng == nullptr) + if (CamStateMng == nullptr) { return -1; - + } CamStateMng->SetStop(1); - return 0; } int SampleCameraManager::SampleCameraCaptrue(int type) { - if (CamStateMng == NULL) + if (CamStateMng == NULL) { return -1; - + } CamStateMng->Capture(type); - return 0; } int SampleCameraManager::SampleCameraStartRecord(Surface *surface) { - if (CamStateMng == NULL) + if (CamStateMng == NULL) { return -1; + } CamStateMng->StartRecord(surface); - return 0; } int SampleCameraManager::SampleCameraPauseRecord(void) { - if (CamStateMng == NULL) + if (CamStateMng == NULL) { return -1; + } CamStateMng->SetPause(); - return 0; } int SampleCameraManager::SampleCameraResumeRecord(Surface *mSurface) { - if (CamStateMng == NULL) + if (CamStateMng == NULL) { return -1; + } CamStateMng->SetResume(mSurface); - return 0; } int SampleCameraManager::SampleCameraStopRecord(void) { - if (CamStateMng == NULL) + if (CamStateMng == NULL) { return -1; + } CamStateMng->SetStop(0); - return 0; } bool SampleCameraManager::SampleCameraGetRecord(void) { - if (CamStateMng == NULL) + if (CamStateMng == NULL) { return false; + } return CamStateMng->RecordState(); } diff --git a/media/camera_sample.cpp b/media/camera_sample.cpp index f6ebf1e8af63d5ba67488ad4c6a800c85cc125b9..cd4caa07d47976e4969f7b096fdf63dee5d603c5 100755 --- a/media/camera_sample.cpp +++ b/media/camera_sample.cpp @@ -194,10 +194,12 @@ public: } if (recordFd_ != -1) { FILE *fp = fdopen(recordFd_, "w+"); - fflush(fp); - fsync(recordFd_); - fclose(fp); - close(recordFd_); + if (fp) { + fflush(fp); + fsync(recordFd_); + fclose(fp); + close(recordFd_); + } recordFd_ = -1; } } @@ -257,9 +259,13 @@ public: } FrameConfig *fc = new FrameConfig(FRAME_CONFIG_RECORD); auto surface = recorder_->GetSurface(0); - surface->SetWidthAndHeight(1920, 1080); - surface->SetQueueSize(3); - surface->SetSize(1024 * 1024); + int width = 1920; + int height = 1080; + surface->SetWidthAndHeight(width, height); + int queueSize = 3; + surface->SetQueueSize(queueSize); + int size = 1024; + surface->SetSize(size * size); fc->AddSurface(*surface); ret = cam_->TriggerLoopingCapture(*fc); if (ret != 0) {