diff --git a/cereal b/cereal index e29625c30b..d81d86e7cd 160000 --- a/cereal +++ b/cereal @@ -1 +1 @@ -Subproject commit e29625c30bb2a4a34ce21134d0e5a91b2d4fa1b1 +Subproject commit d81d86e7cd83d1eb40314964a4d194231381d557 diff --git a/system/camerad/cameras/camera_common.cc b/system/camerad/cameras/camera_common.cc index f74fb15bff..91c6d44f84 100644 --- a/system/camerad/cameras/camera_common.cc +++ b/system/camerad/cameras/camera_common.cc @@ -136,6 +136,7 @@ void CameraBuf::queue(size_t buf_idx) { void fill_frame_data(cereal::FrameData::Builder &framed, const FrameMetadata &frame_data, CameraState *c) { framed.setFrameId(frame_data.frame_id); + framed.setRequestId(frame_data.request_id); framed.setTimestampEof(frame_data.timestamp_eof); framed.setTimestampSof(frame_data.timestamp_sof); framed.setIntegLines(frame_data.integ_lines); diff --git a/system/camerad/cameras/camera_common.h b/system/camerad/cameras/camera_common.h index 029d69990c..f98691ef00 100644 --- a/system/camerad/cameras/camera_common.h +++ b/system/camerad/cameras/camera_common.h @@ -26,6 +26,7 @@ const bool env_ctrl_exp_from_params = getenv("CTRL_EXP_FROM_PARAMS") != NULL; typedef struct FrameMetadata { uint32_t frame_id; + uint32_t request_id; // Timestamps uint64_t timestamp_sof; diff --git a/system/camerad/cameras/camera_qcom2.cc b/system/camerad/cameras/camera_qcom2.cc index 7915ad21fc..cbb959423c 100644 --- a/system/camerad/cameras/camera_qcom2.cc +++ b/system/camerad/cameras/camera_qcom2.cc @@ -766,6 +766,7 @@ void CameraState::handle_camera_event(void *evdat) { auto &meta_data = buf.camera_bufs_metadata[buf_idx]; meta_data.frame_id = main_id - idx_offset; + meta_data.request_id = real_id; meta_data.timestamp_sof = timestamp; exp_lock.lock(); meta_data.gain = analog_gain_frac * (1 + dc_gain_weight * (ci->dc_gain_factor-1) / ci->dc_gain_max_weight);