diff --git a/src/engine/helper/CMakeLists.txt b/src/engine/helper/CMakeLists.txt index 1dffbb22..db3c9c5a 100644 --- a/src/engine/helper/CMakeLists.txt +++ b/src/engine/helper/CMakeLists.txt @@ -3,6 +3,7 @@ project (helper_lib) # Rely on C++ 11 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") file(GLOB HELPER_LIB_SOURCES "*.cpp" "*.h") diff --git a/src/engine/helper/HL_Rtp.h b/src/engine/helper/HL_Rtp.h index 6edc9673..d09abf5e 100644 --- a/src/engine/helper/HL_Rtp.h +++ b/src/engine/helper/HL_Rtp.h @@ -17,69 +17,68 @@ template struct RtpPair { - T mRtp; - T mRtcp; + T mRtp; + T mRtcp; - RtpPair() - {} + RtpPair() + {} - RtpPair(const T& rtp, const T& rtcp) - :mRtp(rtp), mRtcp(rtcp) - {} + RtpPair(const T& rtp, const T& rtcp) + :mRtp(rtp), mRtcp(rtcp) + {} - bool multiplexed() { return mRtp == mRtcp; } + bool multiplexed() { return mRtp == mRtcp; } }; class RtpHelper { public: - static bool isRtp(const void* buffer, int length); - static int findPtype(const void* buffer, int length); - static bool isRtpOrRtcp(const void* buffer, int length); - static bool isRtcp(const void* buffer, int length); - static unsigned findSsrc(const void* buffer, int length); - static int findPayloadLength(const void* buffer, int length); + static bool isRtp(const void* buffer, int length); + static int findPtype(const void* buffer, int length); + static bool isRtpOrRtcp(const void* buffer, int length); + static bool isRtcp(const void* buffer, int length); + static unsigned findSsrc(const void* buffer, int length); + static int findPayloadLength(const void* buffer, int length); }; class RtpDump { protected: - struct RtpData - { - jrtplib::RTPPacket* mPacket; - void* mData; - unsigned mLength; - }; + struct RtpData + { + jrtplib::RTPPacket* mPacket; + void* mData; + unsigned mLength; + }; - typedef std::vector PacketList; - PacketList mPacketList; - std::string mFilename; + typedef std::vector PacketList; + PacketList mPacketList; + std::string mFilename; public: - RtpDump(const char* filename); - ~RtpDump(); - - void load(); - int count() const; - jrtplib::RTPPacket& packetAt(int index); - void add(const void* data, int len); - void flush(); + RtpDump(const char* filename); + ~RtpDump(); + + void load(); + int count() const; + jrtplib::RTPPacket& packetAt(int index); + void add(const void* data, int len); + void flush(); }; struct MediaStreamId { - InternetAddress mSource; - InternetAddress mDestination; - uint32_t mSSRC = 0; - bool mSsrcIsId = true; - Uuid mLinkId; + InternetAddress mSource; + InternetAddress mDestination; + uint32_t mSSRC = 0; + bool mSsrcIsId = true; + Uuid mLinkId; + bool operator < (const MediaStreamId& s2) const; + bool operator == (const MediaStreamId& right) const; - bool operator < (const MediaStreamId& s2) const; - bool operator == (const MediaStreamId& right) const; - - std::string toString() const; - std::string getDetectDescription() const; - std::string getFinishDescription() const; + std::string toString() const; + std::string getDetectDescription() const; + std::string getFinishDescription() const; }; #endif diff --git a/src/engine/helper/HL_Uuid.cpp b/src/engine/helper/HL_Uuid.cpp index 9998fce1..1f2885c3 100644 --- a/src/engine/helper/HL_Uuid.cpp +++ b/src/engine/helper/HL_Uuid.cpp @@ -4,64 +4,71 @@ Uuid::Uuid() { #if defined(TARGET_WIN) || defined(TARGET_LINUX) || defined(TARGET_OSX) - memset(&mUuid, 0, sizeof mUuid); + memset(&mUuid, 0, sizeof mUuid); #endif } Uuid Uuid::generateOne() { - Uuid result; + Uuid result; +#if !defined(USE_NULL_UUID) #if defined(TARGET_LINUX) || defined(TARGET_OSX) - uuid_generate(result.mUuid); + uuid_generate(result.mUuid); #endif #if defined(TARGET_WIN) - UuidCreate(&result.mUuid); + UuidCreate(&result.mUuid); #endif - - return result; +#endif + return result; } Uuid Uuid::parse(const std::string &s) { - Uuid result; + Uuid result; +#if !defined(USE_NULL_UUID) #if defined(TARGET_LINUX) || defined(TARGET_OSX) - uuid_parse(s.c_str(), result.mUuid); + uuid_parse(s.c_str(), result.mUuid); #endif #if defined(TARGET_WIN) - UuidFromStringA((RPC_CSTR)s.c_str(), &result.mUuid); + UuidFromStringA((RPC_CSTR)s.c_str(), &result.mUuid); #endif - return result; +#endif + return result; } std::string Uuid::toString() const { - char buf[64]; + char buf[64]; +#if defined(USE_NULL_UUID) + return "UUID_disabled"; +#else #if defined(TARGET_LINUX) || defined(TARGET_OSX) - uuid_unparse_lower(mUuid, buf); + uuid_unparse_lower(mUuid, buf); #endif #if defined(TARGET_WIN) - RPC_CSTR s = nullptr; - UuidToStringA(&mUuid, &s); - if (s) - { - strcpy(buf, (const char*)s); - RpcStringFreeA(&s); - s = nullptr; - } + RPC_CSTR s = nullptr; + UuidToStringA(&mUuid, &s); + if (s) + { + strcpy(buf, (const char*)s); + RpcStringFreeA(&s); + s = nullptr; + } #endif - return buf; + return buf; +#endif } bool Uuid::operator < (const Uuid& right) const { #if defined(TARGET_LINUX) || defined(TARGET_OSX) - return memcmp(mUuid, right.mUuid, sizeof(mUuid)) < 0; + return memcmp(mUuid, right.mUuid, sizeof(mUuid)) < 0; #endif #if defined(TARGET_WIN) - return memcmp(&mUuid, &right.mUuid, sizeof(mUuid)) < 0; + return memcmp(&mUuid, &right.mUuid, sizeof(mUuid)) < 0; #endif }