Camera: Avoid using an uninitialized physical camera id
'mStreamMap' entries can be inserted by several versions of HIDL API calls. If the fields are initialized by an older version, then make sure that newer additions are always initialized in the respective API method. Bug: 73885805 Test: adb shell /data/nativetest64/VtsHalCameraProviderV2_4TargetTest/VtsHalCameraProviderV2_4TargetTest --hal_service_instance=android.hardware.camera.provider@2.4::ICameraProvider/legacy/0 Change-Id: Ib5bd8f608da05f628c52d288c518cebbe964182b
This commit is contained in:
parent
70eae1d3f0
commit
5874bba486
1 changed files with 5 additions and 1 deletions
|
@ -187,7 +187,6 @@ bool CameraDeviceSession::preProcessConfigurationLocked_3_4(
|
|||
mPhysicalCameraIdMap[id] = requestedConfiguration.streams[i].physicalCameraId;
|
||||
mStreamMap[id].data_space = mapToLegacyDataspace(
|
||||
mStreamMap[id].data_space);
|
||||
mStreamMap[id].physical_camera_id = mPhysicalCameraIdMap[id].c_str();
|
||||
mCirculatingBuffers.emplace(stream.mId, CirculatingBuffers{});
|
||||
} else {
|
||||
// width/height/format must not change, but usage/rotation might need to change
|
||||
|
@ -206,6 +205,11 @@ bool CameraDeviceSession::preProcessConfigurationLocked_3_4(
|
|||
mStreamMap[id].rotation = (int) requestedConfiguration.streams[i].v3_2.rotation;
|
||||
mStreamMap[id].usage = (uint32_t) requestedConfiguration.streams[i].v3_2.usage;
|
||||
}
|
||||
// It is possible for the entry in 'mStreamMap' to get initialized by an older
|
||||
// HIDL API. Make sure that the physical id is always initialized when using
|
||||
// a more recent API call.
|
||||
mStreamMap[id].physical_camera_id = mPhysicalCameraIdMap[id].c_str();
|
||||
|
||||
(*streams)[i] = &mStreamMap[id];
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue