OpalMediaFormatList Class Reference

#include <mediafmt.h>

List of all members.

Public Member Functions

Operations
OpalMediaFormatListoperator+= (const OpalMediaFormat &format)
OpalMediaFormatListoperator+= (const OpalMediaFormatList &formats)
OpalMediaFormatListoperator-= (const OpalMediaFormat &format)
OpalMediaFormatListoperator-= (const OpalMediaFormatList &formats)
const_iterator FindFormat (RTP_DataFrame::PayloadTypes rtpPayloadType, const unsigned clockRate, const char *rtpEncodingName=NULL, const char *protocol=NULL) const
const_iterator FindFormat (const PString &wildcard, const_iterator start=const_iterator()) const
PBoolean HasFormat (RTP_DataFrame::PayloadTypes rtpPayloadType) const
PBoolean HasFormat (const PString &wildcard) const
void Remove (const PStringArray &mask)
void Reorder (const PStringArray &order)
bool HasType (const OpalMediaType &type, bool mustBeTransportable=true) const


Detailed Description

This class contains a list of media formats.


Constructor & Destructor Documentation

OpalMediaFormatList::OpalMediaFormatList (  ) 

Create an empty media format list.

OpalMediaFormatList::OpalMediaFormatList ( const OpalMediaFormat format  ) 

Create a media format list with one media format in it.

Parameters:
format  Format to add

OpalMediaFormatList::OpalMediaFormatList ( const OpalMediaFormatList l  )  [inline]

Create a copy of a media format list.

OpalMediaFormatList::OpalMediaFormatList (  ) 

Create an empty media format list.

OpalMediaFormatList::OpalMediaFormatList ( const OpalMediaFormat format  ) 

Create a media format list with one media format in it.

Parameters:
format  Format to add

OpalMediaFormatList::OpalMediaFormatList ( const OpalMediaFormatList l  )  [inline]

Create a copy of a media format list.


Member Function Documentation

OpalMediaFormatList& OpalMediaFormatList::operator+= ( const OpalMediaFormat format  ) 

Add a format to the list. If the format is invalid or already in the list then it is not added.

Parameters:
format  Format to add

OpalMediaFormatList& OpalMediaFormatList::operator+= ( const OpalMediaFormatList formats  ) 

Add a format to the list. If the format is invalid or already in the list then it is not added.

Parameters:
formats  Formats to add

OpalMediaFormatList& OpalMediaFormatList::operator-= ( const OpalMediaFormat format  ) 

Remove a format to the list. If the format is invalid or not in the list then this does nothing.

Parameters:
format  Format to remove

OpalMediaFormatList& OpalMediaFormatList::operator-= ( const OpalMediaFormatList formats  ) 

Remove a format to the list. If the format is invalid or not in the list then this does nothing.

Parameters:
formats  Formats to remove

const_iterator OpalMediaFormatList::FindFormat ( RTP_DataFrame::PayloadTypes  rtpPayloadType,
const unsigned  clockRate,
const char *  rtpEncodingName = NULL,
const char *  protocol = NULL 
) const

Get a format position in the list matching the payload type.

Returns P_MAX_INDEX if not in list.

Parameters:
rtpPayloadType  RTP payload type code
clockRate  clock rate
rtpEncodingName  RTP payload type name
protocol  protocol to be valid for (if NULL, then all)

const_iterator OpalMediaFormatList::FindFormat ( const PString &  wildcard,
const_iterator  start = const_iterator() 
) const

Get a position in the list of the first entry matching the wildcard. The wildcard string is a string match using several special characters.

The '*' character indicates substrings, for example: "G.711*" would match "G.711-uLaw-64k" and "G.711-ALaw-64k".

The '@' character indicates a type of media format, so say " would find the first video codec.

The '!' character indicates a negative test. That is the first entry that does NOT match the string is returned. The string after the '!' may contain '*' and '@' characters.

Returns P_MAX_INDEX if not in list.

Parameters:
wildcard  Wildcard string name.

PBoolean OpalMediaFormatList::HasFormat ( RTP_DataFrame::PayloadTypes  rtpPayloadType  )  const [inline]

Determine if a format matching the payload type is in the list.

Parameters:
rtpPayloadType  RTP payload type code

PBoolean OpalMediaFormatList::HasFormat ( const PString &  wildcard  )  const [inline]

Determine if a format matching the wildcard is in the list. The wildcard string is a simple substring match using the '*' character. For example: "G.711*" would match "G.711-uLaw-64k" and "G.711-ALaw-64k".

Parameters:
wildcard  Wildcard string name.

void OpalMediaFormatList::Remove ( const PStringArray &  mask  ) 

Remove all the formats specified. Each string in the array is checked using the wildcard matching algorithm in FindFormat().

The '*' character indicates substrings, for example: "G.711*" would match "G.711-uLaw-64k" and "G.711-ALaw-64k".

The '@' character indicates a type of media format, so say " would find the first video codec.

The '!' character indicates a negative test. That is the first entry that does NOT match the string is returned. The string after the '!' may contain '*' and '@' characters.

I should be noted that when the ! operator is used, codecs are removed at that time and later ! operators may not have an affect. For example {"!G.729","!G.728"} will NOT give you two codecs but on G.729.

void OpalMediaFormatList::Reorder ( const PStringArray &  order  ) 

Reorder the formats in the list. The order variable is an array of names and the list is reordered according to the order in that array.

Each string in the array is checked using the wildcard matching algorithm similar to FindFormat().

The '*' character indicates substrings, for example: "G.711*" would match "G.711-uLaw-64k" and "G.711-ALaw-64k".

The '@' character indicates a type of media format, so say " would sort by video codec.

The '!' character is not supported.

bool OpalMediaFormatList::HasType ( const OpalMediaType type,
bool  mustBeTransportable = true 
) const

Determine if a list contains a specific media type


The documentation for this class was generated from the following file:
Generated on Mon Feb 1 00:26:18 2010 for OPAL by  doxygen 1.5.1