blob: 782b9c2685db9e6d0a237e6e820dc7776aa470c8 [file] [log] [blame]
Jiwen 'Steve' Cai2e06c1c2018-07-30 21:35:32 -07001#include <private/dvr/buffer_hub_defs.h>
Fan Xu74df4902018-09-20 16:40:51 -07002#include <private/dvr/buffer_node.h>
Jiwen 'Steve' Cai2e06c1c2018-07-30 21:35:32 -07003
4namespace android {
5namespace dvr {
6
Jiwen 'Steve' Cai9004b8c2018-10-03 18:52:23 -07007BufferNode::BufferNode(IonBuffer buffer, size_t user_metadata_size)
8 : buffer_(std::move(buffer)) {
9 metadata_ = BufferHubMetadata::Create(user_metadata_size);
10}
Jiwen 'Steve' Cai2e06c1c2018-07-30 21:35:32 -070011
12// Allocates a new BufferNode.
13BufferNode::BufferNode(uint32_t width, uint32_t height, uint32_t layer_count,
14 uint32_t format, uint64_t usage,
Jiwen 'Steve' Cai9004b8c2018-10-03 18:52:23 -070015 size_t user_metadata_size) {
Jiwen 'Steve' Cai2e06c1c2018-07-30 21:35:32 -070016 if (int ret = buffer_.Alloc(width, height, layer_count, format, usage)) {
17 ALOGE(
18 "DetachedBufferChannel::DetachedBufferChannel: Failed to allocate "
19 "buffer: %s",
20 strerror(-ret));
21 return;
22 }
23
Jiwen 'Steve' Cai9004b8c2018-10-03 18:52:23 -070024 metadata_ = BufferHubMetadata::Create(user_metadata_size);
Jiwen 'Steve' Cai2e06c1c2018-07-30 21:35:32 -070025}
26
27} // namespace dvr
28} // namespace android