OPAL  Version 3.14.3
OpalVideoFormat Class Reference

#include <mediafmt.h>

Inheritance diagram for OpalVideoFormat:
Collaboration diagram for OpalVideoFormat:

Public Types

enum  { ContentRoleMask = 15 }
 
enum  VideoFrameType { e_UnknownFrameType, e_NonFrameBoundary, e_IntraFrame, e_InterFrame }
 
- Public Types inherited from OpalMediaFormat
enum  StandardClockRate { AudioClockRate = 8000, VideoClockRate = 90000 }
 

Public Member Functions

 OpalVideoFormat (OpalVideoFormatInternal *info=NULL)
 
 OpalVideoFormat (const char *fullName)
 
 OpalVideoFormat (const char *fullName, RTP_DataFrame::PayloadTypes rtpPayloadType, const char *encodingName, unsigned maxFrameWidth, unsigned maxFrameHeight, unsigned maxFrameRate, unsigned maxBitRate, time_t timeStamp=0)
 
OpalVideoFormatoperator= (const OpalMediaFormat &other)
 
 P_DECLARE_STREAMABLE_ENUM (ContentRole, eNoRole, ePresentation, eMainRole, eSpeaker, eSignLanguage)
 
 P_DECLARE_STREAMABLE_BITWISE_ENUM_EX (RTCPFeedback, 7,(e_NoRTCPFb, e_PLI, e_FIR, e_TMMBR, e_TSTR, e_VBCM, e_NACK, e_SLI),"","pli","fir","tmmbr","tstr","vcbm","nack","sli")
 RTP/RTCP Feedback options. More...
 
 P_DECLARE_STREAMABLE_ENUM (ImageAttributeInSDP, ImageAttrSuppressed, ImageAddrOffered, ImageAttrAnswerRequired)
 Enum for media option to include imageattr from RFC 6236. More...
 
VideoFrameType GetVideoFrameType (const BYTE *payloadPtr, PINDEX payloadSize, PBYTEArray &context) const
 
- Public Member Functions inherited from OpalMediaFormat
 OpalMediaFormat (const OpalMediaFormat &c)
 
virtual ~OpalMediaFormat ()
 
OpalMediaFormatoperator= (const OpalMediaFormat &c)
 
virtual PBoolean MakeUnique ()
 
 OpalMediaFormat (OpalMediaFormatInternal *info=NULL)
 
 OpalMediaFormat (const char *fullName, const OpalMediaType &mediaType, RTP_DataFrame::PayloadTypes rtpPayloadType, const char *encodingName, PBoolean needsJitter, OpalBandwidth bandwidth, PINDEX frameSize, unsigned frameTime, unsigned clockRate, time_t timeStamp=0)
 
 OpalMediaFormat (RTP_DataFrame::PayloadTypes rtpPayloadType, unsigned clockRate, const char *rtpEncodingName=NULL, const char *protocol=NULL)
 
 OpalMediaFormat (const char *wildcard)
 
 OpalMediaFormat (const PString &wildcard)
 
OpalMediaFormatoperator= (RTP_DataFrame::PayloadTypes rtpPayloadType)
 
OpalMediaFormatoperator= (const char *wildcard)
 
OpalMediaFormatoperator= (const PString &wildcard)
 
virtual PObject * Clone () const
 
virtual Comparison Compare (const PObject &obj) const
 
virtual void PrintOn (ostream &strm) const
 
virtual void ReadFrom (istream &strm)
 
bool ToNormalisedOptions ()
 
bool ToCustomisedOptions ()
 
bool Update (const OpalMediaFormat &mediaFormat)
 
bool Merge (const OpalMediaFormat &mediaFormat, bool copyPayloadType=false)
 
bool ValidateMerge (const OpalMediaFormat &mediaFormat) const
 
PString GetName () const
 
PString GetDescription () const
 
PBoolean IsValid () const
 
PBoolean IsTransportable () const
 
RTP_DataFrame::PayloadTypes GetPayloadType () const
 
void SetPayloadType (RTP_DataFrame::PayloadTypes type)
 
const char * GetEncodingName () const
 
OpalMediaType GetMediaType () const
 
bool IsMediaType (const OpalMediaType &mediaType) const
 
bool NeedsJitterBuffer () const
 
OpalBandwidth GetMaxBandwidth () const
 
OpalBandwidth GetUsedBandwidth () const
 
PINDEX GetFrameSize () const
 
unsigned GetFrameTime () const
 
unsigned GetTimeUnits () const
 
unsigned GetClockRate () const
 
PStringToString GetOptions () const
 
PINDEX GetOptionCount () const
 
const OpalMediaOptionGetOption (PINDEX index) const
 
bool GetOptionValue (const PString &name, PString &value) const
 
bool SetOptionValue (const PString &name, const PString &value)
 
bool GetOptionBoolean (const PString &name, bool dflt=false) const
 
bool SetOptionBoolean (const PString &name, bool value)
 
int GetOptionInteger (const PString &name, int dflt=0) const
 
bool SetOptionInteger (const PString &name, int value)
 
double GetOptionReal (const PString &name, double dflt=0) const
 
bool SetOptionReal (const PString &name, double value)
 
template<typename Enum >
Enum GetOptionEnum (const PString &name, Enum dflt=(Enum) 0) const
 
template<typename Enum >
bool SetOptionEnum (const PString &name, Enum value)
 
PString GetOptionString (const PString &name, const PString &dflt=PString::Empty()) const
 
bool SetOptionString (const PString &name, const PString &value)
 
bool GetOptionOctets (const PString &name, PBYTEArray &octets) const
 
bool SetOptionOctets (const PString &name, const PBYTEArray &octets)
 
bool SetOptionOctets (const PString &name, const BYTE *data, PINDEX length)
 
bool AddOption (OpalMediaOption *option, PBoolean overwrite=false)
 
bool HasOption (const PString &name) const
 
OpalMediaOptionFindOption (const PString &name) const
 
template<class T >
T * FindOptionAs (const PString &name) const
 
bool IsValidForProtocol (const PString &protocol) const
 
time_t GetCodecVersionTime () const
 
ostream & PrintOptions (ostream &strm) const
 
void AdjustVideoArgs (PVideoDevice::OpenArgs &args) const
 
virtual PBoolean IsEmpty () const
 
 operator PString () const
 
 operator const char * () const
 
bool operator== (const char *other) const
 
bool operator!= (const char *other) const
 
bool operator== (const PString &other) const
 
bool operator!= (const PString &other) const
 
bool operator== (const OpalMediaFormat &other) const
 
bool operator!= (const OpalMediaFormat &other) const
 
PStringArray GetMediaPacketizations () const
 
PStringSet GetMediaPacketizationSet () const
 
void SetMediaPacketizations (const PStringSet &packetizations)
 

Static Public Member Functions

static const PString & FrameWidthOption ()
 
static const PString & FrameHeightOption ()
 
static const PString & MinRxFrameWidthOption ()
 
static const PString & MinRxFrameHeightOption ()
 
static const PString & MaxRxFrameWidthOption ()
 
static const PString & MaxRxFrameHeightOption ()
 
static const PString & TemporalSpatialTradeOffOption ()
 
static const PString & TxKeyFramePeriodOption ()
 
static const PString & RateControlPeriodOption ()
 
static const PString & RateControllerOption ()
 
static const PString & FreezeUntilIntraFrameOption ()
 
static __inline unsigned ContentRoleBit (ContentRole contentRole)
 
static const PString & ContentRoleOption ()
 
static const PString & ContentRoleMaskOption ()
 
static const PString & RTCPFeedbackOption ()
 RTP/RTCP Feedback options. More...
 
static const PString & UseImageAttributeInSDP ()
 ImageAttributeInSDP enum media option to include imageattr from RFC 6236. More...
 
- Static Public Member Functions inherited from OpalMediaFormat
static const PString & DescriptionOption ()
 
static const PString & NeedsJitterOption ()
 
static const PString & MaxBitRateOption ()
 
static const PString & TargetBitRateOption ()
 
static const PString & MaxFrameSizeOption ()
 
static const PString & FrameTimeOption ()
 
static const PString & ClockRateOption ()
 
static const PString & ProtocolOption ()
 
static const PString & MaxTxPacketSizeOption ()
 
static OpalMediaFormatList GetAllRegisteredMediaFormats ()
 
static void GetAllRegisteredMediaFormats (OpalMediaFormatList &copy)
 
static bool RegisterKnownMediaFormats (const PString &name=PString::Empty())
 
static bool SetRegisteredMediaFormat (const OpalMediaFormat &mediaFormat)
 
static bool RemoveRegisteredMediaFormat (const OpalMediaFormat &mediaFormat)
 
static const PString & MediaPacketizationOption ()
 
static const PString & MediaPacketizationsOption ()
 

Additional Inherited Members

- Protected Member Functions inherited from OpalMediaFormat
virtual void DestroyContents ()
 
virtual void AssignContents (const PContainer &c)
 
void Construct (OpalMediaFormatInternal *info)
 
- Protected Attributes inherited from OpalMediaFormat
OpalMediaFormatInternalm_info
 
PMutex m_mutex
 

Member Enumeration Documentation

anonymous enum
Enumerator
ContentRoleMask 
Enumerator
e_UnknownFrameType 
e_NonFrameBoundary 
e_IntraFrame 
e_InterFrame 

Constructor & Destructor Documentation

OpalVideoFormat::OpalVideoFormat ( OpalVideoFormatInternal info = NULL)
OpalVideoFormat::OpalVideoFormat ( const char *  fullName)
inline
OpalVideoFormat::OpalVideoFormat ( const char *  fullName,
RTP_DataFrame::PayloadTypes  rtpPayloadType,
const char *  encodingName,
unsigned  maxFrameWidth,
unsigned  maxFrameHeight,
unsigned  maxFrameRate,
unsigned  maxBitRate,
time_t  timeStamp = 0 
)
Parameters
fullNameFull name of media format
rtpPayloadTypeRTP payload type code
encodingNameRTP encoding name
maxFrameWidthWidth of video frame
maxFrameHeightHeight of video frame
maxFrameRateNumber of frames per second
maxBitRateMaximum bits per second
timeStamptimestamp (for versioning)

Member Function Documentation

static __inline unsigned OpalVideoFormat::ContentRoleBit ( ContentRole  contentRole)
inlinestatic
static const PString& OpalVideoFormat::ContentRoleMaskOption ( )
static
static const PString& OpalVideoFormat::ContentRoleOption ( )
static
static const PString& OpalVideoFormat::FrameHeightOption ( )
static
static const PString& OpalVideoFormat::FrameWidthOption ( )
static
static const PString& OpalVideoFormat::FreezeUntilIntraFrameOption ( )
static
VideoFrameType OpalVideoFormat::GetVideoFrameType ( const BYTE *  payloadPtr,
PINDEX  payloadSize,
PBYTEArray &  context 
) const
static const PString& OpalVideoFormat::MaxRxFrameHeightOption ( )
static
static const PString& OpalVideoFormat::MaxRxFrameWidthOption ( )
static
static const PString& OpalVideoFormat::MinRxFrameHeightOption ( )
static
static const PString& OpalVideoFormat::MinRxFrameWidthOption ( )
static
OpalVideoFormat& OpalVideoFormat::operator= ( const OpalMediaFormat other)
OpalVideoFormat::P_DECLARE_STREAMABLE_BITWISE_ENUM_EX ( RTCPFeedback  ,
,
(e_NoRTCPFb, e_PLI, e_FIR, e_TMMBR, e_TSTR, e_VBCM, e_NACK, e_SLI)  ,
""  ,
"pli"  ,
"fir"  ,
"tmmbr"  ,
"tstr"  ,
"vcbm"  ,
"nack"  ,
"sli"   
)

RTP/RTCP Feedback options.

OpalVideoFormat::P_DECLARE_STREAMABLE_ENUM ( ContentRole  ,
eNoRole  ,
ePresentation  ,
eMainRole  ,
eSpeaker  ,
eSignLanguage   
)

The "role" of the content in the video stream based on this media format. This is based on RFC4796 and H.239 semantics and is an enumeration consisting of: Value H.239 RFC4796 NoRole Not used (not populated) Presentation Presentation (0x01) slides Main Live (0x02) main Speaker Live (0x02) speaker SignLanguage Live (0x02) sl

OpalVideoFormat::P_DECLARE_STREAMABLE_ENUM ( ImageAttributeInSDP  ,
ImageAttrSuppressed  ,
ImageAddrOffered  ,
ImageAttrAnswerRequired   
)

Enum for media option to include imageattr from RFC 6236.

static const PString& OpalVideoFormat::RateControllerOption ( )
static
static const PString& OpalVideoFormat::RateControlPeriodOption ( )
static
static const PString& OpalVideoFormat::RTCPFeedbackOption ( )
static

RTP/RTCP Feedback options.

static const PString& OpalVideoFormat::TemporalSpatialTradeOffOption ( )
static
static const PString& OpalVideoFormat::TxKeyFramePeriodOption ( )
static
static const PString& OpalVideoFormat::UseImageAttributeInSDP ( )
static

ImageAttributeInSDP enum media option to include imageattr from RFC 6236.


The documentation for this class was generated from the following file: