Add plumbing for HDR metadata
Allow a ANativeWindow client to send HDR metadata to SurfaceFlinger.
The metadata can be queried with
BufferLayerConsumer::getCurrentHdrMetadata.
Written by Courtney. Updated by olv@.
Bug: 63710530
Test: builds
Change-Id: I23192d4750950664b57863a533bffd72397255b4
diff --git a/services/surfaceflinger/BufferLayerConsumer.cpp b/services/surfaceflinger/BufferLayerConsumer.cpp
index 976dde2..bf61236 100644
--- a/services/surfaceflinger/BufferLayerConsumer.cpp
+++ b/services/surfaceflinger/BufferLayerConsumer.cpp
@@ -340,6 +340,7 @@
mCurrentScalingMode = item.mScalingMode;
mCurrentTimestamp = item.mTimestamp;
mCurrentDataSpace = item.mDataSpace;
+ mCurrentHdrMetadata = item.mHdrMetadata;
mCurrentFence = item.mFence;
mCurrentFenceTime = item.mFenceTime;
mCurrentFrameNumber = item.mFrameNumber;
@@ -447,6 +448,12 @@
return mCurrentDataSpace;
}
+const HdrMetadata& BufferLayerConsumer::getCurrentHdrMetadata() const {
+ BLC_LOGV("getCurrentHdrMetadata");
+ Mutex::Autolock lock(mMutex);
+ return mCurrentHdrMetadata;
+}
+
uint64_t BufferLayerConsumer::getFrameNumber() {
BLC_LOGV("getFrameNumber");
Mutex::Autolock lock(mMutex);