#include <rtp.h>
Public Member Functions | |
TRTPSessionBase (const InetHostAddress &ia, tpport_t dataPort, tpport_t controlPort, uint32 membersSize, RTPApplication &app) | |
Builds a session waiting for packets in a host address. | |
TRTPSessionBase (uint32 ssrc, const InetHostAddress &ia, tpport_t dataPort, tpport_t controlPort, uint32 membersSize, RTPApplication &app) | |
Builds a session with the specified ssrc identifier for the local source. | |
TRTPSessionBase (const InetMcastAddress &ia, tpport_t dataPort, tpport_t controlPort, uint32 membersSize, RTPApplication &app, uint32 iface) | |
Builds a session waiting for packets in a multicast address. | |
TRTPSessionBase (uint32 ssrc, const InetMcastAddress &ia, tpport_t dataPort, tpport_t controlPort, uint32 membersSize, RTPApplication &app, uint32 iface) | |
Builds a session waiting for packets in a multicast address, with the specified ssrc identifier for the local source. | |
virtual size_t | dispatchBYE (const std::string &str) |
Socket::Error | setMcastTTL (uint8 ttl) |
Set the value of the TTL field in the sent packets. | |
virtual | ~TRTPSessionBase () |
RTPDataChannel * | getDSO (void) |
Protected Member Functions | |
bool | isPendingData (microtimeout_t timeout) |
InetHostAddress | getDataSender (tpport_t *port=NULL) const |
size_t | getNextDataPacketSize () const |
size_t | recvData (unsigned char *buffer, size_t len, InetHostAddress &na, tpport_t &tp) |
Receive data from the data channel/socket. | |
void | setDataPeer (const InetAddress &host, tpport_t port) |
size_t | sendData (const unsigned char *const buffer, size_t len) |
SOCKET | getDataRecvSocket () const |
bool | isPendingControl (microtimeout_t timeout) |
InetHostAddress | getControlSender (tpport_t *port=NULL) const |
size_t | recvControl (unsigned char *buffer, size_t len, InetHostAddress &na, tpport_t &tp) |
Receive data from the control channel/socket. | |
void | setControlPeer (const InetAddress &host, tpport_t port) |
size_t | sendControl (const unsigned char *const buffer, size_t len) |
SOCKET | getControlRecvSocket () const |
Socket::Error | joinGroup (const InetMcastAddress &ia, uint32 iface) |
Join a multicast group. | |
Socket::Error | leaveGroup (const InetMcastAddress &ia) |
Leave a multicast group. | |
void | endSocket () |
Protected Attributes | |
RTPDataChannel * | dso |
RTCPChannel * | cso |
Friends | |
class | RTPSessionBaseHandler |
TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::TRTPSessionBase | ( | const InetHostAddress & | ia, | |
tpport_t | dataPort, | |||
tpport_t | controlPort, | |||
uint32 | membersSize, | |||
RTPApplication & | app | |||
) | [inline] |
Builds a session waiting for packets in a host address.
ia | Network address this socket is to be bound. | |
dataPort | Transport port the data socket is to be bound. | |
controlPort | Transport port the control socket is to be bound. | |
membersSize | Initial size of the membership table. | |
app | Application this session is associated to. |
TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::TRTPSessionBase | ( | uint32 | ssrc, | |
const InetHostAddress & | ia, | |||
tpport_t | dataPort, | |||
tpport_t | controlPort, | |||
uint32 | membersSize, | |||
RTPApplication & | app | |||
) | [inline] |
Builds a session with the specified ssrc identifier for the local source.
ssrc | SSRC identifier for the local source. | |
ia | Network address this socket is to be bound. | |
dataPort | Transport port the data socket is to be bound. | |
controlPort | Transport port the control socket is to be bound. | |
membersSize | Initial size of the membership table. | |
app | Application this session is associated to. |
TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::TRTPSessionBase | ( | const InetMcastAddress & | ia, | |
tpport_t | dataPort, | |||
tpport_t | controlPort, | |||
uint32 | membersSize, | |||
RTPApplication & | app, | |||
uint32 | iface | |||
) | [inline] |
Builds a session waiting for packets in a multicast address.
TODO: ssrc constructor for multicast!
ia | Multicast address this socket is to be bound. | |
dataPort | Transport port the data socket is to be bound. | |
controlPort | Transport port the control socket is to be bound. | |
membersSize | Initial size of the membership table. | |
app | Application this session is associated to. | |
iface | Index (from 0 to n) of network interface to join to multicast group. |
TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::TRTPSessionBase | ( | uint32 | ssrc, | |
const InetMcastAddress & | ia, | |||
tpport_t | dataPort, | |||
tpport_t | controlPort, | |||
uint32 | membersSize, | |||
RTPApplication & | app, | |||
uint32 | iface | |||
) | [inline] |
Builds a session waiting for packets in a multicast address, with the specified ssrc identifier for the local source.
ssrc | SSRC identifier for the local source. | |
ia | Multicast address this socket is to be bound. | |
dataPort | Transport port the data socket is to be bound. | |
controlPort | Transport port the control socket is to be bound. | |
membersSize | Initial size of the membership table. | |
app | Application this session is associated to. | |
iface | Index (from 0 to n) of network interface to join to multicast group. |
virtual TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::~TRTPSessionBase | ( | ) | [inline, virtual] |
virtual size_t TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::dispatchBYE | ( | const std::string & | str | ) | [inline, virtual] |
Reimplemented in SingleThreadRTPSession< RTPDataChannel, RTCPChannel, ServiceQueue >.
void TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::endSocket | ( | ) | [inline, protected] |
SOCKET TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::getControlRecvSocket | ( | ) | const [inline, protected] |
InetHostAddress TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::getControlSender | ( | tpport_t * | port = NULL |
) | const [inline, protected] |
SOCKET TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::getDataRecvSocket | ( | ) | const [inline, protected] |
InetHostAddress TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::getDataSender | ( | tpport_t * | port = NULL |
) | const [inline, protected] |
RTPDataChannel* TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::getDSO | ( | void | ) | [inline] |
size_t TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::getNextDataPacketSize | ( | ) | const [inline, protected] |
bool TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::isPendingControl | ( | microtimeout_t | timeout | ) | [inline, protected] |
timeout | maximum timeout to wait, in microseconds |
bool TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::isPendingData | ( | microtimeout_t | timeout | ) | [inline, protected] |
timeout | maximum timeout to wait, in microseconds |
Reimplemented in SingleThreadRTPSession< RTPDataChannel, RTCPChannel, ServiceQueue >.
Socket::Error TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::joinGroup | ( | const InetMcastAddress & | ia, | |
uint32 | iface | |||
) | [inline, protected] |
Join a multicast group.
ia | address of the multicast group |
Socket::Error TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::leaveGroup | ( | const InetMcastAddress & | ia | ) | [inline, protected] |
Leave a multicast group.
ia | address of the multicast group |
size_t TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::recvControl | ( | unsigned char * | buffer, | |
size_t | len, | |||
InetHostAddress & | na, | |||
tpport_t & | tp | |||
) | [inline, protected] |
Receive data from the control channel/socket.
buffer | Buffer where to get data. | |
len | Maximum number of octets to get. | |
na | Source network address. | |
tp | Source transport port. |
size_t TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::recvData | ( | unsigned char * | buffer, | |
size_t | len, | |||
InetHostAddress & | na, | |||
tpport_t & | tp | |||
) | [inline, protected] |
Receive data from the data channel/socket.
buffer | Memory region to read to. | |
len | Maximum number of octets to get. | |
na | Source network address. | |
tp | Source transport port. |
size_t TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::sendControl | ( | const unsigned char *const | buffer, | |
size_t | len | |||
) | [inline, protected] |
buffer | ||
len |
size_t TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::sendData | ( | const unsigned char *const | buffer, | |
size_t | len | |||
) | [inline, protected] |
buffer | memory region to write from | |
len | number of octets to write |
void TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::setControlPeer | ( | const InetAddress & | host, | |
tpport_t | port | |||
) | [inline, protected] |
void TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::setDataPeer | ( | const InetAddress & | host, | |
tpport_t | port | |||
) | [inline, protected] |
Socket::Error TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::setMcastTTL | ( | uint8 | ttl | ) | [inline] |
Set the value of the TTL field in the sent packets.
ttl | Time To Live |
friend class RTPSessionBaseHandler [friend] |
RTCPChannel* TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::cso [protected] |
RTPDataChannel* TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::dso [protected] |