[meta-intel] [PATCH] hdcp: add recipe

Naveen Saini naveen.kumar.saini at intel.com
Thu Jul 4 00:58:31 PDT 2019


Intel(R) unified HDCP (High-bandwidth Digital Content Protection)
is a user space implementation to prevent copying of digital
audio & video content across digital display interfaces.

The Intel(R) unified HDCP is dependent on kernel space HDCP
implementation to provide a complete stack to enable the
HDCP1.4 and HDCP2.2 protection.

HDCP2.2 service support is available kernel 5.2-rc onward.
Currently 4.19 kernel and mainline-tracking (base branch) from Intel PKT
does not have HDCP2.2 support.

Signed-off-by: Naveen Saini <naveen.kumar.saini at intel.com>
---
 .../0001-main-fix-hdcpd-service-failure.patch | 42 +++++++++++++++++++
 recipes-graphics/hdcp/hdcp_19.1.0.bb          | 26 ++++++++++++
 2 files changed, 68 insertions(+)
 create mode 100644 recipes-graphics/hdcp/hdcp/0001-main-fix-hdcpd-service-failure.patch
 create mode 100644 recipes-graphics/hdcp/hdcp_19.1.0.bb

diff --git a/recipes-graphics/hdcp/hdcp/0001-main-fix-hdcpd-service-failure.patch b/recipes-graphics/hdcp/hdcp/0001-main-fix-hdcpd-service-failure.patch
new file mode 100644
index 00000000..f07d466f
--- /dev/null
+++ b/recipes-graphics/hdcp/hdcp/0001-main-fix-hdcpd-service-failure.patch
@@ -0,0 +1,42 @@
+From 5cbcecff0bb7fa1c617d3082e7ad94c22e5f4eb1 Mon Sep 17 00:00:00 2001
+From: Naveen Saini <naveen.kumar.saini at intel.com>
+Date: Wed, 3 Jul 2019 17:13:15 +0800
+Subject: [PATCH] main: fix hdcpd service failure
+
+Child process not able to finish before parent process
+exits, which causing hdcpd service failure.
+
+Added wait function to block parent process
+until child process exits.
+
+Upstream-Status: Submitted[https://github.com/intel/hdcp/pull/17]
+
+Signed-off-by: Naveen Saini <naveen.kumar.saini at intel.com>
+---
+ daemon/main.cpp | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/daemon/main.cpp b/daemon/main.cpp
+index 9a028d7..ef1e047 100644
+--- a/daemon/main.cpp
++++ b/daemon/main.cpp
+@@ -36,6 +36,7 @@
+ #include <sys/ioctl.h>
+ #include <fcntl.h>
+ #include <iostream>
++#include <sys/wait.h>
+ 
+ #include "hdcpdef.h"
+ #include "srm.h"
+@@ -93,6 +94,8 @@ int32_t daemon_init(void)
+     }
+     else if (pid != 0)
+     {
++        int status;
++        wait(&status);
+         exit(SUCCESS);    // parent exit
+     }
+ 
+-- 
+2.17.1
+
diff --git a/recipes-graphics/hdcp/hdcp_19.1.0.bb b/recipes-graphics/hdcp/hdcp_19.1.0.bb
new file mode 100644
index 00000000..0ff0fcdd
--- /dev/null
+++ b/recipes-graphics/hdcp/hdcp_19.1.0.bb
@@ -0,0 +1,26 @@
+SUMMARY  = "Intel(R) unified HDCP SDK"
+DESCRIPTION = "This is a user space implementation to prevent copying of \
+digital audio & video content across digital display interfaces. It provides \
+Linux user space implementation to enable the HDCP1.4 and HDCP2.2 protection \
+for external digital display interface"
+LICENSE  = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=c50969be4feb8b99c6baa3795ede4dce"
+SECTION = "lib"
+
+inherit pkgconfig cmake useradd systemd distro_features_check
+
+SRC_URI = "git://github.com/intel/hdcp.git \
+        file://0001-main-fix-hdcpd-service-failure.patch \
+"
+SRCREV = "8543db04594d7a46ebc5a5fa14d5818bb1eb6327"
+S = "${WORKDIR}/git"
+
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+DEPENDS = "libdrm virtual/mesa systemd"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false --gid nogroup media"
+
+SYSTEMD_SERVICE_${PN} = "hdcpd.service"
+SYSTEMD_AUTO_ENABLE = "disable"
-- 
2.17.1



More information about the meta-intel mailing list