diff --git a/distributed_camera/hdi_service/src/dstream_operator/dstream_operator.cpp b/distributed_camera/hdi_service/src/dstream_operator/dstream_operator.cpp index 599fb1b8aaa03482df72717391fbb2d4ec915610..dcf8d47cf954291c2ec709e12bbd5bd4bbaacb6d 100644 --- a/distributed_camera/hdi_service/src/dstream_operator/dstream_operator.cpp +++ b/distributed_camera/hdi_service/src/dstream_operator/dstream_operator.cpp @@ -393,9 +393,6 @@ int32_t DStreamOperator::DoCapture(int32_t captureId, const CaptureInfo &info, b captureInfo->enableShutterCallback_ = info.enableShutterCallback_; InsertCaptureInfo(captureId, captureInfo); - if (dcStreamOperatorCallback_) { - dcStreamOperatorCallback_->OnCaptureStarted(captureId, info.streamIds_); - } SetCapturing(true); DHLOGI("DStreamOperator::DoCapture, start distributed camera capture success."); @@ -634,6 +631,12 @@ DCamRetCode DStreamOperator::ShutterBuffer(int streamId, const DCameraBuffer &bu return DCamRetCode::INVALID_ARGUMENT; } + if (buffer.index_ == 0 && dcStreamOperatorCallback_ != nullptr) { + vector tmpStreamIds; + tmpStreamIds.push_back(streamId); + dcStreamOperatorCallback_->OnCaptureStarted(captureId, tmpStreamIds); + } + auto stream = FindHalStreamById(streamId); if (stream != nullptr) { DCamRetCode ret = stream->ReturnDCameraBuffer(buffer);