SYNOPSIS

#include <rtp.h>

Inherits Thread, and TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >.

Public Member Functions

SingleThreadRTPSession (const InetHostAddress &ia, tpport_t dataPort=DefaultRTPDataPort, tpport_t controlPort=0, int pri=0, uint32 memberssize=MembershipBookkeeping::defaultMembersHashSize, RTPApplication &app=defaultApplication())

SingleThreadRTPSession (uint32 ssrc, const InetHostAddress &ia, tpport_t dataPort=DefaultRTPDataPort, tpport_t controlPort=0, int pri=0, uint32 memberssize=MembershipBookkeeping::defaultMembersHashSize, RTPApplication &app=defaultApplication())

SingleThreadRTPSession (const InetMcastAddress &ia, tpport_t dataPort=DefaultRTPDataPort, tpport_t controlPort=0, int pri=0, uint32 memberssize=MembershipBookkeeping::defaultMembersHashSize, RTPApplication &app=defaultApplication(), uint32 iface=0)

SingleThreadRTPSession (uint32 ssrc, const InetMcastAddress &ia, tpport_t dataPort=DefaultRTPDataPort, tpport_t controlPort=0, int pri=0, uint32 memberssize=MembershipBookkeeping::defaultMembersHashSize, RTPApplication &app=defaultApplication(), uint32 iface=0)

~SingleThreadRTPSession ()

void startRunning ()

Activate stack and start service thread.

Protected Member Functions

void disableStack (void)

void enableStack (void)

microtimeout_t getSchedulingTimeout (void)

void controlReceptionService (void)

void controlTransmissionService (void)

timeval getRTCPCheckInterval (void)

size_t dispatchDataPacket (void)

virtual void timerTick (void)

virtual bool isPendingData (microtimeout_t timeout)

virtual void run (void)

Single runnable method for this RTP stacks, schedules outgoing and incoming RTP data and RTCP packets. size_t takeInDataPacket (void)

size_t dispatchBYE (const std::string &str)

Additional Inherited Members

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 [email protected]

Examples: audiorx.cpp, audiotx.cpp, ccrtptest.cpp, rtphello.cpp, rtplisten.cpp, and rtpsend.cpp.

Constructor & Destructor Documentation

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> \fBSingleThreadRTPSession\fP< RTPDataChannel, RTCPChannel, ServiceQueue >::\fBSingleThreadRTPSession\fP (const InetHostAddress &ia, tpport_tdataPort = \fC\fBDefaultRTPDataPort\fP\fP, tpport_tcontrolPort = \fC0\fP, intpri = \fC0\fP, uint32memberssize = \fC\fBMembershipBookkeeping::defaultMembersHashSize\fP\fP, \fBRTPApplication\fP &app = \fC\fBdefaultApplication\fP()\fP)\fC [inline]\fP

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> \fBSingleThreadRTPSession\fP< RTPDataChannel, RTCPChannel, ServiceQueue >::\fBSingleThreadRTPSession\fP (uint32ssrc, const InetHostAddress &ia, tpport_tdataPort = \fC\fBDefaultRTPDataPort\fP\fP, tpport_tcontrolPort = \fC0\fP, intpri = \fC0\fP, uint32memberssize = \fC\fBMembershipBookkeeping::defaultMembersHashSize\fP\fP, \fBRTPApplication\fP &app = \fC\fBdefaultApplication\fP()\fP)\fC [inline]\fP

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> \fBSingleThreadRTPSession\fP< RTPDataChannel, RTCPChannel, ServiceQueue >::\fBSingleThreadRTPSession\fP (const InetMcastAddress &ia, tpport_tdataPort = \fC\fBDefaultRTPDataPort\fP\fP, tpport_tcontrolPort = \fC0\fP, intpri = \fC0\fP, uint32memberssize = \fC\fBMembershipBookkeeping::defaultMembersHashSize\fP\fP, \fBRTPApplication\fP &app = \fC\fBdefaultApplication\fP()\fP, uint32iface = \fC0\fP)\fC [inline]\fP

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> \fBSingleThreadRTPSession\fP< RTPDataChannel, RTCPChannel, ServiceQueue >::\fBSingleThreadRTPSession\fP (uint32ssrc, const InetMcastAddress &ia, tpport_tdataPort = \fC\fBDefaultRTPDataPort\fP\fP, tpport_tcontrolPort = \fC0\fP, intpri = \fC0\fP, uint32memberssize = \fC\fBMembershipBookkeeping::defaultMembersHashSize\fP\fP, \fBRTPApplication\fP &app = \fC\fBdefaultApplication\fP()\fP, uint32iface = \fC0\fP)\fC [inline]\fP

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> \fBSingleThreadRTPSession\fP< RTPDataChannel, RTCPChannel, ServiceQueue >::~\fBSingleThreadRTPSession\fP ()\fC [inline]\fP

Member Function Documentation

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> void \fBSingleThreadRTPSession\fP< RTPDataChannel, RTCPChannel, ServiceQueue >::controlReceptionService (void)\fC [inline]\fP, \fC [protected]\fP

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> void \fBSingleThreadRTPSession\fP< RTPDataChannel, RTCPChannel, ServiceQueue >::controlTransmissionService (void)\fC [inline]\fP, \fC [protected]\fP

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> void \fBSingleThreadRTPSession\fP< RTPDataChannel, RTCPChannel, ServiceQueue >::disableStack (void)\fC [inline]\fP, \fC [protected]\fP

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> size_t \fBSingleThreadRTPSession\fP< RTPDataChannel, RTCPChannel, ServiceQueue >::dispatchBYE (const std::string &str)\fC [inline]\fP, \fC [protected]\fP, \fC [virtual]\fP

Reimplemented from TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >.

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> size_t \fBSingleThreadRTPSession\fP< RTPDataChannel, RTCPChannel, ServiceQueue >::dispatchDataPacket (void)\fC [inline]\fP, \fC [protected]\fP

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> void \fBSingleThreadRTPSession\fP< RTPDataChannel, RTCPChannel, ServiceQueue >::enableStack (void)\fC [inline]\fP, \fC [protected]\fP

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> timeval \fBSingleThreadRTPSession\fP< RTPDataChannel, RTCPChannel, ServiceQueue >::getRTCPCheckInterval (void)\fC [inline]\fP, \fC [protected]\fP

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> \fBmicrotimeout_t\fP \fBSingleThreadRTPSession\fP< RTPDataChannel, RTCPChannel, ServiceQueue >::getSchedulingTimeout (void)\fC [inline]\fP, \fC [protected]\fP

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> virtual bool \fBSingleThreadRTPSession\fP< RTPDataChannel, RTCPChannel, ServiceQueue >::isPendingData (\fBmicrotimeout_t\fPtimeout)\fC [inline]\fP, \fC [protected]\fP, \fC [virtual]\fP

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> virtual void \fBSingleThreadRTPSession\fP< RTPDataChannel, RTCPChannel, ServiceQueue >::run (void)\fC [inline]\fP, \fC [protected]\fP, \fC [virtual]\fP

Single runnable method for this RTP stacks, schedules outgoing and incoming RTP data and RTCP packets.

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> void \fBSingleThreadRTPSession\fP< RTPDataChannel, RTCPChannel, ServiceQueue >::startRunning ()\fC [inline]\fP

Activate stack and start service thread.

Examples: ccrtptest.cpp.

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> size_t \fBSingleThreadRTPSession\fP< RTPDataChannel, RTCPChannel, ServiceQueue >::takeInDataPacket (void)\fC [inline]\fP, \fC [protected]\fP

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel = DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> virtual void \fBSingleThreadRTPSession\fP< RTPDataChannel, RTCPChannel, ServiceQueue >::timerTick (void)\fC [inline]\fP, \fC [protected]\fP, \fC [virtual]\fP

Author

Generated automatically by Doxygen for ccRTP from the source code.