diff --git a/services/data_process/src/pipeline_node/fpscontroller/fps_controller_process.cpp b/services/data_process/src/pipeline_node/fpscontroller/fps_controller_process.cpp index 190b0faa1b5f3bdbbb0e2b51d26d73f33253e515..98d6b0a5c15526ee9071115b094021eff86ac653 100644 --- a/services/data_process/src/pipeline_node/fpscontroller/fps_controller_process.cpp +++ b/services/data_process/src/pipeline_node/fpscontroller/fps_controller_process.cpp @@ -227,7 +227,10 @@ float FpsControllerProcess::CalculateFrameRate(int64_t nowMs) const int32_t minValidCalculatedFrameRatesNum = 2; int32_t minIncomingFrameNum = targetFrameRate_ / MIN_INCOME_FRAME_NUM_COEFFICIENT; if (validFramesNumber > minIncomingFrameNum && validFramesNumber > minValidCalculatedFrameRatesNum) { - int64_t validTotalTimeInterval = (nowMs - incomingFrameTimesMs_[num - 1]); + int64_t validTotalTimeInterval = 0; + if (num > 0) { + validTotalTimeInterval = (nowMs - incomingFrameTimesMs_[num - 1]); + } if (validTotalTimeInterval < 0) { validTotalTimeInterval = -validTotalTimeInterval; }