From aff3e81a2c77347a0fab27a71c6fd645cd3e57ce Mon Sep 17 00:00:00 2001 From: Fred Gylys-Colwell Date: Tue, 23 Jan 2018 15:11:23 -0800 Subject: [PATCH] OEMCrypto v14 docs and headers Merge from Widevine repo of http://go/wvgerrit/41641 test: In child CL. bug: 64001862 OEMCrypto V14 for Android P Change-Id: I707c4dc24aa534c92b099cd310b9afd09168d456 --- ...DRMSecurityIntegrationGuideforCENC_v14.pdf | Bin 0 -> 2130200 bytes .../Widevine_Modular_DRM_Version_14_Delta.pdf | Bin 0 -> 539726 bytes .../oemcrypto/include/OEMCryptoCENC.h | 264 +++++++++++++++--- libwvdrmengine/oemcrypto/include/level3.h | 26 ++ 4 files changed, 255 insertions(+), 35 deletions(-) create mode 100644 libwvdrmengine/docs/WidevineModularDRMSecurityIntegrationGuideforCENC_v14.pdf create mode 100644 libwvdrmengine/docs/Widevine_Modular_DRM_Version_14_Delta.pdf diff --git a/libwvdrmengine/docs/WidevineModularDRMSecurityIntegrationGuideforCENC_v14.pdf b/libwvdrmengine/docs/WidevineModularDRMSecurityIntegrationGuideforCENC_v14.pdf new file mode 100644 index 0000000000000000000000000000000000000000..543b4b15506535e36e2f46a0fdfc424d62bff990 GIT binary patch literal 2130200 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