diff --git a/include/libweston/libweston.h b/include/libweston/libweston.h index a020c4a9..d07d56f8 100644 --- a/include/libweston/libweston.h +++ b/include/libweston/libweston.h @@ -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, diff --git a/libweston/compositor.c b/libweston/compositor.c index a7cd8751..12b9016b 100644 --- a/libweston/compositor.c +++ b/libweston/compositor.c @@ -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);