summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.android1
-rw-r--r--internal/dynamic_depth/depth_jpeg.cc12
2 files changed, 13 insertions, 0 deletions
diff --git a/README.android b/README.android
index 00f3c0b..248e7b6 100644
--- a/README.android
+++ b/README.android
@@ -7,3 +7,4 @@ Local patches
-------------
- Android depth photo validation sequence "ValidateAndroidDynamicDepthBuffer()".
- Add NDK library variant.
+- Check for depth map payload
diff --git a/internal/dynamic_depth/depth_jpeg.cc b/internal/dynamic_depth/depth_jpeg.cc
index ec5ab89..396a41e 100644
--- a/internal/dynamic_depth/depth_jpeg.cc
+++ b/internal/dynamic_depth/depth_jpeg.cc
@@ -104,6 +104,18 @@ int32_t ValidateAndroidDynamicDepthBuffer(const char* buffer, size_t buffer_leng
return -1;
}
+ std::istringstream input_jpeg_stream(std::string(buffer, buffer_length));
+ std::string depth_payload;
+ if (!GetItemPayload(device->GetContainer(), depth_uri, input_jpeg_stream, &depth_payload)) {
+ LOG(ERROR) << "Unable to retrieve depth map";
+ return -1;
+ }
+
+ if (depth_payload.empty()) {
+ LOG(ERROR) << "Invalid depth map";
+ return -1;
+ }
+
return 0;
}