# mediatype.h File Reference

`#include <opal/buildopts.h>`
`#include <ptlib/pfactory.h>`
`#include <ptlib/bitwise_enum.h>`

Include dependency graph for mediatype.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Data Structures

class | OpalMediaType
class | OpalMediaTypeDefinition
class | SimpleMediaType< Type, SessionId >
class | OpalRTPAVPMediaType
class | OpalAudioMediaType
class | OpalVideoMediaType

## Defines

#define | OPAL_INSTANTIATE_MEDIATYPE2(cls, name) PFACTORY_CREATE(OpalMediaTypesFactory, cls, name, true)
#define | OPAL_INSTANTIATE_MEDIATYPE(cls) OPAL_INSTANTIATE_MEDIATYPE2(cls, cls::Name())
#define | OPAL_INSTANTIATE_SIMPLE_MEDIATYPE(cls, name,)

## Typedefs

typedef PFactory< OpalMediaTypeDefinition, OpalMediaType > | OpalMediaTypesFactory
typedef OpalMediaTypesFactory::KeyList_T | OpalMediaTypeList

## Functions

__inline ostream & | operator<< (ostream &strm, const OpalMediaType &mediaType)

## Define Documentation

#define OPAL_INSTANTIATE_MEDIATYPE | ( | cls |  | ) | OPAL_INSTANTIATE_MEDIATYPE2(cls, cls::Name())

#define OPAL_INSTANTIATE_MEDIATYPE2 | ( | cls,
|  | name |  | ) | PFACTORY_CREATE(OpalMediaTypesFactory, cls, name, true)

#define OPAL_INSTANTIATE_SIMPLE_MEDIATYPE | ( | cls,
|  | name |  | ) |

Value:

    namespace OpalMediaTypeSpace { extern const char cls[] = name; }; \
      typedef SimpleMediaType<OpalMediaTypeSpace::cls, ##__VA_ARGS__> cls; \
      OPAL_INSTANTIATE_MEDIATYPE(cls) \

## Typedef Documentation

typedef OpalMediaTypesFactory::KeyList_T OpalMediaTypeList

typedef PFactory<OpalMediaTypeDefinition, OpalMediaType> OpalMediaTypesFactory

## Function Documentation

__inline ostream& operator<< | ( | ostream & | strm,
|  | const OpalMediaType & | mediaType |
| ) |  |  |