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
|
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
|
/** Represents a monitor
|
||||||
*
|
*
|
||||||
* This object represents a monitor (hardware backends like DRM) or a window
|
* 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 */
|
struct wl_list head_list; /**< List of driven weston_heads */
|
||||||
|
|
||||||
|
enum weston_hdcp_protection desired_protection;
|
||||||
|
|
||||||
void (*start_repaint_loop)(struct weston_output *output);
|
void (*start_repaint_loop)(struct weston_output *output);
|
||||||
int (*repaint)(struct weston_output *output,
|
int (*repaint)(struct weston_output *output,
|
||||||
pixman_region32_t *damage,
|
pixman_region32_t *damage,
|
||||||
|
@ -5873,6 +5873,7 @@ weston_output_init(struct weston_output *output,
|
|||||||
wl_list_init(&output->link);
|
wl_list_init(&output->link);
|
||||||
wl_signal_init(&output->user_destroy_signal);
|
wl_signal_init(&output->user_destroy_signal);
|
||||||
output->enabled = false;
|
output->enabled = false;
|
||||||
|
output->desired_protection = WESTON_HDCP_DISABLE;
|
||||||
|
|
||||||
wl_list_init(&output->head_list);
|
wl_list_init(&output->head_list);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user