cameraserver: Add stream id to capture request tag monitoring.
Bug: 196264836
Test: adb shell dumpsys media.camera -m "android.control.zoomRatio" shows stream ids for each
capture request.
Change-Id: I1990fb572b733597f72064c4377f062da8fea021
Signed-off-by: Jayant Chowdhary <jchowdhary@google.com>
diff --git a/services/camera/libcameraservice/device3/Camera3Device.cpp b/services/camera/libcameraservice/device3/Camera3Device.cpp
index fc17f4f..7c3c6b7 100644
--- a/services/camera/libcameraservice/device3/Camera3Device.cpp
+++ b/services/camera/libcameraservice/device3/Camera3Device.cpp
@@ -3083,10 +3083,11 @@
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::unordered_map<std::string, CameraMetadata>& physicalMetadata,
+ const std::set<int32_t> &outputStreamIds, int32_t inputStreamId) {
mTagMonitor.monitorMetadata(source, frameNumber, timestamp, metadata,
- physicalMetadata);
+ physicalMetadata, outputStreamIds, inputStreamId);
}
/**
@@ -4589,9 +4590,20 @@
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();
+ }
+
parent->monitorMetadata(TagMonitor::REQUEST,
halRequest.frame_number,
- 0, mLatestRequest, mLatestPhysicalRequest);
+ 0, mLatestRequest, mLatestPhysicalRequest, outputStreamIds, inputStreamId);
}
}