WIP: V2 content protection
This merge-request is an attempt to define and implement a content-protection protocol in weston to provide content-protection(HDCP1.4, HDCP2.2) to a weston client. It is the improvement on the earlier Merge Request: !48
Changes in this version: -As suggested by Emre Ucan, moved the get and set functions for content-protection to struct weston_drm_output_api, from weston_backend. -As suggested by Emre Ucan, added weston surface as an argument in the client request. The protocol now, helps server to create a protection-object, for a new surface. This protection objects exposes the content-protection functionality to the clients, and helps the server to track protection status of the requesting clients. -As several clients can request for protection for varying content-types at a time, new policy is added such that:
- In case of multiple requests, the protection will be always be according to the highest content-type.
- The protection can be downgraded only if there is a lone client, which switches content-type from higher to lower.
This is inline with the earlier IRC discussions and mail chains: https://lists.freedesktop.org/archives/wayland-devel/2018-June/038446.html https://lists.freedesktop.org/archives/wayland-devel/2018-June/038511.html
The following is patch-series from Ramalingam C, for enabling HDCP2.2 in DRM layer, which is under review: https://patchwork.freedesktop.org/series/39596/