RTP Audio System
2.0.0
|
RTCP Sender. More...
#include <rtcpsender.h>
Public Member Functions | |
RTCPSender () | |
RTCPSender (const InternetFlow &flow, const card32 ssrc, Socket *senderSocket, RTPReceiver *receiver, const card64 bandwidth, const card32 controlPPID) | |
~RTCPSender () | |
void | init (const InternetFlow &flow, const card32 ssrc, Socket *senderSocket, RTPReceiver *receiver, const card64 bandwidth, const card32 controlPPID) |
integer | sendApp (const char *name, const void *data, const cardinal dataLength) |
integer | sendBye () |
integer | sendReport () |
integer | sendSDES () |
bool | addSDESItem (const card8 type, const void *data, const card8 length=0) |
void | removeSDESItem (const card8 type) |
Private Member Functions | |
void | timerEvent () |
double | computeTransmissionInterval () |
Private Attributes | |
InternetFlow | Flow |
SocketAddress * | ReceiverAddress |
Socket * | SenderSocket |
RTPReceiver * | Receiver |
card32 | SSRC |
std::multimap< const card8, RTCPSourceDescriptionItem * > | SDESItemSet |
Randomizer | Random |
card32 | ControlPPID |
bool | Initial |
bool | WeSent |
integer | Senders |
integer | Members |
double | RTCPBandwidth |
double | AverageRTCPSize |
RTCPSender::RTCPSender | ( | const InternetFlow & | flow, |
const card32 | ssrc, | ||
Socket * | senderSocket, | ||
RTPReceiver * | receiver, | ||
const card64 | bandwidth, | ||
const card32 | controlPPID | ||
) |
Constructor for new RTCPSender. The new sender's thread has to be started by calling start()!
flow | Flow to remote side. |
ssrc | SSRC. |
senderSocket | Socket to write data to. |
receiver | RTPReceiver for reports to send. |
bandwidth | RTCP Bandwidth (see RFC 1889). |
controlPPID | PPID for SCTP transport. |
Destructor.
bool RTCPSender::addSDESItem | ( | const card8 | type, |
const void * | data, | ||
const card8 | length = 0 |
||
) |
Add SDES item to SDES item list. If a SDES item with the same type already exists in the list, the new item replaces the old item.
type | SDES item type. |
data | SDES item data. |
length | SDES item data length. |
double RTCPSender::computeTransmissionInterval | ( | ) | [private] |
void RTCPSender::init | ( | const InternetFlow & | flow, |
const card32 | ssrc, | ||
Socket * | senderSocket, | ||
RTPReceiver * | receiver, | ||
const card64 | bandwidth, | ||
const card32 | controlPPID | ||
) |
Initialize new RTCPSender. The new sender's thread has to be started by calling start()!
flow | Flow to remote side. |
ssrc | SSRC. |
senderSocket | Socket to write data to. |
receiver | RTPReceiver for reports to send. |
bandwidth | RTCP Bandwidth (see RFC 1889). |
controlPPID | PPID for SCTP transport. |
void RTCPSender::removeSDESItem | ( | const card8 | type | ) |
Remove SDES item from SDES item list.
type | SDES item type to be removed. |
integer RTCPSender::sendApp | ( | const char * | name, |
const void * | data, | ||
const cardinal | dataLength | ||
) |
Send RTCP APP message.
name | RTCP APP name. |
data | RTCP APP data. |
dataLength | RTCP APP data length. |
Send RTCP BYE message.
Send RTCP receiver report from the SourceStateInfo given in the constructor.
Send RTCP SDES message from the list given by addSDESItem().
void RTCPSender::timerEvent | ( | ) | [private, virtual] |
The virtual timerEvent() method, which contains the timed thread's implementation. It has to be implemented by classes, which inherit TimedThread. This method is called regularly with the given interval.
Implements TimedThread.
double RTCPSender::AverageRTCPSize [private] |
card32 RTCPSender::ControlPPID [private] |
InternetFlow RTCPSender::Flow [private] |
bool RTCPSender::Initial [private] |
integer RTCPSender::Members [private] |
Randomizer RTCPSender::Random [private] |
RTPReceiver* RTCPSender::Receiver [private] |
SocketAddress* RTCPSender::ReceiverAddress [private] |
double RTCPSender::RTCPBandwidth [private] |
std::multimap<const card8,RTCPSourceDescriptionItem*> RTCPSender::SDESItemSet [private] |
integer RTCPSender::Senders [private] |
Socket* RTCPSender::SenderSocket [private] |
card32 RTCPSender::SSRC [private] |
bool RTCPSender::WeSent [private] |