# OpalStreamedTranscoder Class Reference

`#include <transcoders.h>`

Inheritance diagram for OpalStreamedTranscoder:

[legend]
Collaboration diagram for OpalStreamedTranscoder:
[legend]

## Public Member Functions

Construction
| OpalStreamedTranscoder (const OpalMediaFormat &inputMediaFormat, const OpalMediaFormat &outputMediaFormat, unsigned inputBits, unsigned outputBits)
Operations
virtual PINDEX | GetOptimalDataFrameSize (PBoolean input) const
virtual PBoolean | Convert (const RTP_DataFrame &input, RTP_DataFrame &output)
virtual int | ConvertOne (int sample) const =0

## Protected Attributes

unsigned | inputBitsPerSample
unsigned | outputBitsPerSample

## Detailed Description

This class defines a transcoder implementation class where the encode/decode is streamed. That is each input n bit PCM sample is encoded to m bits of encoded data, eg G.711 etc.

An application may create a descendent off this class and override functions as required for descibing a specific transcoder.

## Constructor & Destructor Documentation

OpalStreamedTranscoder::OpalStreamedTranscoder | ( | const OpalMediaFormat & | inputMediaFormat,
|  | const OpalMediaFormat & | outputMediaFormat,
|  | unsigned | inputBits,
|  | unsigned | outputBits |
| ) |  |  |

Create a new streamed transcoder implementation.

Parameters:

  inputMediaFormat | Input media format
  outputMediaFormat | Output media format
  inputBits | Bits per sample in input data
  outputBits | Bits per sample in output data

## Member Function Documentation

virtual PBoolean OpalStreamedTranscoder::Convert | ( | const RTP_DataFrame & | input,
|  | RTP_DataFrame & | 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 into the RTP_DataFrame provided.

Returns false if the conversion fails.

Parameters:

  input | Input data
  output | Output data

Implements OpalTranscoder.

Reimplemented in Opal_G711_PCM.

virtual int OpalStreamedTranscoder::ConvertOne | ( | int | sample | ) | const`[pure virtual]`

Convert one sample from one format to another. This function takes the input data as a single sample value and converts it to its output format.

Returns converted value.

Implemented in Opal_G711_uLaw_PCM, Opal_PCM_G711_uLaw, Opal_G711_ALaw_PCM, Opal_PCM_G711_ALaw, OpalPluginStreamedAudioTranscoder, Opal_Linear16Mono_PCM, and Opal_PCM_Linear16Mono.

virtual PINDEX OpalStreamedTranscoder::GetOptimalDataFrameSize | ( | PBoolean | input | ) | const`[virtual]`

Get the optimal size for data frames to be converted. This function returns the size of frames that will be most efficient in conversion. A RTP_DataFrame will attempt to provide or use data in multiples of this size. Note that it may not do so, so the transcoder must be able to handle any sized packets.

Parameters:

  input | Flag for input or output data size

Implements OpalTranscoder.

## Field Documentation

unsigned OpalStreamedTranscoder::inputBitsPerSample `[protected]`

unsigned OpalStreamedTranscoder::outputBitsPerSample `[protected]`

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

- transcoders.h