Skip to content

Commit 78afbbe

Browse files
committed
common svp (Secure Video Path) changes added and new gst-svp-ext interface used to move the SoC changes from Mediasession
1 parent bc30841 commit 78afbbe

File tree

6 files changed

+2599
-1030
lines changed

6 files changed

+2599
-1030
lines changed

CMakeLists.txt

Lines changed: 84 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -15,54 +15,104 @@
1515
# See the License for the specific language governing permissions and
1616
# limitations under the License.
1717

18-
cmake_minimum_required(VERSION 3.3)
18+
cmake_minimum_required(VERSION 2.8)
1919
project(DRMPlayready)
2020

21-
find_package(Thunder)
21+
if (DEFINED MAKE_VERBOSE)
22+
set(CMAKE_VERBOSE_MAKEFILE TRUE)
23+
endif()
24+
25+
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
26+
27+
set(DRM_PLUGIN_NAME "Playready")
28+
29+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -w -Wno-psabi ")
30+
31+
if(NOT CMAKE_CROSSCOMPILING)
32+
set(STAGING_DIR "${CMAKE_INSTALL_PREFIX}")
33+
else()
34+
set(STAGING_DIR "${CMAKE_FIND_ROOT_PATH}")
35+
endif()
2236

23-
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
37+
if(DEFINED USE_PLAYREADY_CMAKE)
38+
find_package(PlayReady REQUIRED)
39+
endif()
2440

25-
set(MODULE_NAME Playready)
41+
find_package(OpenSSL REQUIRED)
2642

43+
file(GLOB DRM_PLUGIN_INCLUDES *.h)
2744

28-
find_package(${NAMESPACE}Core REQUIRED)
29-
find_package(PlayReady REQUIRED)
45+
if(DEFINED USE_PLAYREADY_CMAKE)
46+
set(DRM_PLUGIN_LIBS
47+
${PLAYREADY_LIBRARIES})
48+
endif()
3049

31-
add_library(${MODULE_NAME} SHARED
32-
MediaSession.cpp
50+
set(DRM_PLUGIN_SOURCES
51+
MediaSession.cpp
3352
MediaSystem.cpp
3453
MediaSessionExt.cpp)
3554

36-
set_target_properties(${MODULE_NAME} PROPERTIES
37-
CXX_STANDARD 11
38-
CXX_STANDARD_REQUIRED YES)
3955

40-
target_compile_definitions(${MODULE_NAME}
41-
PRIVATE
42-
BSTD_CPU_ENDIAN=BSTD_ENDIAN_LITTLE
43-
DRM_BUILD_PROFILE=900
44-
)
56+
# add the library
57+
add_library(${DRM_PLUGIN_NAME} SHARED ${DRM_PLUGIN_SOURCES})
58+
59+
if(DEFINED USE_PLAYREADY_CMAKE)
60+
target_compile_definitions(${DRM_PLUGIN_NAME} PRIVATE ${PLAYREADY_FLAGS})
61+
target_include_directories(${DRM_PLUGIN_NAME} PRIVATE ${PLAYREADY_INCLUDE_DIRS})
62+
target_link_libraries(${DRM_PLUGIN_NAME} ${DRM_PLUGIN_LIBS})
63+
endif()
4564

46-
target_include_directories(${MODULE_NAME}
47-
PRIVATE
48-
"${CMAKE_SYSROOT}/usr/include"
49-
"${CMAKE_SYSROOT}/usr/include/${NAMESPACE}"
50-
${PLAYREADY_INCLUDE_DIRS})
65+
set_target_properties(${DRM_PLUGIN_NAME} PROPERTIES SUFFIX ".drm")
66+
set_target_properties(${DRM_PLUGIN_NAME} PROPERTIES PREFIX "")
5167

52-
target_link_libraries(${MODULE_NAME}
53-
${NAMESPACE}Core::${NAMESPACE}Core
54-
${PLAYREADY_LIBRARIES})
68+
# openssl library added
69+
target_link_libraries(${DRM_PLUGIN_NAME} OpenSSL::SSL)
70+
71+
if(DEFINED PLAYREADY_REALTEK)
72+
target_link_libraries(${DRM_PLUGIN_NAME} PRIVATE playreadypk)
73+
message(STATUS "PLAYREADY_REALTEK is ON")
74+
elseif(DEFINED PLAYREADY_BROADCOM)
75+
#target_link_libraries(${DRM_PLUGIN_NAME} PRIVATE NEXUS::NEXUS NXCLIENT::NXCLIENT NexusWidevine::NexusWidevine)
76+
#message(STATUS "PLAYREADY_BROADCOM is ON")
77+
endif()
78+
79+
# Enable SVP.
80+
#if("${RDK_SVP}" STREQUAL "ENABLED")
81+
message(STATUS "Using RDK_SVP")
82+
add_definitions (-DUSE_SVP)
83+
target_include_directories(${DRM_PLUGIN_NAME} PRIVATE ${CMAKE_SYSROOT}/usr/include/gstreamer-1.0)
84+
target_include_directories(${DRM_PLUGIN_NAME} PRIVATE ${CMAKE_SYSROOT}/usr/include/glib-2.0)
85+
target_include_directories(${DRM_PLUGIN_NAME} PRIVATE ${CMAKE_SYSROOT}/usr/lib/glib-2.0/include)
86+
target_include_directories(${DRM_PLUGIN_NAME} PRIVATE ${CMAKE_SYSROOT}/usr/include/WPEFramework)
87+
target_link_libraries(${DRM_PLUGIN_NAME} gstsvpext)
88+
#endif()
5589

56-
# Library installation section
57-
set_target_properties(${MODULE_NAME} PROPERTIES SUFFIX ".drm")
58-
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
90+
if("${DYNAMIC_SVP_DECRYPTION}" STREQUAL "ON")
91+
add_definitions( -DDYNAMIC_SVP_DECRYPTION )
92+
message(STATUS "DYNAMIC_SVP_DECRYPTION is ON")
93+
else()
94+
message(STATUS "DYNAMIC_SVP_DECRYPTION is OFF")
95+
endif()
5996

60-
install(TARGETS ${MODULE_NAME}
61-
PERMISSIONS OWNER_READ GROUP_READ
62-
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/${NAMESPACE}/OCDM)
97+
if("${RESOLUTION_CHECK_ENABLED}" STREQUAL "ON")
98+
add_definitions( -DRESOLUTION_CHECK_ENABLED )
99+
message(STATUS "RESOLUTION_CHECK_ENABLED is ON")
100+
else()
101+
message(STATUS "DYNAMIC_SVP_DECRYPTION is OFF")
102+
endif()
63103

64-
if(NOT "${CMAKE_FIND_ROOT_PATH}" STREQUAL "")
65-
install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink /etc/playready ${CMAKE_CURRENT_BINARY_DIR}/playready)")
66-
install(DIRECTORY DESTINATION ${CMAKE_INSTALL_PREFIX}/../${PERSISTENT_PATH}/OCDM)
67-
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/playready DESTINATION ${CMAKE_INSTALL_PREFIX}/../${PERSISTENT_PATH}/OCDM/)
104+
if("${NO_PERSISTENT_LICENSE_CHECK}" STREQUAL "ON")
105+
add_definitions( -DNO_PERSISTENT_LICENSE_CHECK=1 )
106+
message(STATUS "NO_PERSISTENT_LICENSE_CHECK is ON")
107+
else()
108+
message(STATUS "NO_PERSISTENT_LICENSE_CHECK is OFF")
68109
endif()
110+
111+
if("${TEE_CONFIG_NEED}" STREQUAL "ON")
112+
add_definitions( -DTEE_CONFIG_NEED=1 )
113+
message(STATUS "TEE_CONFIG_NEED is ON")
114+
else()
115+
message(STATUS "TEE_CONFIG_NEED is OFF")
116+
endif()
117+
118+
install(TARGETS ${DRM_PLUGIN_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/WPEFramework/OCDM)

0 commit comments

Comments
 (0)