[PATCH RFC wayland-protocols v3 2/2] Add HDCP security protocol
scott.anderson at collabora.com
scott.anderson at collabora.com
Mon Dec 3 06:14:51 UTC 2018
From: Scott Anderson <scott.anderson at collabora.com>
This is an extension to the secure output protocol for clients that
specifically want to control properties related to HDCP.
Signed-off-by: Scott Anderson <scott.anderson at collabora.com>
---
.../secure-output-hdcp-unstable-v1.xml | 120 ++++++++++++++++++
1 file changed, 120 insertions(+)
create mode 100644 unstable/secure-output/secure-output-hdcp-unstable-v1.xml
diff --git a/unstable/secure-output/secure-output-hdcp-unstable-v1.xml b/unstable/secure-output/secure-output-hdcp-unstable-v1.xml
new file mode 100644
index 0000000..ad62ca1
--- /dev/null
+++ b/unstable/secure-output/secure-output-hdcp-unstable-v1.xml
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<protocol name="hdcp_security_unstable_v1">
+
+ <copyright>
+ Copyright 2018 Collabora, Ltd.
+ Copyright 2018 Intel Corporation
+
+ Permission is hereby granted, free of charge, to any person obtaining a
+ copy of this software and associated documentation files (the "Software"),
+ to deal in the Software without restriction, including without limitation
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ and/or sell copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice (including the next
+ paragraph) shall be included in all copies or substantial portions of the
+ Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ DEALINGS IN THE SOFTWARE.
+ </copyright>
+
+ <description summary="Protocol for providing secure output">
+ This protocol specifies an implementation for a wp_security object,
+ providing content protection via the High-bandwith Digital Content
+ Protection protocol.
+
+ Warning! The protocol described in this file is experimental and backward
+ incompatible changes may be made. Backward compatible changes may be added
+ together with the corresponding interface version bump. Backward
+ incompatible changes are done by bumping the version number in the protocol
+ and interface names and resetting the interface version. Once the protocol
+ is to be declared stable, the 'z' prefix and the version number in the
+ protocol and interface names are removed and the interface version number is
+ reset.
+ </description>
+
+ <interface name="zwp_hdcp_secure_output_v1" version="1">
+ <description summary="HDCP content protection">
+ The global interface exposing secure output capabilities is used
+ to instantiate an interface extension for a wl_surface object.
+ This extended interface will then allow surfaces to be marked as
+ as only visible on secure outputs.
+ </description>
+
+ <request name="destroy" type="destructor">
+ <description summary="unbind from the secure output interface">
+ Informs the server that the client will not be using this
+ protocol object anymore. This does not affect any other objects,
+ security objects included.
+ </description>
+ </request>
+
+ <enum name="error">
+ <entry name="implementation" value="0"
+ summary="the wp_security already has an implementation"/>
+ </enum>
+
+ <request name="get_hdcp_security">
+ <description summary="set wp_security implementation">
+ Creates an object representing HDCP protection for a surface's
+ contents.
+
+ This will set the implementation of the security object and fail if
+ the security object already has an implementation.
+
+ The wp_hdcp_security object must be destroyed before the wp_security
+ object that is is associated with.
+ </description>
+ <arg name="id" type="new_id" interface="zwp_hdcp_security_v1"
+ summary="the new security interface id"/>
+ <arg name="security" type="object" interface="zwp_security_v1"
+ summary="the security object"/>
+ </request>
+ </interface>
+
+ <interface name="zwp_hdcp_security_v1" version="1">
+ <description summary="HDCP security interface to a wl_surface">
+ A protocol object representing an HDCP wp_security implementation.
+ It provides a set of functionality related to protecting content
+ with HDCP.
+
+ If the wl_surface associated with this object is destroyed, the HDCP
+ security object becomes inert.
+ </description>
+
+ <enum name="content_type">
+ <entry name="0" value="0" summary="Type-0"/>
+ <entry name="1" value="1" summary="Type-1"/>
+ </enum>
+
+ <request name="destroy" type="destructor">
+ <description summary="destroy zwp_hdcp_security_v1">
+ Destroy the zwp_hdcp_security_v1 object.
+ An wp_security must only be destroyed after its implementation is
+ destroyed.
+ </description>
+ </request>
+
+ <request name="set_content_type">
+ <description summary="set HDCP content type">
+ Sets the HDCP content type for this security object. See the HDCP
+ specification for the meaning of content types.
+
+ The initial content type value is Type-0.
+
+ The content type state is double-buffered and will be applied
+ on the next wl_surface.commit.
+ </description>
+ <arg name="content_type" type="uint" enum="content_type"
+ summary="the content type"/>
+ </request>
+ </interface>
+
+</protocol>
--
2.19.2
More information about the wayland-devel
mailing list