diff --git a/src/engine/agent/Agent_Impl.cpp b/src/engine/agent/Agent_Impl.cpp index 5082206e..5e6252a4 100644 --- a/src/engine/agent/Agent_Impl.cpp +++ b/src/engine/agent/Agent_Impl.cpp @@ -7,13 +7,6 @@ #include "helper/HL_Base64.h" #include -#if defined(USE_PVQA_LIBRARY) -# include "pvqa++.h" -#endif - -#if defined(USE_AQUA_LIBRARY) -# include "aqua++.h" -#endif const std::string Status_Ok = "ok"; const std::string Status_SessionNotFound = "session not found"; @@ -156,20 +149,6 @@ void AgentImpl::processConfig(JsonCpp::Value &d, JsonCpp::Value &answer) { std::unique_lock l(mAgentMutex); -#if !defined(TARGET_ANDROID) && defined(USE_PVQA_LIBRARY) - // It works for desktop OSes only - // Because Android requires special initializing procedure (valid JNI environment context) - std::string pvqaLicense = d["pvqa-license"].asString(), pvqaConfig = d["pvqa-config"].asString(); - if (!pvqaLicense.empty() && !pvqaConfig.empty()) - sevana::pvqa::initialize(pvqaLicense, pvqaConfig); -#endif - -#if !defined(TARGET_ANDROID) && defined(USE_AQUA_LIBRARY) - std::string aquaLicense = d["aqua-license"].asString(); - if (!aquaLicense.empty()) - sevana::aqua::initialize(aquaLicense.c_str(), aquaLicense.size()); -#endif - std::string transport = d["transport"].asString(); config()[CONFIG_TRANSPORT] = (transport == "any") ? TransportType_Any : (transport == "udp" ? TransportType_Udp : (transport == "tcp" ? TransportType_Tcp : TransportType_Tls)); config()[CONFIG_IPV4] = d["ipv4"].asBool(); diff --git a/src/engine/agent/Agent_Impl.h b/src/engine/agent/Agent_Impl.h index 6d68b8a1..879aff0e 100644 --- a/src/engine/agent/Agent_Impl.h +++ b/src/engine/agent/Agent_Impl.h @@ -13,18 +13,8 @@ #include "Agent_AudioManager.h" #include #include -#if defined(USE_AQUA_LIBRARY) -# include "aqua++.h" -#endif - -#if defined(USE_PVQA_LIBRARY) -# include "pvqa++.h" -#endif class AgentImpl: public UserAgent -#if defined(USE_AQUA_LIBRARY) - , public MT::Stream::MediaObserver -#endif { protected: std::recursive_mutex mAgentMutex; diff --git a/src/engine/helper/HL_Rtp.cpp b/src/engine/helper/HL_Rtp.cpp index ec09814c..f0cdd252 100644 --- a/src/engine/helper/HL_Rtp.cpp +++ b/src/engine/helper/HL_Rtp.cpp @@ -185,6 +185,7 @@ void RtpDump::flush() #endif +#ifndef EXTERNAL_MEDIA_STREAM_ID // -------------- MediaStreamId -------------------- bool MediaStreamId::operator < (const MediaStreamId& right) const { @@ -260,4 +261,5 @@ std::ostream& operator << (std::ostream& output, const MediaStreamId& id) { return (output << id.toString()); } +#endif diff --git a/src/engine/helper/HL_Rtp.h b/src/engine/helper/HL_Rtp.h index 8df1f3b5..bee1918e 100644 --- a/src/engine/helper/HL_Rtp.h +++ b/src/engine/helper/HL_Rtp.h @@ -72,22 +72,5 @@ public: }; #endif -struct MediaStreamId -{ - 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; - - std::string toString() const; - std::string getDetectDescription() const; - std::string getFinishDescription() const; - MediaStreamId& operator = (const MediaStreamId& src); -}; - -std::ostream& operator << (std::ostream& output, const MediaStreamId& id); #endif diff --git a/src/engine/media/CMakeLists.txt b/src/engine/media/CMakeLists.txt index 967e5bf4..92c96d33 100644 --- a/src/engine/media/CMakeLists.txt +++ b/src/engine/media/CMakeLists.txt @@ -80,6 +80,10 @@ if (CMAKE_SYSTEM MATCHES "Windows*") endif() add_library(media_lib ${SOURCES}) + +# Dependency on ice_stack - Linux build requires it +target_link_libraries(media_lib ice_stack) + set_property(TARGET media_lib PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") @@ -101,6 +105,7 @@ target_include_directories(media_lib ${CMAKE_CURRENT_SOURCE_DIR}/../../libs/libevs/basic_op ${CMAKE_CURRENT_SOURCE_DIR}/../../libs/libevs/basic_math ) + if (USE_RESIP_INTEGRATION) message("USE_RESIP_INTEGRATION is turned on!") target_compile_definitions(media_lib PUBLIC -DUSE_RESIP_INTEGRATION) diff --git a/src/engine/media/MT_AudioReceiver.h b/src/engine/media/MT_AudioReceiver.h index b1f9f7e3..16007ee0 100644 --- a/src/engine/media/MT_AudioReceiver.h +++ b/src/engine/media/MT_AudioReceiver.h @@ -20,9 +20,9 @@ #include "../audio/Audio_DataWindow.h" #include "../audio/Audio_Resampler.h" -#if defined(USE_PVQA_LIBRARY) +/*#if defined(USE_PVQA_LIBRARY) # include "pvqa++.h" -#endif +#endif*/ #include @@ -199,6 +199,7 @@ namespace MT // Resamples, sends to analysis, writes to dump and queues to output decoded frames from mDecodedFrame void processDecoded(Audio::DataWindow& output, int options); +/* #if defined(USE_PVQA_LIBRARY) && defined(PVQA_IN_RECEIVER) std::shared_ptr mPVQA; void initPvqa(); @@ -207,7 +208,7 @@ namespace MT std::shared_ptr mPvqaBuffer; #endif - +*/ void processStatisticsWithAmrCodec(Codec* c); }; diff --git a/src/engine/media/MT_CodecList.cpp b/src/engine/media/MT_CodecList.cpp index c3c937ac..255208a3 100644 --- a/src/engine/media/MT_CodecList.cpp +++ b/src/engine/media/MT_CodecList.cpp @@ -1,4 +1,4 @@ -/* Copyright(C) 2007-2021 VoIPobjects (voipobjects.com) +/* Copyright(C) 2007-2022 VoIPobjects (voipobjects.com) * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ diff --git a/src/engine/media/MT_Statistics.cpp b/src/engine/media/MT_Statistics.cpp index acad1e07..b7161fba 100644 --- a/src/engine/media/MT_Statistics.cpp +++ b/src/engine/media/MT_Statistics.cpp @@ -67,7 +67,7 @@ void JitterStatistics::process(jrtplib::RTPPacket* packet, int rate) Statistics::Statistics() :mReceived(0), mSent(0), mReceivedRtp(0), mSentRtp(0), mReceivedRtcp(0), mSentRtcp(0), mDuplicatedRtp(0), mOldRtp(0), mIllegalRtp(0), - mPacketLoss(0), mJitter(0.0), mAudioTime(0), mSsrc(0), mPacketDropped(0) + mPacketLoss(0), mJitter(0.0), mAudioTime(0), mDecodedSize(0), mSsrc(0), mPacketDropped(0) { mBitrateSwitchCounter = 0; memset(mLoss, 0, sizeof mLoss); @@ -95,6 +95,7 @@ void Statistics::reset() mJitter = 0.0; mAudioTime = 0; mPacketDropped = 0; + mDecodedSize = 0; memset(mLoss, 0, sizeof mLoss); } diff --git a/src/engine/media/MT_Statistics.h b/src/engine/media/MT_Statistics.h index b5c054ac..7c32405c 100644 --- a/src/engine/media/MT_Statistics.h +++ b/src/engine/media/MT_Statistics.h @@ -69,6 +69,7 @@ public: int mLoss[128]; // Every item is number of loss of corresping length size_t mAudioTime; // Decoded/found time in milliseconds + size_t mDecodedSize; // Number of decoded bytes uint16_t mSsrc; // Last known SSRC ID in a RTP stream ice::NetworkAddress mRemotePeer; // Last known remote RTP address diff --git a/src/libs/jrtplib/src/CMakeLists.txt b/src/libs/jrtplib/src/CMakeLists.txt index d10890e7..ced840bb 100644 --- a/src/libs/jrtplib/src/CMakeLists.txt +++ b/src/libs/jrtplib/src/CMakeLists.txt @@ -91,6 +91,8 @@ set(JRTPLIB_SOURCES rtpexternaltransmitter.cpp) add_library(jrtplib STATIC ${JRTPLIB_SOURCES}) +target_include_directories(jrtplib PUBLIC .) + set_property(TARGET jrtplib PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") diff --git a/src/libs/speexdsp/CMakeLists.txt b/src/libs/speexdsp/CMakeLists.txt index 9b6d9c93..a8c31248 100644 --- a/src/libs/speexdsp/CMakeLists.txt +++ b/src/libs/speexdsp/CMakeLists.txt @@ -20,7 +20,7 @@ set (SPEEXDSP_SOURCES ) add_library(speexdsp ${SPEEXDSP_SOURCES}) -target_compile_definitions(speexdsp PUBLIC -DUSE_KISS_FFT -DFIXED_POINT -DHAVE_STDINT_H) +target_compile_definitions(speexdsp PUBLIC -DUSE_KISS_FFT -DFLOATING_POINT -DHAVE_STDINT_H) target_include_directories(speexdsp PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/libspeexdsp