Loading services/camera/libcameraservice/device3/Camera3Device.cpp +5 −9 Original line number Diff line number Diff line Loading @@ -3084,10 +3084,11 @@ CameraMetadata Camera3Device::getLatestRequestLocked() { void Camera3Device::monitorMetadata(TagMonitor::eventSource source, int64_t frameNumber, nsecs_t timestamp, const CameraMetadata& metadata, const std::unordered_map<std::string, CameraMetadata>& physicalMetadata, const std::set<int32_t> &outputStreamIds, int32_t inputStreamId) { const camera_stream_buffer_t *outputBuffers, uint32_t numOutputBuffers, int32_t inputStreamId) { mTagMonitor.monitorMetadata(source, frameNumber, timestamp, metadata, physicalMetadata, outputStreamIds, inputStreamId); physicalMetadata, outputBuffers, numOutputBuffers, inputStreamId); } /** Loading Loading @@ -4590,12 +4591,6 @@ void Camera3Device::RequestThread::updateNextRequest(NextRequest& nextRequest) { sp<Camera3Device> parent = mParent.promote(); if (parent != NULL) { std::set<int32_t> outputStreamIds; for (size_t i = 0; i < halRequest.num_output_buffers; i++) { const camera_stream_buffer_t *src = halRequest.output_buffers + i; int32_t streamId = Camera3Stream::cast(src->stream)->getId(); outputStreamIds.emplace(streamId); } int32_t inputStreamId = -1; if (halRequest.input_buffer != nullptr) { inputStreamId = Camera3Stream::cast(halRequest.input_buffer->stream)->getId(); Loading @@ -4603,7 +4598,8 @@ void Camera3Device::RequestThread::updateNextRequest(NextRequest& nextRequest) { parent->monitorMetadata(TagMonitor::REQUEST, halRequest.frame_number, 0, mLatestRequest, mLatestPhysicalRequest, outputStreamIds, inputStreamId); 0, mLatestRequest, mLatestPhysicalRequest, halRequest.output_buffers, halRequest.num_output_buffers, inputStreamId); } } Loading services/camera/libcameraservice/device3/Camera3Device.h +2 −1 Original line number Diff line number Diff line Loading @@ -1250,7 +1250,8 @@ class Camera3Device : void monitorMetadata(TagMonitor::eventSource source, int64_t frameNumber, nsecs_t timestamp, const CameraMetadata& metadata, const std::unordered_map<std::string, CameraMetadata>& physicalMetadata, const std::set<int32_t> &outputStreamIds, int32_t inputStreamId); const camera_stream_buffer_t *outputBuffers, uint32_t numOutputBuffers, int32_t inputStreamId); metadata_vendor_id_t mVendorTagId; Loading services/camera/libcameraservice/device3/Camera3OutputUtils.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -368,7 +368,7 @@ void sendCaptureResult( } states.tagMonitor.monitorMetadata(TagMonitor::RESULT, frameNumber, sensorTimestamp, captureResult.mMetadata, monitoredPhysicalMetadata, std::set<int32_t>()); monitoredPhysicalMetadata); insertResultLocked(states, &captureResult, frameNumber); } Loading services/camera/libcameraservice/device3/Camera3OutputUtils.h +0 −60 Original line number Diff line number Diff line Loading @@ -42,66 +42,6 @@ using ResultMetadataQueue = hardware::MessageQueue<uint8_t, hardware::kSynchroni namespace camera3 { typedef struct camera_stream_configuration { uint32_t num_streams; camera_stream_t **streams; uint32_t operation_mode; bool input_is_multi_resolution; } camera_stream_configuration_t; typedef struct camera_capture_request { uint32_t frame_number; const camera_metadata_t *settings; camera_stream_buffer_t *input_buffer; uint32_t num_output_buffers; const camera_stream_buffer_t *output_buffers; uint32_t num_physcam_settings; const char **physcam_id; const camera_metadata_t **physcam_settings; int32_t input_width; int32_t input_height; } camera_capture_request_t; typedef struct camera_capture_result { uint32_t frame_number; const camera_metadata_t *result; uint32_t num_output_buffers; const camera_stream_buffer_t *output_buffers; const camera_stream_buffer_t *input_buffer; uint32_t partial_result; uint32_t num_physcam_metadata; const char **physcam_ids; const camera_metadata_t **physcam_metadata; } camera_capture_result_t; typedef struct camera_shutter_msg { uint32_t frame_number; uint64_t timestamp; } camera_shutter_msg_t; typedef struct camera_error_msg { uint32_t frame_number; camera_stream_t *error_stream; int error_code; } camera_error_msg_t; typedef enum camera_error_msg_code { CAMERA_MSG_ERROR_DEVICE = 1, CAMERA_MSG_ERROR_REQUEST = 2, CAMERA_MSG_ERROR_RESULT = 3, CAMERA_MSG_ERROR_BUFFER = 4, CAMERA_MSG_NUM_ERRORS } camera_error_msg_code_t; typedef struct camera_notify_msg { int type; union { camera_error_msg_t error; camera_shutter_msg_t shutter; } message; } camera_notify_msg_t; /** * Helper methods shared between Camera3Device/Camera3OfflineSession for HAL callbacks */ Loading services/camera/libcameraservice/device3/InFlightRequest.h +60 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,66 @@ namespace android { namespace camera3 { typedef struct camera_stream_configuration { uint32_t num_streams; camera_stream_t **streams; uint32_t operation_mode; bool input_is_multi_resolution; } camera_stream_configuration_t; typedef struct camera_capture_request { uint32_t frame_number; const camera_metadata_t *settings; camera_stream_buffer_t *input_buffer; uint32_t num_output_buffers; const camera_stream_buffer_t *output_buffers; uint32_t num_physcam_settings; const char **physcam_id; const camera_metadata_t **physcam_settings; int32_t input_width; int32_t input_height; } camera_capture_request_t; typedef struct camera_capture_result { uint32_t frame_number; const camera_metadata_t *result; uint32_t num_output_buffers; const camera_stream_buffer_t *output_buffers; const camera_stream_buffer_t *input_buffer; uint32_t partial_result; uint32_t num_physcam_metadata; const char **physcam_ids; const camera_metadata_t **physcam_metadata; } camera_capture_result_t; typedef struct camera_shutter_msg { uint32_t frame_number; uint64_t timestamp; } camera_shutter_msg_t; typedef struct camera_error_msg { uint32_t frame_number; camera_stream_t *error_stream; int error_code; } camera_error_msg_t; typedef enum camera_error_msg_code { CAMERA_MSG_ERROR_DEVICE = 1, CAMERA_MSG_ERROR_REQUEST = 2, CAMERA_MSG_ERROR_RESULT = 3, CAMERA_MSG_ERROR_BUFFER = 4, CAMERA_MSG_NUM_ERRORS } camera_error_msg_code_t; typedef struct camera_notify_msg { int type; union { camera_error_msg_t error; camera_shutter_msg_t shutter; } message; } camera_notify_msg_t; typedef enum { // Cache the buffers with STATUS_ERROR within InFlightRequest ERROR_BUF_CACHE, Loading Loading
services/camera/libcameraservice/device3/Camera3Device.cpp +5 −9 Original line number Diff line number Diff line Loading @@ -3084,10 +3084,11 @@ CameraMetadata Camera3Device::getLatestRequestLocked() { void Camera3Device::monitorMetadata(TagMonitor::eventSource source, int64_t frameNumber, nsecs_t timestamp, const CameraMetadata& metadata, const std::unordered_map<std::string, CameraMetadata>& physicalMetadata, const std::set<int32_t> &outputStreamIds, int32_t inputStreamId) { const camera_stream_buffer_t *outputBuffers, uint32_t numOutputBuffers, int32_t inputStreamId) { mTagMonitor.monitorMetadata(source, frameNumber, timestamp, metadata, physicalMetadata, outputStreamIds, inputStreamId); physicalMetadata, outputBuffers, numOutputBuffers, inputStreamId); } /** Loading Loading @@ -4590,12 +4591,6 @@ void Camera3Device::RequestThread::updateNextRequest(NextRequest& nextRequest) { sp<Camera3Device> parent = mParent.promote(); if (parent != NULL) { std::set<int32_t> outputStreamIds; for (size_t i = 0; i < halRequest.num_output_buffers; i++) { const camera_stream_buffer_t *src = halRequest.output_buffers + i; int32_t streamId = Camera3Stream::cast(src->stream)->getId(); outputStreamIds.emplace(streamId); } int32_t inputStreamId = -1; if (halRequest.input_buffer != nullptr) { inputStreamId = Camera3Stream::cast(halRequest.input_buffer->stream)->getId(); Loading @@ -4603,7 +4598,8 @@ void Camera3Device::RequestThread::updateNextRequest(NextRequest& nextRequest) { parent->monitorMetadata(TagMonitor::REQUEST, halRequest.frame_number, 0, mLatestRequest, mLatestPhysicalRequest, outputStreamIds, inputStreamId); 0, mLatestRequest, mLatestPhysicalRequest, halRequest.output_buffers, halRequest.num_output_buffers, inputStreamId); } } Loading
services/camera/libcameraservice/device3/Camera3Device.h +2 −1 Original line number Diff line number Diff line Loading @@ -1250,7 +1250,8 @@ class Camera3Device : void monitorMetadata(TagMonitor::eventSource source, int64_t frameNumber, nsecs_t timestamp, const CameraMetadata& metadata, const std::unordered_map<std::string, CameraMetadata>& physicalMetadata, const std::set<int32_t> &outputStreamIds, int32_t inputStreamId); const camera_stream_buffer_t *outputBuffers, uint32_t numOutputBuffers, int32_t inputStreamId); metadata_vendor_id_t mVendorTagId; Loading
services/camera/libcameraservice/device3/Camera3OutputUtils.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -368,7 +368,7 @@ void sendCaptureResult( } states.tagMonitor.monitorMetadata(TagMonitor::RESULT, frameNumber, sensorTimestamp, captureResult.mMetadata, monitoredPhysicalMetadata, std::set<int32_t>()); monitoredPhysicalMetadata); insertResultLocked(states, &captureResult, frameNumber); } Loading
services/camera/libcameraservice/device3/Camera3OutputUtils.h +0 −60 Original line number Diff line number Diff line Loading @@ -42,66 +42,6 @@ using ResultMetadataQueue = hardware::MessageQueue<uint8_t, hardware::kSynchroni namespace camera3 { typedef struct camera_stream_configuration { uint32_t num_streams; camera_stream_t **streams; uint32_t operation_mode; bool input_is_multi_resolution; } camera_stream_configuration_t; typedef struct camera_capture_request { uint32_t frame_number; const camera_metadata_t *settings; camera_stream_buffer_t *input_buffer; uint32_t num_output_buffers; const camera_stream_buffer_t *output_buffers; uint32_t num_physcam_settings; const char **physcam_id; const camera_metadata_t **physcam_settings; int32_t input_width; int32_t input_height; } camera_capture_request_t; typedef struct camera_capture_result { uint32_t frame_number; const camera_metadata_t *result; uint32_t num_output_buffers; const camera_stream_buffer_t *output_buffers; const camera_stream_buffer_t *input_buffer; uint32_t partial_result; uint32_t num_physcam_metadata; const char **physcam_ids; const camera_metadata_t **physcam_metadata; } camera_capture_result_t; typedef struct camera_shutter_msg { uint32_t frame_number; uint64_t timestamp; } camera_shutter_msg_t; typedef struct camera_error_msg { uint32_t frame_number; camera_stream_t *error_stream; int error_code; } camera_error_msg_t; typedef enum camera_error_msg_code { CAMERA_MSG_ERROR_DEVICE = 1, CAMERA_MSG_ERROR_REQUEST = 2, CAMERA_MSG_ERROR_RESULT = 3, CAMERA_MSG_ERROR_BUFFER = 4, CAMERA_MSG_NUM_ERRORS } camera_error_msg_code_t; typedef struct camera_notify_msg { int type; union { camera_error_msg_t error; camera_shutter_msg_t shutter; } message; } camera_notify_msg_t; /** * Helper methods shared between Camera3Device/Camera3OfflineSession for HAL callbacks */ Loading
services/camera/libcameraservice/device3/InFlightRequest.h +60 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,66 @@ namespace android { namespace camera3 { typedef struct camera_stream_configuration { uint32_t num_streams; camera_stream_t **streams; uint32_t operation_mode; bool input_is_multi_resolution; } camera_stream_configuration_t; typedef struct camera_capture_request { uint32_t frame_number; const camera_metadata_t *settings; camera_stream_buffer_t *input_buffer; uint32_t num_output_buffers; const camera_stream_buffer_t *output_buffers; uint32_t num_physcam_settings; const char **physcam_id; const camera_metadata_t **physcam_settings; int32_t input_width; int32_t input_height; } camera_capture_request_t; typedef struct camera_capture_result { uint32_t frame_number; const camera_metadata_t *result; uint32_t num_output_buffers; const camera_stream_buffer_t *output_buffers; const camera_stream_buffer_t *input_buffer; uint32_t partial_result; uint32_t num_physcam_metadata; const char **physcam_ids; const camera_metadata_t **physcam_metadata; } camera_capture_result_t; typedef struct camera_shutter_msg { uint32_t frame_number; uint64_t timestamp; } camera_shutter_msg_t; typedef struct camera_error_msg { uint32_t frame_number; camera_stream_t *error_stream; int error_code; } camera_error_msg_t; typedef enum camera_error_msg_code { CAMERA_MSG_ERROR_DEVICE = 1, CAMERA_MSG_ERROR_REQUEST = 2, CAMERA_MSG_ERROR_RESULT = 3, CAMERA_MSG_ERROR_BUFFER = 4, CAMERA_MSG_NUM_ERRORS } camera_error_msg_code_t; typedef struct camera_notify_msg { int type; union { camera_error_msg_t error; camera_shutter_msg_t shutter; } message; } camera_notify_msg_t; typedef enum { // Cache the buffers with STATUS_ERROR within InFlightRequest ERROR_BUF_CACHE, Loading