WIP: Adding Content protection support in Weston
This RFC patch-series 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. 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/
I understand, this protocol should be a part of wayland-protocols, as being suggested by the wayland community members, and I would be sending it as a part of wayland-protocols, in subsequent patch sets. I humbly request for comments on this patch series, to initiate the review of the protocol, the server, and the application at a single place.
This patch series includes:
-a protocol that defines communication between a client requesting content-protection depending on the type of content.
-modification in the drm-backend to get and set the content-protection that is exposed as a connector property from the drm layer.
-a content-protection server that can take request from a client and set the desired content-protection through drm-backend.
-a client application that opens a window and provides buttons to request for content-protection for Type-0 and Type-1 content.
Type-0 and Type-1, and unprotected contents are just made using cairo, with different color and text to distinguish from each other. The idea is to show that an application can switch from unprotected-content (perhaps low-quality video, or else an error screen) to the desired content (high definition video), if the content-protection for that type is successfully provided by the server.
V2 As suggested by Emre Ucan, moved the get and set content_protection functions in weston-drm-output-api.
V3: Used Scott Anderson's secure-output protocol modified and implemented in weston and changes as suggested by Pekka
V4: Added Meson build definitions. Fixed issues and did corrections as suggested by Scott Anderson.