diff options
author | 2023-06-27 17:01:50 -0700 | |
---|---|---|
committer | 2023-12-15 10:52:09 -0800 | |
commit | 9ebb7a721aecc1da1ee3f45846010fd3945e8e22 (patch) | |
tree | 7b98a894dc0d266e579d69d1a9dfa067ab860448 /libs/gui/DisplayEventDispatcher.cpp | |
parent | 141aab9cb170a4b4948c35b8cc97316cdfa64e1e (diff) |
Update HDCP for external displays
So the secure flag of Display object in Display Manager (DM) can
be set correctly. HWC calls the onSync method as a workaround,
to notify SurfaceFlinger (SF) about hdcp changes, SF in turn sends
an event to DM, DM will then fetch and update display info.
Bug: 280818362
Test: manual
Change-Id: I29ce0337865b51c0fc7bf7c2d7fdd4cd6d66ef46
Diffstat (limited to 'libs/gui/DisplayEventDispatcher.cpp')
-rw-r--r-- | libs/gui/DisplayEventDispatcher.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libs/gui/DisplayEventDispatcher.cpp b/libs/gui/DisplayEventDispatcher.cpp index 5dd058cf9f..f3de96d2cd 100644 --- a/libs/gui/DisplayEventDispatcher.cpp +++ b/libs/gui/DisplayEventDispatcher.cpp @@ -195,6 +195,11 @@ bool DisplayEventDispatcher::processPendingEvents(nsecs_t* outTimestamp, dispatchFrameRateOverrides(ev.header.timestamp, ev.header.displayId, std::move(mFrameRateOverrides)); break; + case DisplayEventReceiver::DISPLAY_EVENT_HDCP_LEVELS_CHANGE: + dispatchHdcpLevelsChanged(ev.header.displayId, + ev.hdcpLevelsChange.connectedLevel, + ev.hdcpLevelsChange.maxLevel); + break; default: ALOGW("dispatcher %p ~ ignoring unknown event type %#x", this, ev.header.type); break; |