Ring Daemon 16.0.0
|
#include <sdp.h>
Public Types | |
using | MediaSlot = std::pair< MediaDescription, MediaDescription > |
Static Public Member Functions | |
static dhtnet::IceTransport::Attribute | getIceAttributes (const pjmedia_sdp_session *session) |
static std::vector< MediaAttribute > | getMediaAttributeListFromSdp (const pjmedia_sdp_session *sdpSession, bool ignoreDisabled=false) |
static constexpr std::string_view | getSdpDirectionStr (SdpDirection direction) |
static void | printSession (const pjmedia_sdp_session *session, const char *header, SdpDirection direction) |
Log the given session. | |
Friends | |
class | test::SDPTest |
using jami::Sdp::MediaSlot = std::pair<MediaDescription, MediaDescription> |
jami::Sdp::Sdp | ( | const std::string & | id | ) |
Definition at line 56 of file sdp.cpp.
References jami::emitSignal().
jami::Sdp::~Sdp | ( | ) |
Definition at line 72 of file sdp.cpp.
References jami::SIPAccountBase::releasePort().
Definition at line 948 of file sdp.cpp.
References jami::sip_utils::CONST_PJ_STR(), and jami::emitSignal().
Definition at line 889 of file sdp.cpp.
References jami::sip_utils::CONST_PJ_STR(), jami::emitSignal(), and JAMI_ERR.
void jami::Sdp::cleanSessionMedia | ( | ) |
Remove all media in the session media vector.
void jami::Sdp::clearIce | ( | ) |
Definition at line 1004 of file sdp.cpp.
References clearIce(), setActiveLocalSdpSession(), and setActiveRemoteSdpSession().
Referenced by clearIce().
bool jami::Sdp::createOffer | ( | const std::vector< MediaAttribute > & | mediaList | ) |
Definition at line 539 of file sdp.cpp.
References jami::emitSignal(), JAMI_DEBUG, JAMI_ERR, jami::OFFER, and printSession().
|
inline |
std::vector< MediaDescription > jami::Sdp::getActiveMediaDescription | ( | bool | remote | ) | const |
Definition at line 751 of file sdp.cpp.
References getMediaDescriptions().
|
inline |
dhtnet::IceTransport::Attribute jami::Sdp::getIceAttributes | ( | ) | const |
Definition at line 964 of file sdp.cpp.
References jami::emitSignal(), and getIceAttributes().
Referenced by getIceAttributes().
|
static |
Definition at line 972 of file sdp.cpp.
References jami::emitSignal().
std::vector< std::string > jami::Sdp::getIceCandidates | ( | unsigned | media_index | ) | const |
Definition at line 909 of file sdp.cpp.
References jami::emitSignal(), JAMI_ERR, and JAMI_WARN.
|
inline |
|
static |
Definition at line 1028 of file sdp.cpp.
References direction, jami::emitSignal(), JAMI_WARN, jami::MEDIA_AUDIO, jami::MEDIA_VIDEO, jami::RTP_SAVP, jami::SENDONLY, jami::SENDRECV, and jami::UNKNOWN.
Referenced by jami::transaction_request_cb().
std::vector< MediaDescription > jami::Sdp::getMediaDescriptions | ( | const pjmedia_sdp_session * | session, |
bool | remote | ||
) | const |
Definition at line 760 of file sdp.cpp.
References jami::sip_utils::as_view(), jami::sip_utils::CONST_PJ_STR(), jami::DIRECTION_STR, jami::emitSignal(), jami::INACTIVE, JAMI_ERR, JAMI_ERROR, jami::MEDIA_AUDIO, jami::MEDIA_VIDEO, jami::SdesNegotiator::negotiate(), jami::SENDONLY, jami::MediaDescription::type, and jami::UNKNOWN.
Referenced by getActiveMediaDescription(), and getMediaSlots().
std::vector< Sdp::MediaSlot > jami::Sdp::getMediaSlots | ( | ) | const |
Definition at line 876 of file sdp.cpp.
References jami::emitSignal(), and getMediaDescriptions().
|
inline |
|
inline |
|
staticconstexpr |
Definition at line 452 of file sdp.cpp.
References jami::ANSWER, direction, jami::emitSignal(), and jami::OFFER.
Referenced by printSession().
|
static |
Log the given session.
Definition at line 462 of file sdp.cpp.
References direction, jami::emitSignal(), getSdpDirectionStr(), jami::Manager::instance(), JAMI_ERROR, and JAMI_LOG.
Referenced by createOffer(), processIncomingOffer(), jami::sdp_media_update_cb(), and startNegotiation().
bool jami::Sdp::processIncomingOffer | ( | const std::vector< MediaAttribute > & | mediaList | ) |
Build a new SDP answer using mediaList.
mediaList | The list of media attributes to build the answer |
Definition at line 588 of file sdp.cpp.
References jami::ANSWER, jami::emitSignal(), JAMI_DEBUG, JAMI_ERR, jami::OFFER, and printSession().
void jami::Sdp::setActiveLocalSdpSession | ( | const pjmedia_sdp_session * | sdp | ) |
Set the negotiated sdp offer from the sip payload.
sdp | the negotiated offer |
Definition at line 124 of file sdp.cpp.
References jami::emitSignal(), and JAMI_DBG.
Referenced by clearIce(), and startNegotiation().
void jami::Sdp::setActiveRemoteSdpSession | ( | const pjmedia_sdp_session * | sdp | ) |
Retrieve the negotiated sdp offer from the sip payload.
sdp | the negotiated offer |
Definition at line 132 of file sdp.cpp.
References jami::emitSignal(), and JAMI_DBG.
Referenced by clearIce(), and startNegotiation().
void jami::Sdp::setLocalMediaCapabilities | ( | MediaType | type, |
const std::vector< std::shared_ptr< SystemCodecInfo > > & | selectedCodecs | ||
) |
Set the local media capabilities.
List | of codec in preference order |
Definition at line 420 of file sdp.cpp.
References jami::emitSignal(), jami::Manager::instance(), jami::MEDIA_AUDIO, and jami::MEDIA_VIDEO.
Definition at line 150 of file sdp.h.
References jami::emitSignal().
Definition at line 156 of file sdp.h.
References jami::emitSignal().
Definition at line 391 of file sdp.cpp.
References jami::emitSignal(), and setPublishedIP().
void jami::Sdp::setPublishedIP | ( | const std::string & | addr, |
pj_uint16_t | addr_type = pj_AF_UNSPEC() |
||
) |
Definition at line 374 of file sdp.cpp.
References jami::sip_utils::CONST_PJ_STR(), jami::emitSignal(), and JAMI_ERR.
Referenced by setPublishedIP().
void jami::Sdp::setReceivedOffer | ( | const pjmedia_sdp_session * | remote | ) |
Definition at line 578 of file sdp.cpp.
References jami::emitSignal(), and JAMI_ERR.
bool jami::Sdp::startNegotiation | ( | ) |
Start the sdp negotiation.
Definition at line 633 of file sdp.cpp.
References jami::emitSignal(), JAMI_DBG, JAMI_ERR, JAMI_WARN, printSession(), setActiveLocalSdpSession(), and setActiveRemoteSdpSession().