SingleThreadRTPSession(3)

This template class adds the threading aspect to the RTPSessionBase template in one of the many possible ways.

Section 3 libccrtp-doc bookworm source

Description

SingleThreadRTPSession< RTPDataChannel, RTCPChannel, ServiceQueue >

NAME

SingleThreadRTPSession< RTPDataChannel, RTCPChannel, ServiceQueue > - This template class adds the threading aspect to the RTPSessionBase template in one of the many possible ways.

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 fedemp@altern.org

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>SingleThreadRTPSession< RTPDataChannel, RTCPChannel, ServiceQueue>::SingleThreadRTPSession (const InetHostAddress & ia, tpport_t dataPort =DefaultRTPDataPort, tpport_t controlPort = 0, int pri = 0, uint32memberssize = MembershipBookkeeping::defaultMembersHashSize, RTPApplication& app = defaultApplication()) [inline]

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel =DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>SingleThreadRTPSession< RTPDataChannel, RTCPChannel, ServiceQueue>::SingleThreadRTPSession (uint32 ssrc, const InetHostAddress & ia,tpport_t dataPort = DefaultRTPDataPort, tpport_t controlPort = 0, int pri =0, uint32 memberssize = MembershipBookkeeping::defaultMembersHashSize,RTPApplication & app = defaultApplication()) [inline]

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel =DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>SingleThreadRTPSession< RTPDataChannel, RTCPChannel, ServiceQueue>::SingleThreadRTPSession (const InetMcastAddress & ia, tpport_t dataPort =DefaultRTPDataPort, tpport_t controlPort = 0, int pri = 0, uint32memberssize = MembershipBookkeeping::defaultMembersHashSize, RTPApplication& app = defaultApplication(), uint32 iface = 0) [inline]

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel =DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>SingleThreadRTPSession< RTPDataChannel, RTCPChannel, ServiceQueue>::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) [inline]

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel =DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue>SingleThreadRTPSession< RTPDataChannel, RTCPChannel, ServiceQueue>::˜SingleThreadRTPSession () [inline]

Member Function Documentation

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

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

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

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

Reimplemented from TRTPSessionBase< RTPDataChannel, RTCPChannel, ServiceQueue >.

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel =DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> size_tSingleThreadRTPSession< RTPDataChannel, RTCPChannel, ServiceQueue>::dispatchDataPacket (void) [inline], [protected]

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

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel =DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> timevalSingleThreadRTPSession< RTPDataChannel, RTCPChannel, ServiceQueue>::getRTCPCheckInterval (void) [inline], [protected]

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel =DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> microtimeout_tSingleThreadRTPSession< RTPDataChannel, RTCPChannel, ServiceQueue>::getSchedulingTimeout (void) [inline], [protected]

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel =DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> virtual boolSingleThreadRTPSession< RTPDataChannel, RTCPChannel, ServiceQueue>::isPendingData (microtimeout_t timeout) [inline], [protected],[virtual]

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

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> voidSingleThreadRTPSession< RTPDataChannel, RTCPChannel, ServiceQueue>::startRunning () [inline]

Activate stack and start service thread.

Examples:

audiorx.cpp, audiotx.cpp, ccrtptest.cpp, and rtphello.cpp.

template<class RTPDataChannel = DualRTPUDPIPv4Channel, class RTCPChannel =DualRTPUDPIPv4Channel, class ServiceQueue = AVPQueue> size_tSingleThreadRTPSession< RTPDataChannel, RTCPChannel, ServiceQueue>::takeInDataPacket (void) [inline], [protected]

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

Author

Generated automatically by Doxygen for ccRTP from the source code.