37 #ifndef RTPTRANSMITTER_H
39 #define RTPTRANSMITTER_H
41 #include "rtpconfig.h"
50 class RTPTransmissionParams;
52 class RTPTransmissionInfo;
94 virtual int Init(
bool threadsafe) = 0;
104 virtual int Create(
size_t maxpacksize,
const RTPTransmissionParams *transparams) = 0;
109 virtual void Destroy() = 0;
118 virtual RTPTransmissionInfo *GetTransmissionInfo() = 0;
123 virtual void DeleteTransmissionInfo(RTPTransmissionInfo *inf) = 0;
134 virtual int GetLocalHostName(uint8_t *buffer,
size_t *bufferlength) = 0;
137 virtual bool ComesFromThisTransmitter(
const RTPAddress *addr) = 0;
141 virtual size_t GetHeaderOverhead() = 0;
144 virtual int Poll() = 0;
150 virtual int WaitForIncomingData(
const RTPTime &delay,
bool *dataavailable = 0) = 0;
153 virtual int AbortWait() = 0;
156 virtual int SendRTPData(
const void *data,
size_t len) = 0;
159 virtual int SendRTCPData(
const void *data,
size_t len) = 0;
162 virtual int AddDestination(
const RTPAddress &addr) = 0;
165 virtual int DeleteDestination(
const RTPAddress &addr) = 0;
168 virtual void ClearDestinations() = 0;
171 virtual bool SupportsMulticasting() = 0;
174 virtual int JoinMulticastGroup(
const RTPAddress &addr) = 0;
177 virtual int LeaveMulticastGroup(
const RTPAddress &addr) = 0;
180 virtual void LeaveAllMulticastGroups() = 0;
190 virtual int AddToIgnoreList(
const RTPAddress &addr) = 0;
193 virtual int DeleteFromIgnoreList(
const RTPAddress &addr)= 0;
196 virtual void ClearIgnoreList() = 0;
199 virtual int AddToAcceptList(
const RTPAddress &addr) = 0;
202 virtual int DeleteFromAcceptList(
const RTPAddress &addr) = 0;
205 virtual void ClearAcceptList() = 0;
208 virtual int SetMaximumPacketSize(
size_t s) = 0;
211 virtual bool NewDataAvailable() = 0;
215 virtual RTPRawPacket *GetNextPacket() = 0;
217 virtual void Dump() = 0;
260 #endif // RTPTRANSMITTER_H
Specifies the internal UDP over IPv4 transmitter.
Definition: rtptransmitter.h:71
Base class for transmission parameters.
Definition: rtptransmitter.h:227
RTPTransmitter::TransmissionProtocol GetTransmissionProtocol() const
Returns the transmitter type for which these parameters are valid.
Definition: rtptransmitter.h:253
RTPTransmitter(RTPMemoryManager *mgr)
Constructor in which you can specify a memory manager to use.
Definition: rtptransmitter.h:86
All incoming data is accepted, no matter where it originated from.
Definition: rtptransmitter.h:80
Abstract class from which actual transmission components should be derived.
Definition: rtptransmitter.h:61
ReceiveMode
Three kind of receive modes can be specified.
Definition: rtptransmitter.h:78
A memory manager.
Definition: rtpmemorymanager.h:147
Specifies the transmitter which can send packets using an external mechanism, and which can have rece...
Definition: rtptransmitter.h:73
Specifies the internal UDP over IPv6 transmitter.
Definition: rtptransmitter.h:72
Base class for additional information about the transmitter.
Definition: rtptransmitter.h:246
RTPTransmitter::TransmissionProtocol GetTransmissionProtocol() const
Returns the transmitter type for which these parameters are valid.
Definition: rtptransmitter.h:235
Only data coming from specific sources will be accepted.
Definition: rtptransmitter.h:81
TransmissionProtocol
Used to identify a specific transmitter.
Definition: rtptransmitter.h:69