diff --git a/src/connectivity/connectionmanager.cpp b/src/connectivity/connectionmanager.cpp index 61f507f75218f478dbdd4999ba0249327120a97c..853b84148604010212bb55c3e50cb932466dbf90 100644 --- a/src/connectivity/connectionmanager.cpp +++ b/src/connectivity/connectionmanager.cpp @@ -643,7 +643,7 @@ ConnectionManager::Impl::connectDevice(const std::shared_ptr<dht::crypto::Certif ice_config.streamsCount = JamiAccount::ICE_STREAMS_COUNT; ice_config.compCountPerStream = JamiAccount::ICE_COMP_COUNT_PER_STREAM; info->ice_ = Manager::instance().getIceTransportFactory().createUTransport( - sthis->account.getAccountID().c_str()); + sthis->account.getAccountID()); if (!info->ice_) { JAMI_ERR("Cannot initialize ICE session."); eraseInfo(); @@ -1021,7 +1021,7 @@ ConnectionManager::Impl::onDhtPeerRequest(const PeerConnectionRequest& req, ice_config.compCountPerStream = JamiAccount::ICE_COMP_COUNT_PER_STREAM; ice_config.master = true; info->ice_ = Manager::instance().getIceTransportFactory().createUTransport( - shared->account.getAccountID().c_str()); + shared->account.getAccountID()); if (not info->ice_) { JAMI_ERR("Cannot initialize ICE session."); eraseInfo(); diff --git a/src/connectivity/ice_transport.cpp b/src/connectivity/ice_transport.cpp index 3c56dad51785848fe2bd80d438c2fca3a035ecc0..848e9b25d22709e6ea59222f8186a8a9a514a2a7 100644 --- a/src/connectivity/ice_transport.cpp +++ b/src/connectivity/ice_transport.cpp @@ -97,7 +97,7 @@ public: class IceTransport::Impl { public: - Impl(const char* name); + Impl(std::string_view name); ~Impl(); void initIceInstance(const IceTransportOptions& options); @@ -153,7 +153,7 @@ public: std::condition_variable_any iceCV_ {}; std::string sessionName_ {}; - std::unique_ptr<pj_pool_t, std::function<void(pj_pool_t*)>> pool_ {}; + std::unique_ptr<pj_pool_t, decltype(&pj_pool_release)> pool_ {nullptr, pj_pool_release}; bool isTcp_ {false}; bool upnpEnabled_ {false}; IceTransportCompleteCb on_initdone_cb_ {}; @@ -325,12 +325,10 @@ add_turn_server(pj_pool_t& pool, pj_ice_strans_cfg& cfg, const TurnServerInfo& i //============================================================================== -IceTransport::Impl::Impl(const char* name) +IceTransport::Impl::Impl(std::string_view name) : sessionName_(name) - , pool_(nullptr, [](pj_pool_t* pool) { pj_pool_release(pool); }) - , thread_() { - JAMI_DBG("[ice:%p] Creating IceTransport session for \"%s\"", this, name); + JAMI_DEBUG("[ice:{}] Creating IceTransport session for \"{:s}\"", fmt::ptr(this), name); } IceTransport::Impl::~Impl() @@ -559,7 +557,7 @@ IceTransport::Impl::initIceInstance(const IceTransportOptions& options) bool IceTransport::Impl::_isInitialized() const { - if (auto icest = icest_) { + if (auto *icest = icest_) { auto state = pj_ice_strans_get_state(icest); return state >= PJ_ICE_STRANS_STATE_SESS_READY and state != PJ_ICE_STRANS_STATE_FAILED; } @@ -569,7 +567,7 @@ IceTransport::Impl::_isInitialized() const bool IceTransport::Impl::_isStarted() const { - if (auto icest = icest_) { + if (auto *icest = icest_) { auto state = pj_ice_strans_get_state(icest); return state >= PJ_ICE_STRANS_STATE_NEGO and state != PJ_ICE_STRANS_STATE_FAILED; } @@ -579,7 +577,7 @@ IceTransport::Impl::_isStarted() const bool IceTransport::Impl::_isRunning() const { - if (auto icest = icest_) { + if (auto *icest = icest_) { auto state = pj_ice_strans_get_state(icest); return state >= PJ_ICE_STRANS_STATE_RUNNING and state != PJ_ICE_STRANS_STATE_FAILED; } @@ -589,7 +587,7 @@ IceTransport::Impl::_isRunning() const bool IceTransport::Impl::_isFailed() const { - if (auto icest = icest_) + if (auto *icest = icest_) return pj_ice_strans_get_state(icest) == PJ_ICE_STRANS_STATE_FAILED; return false; } @@ -1142,7 +1140,7 @@ IceTransport::Impl::_waitForInitialization(std::chrono::milliseconds timeout) //============================================================================== -IceTransport::IceTransport(const char* name) +IceTransport::IceTransport(std::string_view name) : pimpl_ {std::make_unique<Impl>(name)} {} @@ -1155,7 +1153,6 @@ void IceTransport::initIceInstance(const IceTransportOptions& options) { pimpl_->initIceInstance(options); - jami_tracepoint(ice_transport_context, reinterpret_cast<uint64_t>(this)); } @@ -1830,7 +1827,7 @@ IceTransportFactory::IceTransportFactory() IceTransportFactory::~IceTransportFactory() {} std::shared_ptr<IceTransport> -IceTransportFactory::createTransport(const char* name) +IceTransportFactory::createTransport(std::string_view name) { try { return std::make_shared<IceTransport>(name); @@ -1841,7 +1838,7 @@ IceTransportFactory::createTransport(const char* name) } std::unique_ptr<IceTransport> -IceTransportFactory::createUTransport(const char* name) +IceTransportFactory::createUTransport(std::string_view name) { try { return std::make_unique<IceTransport>(name); diff --git a/src/connectivity/ice_transport.h b/src/connectivity/ice_transport.h index b5bc0a22ade4828e8033d79671431214a786fd5a..50d71e2c8700942db23f2e8273f60f9e006c2b7c 100644 --- a/src/connectivity/ice_transport.h +++ b/src/connectivity/ice_transport.h @@ -129,7 +129,7 @@ public: /** * Constructor */ - IceTransport(const char* name); + IceTransport(std::string_view name); ~IceTransport(); void initIceInstance(const IceTransportOptions& options); @@ -256,9 +256,9 @@ public: IceTransportFactory(); ~IceTransportFactory(); - std::shared_ptr<IceTransport> createTransport(const char* name); + std::shared_ptr<IceTransport> createTransport(std::string_view name); - std::unique_ptr<IceTransport> createUTransport(const char* name); + std::unique_ptr<IceTransport> createUTransport(std::string_view name); /** * PJSIP specifics diff --git a/src/sip/sipcall.cpp b/src/sip/sipcall.cpp index 2b5355995e8626327253c9036e1e74af764cd714..df73a76f6a50d49d1a2e59c49eaae6b0a7c975bb 100644 --- a/src/sip/sipcall.cpp +++ b/src/sip/sipcall.cpp @@ -3307,7 +3307,7 @@ SIPCall::createIceMediaTransport(bool isReinvite) { auto& iceTransportFactory = Manager::instance().getIceTransportFactory(); - auto mediaTransport = iceTransportFactory.createTransport(getCallId().c_str()); + auto mediaTransport = iceTransportFactory.createTransport(getCallId()); if (mediaTransport) { JAMI_DBG("[call:%s] Successfully created media ICE transport [ice:%p]", getCallId().c_str(),