Ring Daemon 16.0.0
Loading...
Searching...
No Matches
jami::RtpSession Class Referenceabstract

#include <rtp_session.h>

Inheritance diagram for jami::RtpSession:
Inheritance graph
Collaboration diagram for jami::RtpSession:
Collaboration graph

Public Types

enum class  Direction { SEND , RECV }
 

Public Member Functions

virtual void deinitRecorder ()=0
 
std::shared_ptr< SystemCodecInfogetCodec () const
 
const std::string & getInput () const
 
MediaType getMediaType () const
 
const dhtnet::IpAddr & getRecvAddr () const
 
const dhtnet::IpAddr & getSendAddr () const
 
virtual void initRecorder ()=0
 
virtual void restartSender ()=0
 
 RtpSession (const std::string &callId, const std::string &streamId, MediaType type)
 
void setMediaSource (const std::string &resource)
 
void setMtu (uint16_t mtu)
 
virtual void setMuted (bool mute, Direction dir=Direction::SEND)=0
 
void setSuccessfulSetupCb (const std::function< void(MediaType, bool)> &cb)
 
virtual void start (std::unique_ptr< dhtnet::IceSocket > rtp_sock, std::unique_ptr< dhtnet::IceSocket > rtcp_sock)=0
 
virtual void stop ()=0
 
std::string streamId () const
 
virtual void updateMedia (const MediaDescription &send, const MediaDescription &receive)
 
virtual ~RtpSession ()
 

Protected Member Functions

std::string getRemoteRtpUri () const
 

Protected Attributes

const std::string callId_
 
std::string input_ {}
 
MediaType mediaType_
 
uint16_t mtu_
 
std::recursive_mutex mutex_
 
std::function< void(MediaType, bool)> onSuccessfulSetup_
 
MediaDescription receive_
 
std::shared_ptr< MediaRecorderrecorder_
 
MediaDescription send_
 
std::unique_ptr< SocketPairsocketPair_
 
const std::string streamId_
 

Detailed Description

Definition at line 32 of file rtp_session.h.

Member Enumeration Documentation

◆ Direction

Enumerator
SEND 
RECV 

Definition at line 36 of file rtp_session.h.

Constructor & Destructor Documentation

◆ RtpSession()

jami::RtpSession::RtpSession ( const std::string &  callId,
const std::string &  streamId,
MediaType  type 
)
inline

Definition at line 39 of file rtp_session.h.

◆ ~RtpSession()

virtual jami::RtpSession::~RtpSession ( )
inlinevirtual

Definition at line 44 of file rtp_session.h.

Member Function Documentation

◆ deinitRecorder()

virtual void jami::RtpSession::deinitRecorder ( )
pure virtual

◆ getCodec()

std::shared_ptr< SystemCodecInfo > jami::RtpSession::getCodec ( ) const
inline

Definition at line 69 of file rtp_session.h.

References jami::MediaDescription::codec, and send_.

◆ getInput()

const std::string & jami::RtpSession::getInput ( ) const
inline

Definition at line 50 of file rtp_session.h.

References input_.

◆ getMediaType()

MediaType jami::RtpSession::getMediaType ( ) const
inline

Definition at line 51 of file rtp_session.h.

References mediaType_.

◆ getRecvAddr()

const dhtnet::IpAddr & jami::RtpSession::getRecvAddr ( ) const
inline

Definition at line 71 of file rtp_session.h.

References jami::MediaDescription::addr, and receive_.

◆ getRemoteRtpUri()

std::string jami::RtpSession::getRemoteRtpUri ( ) const
inlineprotected

◆ getSendAddr()

const dhtnet::IpAddr & jami::RtpSession::getSendAddr ( ) const
inline

Definition at line 70 of file rtp_session.h.

References jami::MediaDescription::addr, and send_.

◆ initRecorder()

virtual void jami::RtpSession::initRecorder ( )
pure virtual

◆ restartSender()

virtual void jami::RtpSession::restartSender ( )
pure virtual

◆ setMediaSource()

void jami::RtpSession::setMediaSource ( const std::string &  resource)
inline

Definition at line 49 of file rtp_session.h.

References jami::emitSignal(), and input_.

Here is the call graph for this function:

◆ setMtu()

void jami::RtpSession::setMtu ( uint16_t  mtu)
inline

Definition at line 60 of file rtp_session.h.

References jami::emitSignal(), and mtu_.

Here is the call graph for this function:

◆ setMuted()

virtual void jami::RtpSession::setMuted ( bool  mute,
Direction  dir = Direction::SEND 
)
pure virtual

◆ setSuccessfulSetupCb()

void jami::RtpSession::setSuccessfulSetupCb ( const std::function< void(MediaType, bool)> &  cb)
inline

Definition at line 62 of file rtp_session.h.

References jami::emitSignal(), and onSuccessfulSetup_.

Here is the call graph for this function:

◆ start()

virtual void jami::RtpSession::start ( std::unique_ptr< dhtnet::IceSocket >  rtp_sock,
std::unique_ptr< dhtnet::IceSocket >  rtcp_sock 
)
pure virtual

◆ stop()

virtual void jami::RtpSession::stop ( )
pure virtual

◆ streamId()

std::string jami::RtpSession::streamId ( ) const
inline

Definition at line 73 of file rtp_session.h.

References streamId_.

◆ updateMedia()

virtual void jami::RtpSession::updateMedia ( const MediaDescription send,
const MediaDescription receive 
)
inlinevirtual

Reimplemented in jami::video::VideoRtpSession.

Definition at line 54 of file rtp_session.h.

References jami::emitSignal(), receive_, and send_.

Referenced by jami::video::VideoRtpSession::updateMedia().

Here is the call graph for this function:

Member Data Documentation

◆ callId_

const std::string jami::RtpSession::callId_
protected

Definition at line 77 of file rtp_session.h.

◆ input_

std::string jami::RtpSession::input_ {}
protected

Definition at line 81 of file rtp_session.h.

Referenced by getInput(), and setMediaSource().

◆ mediaType_

MediaType jami::RtpSession::mediaType_
protected

Definition at line 79 of file rtp_session.h.

Referenced by getMediaType().

◆ mtu_

uint16_t jami::RtpSession::mtu_
protected

Definition at line 84 of file rtp_session.h.

Referenced by setMtu().

◆ mutex_

◆ onSuccessfulSetup_

std::function<void(MediaType, bool)> jami::RtpSession::onSuccessfulSetup_
protected

Definition at line 86 of file rtp_session.h.

Referenced by setSuccessfulSetupCb().

◆ receive_

◆ recorder_

std::shared_ptr<MediaRecorder> jami::RtpSession::recorder_
protected

◆ send_

◆ socketPair_

◆ streamId_

const std::string jami::RtpSession::streamId_
protected

The documentation for this class was generated from the following file: