This template class adds the threading aspect to the RTPSessionBase template in one of the many possible ways.
More...
#include <rtp.h>
Inheritance diagram for SingleThreadRTPSession< RTPDataChannel, RTCPChannel, ServiceQueue >:
Collaboration diagram for SingleThreadRTPSession< RTPDataChannel, RTCPChannel, ServiceQueue >:
Public Member Functions
Activate stack and start service thread.
More...
Set the value of the TTL field in the sent packets.
More...
RTPDataChannel *
getDSO (void)
Protected Member Functions
Single runnable method for this RTP stacks, schedules outgoing and incoming RTP data and RTCP packets.
More...
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
Detailed Description
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
class SingleThreadRTPSession< RTPDataChannel, RTCPChannel, ServiceQueue >
This template class adds the threading aspect to the RTPSessionBase template in one of the many possible ways.
It inherits from a single execution thread that schedules sending of outgoing packets and receipt of incoming packets.
- Author
- Federico Montesino Pouzols fedem.nosp@m.p@al.nosp@m.tern..nosp@m.org
Definition at line 418 of file rtp.h.
Constructor & Destructor Documentation
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
tpport_t
controlPort = 0
,
int
pri = 0
,
)
inline
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
const InetHostAddress &
ia,
tpport_t
controlPort = 0
,
int
pri = 0
,
)
inline
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
tpport_t
controlPort = 0
,
int
pri = 0
,
uint32
iface = 0
)
inline
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
const InetMcastAddress &
ia,
tpport_t
controlPort = 0
,
int
pri = 0
,
uint32
iface = 0
)
inline
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
Member Function 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>
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>
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>
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
uint32
iface
)
inlineprotectedinherited
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>
size_t
len,
InetHostAddress &
na,
tpport_t &
tp
)
inlineprotectedinherited
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
)
inlineprotectedinherited
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>
Single runnable method for this RTP stacks, schedules outgoing and incoming RTP data and RTCP packets.
Definition at line 553 of file rtp.h.
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
size_t
len
)
inlineprotectedinherited
- 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
)
inlineprotectedinherited
- 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
)
inlineprotectedinherited
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
tpport_t
port
)
inlineprotectedinherited
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.
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
Activate stack and start service thread.
Definition at line 508 of file rtp.h.
template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>
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>
The documentation for this class was generated from the following file: