#include <rtp.h>
Inheritance diagram for TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >:
Collaboration diagram for TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >:
Public Member Functions
Builds a session waiting for packets in a host address.
More...
Builds a session with the specified ssrc identifier for the local source.
More...
Builds a session waiting for packets in a multicast address.
More...
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.
More...
Set the value of the TTL field in the sent packets.
More...
RTPDataChannel *
getDSO (void)
Protected Member Functions
size_t
recvData (unsigned char *buffer, size_t len, InetHostAddress &na, tpport_t &tp)
Receive data from the data channel/socket.
More...
void
setDataPeer (const InetAddress &host, tpport_t port)
size_t
sendData (const unsigned char *const buffer, size_t len)
size_t
recvControl (unsigned char *buffer, size_t len, InetHostAddress &na, tpport_t &tp)
Receive data from the control channel/socket.
More...
size_t
sendControl (const unsigned char *const buffer, size_t len)
Socket::Error
joinGroup (const InetMcastAddress &ia, uint32 iface)
Socket::Error
leaveGroup (const InetMcastAddress &ia)
Protected Attributes
Private Member Functions
void
build (const InetHostAddress &ia, tpport_t dataPort, tpport_t controlPort)
void
build (const InetMcastAddress &ia, tpport_t dataPort, tpport_t controlPort, uint32 iface)
Ensure a port number is odd.
More...
Ensure a port number is even.
More...
Private Attributes
Friends
Detailed Description
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
class TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >
Definition at line 87 of file rtp.h.
Constructor & Destructor Documentation
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
tpport_t
dataPort,
tpport_t
controlPort,
uint32
membersSize,
)
inline
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.
Definition at line 99 of file rtp.h.
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
const InetHostAddress &
ia,
tpport_t
dataPort,
tpport_t
controlPort,
uint32
membersSize,
)
inline
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.
Definition at line 116 of file rtp.h.
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
tpport_t
dataPort,
tpport_t
controlPort,
uint32
membersSize,
uint32
iface
)
inline
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.
Definition at line 135 of file rtp.h.
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
const InetMcastAddress &
ia,
tpport_t
dataPort,
tpport_t
controlPort,
uint32
membersSize,
uint32
iface
)
inline
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.
Definition at line 155 of file rtp.h.
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
Member Function Documentation
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
tpport_t
dataPort,
tpport_t
controlPort
)
inlineprivate
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
tpport_t
dataPort,
tpport_t
controlPort,
uint32
iface
)
inlineprivate
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
Ensure a port number is even.
If it is an odd number, return the next lower (even) port number.
- Parameters
-
port number to filter
- Returns
- filtered (even) port number
Definition at line 392 of file rtp.h.
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
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
Definition at line 245 of file rtp.h.
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
- Parameters
-
timeout maximum timeout to wait, in microseconds
Definition at line 199 of file rtp.h.
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
uint32
iface
)
inlineprotected
Join a multicast group.
- Parameters
-
ia address of the multicast group
- Returns
- error code from the socket operation
Definition at line 289 of file rtp.h.
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
Leave a multicast group.
- Parameters
-
ia address of the multicast group
- Returns
- error code from the socket operation
Definition at line 315 of file rtp.h.
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
Ensure a port number is odd.
If it is an even number, return the next lower (odd) port number.
- Parameters
-
port number to filter
- Returns
- filtered (odd) port number
Definition at line 381 of file rtp.h.
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
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.
Definition at line 262 of file rtp.h.
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
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.
Definition at line 220 of file rtp.h.
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
size_t
len
)
inlineprotected
- Returns
- number of octets actually written
- Parameters
-
buffer
len
Definition at line 276 of file rtp.h.
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
size_t
len
)
inlineprotected
- Parameters
-
buffer memory region to write from
len number of octets to write
Definition at line 234 of file rtp.h.
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
tpport_t
port
)
inlineprotected
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
tpport_t
port
)
inlineprotected
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
Set the value of the TTL field in the sent packets.
- Parameters
-
ttl Time To Live
- Returns
- error code from the socket operation
Definition at line 174 of file rtp.h.
Friends And Related Function Documentation
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
Field Documentation
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
The documentation for this class was generated from the following file: