hdcp: add recipe

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@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
This commit is contained in:
Naveen Saini 2019-07-04 15:58:31 +08:00 committed by Anuj Mittal
parent 41967144c4
commit 5033081048
2 changed files with 68 additions and 0 deletions

View File

@ -0,0 +1,42 @@
From 5cbcecff0bb7fa1c617d3082e7ad94c22e5f4eb1 Mon Sep 17 00:00:00 2001
From: Naveen Saini <naveen.kumar.saini@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@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

View File

@ -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"