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 Members


Detailed Description

This class implements an RTP sender based on TimedThread.

RTPSender ()

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

See also: init

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.

See also: Thread#start

~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.

See also: Thread#start

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().

See also: ManagedStreamInterface#getQoSDescription

void updateQuality (const AbstractQoSDescription* aqd)

Implementation of ManagedStreamInterface's updateQuality().

See also: ManagedStreamInterface#updateQuality

void lock ()

Implementation of ManagedStreamInterface's lock().

See also: ManagedStreamInterface#lock

void unlock ()

Implementation of ManagedStreamInterface's unlock().

See also: ManagedStreamInterface#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.