libweston: Add support to set content-protection for a weston_output
For making an output secure, the content-protection should be set for each of head attached to that output. So whenever the protection for a weston_output is desired, it means that protection is desired for each of the weston_head attached to that weston_output. This patch introduces a new enum in libweston to represent the requested/current protection statuses, equivalent to the type enum defined by the weston-secure-output protocol. The new enum helps to extend the content-protection status and requests to libweston and the backends. This patch also adds a new member desired_protection to store the desired protection for an output in weston_output. Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
This commit is contained in:
parent
06aeb0eae0
commit
2690a77088
@ -169,6 +169,20 @@ enum dpms_enum {
|
||||
WESTON_DPMS_OFF
|
||||
};
|
||||
|
||||
/* enum for content protection requests/status
|
||||
*
|
||||
* This enum represents the content protection requests and statuses in
|
||||
* libweston and its enum values correspond to those of 'type' enum defined in
|
||||
* weston-content-protection protocol. The values should exactly match to the
|
||||
* values of the 'type' enum of the protocol.
|
||||
*/
|
||||
|
||||
enum weston_hdcp_protection {
|
||||
WESTON_HDCP_DISABLE = 0,
|
||||
WESTON_HDCP_ENABLE_TYPE_0,
|
||||
WESTON_HDCP_ENABLE_TYPE_1
|
||||
};
|
||||
|
||||
/** Represents a monitor
|
||||
*
|
||||
* This object represents a monitor (hardware backends like DRM) or a window
|
||||
@ -277,6 +291,8 @@ struct weston_output {
|
||||
|
||||
struct wl_list head_list; /**< List of driven weston_heads */
|
||||
|
||||
enum weston_hdcp_protection desired_protection;
|
||||
|
||||
void (*start_repaint_loop)(struct weston_output *output);
|
||||
int (*repaint)(struct weston_output *output,
|
||||
pixman_region32_t *damage,
|
||||
|
@ -5873,6 +5873,7 @@ weston_output_init(struct weston_output *output,
|
||||
wl_list_init(&output->link);
|
||||
wl_signal_init(&output->user_destroy_signal);
|
||||
output->enabled = false;
|
||||
output->desired_protection = WESTON_HDCP_DISABLE;
|
||||
|
||||
wl_list_init(&output->head_list);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user