OpalMediaTypeDefinition Class Reference

#include <mediatype.h>

Inheritance diagram for OpalMediaTypeDefinition:
OpalFaxMediaType OpalRTPAVPMediaType SimpleMediaType< Type, sdp > OpalAudioMediaType OpalH224MediaType OpalT140MediaType

List of all members.

Public Member Functions

 OpalMediaTypeDefinition (const char *mediaType, const char *sdpType, unsigned preferredSessionId, OpalMediaType::AutoStartMode autoStart=OpalMediaType::DontOffer)
 Create a new media type definition.
virtual ~OpalMediaTypeDefinition ()
OpalMediaType::AutoStartMode GetAutoStart () const
void SetAutoStart (OpalMediaType::AutoStartMode v)
virtual bool UsesRTP () const
virtual OpalMediaSessionCreateMediaSession (OpalConnection &connection, unsigned sessionID) const
virtual PString GetRTPEncoding () const =0
virtual RTP_UDPCreateRTPSession (OpalRTPConnection &conn, unsigned sessionID, bool remoteIsNAT)
unsigned GetDefaultSessionId () const
virtual std::string GetSDPType () const
virtual SDPMediaDescriptionCreateSDPMediaDescription (const OpalTransportAddress &localAddress)=0

Static Public Member Functions

static unsigned GetDefaultSessionId (const OpalMediaType &mediaType)
static OpalMediaType GetMediaTypeForSessionId (unsigned sessionId)

Protected Types

typedef std::map
< OpalMediaType, unsigned > 
MediaTypeToSessionIDMap_T
typedef std::map< unsigned,
OpalMediaType
SessionIDToMediaTypeMap_T

Static Protected Member Functions

static PMutex & GetMapMutex ()
static MediaTypeToSessionIDMap_TGetMediaTypeToSessionIDMap ()
static SessionIDToMediaTypeMap_TGetSessionIDToMediaTypeMap ()

Protected Attributes

std::string m_mediaType
OpalMediaType::AutoStartMode m_autoStart
std::string m_sdpType

Detailed Description

This class defines the type used to define the attributes of a media type


Member Typedef Documentation

typedef std::map<OpalMediaType, unsigned> OpalMediaTypeDefinition::MediaTypeToSessionIDMap_T [protected]
typedef std::map<unsigned, OpalMediaType> OpalMediaTypeDefinition::SessionIDToMediaTypeMap_T [protected]

Constructor & Destructor Documentation

OpalMediaTypeDefinition::OpalMediaTypeDefinition ( const char *  mediaType,
const char *  sdpType,
unsigned  preferredSessionId,
OpalMediaType::AutoStartMode  autoStart = OpalMediaType::DontOffer 
)

Create a new media type definition.

Parameters:
mediaType name of the media type (audio, video etc)
sdpType name of the SDP type
preferredSessionId preferred session ID
autoStart Default value for auto-start transmit & receive
virtual OpalMediaTypeDefinition::~OpalMediaTypeDefinition (  )  [inline, virtual]

Member Function Documentation

virtual OpalMediaSession* OpalMediaTypeDefinition::CreateMediaSession ( OpalConnection connection,
unsigned  sessionID 
) const [virtual]

Create a media session suitable for the media type.

Parameters:
connection Connection media session is being created for
sessionID ID for the media session

Reimplemented in OpalRTPAVPMediaType, and OpalFaxMediaType.

virtual RTP_UDP* OpalMediaTypeDefinition::CreateRTPSession ( OpalRTPConnection conn,
unsigned  sessionID,
bool  remoteIsNAT 
) [virtual]

Create an RTP session for this media format. By default, this will create a RTP_UDP session with the correct initial format

Only valid if UsesRTP return true

Reimplemented in SimpleMediaType< Type, sdp >, and OpalFaxMediaType.

virtual SDPMediaDescription* OpalMediaTypeDefinition::CreateSDPMediaDescription ( const OpalTransportAddress localAddress  )  [pure virtual]
OpalMediaType::AutoStartMode OpalMediaTypeDefinition::GetAutoStart (  )  const [inline]

Get flags for media type can auto-start on call initiation.

References m_autoStart.

Referenced by OpalMediaType::GetAutoStart().

static unsigned OpalMediaTypeDefinition::GetDefaultSessionId ( const OpalMediaType mediaType  )  [static]

Return the default session ID for a specified media type.

Parameters:
mediaType Media type to get default session ID for
unsigned OpalMediaTypeDefinition::GetDefaultSessionId (  )  const [inline]

Return the default session ID for this media type.

References GetDefaultSessionId(), and m_mediaType.

Referenced by GetDefaultSessionId().

static PMutex& OpalMediaTypeDefinition::GetMapMutex (  )  [static, protected]
static OpalMediaType OpalMediaTypeDefinition::GetMediaTypeForSessionId ( unsigned  sessionId  )  [static]

Return the media type associated with a default media type

Parameters:
sessionId Session ID to search for media type.
static MediaTypeToSessionIDMap_T& OpalMediaTypeDefinition::GetMediaTypeToSessionIDMap (  )  [static, protected]
virtual PString OpalMediaTypeDefinition::GetRTPEncoding (  )  const [pure virtual]

Get the string used for the RTP_FormatHandler PFactory which is used to create the RTP handler for the this media type possible values include "rtp/avp" and "udptl"

Only valid if UsesRTP return true

Implemented in SimpleMediaType< Type, sdp >, OpalRTPAVPMediaType, and OpalFaxMediaType.

virtual std::string OpalMediaTypeDefinition::GetSDPType (  )  const [inline, virtual]

References m_sdpType.

static SessionIDToMediaTypeMap_T& OpalMediaTypeDefinition::GetSessionIDToMediaTypeMap (  )  [static, protected]
void OpalMediaTypeDefinition::SetAutoStart ( OpalMediaType::AutoStartMode  v  )  [inline]

Set flag for media type can auto-start receive on call initiation.

References m_autoStart.

virtual bool OpalMediaTypeDefinition::UsesRTP (  )  const [inline, virtual]

Indicate type uses RTP for transport. If false, then it uses a generic OpaMediaSession


Member Data Documentation

Referenced by GetAutoStart(), and SetAutoStart().

std::string OpalMediaTypeDefinition::m_mediaType [protected]

Referenced by GetDefaultSessionId().

std::string OpalMediaTypeDefinition::m_sdpType [protected]

Referenced by GetSDPType().


The documentation for this class was generated from the following file:
Generated on Wed Jul 7 10:24:47 2010 for OPAL by  doxygen 1.6.3