Skip to content

Commit

Permalink
Merge f060c14 into 3824226
Browse files Browse the repository at this point in the history
  • Loading branch information
ActoryOu authored Jun 26, 2024
2 parents 3824226 + f060c14 commit cd21c9d
Show file tree
Hide file tree
Showing 12 changed files with 593 additions and 929 deletions.
24 changes: 24 additions & 0 deletions CMake/Dependencies/libcorejson-CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
cmake_minimum_required(VERSION 3.6.3)

project(libcorejson NONE)

if (BUILD_STATIC_LIBS OR WIN32)
set(LIBCOREJSON_SHARED_LIBS OFF)
else()
set(LIBCOREJSON_SHARED_LIBS ON)
endif()

include(ExternalProject)
ExternalProject_Add(libcorejson
GIT_REPOSITORY https://github.com/FreeRTOS/coreJSON.git
GIT_TAG dc1ab9130a1fb99b801a2a1fa8e9f42239f752be
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/build
PATCH_COMMAND git apply --ignore-whitespace ${CMAKE_CURRENT_LIST_DIR}/libcorejson-add-cmakelists.patch
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX=${OPEN_SRC_INSTALL_PREFIX}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DBUILD_SHARED_LIBS=${LIBCOREJSON_SHARED_LIBS}
"-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} -fPIC"
BUILD_ALWAYS TRUE
TEST_COMMAND ""
)
30 changes: 30 additions & 0 deletions CMake/Dependencies/libcorejson-add-cmakelists.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..e48e611
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,24 @@
+cmake_minimum_required(VERSION 3.6.3)
+project(corejson C)
+
+include(jsonFilePaths.cmake)
+
+if(BUILD_SHARED_LIBS)
+ add_library(corejson SHARED ${JSON_SOURCES})
+else()
+ add_library(corejson STATIC ${JSON_SOURCES})
+endif()
+
+target_include_directories(corejson PUBLIC
+ ${JSON_INCLUDE_PUBLIC_DIRS})
+
+# install header files
+install(
+ FILES ${JSON_INCLUDE_PUBLIC_DIRS}/core_json.h
+ DESTINATION include/corejson)
+
+install(
+ TARGETS corejson
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
23 changes: 23 additions & 0 deletions CMake/Dependencies/libkvssignaling-CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
cmake_minimum_required(VERSION 3.6.3)

project(libkvssignaling NONE)

include(ExternalProject)
if (BUILD_STATIC_LIBS OR WIN32)
set(LIBKVSSIGNALING_SHARED_LIBS OFF)
else()
set(LIBKVSSIGNALING_SHARED_LIBS ON)
endif()

ExternalProject_Add(libkvssignaling
GIT_REPOSITORY https://github.com/ActoryOu/amazon-kinesis-video-streams-signaling-public.git
GIT_TAG aggarg_suggestions
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/build
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX=${OPEN_SRC_INSTALL_PREFIX}
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
-DBUILD_SHARED_LIBS=${LIBKVSSIGNALING_SHARED_LIBS}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
BUILD_ALWAYS TRUE
TEST_COMMAND ""
)
4 changes: 3 additions & 1 deletion CMake/Utilities.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@ function(build_dependency lib_name)
kvsCommonLws
kvssdp
kvsstun
kvsrtp)
kvsrtp
kvssignaling
corejson)
list(FIND supported_libs ${lib_name} index)
if(${index} EQUAL -1)
message(WARNING "${lib_name} is not supported to build from source")
Expand Down
18 changes: 18 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,20 @@ if(BUILD_DEPENDENCIES)
build_dependency(kvsstun ${BUILD_ARGS})
build_dependency(kvsrtp ${BUILD_ARGS})

set(BUILD_ARGS
-DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS})

build_dependency(corejson ${BUILD_ARGS})

set(BUILD_ARGS
-DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
"-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} -I${OPEN_SRC_INSTALL_PREFIX}/include/corejson")

build_dependency(kvssignaling ${BUILD_ARGS})

set(BUILD_ARGS
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS})
Expand Down Expand Up @@ -412,6 +426,8 @@ target_link_libraries(
kvssdp
kvsstun
kvsrtp
kvssignaling
corejson
${CMAKE_THREAD_LIBS_INIT}
${OPENSSL_SSL_LIBRARY}
${OPENSSL_CRYPTO_LIBRARY}
Expand All @@ -436,6 +452,8 @@ target_link_libraries(
kvssdp
kvsstun
kvsrtp
kvssignaling
corejson
PRIVATE kvspicUtils
kvspicState
${CMAKE_THREAD_LIBS_INIT}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -384,6 +384,8 @@ extern "C" {
#define STATUS_SIGNALING_JOIN_SESSION_CALL_FAILED STATUS_SIGNALING_BASE + 0x0000004a
#define STATUS_SIGNALING_JOIN_SESSION_CONNECTED_FAILED STATUS_SIGNALING_BASE + 0x0000004b
#define STATUS_SIGNALING_DESCRIBE_MEDIA_CALL_FAILED STATUS_SIGNALING_BASE + 0x0000004c
#define STATUS_SIGNALING_INVALID_OUTPUT_ROLE STATUS_SIGNALING_BASE + 0x0000004d
#define STATUS_SIGNALING_INVALID_OUTPUT_MESSAGE_TYPE STATUS_SIGNALING_BASE + 0x0000004e

/*!@} */

Expand Down
33 changes: 0 additions & 33 deletions src/source/Signaling/ChannelInfo.c
Original file line number Diff line number Diff line change
Expand Up @@ -317,39 +317,6 @@ PCHAR getStringFromChannelType(SIGNALING_CHANNEL_TYPE type)
return typeStr;
}

SIGNALING_CHANNEL_ROLE_TYPE getChannelRoleTypeFromString(PCHAR type, UINT32 length)
{
// Assume the channel Deleting status first
SIGNALING_CHANNEL_ROLE_TYPE channelRoleType = SIGNALING_CHANNEL_ROLE_TYPE_UNKNOWN;

if (0 == STRNCMP(SIGNALING_CHANNEL_ROLE_TYPE_MASTER_STR, type, length)) {
channelRoleType = SIGNALING_CHANNEL_ROLE_TYPE_MASTER;
} else if (0 == STRNCMP(SIGNALING_CHANNEL_ROLE_TYPE_VIEWER_STR, type, length)) {
channelRoleType = SIGNALING_CHANNEL_ROLE_TYPE_VIEWER;
}

return channelRoleType;
}

PCHAR getStringFromChannelRoleType(SIGNALING_CHANNEL_ROLE_TYPE type)
{
PCHAR typeStr;

switch (type) {
case SIGNALING_CHANNEL_ROLE_TYPE_MASTER:
typeStr = SIGNALING_CHANNEL_ROLE_TYPE_MASTER_STR;
break;
case SIGNALING_CHANNEL_ROLE_TYPE_VIEWER:
typeStr = SIGNALING_CHANNEL_ROLE_TYPE_VIEWER_STR;
break;
default:
typeStr = SIGNALING_CHANNEL_ROLE_TYPE_UNKNOWN_STR;
break;
}

return typeStr;
}

// https://docs.aws.amazon.com/kinesisvideostreams-webrtc-dg/latest/devguide/kvswebrtc-how-iam.html#kinesis-using-iam-arn-format
// Example: arn:aws:kinesisvideo:region:account-id:channel/channel-name/code
STATUS validateKvsSignalingChannelArnAndExtractChannelName(PChannelInfo pChannelInfo, PUINT16 pStart, PUINT16 pNumChars)
Expand Down
24 changes: 0 additions & 24 deletions src/source/Signaling/ChannelInfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,6 @@ extern "C" {
#define SIGNALING_CHANNEL_TYPE_UNKNOWN_STR (PCHAR) "UNKOWN"
#define SIGNALING_CHANNEL_TYPE_SINGLE_MASTER_STR (PCHAR) "SINGLE_MASTER"

// Signaling channel role type string
#define SIGNALING_CHANNEL_ROLE_TYPE_UNKNOWN_STR (PCHAR) "UNKOWN"
#define SIGNALING_CHANNEL_ROLE_TYPE_MASTER_STR (PCHAR) "MASTER"
#define SIGNALING_CHANNEL_ROLE_TYPE_VIEWER_STR (PCHAR) "VIEWER"

// Min and max for the message TTL value
#define MIN_SIGNALING_MESSAGE_TTL_VALUE (5 * HUNDREDS_OF_NANOS_IN_A_SECOND)
#define MAX_SIGNALING_MESSAGE_TTL_VALUE (120 * HUNDREDS_OF_NANOS_IN_A_SECOND)
Expand Down Expand Up @@ -86,25 +81,6 @@ SIGNALING_CHANNEL_TYPE getChannelTypeFromString(PCHAR, UINT32);
*/
PCHAR getStringFromChannelType(SIGNALING_CHANNEL_TYPE);

/**
* Returns the signaling channel Role from a string
*
* @param - PCHAR - IN - String representation of the channel role
* @param - UINT32 - IN - String length
*
* @return - Signaling channel type
*/
SIGNALING_CHANNEL_ROLE_TYPE getChannelRoleTypeFromString(PCHAR, UINT32);

/**
* Returns the signaling channel role type string
*
* @param - SIGNALING_CHANNEL_TYPE - IN - Signaling channel type
*
* @return - Signaling channel type string
*/
PCHAR getStringFromChannelRoleType(SIGNALING_CHANNEL_ROLE_TYPE);

/**
* Determines whether or not the channel arn is valid
* If VALID it extracts the channel name
Expand Down
Loading

0 comments on commit cd21c9d

Please sign in to comment.