sdp.h
Go to the documentation of this file.
/*
* sdp.h
*
* Session Description Protocol
*
* Open Phone Abstraction Library (OPAL)
* Formally known as the Open H323 project.
*
* Copyright (c) 2001 Equivalence Pty. Ltd.
*
* The contents of this file are subject to the Mozilla Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
*
* The Original Code is Open Phone Abstraction Library.
*
* The Initial Developer of the Original Code is Equivalence Pty. Ltd.
*
* Contributor(s): ______________________________________.
*
* $Revision: 25734 $
* $Author: rjongbloed $
* $Date: 2011-05-10 21:41:47 -0500 (Tue, 10 May 2011) $
*/
#ifndef OPAL_SIP_SDP_H
#define OPAL_SIP_SDP_H
#ifdef P_USE_PRAGMA
#pragma interface
#endif
#include <opal/buildopts.h>
#if OPAL_SIP
#include <opal/transports.h>
#include <opal/mediatype.h>
#include <opal/mediafmt.h>
#include <rtp/rtp.h>
class SDPBandwidth : public std::map<PCaselessString, unsigned>
{
public:
unsigned & operator[](const PCaselessString & type);
unsigned operator[](const PCaselessString & type) const;
friend ostream & operator<<(ostream & out, const SDPBandwidth & bw);
bool Parse(const PString & param);
void SetMax(const PCaselessString & type, unsigned value);
};
class SDPMediaDescription;
class SDPMediaFormat : public PObject
{
PCLASSINFO(SDPMediaFormat, PObject);
public:
SDPMediaFormat(
SDPMediaDescription & parent,
RTP_DataFrame::PayloadTypes payloadType,
const char * name = NULL
);
SDPMediaFormat(
SDPMediaDescription & parent,
const OpalMediaFormat & mediaFormat
);
virtual void PrintOn(ostream & str) const;
RTP_DataFrame::PayloadTypes GetPayloadType() const { return payloadType; }
const PCaselessString & GetEncodingName() const { return encodingName; }
void SetEncodingName(const PString & v) { encodingName = v; }
void SetFMTP(const PString & _fmtp);
PString GetFMTP() const;
unsigned GetClockRate(void) { return clockRate ; }
void SetClockRate(unsigned v) { clockRate = v; }
void SetParameters(const PString & v) { parameters = v; }
void SetRTCP_FB(const PString & v) { m_rtcp_fb = v; }
const OpalMediaFormat & GetMediaFormat() const { return m_mediaFormat; }
OpalMediaFormat & GetWritableMediaFormat() { return m_mediaFormat; }
bool PreEncode();
bool PostDecode(const OpalMediaFormatList & mediaFormats, unsigned bandwidth);
protected:
void SetMediaFormatOptions(OpalMediaFormat & mediaFormat) const;
OpalMediaFormat m_mediaFormat;
SDPMediaDescription & m_parent;
RTP_DataFrame::PayloadTypes payloadType;
unsigned clockRate;
PCaselessString encodingName;
PString parameters;
PString m_fmtp;
PString m_rtcp_fb; // RFC4585
};
typedef PList<SDPMediaFormat> SDPMediaFormatList;
class SDPMediaDescription : public PObject
{
PCLASSINFO(SDPMediaDescription, PObject);
public:
// The following enum is arranged so it can be used as a bit mask,
// e.g. GetDirection()&SendOnly indicates send is available
enum Direction {
Undefined = -1,
Inactive,
RecvOnly,
SendOnly,
SendRecv
};
SDPMediaDescription(
const OpalTransportAddress & address,
const OpalMediaType & mediaType
);
virtual bool PreEncode();
virtual void Encode(const OpalTransportAddress & commonAddr, ostream & str) const;
virtual bool PrintOn(ostream & strm, const PString & str) const;
virtual bool Decode(const PStringArray & tokens);
virtual bool Decode(char key, const PString & value);
virtual bool PostDecode(const OpalMediaFormatList & mediaFormats);
virtual SDPMediaDescription * CreateEmpty() const = 0;
// return the string used within SDP to identify this media type
virtual PString GetSDPMediaType() const = 0;
// return the string used within SDP to identify the transport used by this media
virtual PCaselessString GetSDPTransportType() const = 0;
virtual const SDPMediaFormatList & GetSDPMediaFormats() const
{ return formats; }
virtual OpalMediaFormatList GetMediaFormats() const;
virtual void AddSDPMediaFormat(SDPMediaFormat * sdpMediaFormat);
virtual void AddMediaFormat(const OpalMediaFormat & mediaFormat);
virtual void AddMediaFormats(const OpalMediaFormatList & mediaFormats, const OpalMediaType & mediaType);
virtual void SetAttribute(const PString & attr, const PString & value);
virtual void SetDirection(const Direction & d) { direction = d; }
virtual Direction GetDirection() const { return transportAddress.IsEmpty() ? Inactive : direction; }
virtual const OpalTransportAddress & GetTransportAddress() const { return transportAddress; }
virtual PBoolean SetTransportAddress(const OpalTransportAddress &t);
virtual WORD GetPort() const { return port; }
virtual OpalMediaType GetMediaType() const { return mediaType; }
virtual unsigned GetBandwidth(const PString & type) const { return bandwidth[type]; }
virtual void SetBandwidth(const PString & type, unsigned value) { bandwidth[type] = value; }
virtual const SDPBandwidth & GetBandwidth() const { return bandwidth; }
virtual void CreateSDPMediaFormats(const PStringArray & tokens);
virtual SDPMediaFormat * CreateSDPMediaFormat(const PString & portString) = 0;
virtual PString GetSDPPortList() const = 0;
virtual void ProcessMediaOptions(SDPMediaFormat & sdpFormat, const OpalMediaFormat & mediaFormat);
unsigned GetPTime () const { return ptime; }
unsigned GetMaxPTime () const { return maxptime; }
protected:
virtual SDPMediaFormat * FindFormat(PString & str) const;
OpalTransportAddress transportAddress;
Direction direction;
WORD port;
WORD portCount;
OpalMediaType mediaType;
SDPMediaFormatList formats;
SDPBandwidth bandwidth;
unsigned ptime;
unsigned maxptime;
};
PARRAY(SDPMediaDescriptionArray, SDPMediaDescription);
class SDPDummyMediaDescription : public SDPMediaDescription
{
PCLASSINFO(SDPDummyMediaDescription, SDPMediaDescription);
public:
SDPDummyMediaDescription(const OpalTransportAddress & address, const PStringArray & tokens);
virtual SDPMediaDescription * CreateEmpty() const;
virtual PString GetSDPMediaType() const;
virtual PCaselessString GetSDPTransportType() const;
virtual SDPMediaFormat * CreateSDPMediaFormat(const PString & portString);
virtual PString GetSDPPortList() const;
private:
PStringArray m_tokens;
};
//
// SDP media description for media classes using RTP/AVP transport (audio and video)
//
class SDPRTPAVPMediaDescription : public SDPMediaDescription
{
PCLASSINFO(SDPRTPAVPMediaDescription, SDPMediaDescription);
public:
SDPRTPAVPMediaDescription(const OpalTransportAddress & address, const OpalMediaType & mediaType);
virtual PCaselessString GetSDPTransportType() const;
virtual SDPMediaFormat * CreateSDPMediaFormat(const PString & portString);
virtual PString GetSDPPortList() const;
virtual bool PrintOn(ostream & str, const PString & connectString) const;
virtual void SetAttribute(const PString & attr, const PString & value);
};
//
// SDP media description for audio media
//
class SDPAudioMediaDescription : public SDPRTPAVPMediaDescription
{
PCLASSINFO(SDPAudioMediaDescription, SDPRTPAVPMediaDescription);
public:
SDPAudioMediaDescription(const OpalTransportAddress & address);
virtual SDPMediaDescription * CreateEmpty() const;
virtual PString GetSDPMediaType() const;
virtual bool PrintOn(ostream & str, const PString & connectString) const;
virtual void SetAttribute(const PString & attr, const PString & value);
bool GetOfferPTime() const { return m_offerPTime; }
void SetOfferPTime(bool value) { m_offerPTime = value; }
protected:
bool m_offerPTime;
};
//
// SDP media description for video media
//
class SDPVideoMediaDescription : public SDPRTPAVPMediaDescription
{
PCLASSINFO(SDPVideoMediaDescription, SDPRTPAVPMediaDescription);
public:
SDPVideoMediaDescription(const OpalTransportAddress & address);
virtual SDPMediaDescription * CreateEmpty() const;
virtual PString GetSDPMediaType() const;
virtual bool PreEncode();
virtual bool PrintOn(ostream & str, const PString & connectString) const;
void SetAttribute(const PString & attr, const PString & value);
};
//
// SDP media description for application media
//
class SDPApplicationMediaDescription : public SDPMediaDescription
{
PCLASSINFO(SDPApplicationMediaDescription, SDPMediaDescription);
public:
SDPApplicationMediaDescription(const OpalTransportAddress & address);
virtual PCaselessString GetSDPTransportType() const;
virtual SDPMediaFormat * CreateSDPMediaFormat(const PString & portString);
virtual SDPMediaDescription * CreateEmpty() const;
virtual PString GetSDPMediaType() const;
virtual PString GetSDPPortList() const;
};
class SDPSessionDescription : public PObject
{
PCLASSINFO(SDPSessionDescription, PObject);
public:
SDPSessionDescription(
time_t sessionId,
unsigned version,
const OpalTransportAddress & address
);
void PrintOn(ostream & strm) const;
PString Encode() const;
bool Decode(const PString & str, const OpalMediaFormatList & mediaFormats);
void SetSessionName(const PString & v);
PString GetSessionName() const { return sessionName; }
void SetUserName(const PString & v);
PString GetUserName() const { return ownerUsername; }
const SDPMediaDescriptionArray & GetMediaDescriptions() const { return mediaDescriptions; }
SDPMediaDescription * GetMediaDescriptionByType(const OpalMediaType & rtpMediaType) const;
SDPMediaDescription * GetMediaDescriptionByIndex(PINDEX i) const;
void AddMediaDescription(SDPMediaDescription * md) { mediaDescriptions.Append(md); }
void SetDirection(const SDPMediaDescription::Direction & d) { direction = d; }
SDPMediaDescription::Direction GetDirection(unsigned) const;
bool IsHold() const;
const OpalTransportAddress & GetDefaultConnectAddress() const { return defaultConnectAddress; }
void SetDefaultConnectAddress(
const OpalTransportAddress & address
);
time_t GetOwnerSessionId() const { return ownerSessionId; }
void SetOwnerSessionId(time_t value) { ownerSessionId = value; }
PINDEX GetOwnerVersion() const { return ownerVersion; }
void SetOwnerVersion(PINDEX value) { ownerVersion = value; }
OpalTransportAddress GetOwnerAddress() const { return ownerAddress; }
void SetOwnerAddress(OpalTransportAddress addr) { ownerAddress = addr; }
unsigned GetBandwidth(const PString & type) const { return bandwidth[type]; }
void SetBandwidth(const PString & type, unsigned value) { bandwidth[type] = value; }
OpalMediaFormatList GetMediaFormats() const;
static const PCaselessString & ConferenceTotalBandwidthType();
static const PCaselessString & ApplicationSpecificBandwidthType();
static const PCaselessString & TransportIndependentBandwidthType(); // RFC3890
protected:
void ParseOwner(const PString & str);
SDPMediaDescriptionArray mediaDescriptions;
SDPMediaDescription::Direction direction;
PINDEX protocolVersion;
PString sessionName;
PString ownerUsername;
time_t ownerSessionId;
unsigned ownerVersion;
OpalTransportAddress ownerAddress;
OpalTransportAddress defaultConnectAddress;
SDPBandwidth bandwidth;
};
#endif // OPAL_SIP
#endif // OPAL_SIP_SDP_H
// End of File ///////////////////////////////////////////////////////////////
SDPBandwidth::SetMax
void SetMax(const PCaselessString &type, unsigned value)
SDPRTPAVPMediaDescription::SDPRTPAVPMediaDescription
SDPRTPAVPMediaDescription(const OpalTransportAddress &address, const OpalMediaType &mediaType)
SDPSessionDescription::defaultConnectAddress
OpalTransportAddress defaultConnectAddress
Definition: sdp.h:366
SDPMediaFormat::clockRate
unsigned clockRate
Definition: sdp.h:108
SDPMediaDescription::AddMediaFormats
virtual void AddMediaFormats(const OpalMediaFormatList &mediaFormats, const OpalMediaType &mediaType)
SDPMediaFormatList
PList< SDPMediaFormat > SDPMediaFormatList
Definition: sdp.h:115
SDPSessionDescription::Encode
PString Encode() const
SDPMediaDescription::SDPMediaDescription
SDPMediaDescription(const OpalTransportAddress &address, const OpalMediaType &mediaType)
SDPMediaFormat::SetFMTP
void SetFMTP(const PString &_fmtp)
SDPMediaFormat::m_parent
SDPMediaDescription & m_parent
Definition: sdp.h:106
SDPMediaDescription::FindFormat
virtual SDPMediaFormat * FindFormat(PString &str) const
SDPApplicationMediaDescription::GetSDPMediaType
virtual PString GetSDPMediaType() const
SDPMediaDescription::Undefined
Definition: sdp.h:126
SDPSessionDescription::ownerSessionId
time_t ownerSessionId
Definition: sdp.h:363
SDPVideoMediaDescription::PrintOn
virtual bool PrintOn(ostream &str, const PString &connectString) const
SDPMediaFormat::GetFMTP
PString GetFMTP() const
SDPMediaDescription::Decode
virtual bool Decode(const PStringArray &tokens)
SDPMediaDescription::ProcessMediaOptions
virtual void ProcessMediaOptions(SDPMediaFormat &sdpFormat, const OpalMediaFormat &mediaFormat)
SDPMediaFormat::m_rtcp_fb
PString m_rtcp_fb
Definition: sdp.h:112
SDPMediaDescription::maxptime
unsigned maxptime
Definition: sdp.h:203
SDPMediaFormat::PreEncode
bool PreEncode()
buildopts.h
SDPSessionDescription::SetUserName
void SetUserName(const PString &v)
SDPSessionDescription::GetSessionName
PString GetSessionName() const
Definition: sdp.h:315
SDPSessionDescription::GetMediaFormats
OpalMediaFormatList GetMediaFormats() const
SDPMediaDescription::mediaType
OpalMediaType mediaType
Definition: sdp.h:198
SDPSessionDescription::PrintOn
void PrintOn(ostream &strm) const
SDPVideoMediaDescription::SetAttribute
void SetAttribute(const PString &attr, const PString &value)
SDPSessionDescription::ownerAddress
OpalTransportAddress ownerAddress
Definition: sdp.h:365
SDPSessionDescription::SetOwnerSessionId
void SetOwnerSessionId(time_t value)
Definition: sdp.h:336
SDPMediaFormat::GetWritableMediaFormat
OpalMediaFormat & GetWritableMediaFormat()
Definition: sdp.h:96
SDPAudioMediaDescription
Definition: sdp.h:247
SDPSessionDescription::SetOwnerVersion
void SetOwnerVersion(PINDEX value)
Definition: sdp.h:339
SDPMediaDescription::Direction
Direction
Definition: sdp.h:125
SDPVideoMediaDescription::CreateEmpty
virtual SDPMediaDescription * CreateEmpty() const
SDPMediaDescription::GetSDPMediaFormats
virtual const SDPMediaFormatList & GetSDPMediaFormats() const
Definition: sdp.h:154
SDPMediaDescription::GetDirection
virtual Direction GetDirection() const
Definition: sdp.h:167
SDPMediaDescription::GetTransportAddress
virtual const OpalTransportAddress & GetTransportAddress() const
Definition: sdp.h:169
SDPSessionDescription::GetBandwidth
unsigned GetBandwidth(const PString &type) const
Definition: sdp.h:344
SDPSessionDescription::AddMediaDescription
void AddMediaDescription(SDPMediaDescription *md)
Definition: sdp.h:324
OpalMediaType
Definition: mediatype.h:57
SDPDummyMediaDescription::SDPDummyMediaDescription
SDPDummyMediaDescription(const OpalTransportAddress &address, const PStringArray &tokens)
SDPSessionDescription::GetMediaDescriptionByIndex
SDPMediaDescription * GetMediaDescriptionByIndex(PINDEX i) const
SDPBandwidth::Parse
bool Parse(const PString &param)
SDPDummyMediaDescription
Definition: sdp.h:209
SDPMediaDescription::GetSDPPortList
virtual PString GetSDPPortList() const =0
SDPMediaDescription::GetMediaType
virtual OpalMediaType GetMediaType() const
Definition: sdp.h:174
SDPSessionDescription::GetOwnerVersion
PINDEX GetOwnerVersion() const
Definition: sdp.h:338
SDPMediaDescription::formats
SDPMediaFormatList formats
Definition: sdp.h:200
SDPSessionDescription::ownerUsername
PString ownerUsername
Definition: sdp.h:362
SDPMediaDescription::SendRecv
Definition: sdp.h:130
SDPAudioMediaDescription::GetOfferPTime
bool GetOfferPTime() const
Definition: sdp.h:257
SDPMediaDescription::GetPort
virtual WORD GetPort() const
Definition: sdp.h:172
SDPSessionDescription::GetOwnerAddress
OpalTransportAddress GetOwnerAddress() const
Definition: sdp.h:341
PARRAY
PARRAY(SDPMediaDescriptionArray, SDPMediaDescription)
SDPMediaFormat::GetEncodingName
const PCaselessString & GetEncodingName() const
Definition: sdp.h:83
SDPApplicationMediaDescription::SDPApplicationMediaDescription
SDPApplicationMediaDescription(const OpalTransportAddress &address)
SDPSessionDescription::direction
SDPMediaDescription::Direction direction
Definition: sdp.h:357
SDPMediaFormat::SDPMediaFormat
SDPMediaFormat(SDPMediaDescription &parent, RTP_DataFrame::PayloadTypes payloadType, const char *name=NULL)
RTP_DataFrame::PayloadTypes
PayloadTypes
Definition: rtp.h:86
SDPMediaDescription::AddSDPMediaFormat
virtual void AddSDPMediaFormat(SDPMediaFormat *sdpMediaFormat)
SDPSessionDescription::ConferenceTotalBandwidthType
static const PCaselessString & ConferenceTotalBandwidthType()
SDPMediaDescription::GetBandwidth
virtual unsigned GetBandwidth(const PString &type) const
Definition: sdp.h:176
SDPSessionDescription::ParseOwner
void ParseOwner(const PString &str)
SDPAudioMediaDescription::SetAttribute
virtual void SetAttribute(const PString &attr, const PString &value)
SDPAudioMediaDescription::PrintOn
virtual bool PrintOn(ostream &str, const PString &connectString) const
SDPMediaDescription::SetDirection
virtual void SetDirection(const Direction &d)
Definition: sdp.h:166
SDPRTPAVPMediaDescription::CreateSDPMediaFormat
virtual SDPMediaFormat * CreateSDPMediaFormat(const PString &portString)
OpalMediaFormatList
Definition: mediafmt.h:72
SDPMediaDescription::direction
Direction direction
Definition: sdp.h:195
SDPMediaDescription::transportAddress
OpalTransportAddress transportAddress
Definition: sdp.h:194
SDPDummyMediaDescription::GetSDPMediaType
virtual PString GetSDPMediaType() const
SDPAudioMediaDescription::SDPAudioMediaDescription
SDPAudioMediaDescription(const OpalTransportAddress &address)
SDPMediaFormat::SetEncodingName
void SetEncodingName(const PString &v)
Definition: sdp.h:84
SDPSessionDescription::SetOwnerAddress
void SetOwnerAddress(OpalTransportAddress addr)
Definition: sdp.h:342
SDPSessionDescription::sessionName
PString sessionName
Definition: sdp.h:360
SDPMediaDescription::RecvOnly
Definition: sdp.h:128
SDPSessionDescription::ApplicationSpecificBandwidthType
static const PCaselessString & ApplicationSpecificBandwidthType()
SDPMediaDescription::Inactive
Definition: sdp.h:127
SDPMediaFormat::m_mediaFormat
OpalMediaFormat m_mediaFormat
Definition: sdp.h:104
SDPMediaFormat::m_fmtp
PString m_fmtp
Definition: sdp.h:111
SDPMediaFormat::parameters
PString parameters
Definition: sdp.h:110
SDPMediaDescription::GetPTime
unsigned GetPTime() const
Definition: sdp.h:188
SDPApplicationMediaDescription::GetSDPPortList
virtual PString GetSDPPortList() const
SDPSessionDescription::SetBandwidth
void SetBandwidth(const PString &type, unsigned value)
Definition: sdp.h:345
SDPMediaDescription::SendOnly
Definition: sdp.h:129
OpalMediaFormat
Definition: mediafmt.h:724
SDPMediaDescription
Definition: sdp.h:119
SDPMediaDescription::Encode
virtual void Encode(const OpalTransportAddress &commonAddr, ostream &str) const
mediatype.h
SDPMediaDescription::CreateEmpty
virtual SDPMediaDescription * CreateEmpty() const =0
SDPBandwidth
Definition: sdp.h:50
SDPSessionDescription
Definition: sdp.h:300
SDPMediaFormat::encodingName
PCaselessString encodingName
Definition: sdp.h:109
SDPMediaFormat::SetMediaFormatOptions
void SetMediaFormatOptions(OpalMediaFormat &mediaFormat) const
SDPVideoMediaDescription::SDPVideoMediaDescription
SDPVideoMediaDescription(const OpalTransportAddress &address)
SDPSessionDescription::IsHold
bool IsHold() const
SDPSessionDescription::GetMediaDescriptionByType
SDPMediaDescription * GetMediaDescriptionByType(const OpalMediaType &rtpMediaType) const
SDPAudioMediaDescription::SetOfferPTime
void SetOfferPTime(bool value)
Definition: sdp.h:258
SDPMediaDescription::PreEncode
virtual bool PreEncode()
SDPMediaFormat::SetParameters
void SetParameters(const PString &v)
Definition: sdp.h:92
SDPSessionDescription::mediaDescriptions
SDPMediaDescriptionArray mediaDescriptions
Definition: sdp.h:356
SDPSessionDescription::SetDefaultConnectAddress
void SetDefaultConnectAddress(const OpalTransportAddress &address)
SDPSessionDescription::GetDirection
SDPMediaDescription::Direction GetDirection(unsigned) const
SDPMediaDescription::CreateSDPMediaFormat
virtual SDPMediaFormat * CreateSDPMediaFormat(const PString &portString)=0
transports.h
SDPMediaFormat
Definition: sdp.h:64
SDPSessionDescription::Decode
bool Decode(const PString &str, const OpalMediaFormatList &mediaFormats)
SDPBandwidth::operator<<
friend ostream & operator<<(ostream &out, const SDPBandwidth &bw)
SDPSessionDescription::SDPSessionDescription
SDPSessionDescription(time_t sessionId, unsigned version, const OpalTransportAddress &address)
mediafmt.h
SDPMediaFormat::payloadType
RTP_DataFrame::PayloadTypes payloadType
Definition: sdp.h:107
SDPMediaDescription::ptime
unsigned ptime
Definition: sdp.h:202
SDPMediaFormat::PrintOn
virtual void PrintOn(ostream &str) const
SDPAudioMediaDescription::m_offerPTime
bool m_offerPTime
Definition: sdp.h:261
SDPVideoMediaDescription::PreEncode
virtual bool PreEncode()
SDPRTPAVPMediaDescription
Definition: sdp.h:230
SDPMediaDescription::port
WORD port
Definition: sdp.h:196
SDPRTPAVPMediaDescription::SetAttribute
virtual void SetAttribute(const PString &attr, const PString &value)
SDPSessionDescription::bandwidth
SDPBandwidth bandwidth
Definition: sdp.h:368
SDPAudioMediaDescription::GetSDPMediaType
virtual PString GetSDPMediaType() const
SDPDummyMediaDescription::GetSDPTransportType
virtual PCaselessString GetSDPTransportType() const
SDPMediaDescription::PrintOn
virtual bool PrintOn(ostream &strm, const PString &str) const
SDPMediaFormat::SetClockRate
void SetClockRate(unsigned v)
Definition: sdp.h:90
SDPRTPAVPMediaDescription::GetSDPTransportType
virtual PCaselessString GetSDPTransportType() const
SDPApplicationMediaDescription
Definition: sdp.h:286
SDPVideoMediaDescription
Definition: sdp.h:269
SDPVideoMediaDescription::GetSDPMediaType
virtual PString GetSDPMediaType() const
SDPMediaFormat::GetClockRate
unsigned GetClockRate(void)
Definition: sdp.h:89
SDPMediaDescription::GetMaxPTime
unsigned GetMaxPTime() const
Definition: sdp.h:189
SDPApplicationMediaDescription::GetSDPTransportType
virtual PCaselessString GetSDPTransportType() const
SDPDummyMediaDescription::CreateEmpty
virtual SDPMediaDescription * CreateEmpty() const
SDPApplicationMediaDescription::CreateSDPMediaFormat
virtual SDPMediaFormat * CreateSDPMediaFormat(const PString &portString)
SDPSessionDescription::GetDefaultConnectAddress
const OpalTransportAddress & GetDefaultConnectAddress() const
Definition: sdp.h:330
SDPMediaDescription::SetAttribute
virtual void SetAttribute(const PString &attr, const PString &value)
SDPMediaDescription::SetTransportAddress
virtual PBoolean SetTransportAddress(const OpalTransportAddress &t)
SDPMediaDescription::GetMediaFormats
virtual OpalMediaFormatList GetMediaFormats() const
SDPSessionDescription::TransportIndependentBandwidthType
static const PCaselessString & TransportIndependentBandwidthType()
rtp.h
OpalTransportAddress
Definition: transports.h:149
SDPRTPAVPMediaDescription::GetSDPPortList
virtual PString GetSDPPortList() const
SDPMediaDescription::CreateSDPMediaFormats
virtual void CreateSDPMediaFormats(const PStringArray &tokens)
SDPAudioMediaDescription::CreateEmpty
virtual SDPMediaDescription * CreateEmpty() const
SDPSessionDescription::protocolVersion
PINDEX protocolVersion
Definition: sdp.h:359
SDPApplicationMediaDescription::CreateEmpty
virtual SDPMediaDescription * CreateEmpty() const
SDPSessionDescription::SetDirection
void SetDirection(const SDPMediaDescription::Direction &d)
Definition: sdp.h:326
SDPDummyMediaDescription::GetSDPPortList
virtual PString GetSDPPortList() const
SDPSessionDescription::GetMediaDescriptions
const SDPMediaDescriptionArray & GetMediaDescriptions() const
Definition: sdp.h:320
SDPMediaDescription::SetBandwidth
virtual void SetBandwidth(const PString &type, unsigned value)
Definition: sdp.h:177
SDPDummyMediaDescription::CreateSDPMediaFormat
virtual SDPMediaFormat * CreateSDPMediaFormat(const PString &portString)
SDPMediaFormat::GetMediaFormat
const OpalMediaFormat & GetMediaFormat() const
Definition: sdp.h:95
SDPMediaFormat::GetPayloadType
RTP_DataFrame::PayloadTypes GetPayloadType() const
Definition: sdp.h:81
SDPRTPAVPMediaDescription::PrintOn
virtual bool PrintOn(ostream &str, const PString &connectString) const
SDPBandwidth::operator[]
unsigned & operator[](const PCaselessString &type)
SDPMediaDescription::GetBandwidth
virtual const SDPBandwidth & GetBandwidth() const
Definition: sdp.h:179
SDPMediaDescription::PostDecode
virtual bool PostDecode(const OpalMediaFormatList &mediaFormats)
SDPMediaDescription::GetSDPMediaType
virtual PString GetSDPMediaType() const =0
SDPSessionDescription::GetUserName
PString GetUserName() const
Definition: sdp.h:318
SDPMediaDescription::GetSDPTransportType
virtual PCaselessString GetSDPTransportType() const =0
SDPSessionDescription::SetSessionName
void SetSessionName(const PString &v)
SDPMediaDescription::AddMediaFormat
virtual void AddMediaFormat(const OpalMediaFormat &mediaFormat)
SDPSessionDescription::ownerVersion
unsigned ownerVersion
Definition: sdp.h:364
SDPMediaFormat::SetRTCP_FB
void SetRTCP_FB(const PString &v)
Definition: sdp.h:93
SDPMediaFormat::PostDecode
bool PostDecode(const OpalMediaFormatList &mediaFormats, unsigned bandwidth)
SDPMediaDescription::portCount
WORD portCount
Definition: sdp.h:197
SDPSessionDescription::GetOwnerSessionId
time_t GetOwnerSessionId() const
Definition: sdp.h:335
SDPMediaDescription::bandwidth
SDPBandwidth bandwidth
Definition: sdp.h:201