OPAL Version 3.10.4

- Main Page
- Related Pages
- Namespaces
- Data Structures
- Files

- Data Structures
- Class Hierarchy
- Data Fields

Public Member Functions | Protected Member Functions | Protected Attributes
OpalPluginVideoTranscoder Class Reference

`#include <opalpluginmgr.h>`

Inheritance diagram for OpalPluginVideoTranscoder:

## Public Member Functions

| OpalPluginVideoTranscoder (const PluginCodec_Definition *codec, bool isEncoder)
| ~OpalPluginVideoTranscoder ()
PBoolean | ConvertFrames (const RTP_DataFrame &src, RTP_DataFrameList &dstList)
bool | UpdateMediaFormats (const OpalMediaFormat &input, const OpalMediaFormat &output)
PBoolean | ExecuteCommand (const OpalMediaCommand &command)
Public Member Functions inherited from OpalVideoTranscoder
| OpalVideoTranscoder (const OpalMediaFormat &inputMediaFormat, const OpalMediaFormat &outputMediaFormat)
virtual PINDEX | GetOptimalDataFrameSize (PBoolean input) const
virtual PBoolean | Convert (const RTP_DataFrame &input, RTP_DataFrame &output)
virtual void | GetStatistics (OpalMediaStatistics &statistics) const
bool | WasLastFrameIFrame () const
void | ForceIFrame ()
Public Member Functions inherited from OpalTranscoder
| OpalTranscoder (const OpalMediaFormat &inputMediaFormat, const OpalMediaFormat &outputMediaFormat)
PINDEX | GetMaxOutputSize () const
void | SetMaxOutputSize (PINDEX size)
void | SetCommandNotifier (const PNotifier &notifier)
const PNotifier & | GetCommandNotifier () const
void | NotifyCommand (const OpalMediaCommand &command) const
| Notify command notifier of command.
unsigned | GetSessionID () const
| Get session ID for the transcoder (from OpalMediaStream)
void | SetSessionID (unsigned id)
| Set session ID for the transcoder (from OpalMediaStream)
virtual void | SetInstanceID (const BYTE *instance, unsigned instanceLen)
RTP_DataFrame::PayloadTypes | GetPayloadType (PBoolean input) const
virtual bool | AcceptComfortNoise () const
virtual bool | AcceptEmptyPayload () const
virtual bool | AcceptOtherPayloads () const
void | CopyTimestamp (RTP_DataFrame &dst, const RTP_DataFrame &src, bool inToOut) const
Public Member Functions inherited from OpalMediaFormatPair
| OpalMediaFormatPair (const OpalMediaFormat &inputMediaFormat, const OpalMediaFormat &outputMediaFormat)
void | PrintOn (ostream &strm) const
virtual Comparison | Compare (const PObject &obj) const
const OpalMediaFormat & | GetInputFormat () const
const OpalMediaFormat & | GetOutputFormat () const
Public Member Functions inherited from OpalPluginTranscoder
| OpalPluginTranscoder (const PluginCodec_Definition *defn, bool isEnc)
| ~OpalPluginTranscoder ()
bool | UpdateOptions (const OpalMediaFormat &fmt)
bool | Transcode (const void *from, unsigned *fromLen, void *to, unsigned *toLen, unsigned *flags) const

## Protected Member Functions

bool | EncodeFrames (const RTP_DataFrame &src, RTP_DataFrameList &dstList)
bool | DecodeFrames (const RTP_DataFrame &src, RTP_DataFrameList &dstList)
bool | DecodeFrame (const RTP_DataFrame &src, RTP_DataFrameList &dstList)

## Protected Attributes

RTP_DataFrame * | m_bufferRTP
DWORD | m_lastDecodedTimestamp
DWORD | m_lastMarkerTimestamp
bool | m_badMarkers
PSimpleTimer | m_videoPictureLossTimer
Protected Attributes inherited from OpalVideoTranscoder
PINDEX | inDataSize
PINDEX | outDataSize
bool | forceIFrame
bool | lastFrameWasIFrame
DWORD | m_totalFrames
DWORD | m_keyFrames
Protected Attributes inherited from OpalTranscoder
PINDEX | maxOutputSize
PNotifier | commandNotifier
PMutex | updateMutex
unsigned | m_sessionID
bool | outputIsRTP
bool | inputIsRTP
bool | acceptEmptyPayload
bool | acceptOtherPayloads
unsigned | m_inClockRate
unsigned | m_outClockRate
Protected Attributes inherited from OpalMediaFormatPair
OpalMediaFormat | inputMediaFormat
OpalMediaFormat | outputMediaFormat
Protected Attributes inherited from OpalPluginTranscoder
const PluginCodec_Definition * | codecDef
bool | isEncoder
void * | context
OpalPluginControl | setCodecOptions
OpalPluginControl | getOutputDataSizeControl

## Additional Inherited Members

Public Types inherited from OpalVideoTranscoder
typedef PluginCodec_Video_FrameHeader | FrameHeader

## Constructor & Destructor Documentation

OpalPluginVideoTranscoder::OpalPluginVideoTranscoder | ( | const PluginCodec_Definition * | codec,
|  | bool | isEncoder
| ) |  |

OpalPluginVideoTranscoder::~OpalPluginVideoTranscoder | ( |  | ) |

## Member Function Documentation

PBoolean OpalPluginVideoTranscoder::ConvertFrames | ( | const RTP_DataFrame & | input,
|  | RTP_DataFrameList & | output
| ) |  |

virtual

Convert the data from one format to another. This function takes the input data as a RTP_DataFrame and converts it to its output format, placing it (possibly) into multiple RTP_DataFrame objects.

The default behaviour makes sure the output list has only one element in it and calls the Convert() function.

Returns false if the conversion fails.

Reimplemented from OpalTranscoder.

bool OpalPluginVideoTranscoder::DecodeFrame | ( | const RTP_DataFrame & | src,
|  | RTP_DataFrameList & | dstList
| ) |  |

protected

bool OpalPluginVideoTranscoder::DecodeFrames | ( | const RTP_DataFrame & | src,
|  | RTP_DataFrameList & | dstList
| ) |  |

protected

bool OpalPluginVideoTranscoder::EncodeFrames | ( | const RTP_DataFrame & | src,
|  | RTP_DataFrameList & | dstList
| ) |  |

protected

PBoolean OpalPluginVideoTranscoder::ExecuteCommand | ( | const OpalMediaCommand & | command | ) |

Reimplemented from OpalPluginTranscoder.

bool OpalPluginVideoTranscoder::UpdateMediaFormats | ( | const OpalMediaFormat & | inputMediaFormat,
|  | const OpalMediaFormat & | outputMediaFormat
| ) |  |

virtual

Update the input and output media formats. This can be used to adjust the parameters of a codec at run time. Note you cannot change the basic media format, eg change GSM0610 to G.711, only options for that format, eg 6k3 mode to 5k3 mode in G.723.1. If the formats are different then a OpalMediaFormat::Merge() is performed.

If a format is empty (invalid) it is ignored and does not update the internal variable. In this way only the input or output side can be updated.

The default behaviour updates the inputMediaFormat and outputMediaFormat member variables.

Reimplemented from OpalVideoTranscoder.

## Field Documentation

bool OpalPluginVideoTranscoder::m_badMarkers

protected

RTP_DataFrame* OpalPluginVideoTranscoder::m_bufferRTP

protected

DWORD OpalPluginVideoTranscoder::m_lastDecodedTimestamp

protected

DWORD OpalPluginVideoTranscoder::m_lastMarkerTimestamp

protected

PSimpleTimer OpalPluginVideoTranscoder::m_videoPictureLossTimer

protected

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

- opalpluginmgr.h