diff --git a/camera/metadata/include/metadata_utils.h b/camera/metadata/include/metadata_utils.h index 4ff73ea26583208cb66871259e94f43c523e52c5..30f054c7590fb447cdbbc12a87b55df8312f72e5 100644 --- a/camera/metadata/include/metadata_utils.h +++ b/camera/metadata/include/metadata_utils.h @@ -71,6 +71,11 @@ void MetadataUtils::ReadData(T &data, int32_t &index, const std::vector constexpr uint32_t typeLen = sizeof(T); uint8_t array[typeLen] = {0}; T *ptr = nullptr; + if (cameraAbility.empty()) { + ptr = reinterpret_cast(array); + data = *ptr; + return; + } for (size_t j = 0; j < sizeof(T); j++) { array[j] = cameraAbility.at(index++); }