JRTPLIB  3.11.0
Public Member Functions | List of all members
jrtplib::RTPSessionParams Class Reference

Describes the parameters for to be used by an RTPSession instance. More...

#include <rtpsessionparams.h>

Public Member Functions

int SetUsePollThread (bool usethread)
 If usethread is true, the session will use a poll thread to automatically process incoming data and to send RTCP packets when necessary.
 
int SetNeedThreadSafety (bool s)
 if s is true, the session will use mutexes in case multiple threads are at work. More...
 
bool IsUsingPollThread () const
 Returns whether the session should use a poll thread or not (default is true). More...
 
void SetMaximumPacketSize (size_t max)
 Sets the maximum allowed packet size for the session. More...
 
size_t GetMaximumPacketSize () const
 Returns the maximum allowed packet size (default is 1400 bytes). More...
 
void SetAcceptOwnPackets (bool accept)
 If the argument is true, the session should accept its own packets and store them accordingly in the source table.
 
bool AcceptOwnPackets () const
 Returns true if the session should accept its own packets (default is false). More...
 
void SetReceiveMode (RTPTransmitter::ReceiveMode recvmode)
 Sets the receive mode to be used by the session. More...
 
RTPTransmitter::ReceiveMode GetReceiveMode () const
 Sets the receive mode to be used by the session (default is: accept all packets). More...
 
void SetOwnTimestampUnit (double tsunit)
 Sets the timestamp unit for our own data. More...
 
double GetOwnTimestampUnit () const
 Returns the currently set timestamp unit. More...
 
void SetResolveLocalHostname (bool v)
 Sets a flag indicating if a DNS lookup should be done to determine our hostname (to construct a CNAME item). More...
 
bool GetResolveLocalHostname () const
 Returns whether the local hostname should be determined from the transmitter's list of local IP addresses or not (default is false).
 
void SetProbationType (RTPSources::ProbationType probtype)
 If probation support is enabled, this function sets the probation type to be used. More...
 
RTPSources::ProbationType GetProbationType () const
 Returns the probation type which will be used (default is RTPSources::ProbationStore). More...
 
void SetSessionBandwidth (double sessbw)
 Sets the session bandwidth in bytes per second. More...
 
double GetSessionBandwidth () const
 Returns the session bandwidth in bytes per second (default is 10000 bytes per second). More...
 
void SetControlTrafficFraction (double frac)
 Sets the fraction of the session bandwidth to be used for control traffic. More...
 
double GetControlTrafficFraction () const
 Returns the fraction of the session bandwidth that will be used for control traffic (default is 5%). More...
 
void SetSenderControlBandwidthFraction (double frac)
 Sets the minimum fraction of the control traffic that will be used by senders. More...
 
double GetSenderControlBandwidthFraction () const
 Returns the minimum fraction of the control traffic that will be used by senders (default is 25%). More...
 
void SetMinimumRTCPTransmissionInterval (const RTPTime &t)
 Set the minimal time interval between sending RTCP packets. More...
 
RTPTime GetMinimumRTCPTransmissionInterval () const
 Returns the minimal time interval between sending RTCP packets (default is 5 seconds). More...
 
void SetUseHalfRTCPIntervalAtStartup (bool usehalf)
 If usehalf is set to true, the session will only wait half of the calculated RTCP interval before sending its first RTCP packet.
 
bool GetUseHalfRTCPIntervalAtStartup () const
 Returns whether the session will only wait half of the calculated RTCP interval before sending its first RTCP packet or not (default is true).
 
void SetRequestImmediateBYE (bool v)
 If v is true, the session will send a BYE packet immediately if this is allowed. More...
 
bool GetRequestImmediateBYE () const
 Returns whether the session should send a BYE packet immediately (if allowed) or not (default is true). More...
 
void SetSenderReportForBYE (bool v)
 When sending a BYE packet, this indicates whether it will be part of an RTCP compound packet that begins with a sender report (if allowed) or a receiver report.
 
bool GetSenderReportForBYE () const
 Returns true if a BYE packet will be sent in an RTCP compound packet which starts with a sender report; if a receiver report will be used, the function returns false (default is true).
 
void SetSenderTimeoutMultiplier (double m)
 Sets the multiplier to be used when timing out senders. More...
 
double GetSenderTimeoutMultiplier () const
 Returns the multiplier to be used when timing out senders (default is 2). More...
 
void SetSourceTimeoutMultiplier (double m)
 Sets the multiplier to be used when timing out members. More...
 
double GetSourceTimeoutMultiplier () const
 Returns the multiplier to be used when timing out members (default is 5). More...
 
void SetBYETimeoutMultiplier (double m)
 Sets the multiplier to be used when timing out a member after it has sent a BYE packet. More...
 
double GetBYETimeoutMultiplier () const
 Returns the multiplier to be used when timing out a member after it has sent a BYE packet (default is 1). More...
 
void SetCollisionTimeoutMultiplier (double m)
 Sets the multiplier to be used when timing out entries in the collision table. More...
 
double GetCollisionTimeoutMultiplier () const
 Returns the multiplier to be used when timing out entries in the collision table (default is 10). More...
 
void SetNoteTimeoutMultiplier (double m)
 Sets the multiplier to be used when timing out SDES NOTE information. More...
 
double GetNoteTimeoutMultiplier () const
 Returns the multiplier to be used when timing out SDES NOTE information (default is 25). More...
 
void SetUsePredefinedSSRC (bool f)
 Sets a flag which indicates if a predefined SSRC identifier should be used. More...
 
bool GetUsePredefinedSSRC () const
 Returns a flag indicating if a predefined SSRC should be used. More...
 
void SetPredefinedSSRC (uint32_t ssrc)
 Sets the SSRC which will be used if RTPSessionParams::GetUsePredefinedSSRC returns true. More...
 
uint32_t GetPredefinedSSRC () const
 Returns the SSRC which will be used if RTPSessionParams::GetUsePredefinedSSRC returns true. More...
 
void SetCNAME (const std::string &s)
 Forces this string to be used as the CNAME identifier. More...
 
std::string GetCNAME () const
 Returns the currently set CNAME, is blank when this will be generated automatically (the default). More...
 
bool NeedThreadSafety () const
 Returns true if thread safety was requested using RTPSessionParams::SetNeedThreadSafety. More...
 

Detailed Description

Describes the parameters for to be used by an RTPSession instance. Note that the own timestamp unit must be set to a valid number, otherwise the session can't be created.

Member Function Documentation

bool jrtplib::RTPSessionParams::AcceptOwnPackets ( ) const
inline
double jrtplib::RTPSessionParams::GetBYETimeoutMultiplier ( ) const
inline
std::string jrtplib::RTPSessionParams::GetCNAME ( ) const
inline
double jrtplib::RTPSessionParams::GetCollisionTimeoutMultiplier ( ) const
inline
double jrtplib::RTPSessionParams::GetControlTrafficFraction ( ) const
inline
size_t jrtplib::RTPSessionParams::GetMaximumPacketSize ( ) const
inline
RTPTime jrtplib::RTPSessionParams::GetMinimumRTCPTransmissionInterval ( ) const
inline
double jrtplib::RTPSessionParams::GetNoteTimeoutMultiplier ( ) const
inline
double jrtplib::RTPSessionParams::GetOwnTimestampUnit ( ) const
inline
uint32_t jrtplib::RTPSessionParams::GetPredefinedSSRC ( ) const
inline
RTPSources::ProbationType jrtplib::RTPSessionParams::GetProbationType ( ) const
inline
RTPTransmitter::ReceiveMode jrtplib::RTPSessionParams::GetReceiveMode ( ) const
inline
bool jrtplib::RTPSessionParams::GetRequestImmediateBYE ( ) const
inline
double jrtplib::RTPSessionParams::GetSenderControlBandwidthFraction ( ) const
inline
double jrtplib::RTPSessionParams::GetSenderTimeoutMultiplier ( ) const
inline
double jrtplib::RTPSessionParams::GetSessionBandwidth ( ) const
inline
double jrtplib::RTPSessionParams::GetSourceTimeoutMultiplier ( ) const
inline
bool jrtplib::RTPSessionParams::GetUsePredefinedSSRC ( ) const
inline
bool jrtplib::RTPSessionParams::IsUsingPollThread ( ) const
inline
bool jrtplib::RTPSessionParams::NeedThreadSafety ( ) const
inline
void jrtplib::RTPSessionParams::SetBYETimeoutMultiplier ( double  m)
inline
void jrtplib::RTPSessionParams::SetCNAME ( const std::string &  s)
inline
void jrtplib::RTPSessionParams::SetCollisionTimeoutMultiplier ( double  m)
inline
void jrtplib::RTPSessionParams::SetControlTrafficFraction ( double  frac)
inline
void jrtplib::RTPSessionParams::SetMaximumPacketSize ( size_t  max)
inline
void jrtplib::RTPSessionParams::SetMinimumRTCPTransmissionInterval ( const RTPTime t)
inline
int jrtplib::RTPSessionParams::SetNeedThreadSafety ( bool  s)
void jrtplib::RTPSessionParams::SetNoteTimeoutMultiplier ( double  m)
inline
void jrtplib::RTPSessionParams::SetOwnTimestampUnit ( double  tsunit)
inline

Sets the timestamp unit for our own data. The timestamp unit is defined as a time interval in seconds divided by the corresponding timestamp interval. For example, for 8000 Hz audio, the timestamp unit would typically be 1/8000. Since this value is initially set to an illegal value, the user must set this to an allowed value to be able to create a session.

void jrtplib::RTPSessionParams::SetPredefinedSSRC ( uint32_t  ssrc)
inline
void jrtplib::RTPSessionParams::SetProbationType ( RTPSources::ProbationType  probtype)
inline
void jrtplib::RTPSessionParams::SetReceiveMode ( RTPTransmitter::ReceiveMode  recvmode)
inline
void jrtplib::RTPSessionParams::SetRequestImmediateBYE ( bool  v)
inline
void jrtplib::RTPSessionParams::SetResolveLocalHostname ( bool  v)
inline

If v is set to true, the session will ask the transmitter to find a host name based upon the IP addresses in its list of local IP addresses. If set to false, a call to gethostname or something similar will be used to find the local hostname. Note that the first method might take some time.

void jrtplib::RTPSessionParams::SetSenderControlBandwidthFraction ( double  frac)
inline
void jrtplib::RTPSessionParams::SetSenderTimeoutMultiplier ( double  m)
inline
void jrtplib::RTPSessionParams::SetSessionBandwidth ( double  sessbw)
inline
void jrtplib::RTPSessionParams::SetSourceTimeoutMultiplier ( double  m)
inline
void jrtplib::RTPSessionParams::SetUsePredefinedSSRC ( bool  f)
inline

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