OPAL
Version 3.18.8
|
#include <mediasession.h>
Public Member Functions | |
OpalUDPMediaTransport (const PString &name) | |
virtual bool | Open (OpalMediaSession &session, PINDEX count, const PString &localInterface, const OpalTransportAddress &remoteAddress) |
virtual bool | SetRemoteAddress (const OpalTransportAddress &remoteAddress, SubChannels subchannel=e_Media) |
virtual bool | Write (const void *data, PINDEX length, SubChannels=e_Media, const PIPSocketAddressAndPort *=NULL, int *=NULL) |
PUDPSocket * | GetSubChannelAsSocket (SubChannels subchannel=e_Media) const |
![]() | |
OpalMediaTransport (const PString &name) | |
~OpalMediaTransport () | |
virtual void | PrintOn (ostream &strm) const |
const PString & | GetName () const |
Return name of the transport. More... | |
virtual PString | GetType () |
Return the type of the transport. More... | |
virtual bool | IsOpen () const |
virtual void | Start () |
virtual bool | IsEstablished () const |
virtual OpalTransportAddress | GetLocalAddress (SubChannels subchannel=e_Media) const |
virtual OpalTransportAddress | GetRemoteAddress (SubChannels subchannel=e_Media) const |
virtual void | SetCandidates (const PString &user, const PString &pass, const PNatCandidateList &candidates) |
virtual bool | GetCandidates (PString &user, PString &pass, PNatCandidateList &candidates, bool offering) |
void | AddReadNotifier (const ReadNotifier ¬ifier, SubChannels subchannel=e_Media) |
void | RemoveReadNotifier (const ReadNotifier ¬ifier, SubChannels subchannel=e_Media) |
Remove the read notifier. More... | |
void | RemoveReadNotifier (PObject *target, SubChannels subchannel=e_Media) |
PChannel * | GetChannel (SubChannels subchannel=e_Media) const |
void | SetDiscoverMTU (int mode) |
void | SetMediaTimeout (const PTimeInterval &t) |
void | SetRemoteBehindNAT () |
CongestionControl * | SetCongestionControl (CongestionControl *cc) |
CongestionControl * | GetCongestionControl () const |
virtual void | GetStatistics (OpalMediaStatistics &statistics) const |
Protected Member Functions | |
virtual void | InternalRxData (SubChannels subchannel, const PBYTEArray &data) |
virtual bool | InternalSetRemoteAddress (const PIPSocket::AddressAndPort &ap, SubChannels subchannel, RemoteAddressSources source) |
virtual bool | InternalOpenPinHole (PUDPSocket &socket) |
![]() | |
virtual void | InternalClose () |
virtual bool | GarbageCollection () |
virtual PTimeInterval | GetTimeout () const |
PDECLARE_NOTIFIER (PTimer, OpalMediaTransport, ProcessCongestionControl) | |
void | AddChannel (PChannel *channel) |
virtual PChannel * | AddWrapperChannels (SubChannels subchannel, PChannel *channel) |
Protected Attributes | |
bool | m_localHasRestrictedNAT |
vector< PUDPSocket * > | m_socketCache |
![]() | |
PString | m_name |
bool | m_remoteBehindNAT |
PINDEX | m_packetSize |
int | m_mtuDiscoverMode |
PTimeInterval | m_mediaTimeout |
PSimpleTimer | m_mediaTimer |
PTimeInterval | m_maxNoTransmitTime |
atomic< bool > | m_opened |
atomic< bool > | m_established |
atomic< bool > | m_started |
atomic< CongestionControl * > | m_congestionControl |
PTimer | m_ccTimer |
ChannelArray | m_subchannels |
Additional Inherited Members | |
![]() | |
typedef PNotifierTemplate < PBYTEArray > | ReadNotifier |
![]() | |
enum | SubChannels { e_AllSubChannels = -1, e_Media, e_Data = e_Media, e_Control, eSubChannelA, eSubChannelB, eSubChannelC, eSubChannelD, eMaxSubChannels } |
![]() | |
enum | RemoteAddressSources { e_RemoteAddressUnknown, e_RemoteAddressFromSignalling, e_RemoteAddressFromFirstPacket, e_RemoteAddressFromProvisionalPair, e_RemoteAddressFromICE } |
typedef vector< ChannelInfo > | ChannelArray |
Class for low level transport of media that uses UDP
OpalUDPMediaTransport::OpalUDPMediaTransport | ( | const PString & | name | ) |
PUDPSocket* OpalUDPMediaTransport::GetSubChannelAsSocket | ( | SubChannels | subchannel = e_Media | ) | const |
|
protectedvirtual |
|
protectedvirtual |
Reimplemented from OpalMediaTransport.
|
protectedvirtual |
|
virtual |
Open the media transport.
Implements OpalMediaTransport.
|
virtual |
Set the remote transport address used by this media session. The subchannel
can get an optional secondary channel address when false.
Reimplemented from OpalMediaTransport.
|
virtual |
Write to media transport.
Implements OpalMediaTransport.
|
protected |
|
protected |