#include <rtp.h>
List of all members.
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 |
Constructor & Destructor Documentation
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
Builds a session waiting for packets in a host address.
- Parameters:
-
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. |
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
Builds a session with the specified ssrc identifier for the local source.
- Parameters:
-
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. |
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
Builds a session waiting for packets in a multicast address.
TODO: ssrc constructor for multicast!
- Parameters:
-
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. |
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
Builds a session waiting for packets in a multicast address, with the specified ssrc identifier for the local source.
- Parameters:
-
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. |
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
Member Function Documentation
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
virtual size_t TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::dispatchBYE |
( |
const std::string & |
str | ) |
|
|
inlinevirtual |
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
void TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::endSocket |
( |
| ) |
|
|
inlineprotected |
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
SOCKET TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::getControlRecvSocket |
( |
| ) |
const |
|
inlineprotected |
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
InetHostAddress TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::getControlSender |
( |
tpport_t * |
port = NULL | ) |
const |
|
inlineprotected |
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
SOCKET TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::getDataRecvSocket |
( |
| ) |
const |
|
inlineprotected |
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
InetHostAddress TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::getDataSender |
( |
tpport_t * |
port = NULL | ) |
const |
|
inlineprotected |
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
RTPDataChannel* TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::getDSO |
( |
void |
| ) |
|
|
inline |
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
size_t TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::getNextDataPacketSize |
( |
| ) |
const |
|
inlineprotected |
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
- Parameters:
-
timeout | maximum timeout to wait, in microseconds |
- Returns:
- whether there are packets waiting to be picked
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
Socket::Error TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::joinGroup |
( |
const InetMcastAddress & |
ia, |
|
|
uint32 |
iface |
|
) |
| |
|
inlineprotected |
Join a multicast group.
- Parameters:
-
ia | address of the multicast group |
- Returns:
- error code from the socket operation
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
Socket::Error TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::leaveGroup |
( |
const InetMcastAddress & |
ia | ) |
|
|
inlineprotected |
Leave a multicast group.
- Parameters:
-
ia | address of the multicast group |
- Returns:
- error code from the socket operation
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
size_t TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::recvControl |
( |
unsigned char * |
buffer, |
|
|
size_t |
len, |
|
|
InetHostAddress & |
na, |
|
|
tpport_t & |
tp |
|
) |
| |
|
inlineprotected |
Receive data from the control channel/socket.
- Parameters:
-
buffer | Buffer where to get data. |
len | Maximum number of octets to get. |
na | Source network address. |
tp | Source transport port. |
- Returns:
- Number of octets actually read.
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
size_t TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::recvData |
( |
unsigned char * |
buffer, |
|
|
size_t |
len, |
|
|
InetHostAddress & |
na, |
|
|
tpport_t & |
tp |
|
) |
| |
|
inlineprotected |
Receive data from the data channel/socket.
- Parameters:
-
buffer | Memory region to read to. |
len | Maximum number of octets to get. |
na | Source network address. |
tp | Source transport port. |
- Returns:
- Number of octets actually read.
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
size_t TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::sendControl |
( |
const unsigned char *const |
buffer, |
|
|
size_t |
len |
|
) |
| |
|
inlineprotected |
- Returns:
- number of octets actually written
- Parameters:
-
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
size_t TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::sendData |
( |
const unsigned char *const |
buffer, |
|
|
size_t |
len |
|
) |
| |
|
inlineprotected |
- Parameters:
-
buffer | memory region to write from |
len | number of octets to write |
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
void TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::setControlPeer |
( |
const InetAddress & |
host, |
|
|
tpport_t |
port |
|
) |
| |
|
inlineprotected |
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
void TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::setDataPeer |
( |
const InetAddress & |
host, |
|
|
tpport_t |
port |
|
) |
| |
|
inlineprotected |
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
Socket::Error TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::setMcastTTL |
( |
uint8 |
ttl | ) |
|
|
inline |
Set the value of the TTL field in the sent packets.
- Parameters:
-
- Returns:
- error code from the socket operation
Friends And Related Function Documentation
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
Member Data Documentation
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
RTCPChannel* TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::cso |
|
protected |
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
RTPDataChannel* TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >::dso |
|
protected |
The documentation for this class was generated from the following file: