class RTPSender

RTP Sender. More...

Full nameCoral::RTPSender
Definition#include <rtpsender.h>
InheritsManagedStreamInterface [virtual public], Coral::TimedThread
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Methods


Detailed Description

This class implements an RTP sender based on TimedThread.

 RTPSender ()

Default constructor. You have to initialize RTPSender by calling init(...) later!

 RTPSender (const card32 ssrc, EncoderInterface* encoder, Socket* senderSocket, const cardinal maxPacketSize = 1500 ,BandwidthManager* bwManager = NULL )

Constructor for new RTPSender. The new sender's thread has to be started by calling start()!

Parameters:
ssrcSender's SSRC (see RFC 1889).
encoderEncoder to get packets to send from.
senderSocketSocket to write packets to.
maxPacketSizeMaximum packet size.
bwManagerBandwidth manager.

RTPSender ()

Destructor.

void  init (const card32 ssrc, EncoderInterface* encoder, Socket* senderSocket, const cardinal maxPacketSize = 1500 ,BandwidthManager* bwManager = NULL )

Initialize new RTPSender. The new sender's thread has to be started by calling start()!

Parameters:
ssrcSender's SSRC (see RFC 1889).
encoderEncoder to get packets to send from.
senderSocketSocket to write packets to.
maxPacketSizeMaximum packet size.
bwManagerBandwidth manager.

void  adaptQuality (const double fractionLost, const cardinal layer)

Adapt quality.

Parameters:
fractionLostFraction of packets lost.
layerLayer number.

void  getTransportInfo (ExtendedTransportInfo& transportInfo, const bool calculateLevels = true)

Get TransportInfo for encoding.

Parameters:
transportInfoPointer to ExtendedTransportInfo.
calculateLevelstrue to calculate all level constants; false otherwise.

void  setTransportInfo (ExtendedTransportInfo& transportInfo, const bool calculateLevels = true)

Set TransportInfo for encoding.

Parameters:
transportInfoPointer to ExtendedTransportInfo.
calculateLevelstrue to calculate all level constants; false otherwise.

AbstractQoSDescription*  getQoSDescription (const card64 offset)

Implementation of ManagedStreamInterface's getQoSDescription().

void  updateQuality (const AbstractQoSDescription* aqd)

Implementation of ManagedStreamInterface's updateQuality().

void  lock ()

Implementation of ManagedStreamInterface's lock().

void  unlock ()

Implementation of ManagedStreamInterface's unlock().

inline cardinal  getMaxPacketSize ()

[const]

Get maximum packet size.

Returns: Maximum packet size.

inline cardinal  setMaxPacketSize (const cardinal size)

Set maximum packet size.

Parameters:
sizeMaximum packet size.

Returns: Maximum packet size set.

inline bool  paused ()

[const]

Check, if transmission is paused.

Returns: true, if paused; false otherwise.

inline bool  transmissionErrorDetected ()

Check, if transmission error has been detected (e.g. destination rejects packets, no route etc.). Note: The transmission error attribute will be resetted to false by calling this method.

inline void  setPause (const bool on)

Set pause on or off.

Parameters:
ontrue to set pause on; false to set pause off.

inline card64  getBytesSent ()

[const]

Get number of bytes sent.

Returns: Bytes sent.

inline card64  getPacketsSent ()

[const]

Get number of packets sent.

Returns: Packets sent.

inline void  resetBytesSent ()

Reset number of bytes sent.

inline void  resetPacketsSent ()

Reset number of packets sent.