37 #ifndef RTPTRANSMITTER_H 39 #define RTPTRANSMITTER_H 41 #include "rtpconfig.h" 51 class RTPTransmissionParams;
53 class RTPTransmissionInfo;
96 virtual int Init(
bool threadsafe) = 0;
111 virtual void Destroy() = 0;
136 virtual int GetLocalHostName(uint8_t *buffer,
size_t *bufferlength) = 0;
139 virtual bool ComesFromThisTransmitter(
const RTPAddress *addr) = 0;
143 virtual size_t GetHeaderOverhead() = 0;
146 virtual int Poll() = 0;
152 virtual int WaitForIncomingData(
const RTPTime &delay,
bool *dataavailable = 0) = 0;
155 virtual int AbortWait() = 0;
158 virtual int SendRTPData(
const void *data,
size_t len) = 0;
161 virtual int SendRTCPData(
const void *data,
size_t len) = 0;
164 virtual int AddDestination(
const RTPAddress &addr) = 0;
167 virtual int DeleteDestination(
const RTPAddress &addr) = 0;
170 virtual void ClearDestinations() = 0;
173 virtual bool SupportsMulticasting() = 0;
176 virtual int JoinMulticastGroup(
const RTPAddress &addr) = 0;
179 virtual int LeaveMulticastGroup(
const RTPAddress &addr) = 0;
182 virtual void LeaveAllMulticastGroups() = 0;
192 virtual int AddToIgnoreList(
const RTPAddress &addr) = 0;
195 virtual int DeleteFromIgnoreList(
const RTPAddress &addr)= 0;
198 virtual void ClearIgnoreList() = 0;
201 virtual int AddToAcceptList(
const RTPAddress &addr) = 0;
204 virtual int DeleteFromAcceptList(
const RTPAddress &addr) = 0;
207 virtual void ClearAcceptList() = 0;
210 virtual int SetMaximumPacketSize(
size_t s) = 0;
213 virtual bool NewDataAvailable() = 0;
219 virtual void Dump() = 0;
262 #endif // RTPTRANSMITTER_H Specifies the internal TCP transmitter.
Definition: rtptransmitter.h:74
This class is used by the transmission component to store the incoming RTP and RTCP data in...
Definition: rtprawpacket.h:51
Specifies the internal UDP over IPv4 transmitter.
Definition: rtptransmitter.h:72
Base class for transmission parameters.
Definition: rtptransmitter.h:229
RTPTransmitter::TransmissionProtocol GetTransmissionProtocol() const
Returns the transmitter type for which these parameters are valid.
Definition: rtptransmitter.h:255
RTPTransmitter(RTPMemoryManager *mgr)
Constructor in which you can specify a memory manager to use.
Definition: rtptransmitter.h:88
This class is an abstract class which is used to specify destinations, multicast groups etc...
Definition: rtpaddress.h:50
All incoming data is accepted, no matter where it originated from.
Definition: rtptransmitter.h:82
Abstract class from which actual transmission components should be derived.
Definition: rtptransmitter.h:62
ReceiveMode
Three kind of receive modes can be specified.
Definition: rtptransmitter.h:80
Definition: rtpfaketransmitter.h:64
This class is used to specify wallclock time, delay intervals etc.
Definition: rtptimeutilities.h:84
A memory manager.
Definition: rtpmemorymanager.h:150
Specifies the transmitter which can send packets using an external mechanism, and which can have rece...
Definition: rtptransmitter.h:75
Specifies the internal UDP over IPv6 transmitter.
Definition: rtptransmitter.h:73
Base class for additional information about the transmitter.
Definition: rtptransmitter.h:248
RTPTransmitter::TransmissionProtocol GetTransmissionProtocol() const
Returns the transmitter type for which these parameters are valid.
Definition: rtptransmitter.h:237
Only data coming from specific sources will be accepted.
Definition: rtptransmitter.h:83
TransmissionProtocol
Used to identify a specific transmitter.
Definition: rtptransmitter.h:70