Add more attribute when creating ProducerQueue
Add `is_async`, `default_width`, `default_height` and
`default_format`. Note that these attributes are currently treated as
immutable after queue gets created.
Bug: 38324405
Bug: 38430974
Bug: 36724099
Test: buffer_hub_queue_producer-test, buffer_hub_queue-test, dvr_api-test
Change-Id: Id242a15388a1f1457ad89d11336f5643685e8361
diff --git a/libs/vr/libvrflinger/display_surface.cpp b/libs/vr/libvrflinger/display_surface.cpp
index 4dd3e69..babdc0e 100644
--- a/libs/vr/libvrflinger/display_surface.cpp
+++ b/libs/vr/libvrflinger/display_surface.cpp
@@ -207,7 +207,9 @@
surface_id(), meta_size_bytes);
std::lock_guard<std::mutex> autolock(lock_);
- auto producer = ProducerQueue::Create(meta_size_bytes, UsagePolicy{});
+ auto config =
+ ProducerQueueConfigBuilder().SetMetadataSize(meta_size_bytes).Build();
+ auto producer = ProducerQueue::Create(config, UsagePolicy{});
if (!producer) {
ALOGE(
"ApplicationDisplaySurface::OnCreateQueue: Failed to create producer "
@@ -270,9 +272,10 @@
if (!direct_queue_) {
// Inject the hw composer usage flag to enable the display to read the
// buffers.
+ auto config =
+ ProducerQueueConfigBuilder().SetMetadataSize(meta_size_bytes).Build();
auto producer = ProducerQueue::Create(
- meta_size_bytes,
- UsagePolicy{GraphicBuffer::USAGE_HW_COMPOSER, 0, 0, 0});
+ config, UsagePolicy{GraphicBuffer::USAGE_HW_COMPOSER, 0, 0, 0});
if (!producer) {
ALOGE(
"DirectDisplaySurface::OnCreateQueue: Failed to create producer "