37 #ifndef RTPTRANSMITTER_H
39 #define RTPTRANSMITTER_H
41 #include "rtpconfig.h"
89 virtual int Init(
bool threadsafe) = 0;
134 virtual int Poll() = 0;
146 virtual int SendRTPData(
const void *data,
size_t len) = 0;
149 virtual int SendRTCPData(
const void *data,
size_t len) = 0;
207 virtual void Dump() = 0;
248 #endif // RTPTRANSMITTER_H
virtual int WaitForIncomingData(const RTPTime &delay, bool *dataavailable=0)=0
Waits until incoming data is detected.
virtual int DeleteDestination(const RTPAddress &addr)=0
Deletes the address specified by addr from the list of destinations.
virtual int AddToAcceptList(const RTPAddress &addr)=0
Adds addr to the list of addresses to accept.
TransmissionProtocol
Used to identify a specific transmitter.
Definition: rtptransmitter.h:65
virtual int LeaveMulticastGroup(const RTPAddress &addr)=0
Leaves the multicast group specified by addr.
All incoming data is accepted, no matter where it originated from.
Definition: rtptransmitter.h:75
virtual RTPTransmissionInfo * GetTransmissionInfo()=0
Returns additional information about the transmitter.
A memory manager.
Definition: rtpmemorymanager.h:144
virtual int SendRTPData(const void *data, size_t len)=0
Send a packet with length len containing data to all RTP addresses of the current destination list...
RTPTransmitter::TransmissionProtocol GetTransmissionProtocol() const
Returns the transmitter type for which these parameters are valid.
Definition: rtptransmitter.h:225
virtual bool SupportsMulticasting()=0
Returns true if the transmission component supports multicasting.
This class is used to specify wallclock time, delay intervals etc.
Definition: rtptimeutilities.h:77
virtual int Init(bool threadsafe)=0
This function must be called before the transmission component can be used.
virtual int GetLocalHostName(uint8_t *buffer, size_t *bufferlength)=0
Looks up the local host name.
Base class for additional information about the transmitter.
Definition: rtptransmitter.h:236
Specifies a user defined, external transmitter.
Definition: rtptransmitter.h:69
virtual void ClearAcceptList()=0
Clears the list of addresses to accept.
virtual void Destroy()=0
By calling this function, buffers are cleared and the component cannot be used anymore.
virtual int Poll()=0
Checks for incoming data and stores it.
Specifies the internal UDP over IPv6 transmitter.
Definition: rtptransmitter.h:68
Specifies the internal UDP over IPv4 transmitter.
Definition: rtptransmitter.h:67
This class is used by the transmission component to store the incoming RTP and RTCP data in...
Definition: rtprawpacket.h:48
virtual int AbortWait()=0
If the previous function has been called, this one aborts the waiting.
virtual int AddDestination(const RTPAddress &addr)=0
Adds the address specified by addr to the list of destinations.
virtual void ClearDestinations()=0
Clears the list of destinations.
ReceiveMode
Three kind of receive modes can be specified.
Definition: rtptransmitter.h:73
virtual size_t GetHeaderOverhead()=0
Returns the amount of bytes that will be added to the RTP packet by the underlying layers (excluding ...
Abstract class from which actual transmission components should be derived.
Definition: rtptransmitter.h:57
virtual RTPRawPacket * GetNextPacket()=0
Returns the raw data of a received RTP packet (received during the Poll function) in an RTPRawPacket ...
This class is an abstract class which is used to specify destinations, multicast groups etc...
Definition: rtpaddress.h:47
virtual int DeleteFromAcceptList(const RTPAddress &addr)=0
Deletes addr from the list of addresses to accept.
RTPTransmitter(RTPMemoryManager *mgr)
Constructor in which you can specify a memory manager to use.
Definition: rtptransmitter.h:81
virtual void ClearIgnoreList()=0
Clears the list of addresses to ignore.
virtual int JoinMulticastGroup(const RTPAddress &addr)=0
Joins the multicast group specified by addr.
virtual int DeleteFromIgnoreList(const RTPAddress &addr)=0
Deletes addr from the list of addresses to accept.
virtual int Create(size_t maxpacksize, const RTPTransmissionParams *transparams)=0
Prepares the component to be used.
virtual bool NewDataAvailable()=0
Returns true if packets can be obtained using the GetNextPacket member function.
virtual int SetMaximumPacketSize(size_t s)=0
Sets the maximum packet size which the transmitter should allow to s.
virtual void LeaveAllMulticastGroups()=0
Leaves all the multicast groups that have been joined.
RTPTransmitter::TransmissionProtocol GetTransmissionProtocol() const
Returns the transmitter type for which these parameters are valid.
Definition: rtptransmitter.h:243
virtual int SendRTCPData(const void *data, size_t len)=0
Send a packet with length len containing data to all RTCP addresses of the current destination list...
Only data coming from specific sources will be accepted.
Definition: rtptransmitter.h:76
virtual bool ComesFromThisTransmitter(const RTPAddress *addr)=0
Returns true if the address specified by addr is one of the addresses of the transmitter.
Base class for transmission parameters.
Definition: rtptransmitter.h:217
virtual int AddToIgnoreList(const RTPAddress &addr)=0
Adds addr to the list of addresses to ignore.
All incoming data is accepted, except for data coming from a specific set of sources.
Definition: rtptransmitter.h:77
virtual int SetReceiveMode(RTPTransmitter::ReceiveMode m)=0
Sets the receive mode.