diff --git a/src/engine/helper/CMakeLists.txt b/src/engine/helper/CMakeLists.txt index 46bea307..303ff22a 100644 --- a/src/engine/helper/CMakeLists.txt +++ b/src/engine/helper/CMakeLists.txt @@ -5,7 +5,7 @@ project (helper_lib) set (CMAKE_CXX_STANDARD 11) set (CMAKE_CXX_STANDARD_REQUIRED ON) -set (USE_NULL_UUID OFF CACHE BOOL "When enabled linking to libuuid is avoided") +option (USE_NULL_UUID "When enabled linking to libuuid is avoided" OFF) set (CMAKE_POSITION_INDEPENDENT_CODE ON) diff --git a/src/engine/helper/HL_Rtp.cpp b/src/engine/helper/HL_Rtp.cpp index 0e8ed613..790b2816 100644 --- a/src/engine/helper/HL_Rtp.cpp +++ b/src/engine/helper/HL_Rtp.cpp @@ -83,9 +83,9 @@ unsigned RtpHelper::findSsrc(const void* buffer, size_t length) void RtpHelper::setSsrc(void* buffer, size_t length, uint32_t ssrc) { if (isRtp(buffer, length)) - reinterpret_cast(buffer)->ssrc = ssrc; + reinterpret_cast(buffer)->ssrc = htonl(ssrc); else - reinterpret_cast(buffer)->ssrc = ssrc; + reinterpret_cast(buffer)->ssrc = htonl(ssrc); } int RtpHelper::findPtype(const void* buffer, size_t length) diff --git a/src/engine/media/CMakeLists.txt b/src/engine/media/CMakeLists.txt index d4dd3f10..8e64a2f1 100644 --- a/src/engine/media/CMakeLists.txt +++ b/src/engine/media/CMakeLists.txt @@ -50,7 +50,7 @@ if (USE_EVS_CODEC) message("Media: EVS codec will be included.") add_definitions (-DUSE_EVS_CODEC) set (SOURCES ${SOURCES} MT_EvsCodec.cpp MT_EvsCodec.h) - set (LIBS_CODEC evs) + set (LIBS_CODEC evs_codec) endif() if (USE_OPUS_CODEC) diff --git a/src/libs/ice/ICEAddress.cpp b/src/libs/ice/ICEAddress.cpp index b20daec9..5d2455ac 100644 --- a/src/libs/ice/ICEAddress.cpp +++ b/src/libs/ice/ICEAddress.cpp @@ -185,6 +185,24 @@ NetworkAddress::NetworkAddress(const char *ip, unsigned short port) setPort(port); } +NetworkAddress::NetworkAddress(uint32_t ip_4, uint16_t port) + :mInitialized(true), mRelayed(false) +{ + memset(&mAddr6, 0, sizeof(mAddr6)); + mAddr4.sin_family = AF_INET; + mAddr4.sin_addr.s_addr = ip_4; + mAddr4.sin_port = port; +} + +NetworkAddress::NetworkAddress(const uint8_t* ip_6, uint16_t port) + :mInitialized(true), mRelayed(false) +{ + memset(&mAddr6, 0, sizeof(mAddr6)); + mAddr6.sin6_family = AF_INET6; + memmove(&mAddr6.sin6_addr, ip_6, sizeof(mAddr6.sin6_addr)); + mAddr6.sin6_port = port; +} + NetworkAddress::NetworkAddress(const sockaddr& addr, unsigned addrLen) :mInitialized(true), mRelayed(false) { diff --git a/src/libs/ice/ICEAddress.h b/src/libs/ice/ICEAddress.h index 2bd524de..dc2e3482 100644 --- a/src/libs/ice/ICEAddress.h +++ b/src/libs/ice/ICEAddress.h @@ -26,9 +26,16 @@ namespace ice NetworkAddress(int stunType); NetworkAddress(const std::string& ip, unsigned short port); NetworkAddress(const char* ip, unsigned short port); + + // Both ip_4 and port are network byte order + NetworkAddress(uint32_t ip_4, uint16_t port); + + // Both ip_6 and port are network byte order + NetworkAddress(const uint8_t* ip_6, uint16_t port); + NetworkAddress(const in6_addr& ip, unsigned short port); NetworkAddress(const in_addr& ip, unsigned short port); - NetworkAddress(const sockaddr& addr, unsigned addrLen); + NetworkAddress(const sockaddr& addr, unsigned addrLen); NetworkAddress(const NetworkAddress& src); ~NetworkAddress();