summaryrefslogtreecommitdiff
path: root/services/bufferhub/BufferHubService.cpp
diff options
context:
space:
mode:
author Fan Xu <fanxu@google.com> 2018-11-08 16:29:13 -0800
committer Fan Xu <fanxu@google.com> 2018-11-14 10:42:21 -0800
commitffde786ffce1afcd7ee574e7b45026d651ac1779 (patch)
treec6ee2a9f13c21b0125653b897402b8f7ec72606b /services/bufferhub/BufferHubService.cpp
parent18d90eaf05d8b3a21a68d84ebf23ea2326067aad (diff)
Add a service-unique ID to BufferNode
All the BufferNode allocated by bufferhub hwservice now will have a unique ID generated and managed by the UniqueIdGenerator. The idGenerator is placed in global static namespace because 1) therefore it is process-unique 2) BufferNode could still access it without a reference to the service instance. Added UniqueIdGenerator_test. Test: UniqueIdGenerator_test, BufferNode_test, buffer_hub-test, BufferHubBuffer_test passed. Fix: 118844348 Change-Id: I9c9adebab3af7b9de71dbe8728d3f24ed231338d
Diffstat (limited to 'services/bufferhub/BufferHubService.cpp')
-rw-r--r--services/bufferhub/BufferHubService.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/services/bufferhub/BufferHubService.cpp b/services/bufferhub/BufferHubService.cpp
index 3bfd9cbe7e..fc5ad1dbbf 100644
--- a/services/bufferhub/BufferHubService.cpp
+++ b/services/bufferhub/BufferHubService.cpp
@@ -35,7 +35,7 @@ Return<void> BufferHubService::allocateBuffer(const HardwareBufferDescription& d
std::shared_ptr<BufferNode> node =
std::make_shared<BufferNode>(desc.width, desc.height, desc.layers, desc.format,
- desc.usage, userMetadataSize);
+ desc.usage, userMetadataSize, nodeIdGenerator.getId());
if (node == nullptr || !node->IsValid()) {
ALOGE("%s: creating BufferNode failed.", __FUNCTION__);
_hidl_cb(/*bufferClient=*/nullptr, /*status=*/BufferHubStatus::ALLOCATION_FAILED);