37 #ifndef RTPTRANSMITTER_H
39 #define RTPTRANSMITTER_H
41 #include "rtpconfig.h"
51 class RTPTransmissionParams;
53 class RTPTransmissionInfo;
95 virtual int Init(
bool threadsafe) = 0;
105 virtual int Create(
size_t maxpacksize,
const RTPTransmissionParams *transparams) = 0;
110 virtual void Destroy() = 0;
119 virtual RTPTransmissionInfo *GetTransmissionInfo() = 0;
124 virtual void DeleteTransmissionInfo(RTPTransmissionInfo *inf) = 0;
135 virtual int GetLocalHostName(uint8_t *buffer,
size_t *bufferlength) = 0;
138 virtual bool ComesFromThisTransmitter(
const RTPAddress *addr) = 0;
142 virtual size_t GetHeaderOverhead() = 0;
145 virtual int Poll() = 0;
151 virtual int WaitForIncomingData(
const RTPTime &delay,
bool *dataavailable = 0) = 0;
154 virtual int AbortWait() = 0;
157 virtual int SendRTPData(
const void *data,
size_t len) = 0;
160 virtual int SendRTCPData(
const void *data,
size_t len) = 0;
163 virtual int AddDestination(
const RTPAddress &addr) = 0;
166 virtual int DeleteDestination(
const RTPAddress &addr) = 0;
169 virtual void ClearDestinations() = 0;
172 virtual bool SupportsMulticasting() = 0;
175 virtual int JoinMulticastGroup(
const RTPAddress &addr) = 0;
178 virtual int LeaveMulticastGroup(
const RTPAddress &addr) = 0;
181 virtual void LeaveAllMulticastGroups() = 0;
191 virtual int AddToIgnoreList(
const RTPAddress &addr) = 0;
194 virtual int DeleteFromIgnoreList(
const RTPAddress &addr)= 0;
197 virtual void ClearIgnoreList() = 0;
200 virtual int AddToAcceptList(
const RTPAddress &addr) = 0;
203 virtual int DeleteFromAcceptList(
const RTPAddress &addr) = 0;
206 virtual void ClearAcceptList() = 0;
209 virtual int SetMaximumPacketSize(
size_t s) = 0;
212 virtual bool NewDataAvailable() = 0;
216 virtual RTPRawPacket *GetNextPacket() = 0;
218 virtual void Dump() = 0;
261 #endif // RTPTRANSMITTER_H
Specifies the internal UDP over IPv4 transmitter.
Definition: rtptransmitter.h:72
Base class for transmission parameters.
Definition: rtptransmitter.h:228
RTPTransmitter::TransmissionProtocol GetTransmissionProtocol() const
Returns the transmitter type for which these parameters are valid.
Definition: rtptransmitter.h:254
RTPTransmitter(RTPMemoryManager *mgr)
Constructor in which you can specify a memory manager to use.
Definition: rtptransmitter.h:87
All incoming data is accepted, no matter where it originated from.
Definition: rtptransmitter.h:81
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:79
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:74
Specifies the internal UDP over IPv6 transmitter.
Definition: rtptransmitter.h:73
Base class for additional information about the transmitter.
Definition: rtptransmitter.h:247
RTPTransmitter::TransmissionProtocol GetTransmissionProtocol() const
Returns the transmitter type for which these parameters are valid.
Definition: rtptransmitter.h:236
Only data coming from specific sources will be accepted.
Definition: rtptransmitter.h:82
TransmissionProtocol
Used to identify a specific transmitter.
Definition: rtptransmitter.h:70