# OpalPluginVideoTranscoder Class Reference

`#include <opalpluginmgr.h>`

Inheritance diagram for OpalPluginVideoTranscoder:

[legend]
Collaboration diagram for OpalPluginVideoTranscoder:
[legend]

## Public Member Functions

| OpalPluginVideoTranscoder (const PluginCodec_Definition *codec, bool isEncoder)
| ~OpalPluginVideoTranscoder ()
virtual void | GetStatistics (OpalMediaStatistics &statistics) const
PBoolean | ConvertFrames (const RTP_DataFrame &src, RTP_DataFrameList &dstList)
bool | UpdateMediaFormats (const OpalMediaFormat &input, const OpalMediaFormat &output)
PBoolean | ExecuteCommand (const OpalMediaCommand &command)

## 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_lastSequenceNumber
DWORD | m_lastDecodedTimestamp
DWORD | m_lastMarkerTimestamp
bool | m_badMarkers

## Constructor & Destructor Documentation

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

OpalPluginVideoTranscoder::~OpalPluginVideoTranscoder | ( |  | ) |

## Member Function Documentation

PBoolean OpalPluginVideoTranscoder::ConvertFrames | ( | const RTP_DataFrame & | src,
|  | RTP_DataFrameList & | dstList |
| ) |  |  | `[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.

virtual void OpalPluginVideoTranscoder::GetStatistics | ( | OpalMediaStatistics & | statistics | ) | const`[virtual]`

Reimplemented from OpalVideoTranscoder.

bool OpalPluginVideoTranscoder::UpdateMediaFormats | ( | const OpalMediaFormat & | input,
|  | const OpalMediaFormat & | output |
| ) |  |  | `[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]`

DWORD OpalPluginVideoTranscoder::m_lastSequenceNumber `[protected]`

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

- opalpluginmgr.h