OPAL
Version 3.14.3
|
#include <transcoders.h>
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 |
![]() | |
OpalTranscoder (const OpalMediaFormat &inputMediaFormat, const OpalMediaFormat &outputMediaFormat) | |
virtual bool | UpdateMediaFormats (const OpalMediaFormat &inputMediaFormat, const OpalMediaFormat &outputMediaFormat) |
virtual PBoolean | ExecuteCommand (const OpalMediaCommand &command) |
virtual PBoolean | ConvertFrames (const RTP_DataFrame &input, RTP_DataFrameList &output) |
PINDEX | GetMaxOutputSize () const |
void | SetMaxOutputSize (PINDEX size) |
void | SetCommandNotifier (const PNotifier ¬ifier) |
const PNotifier & | GetCommandNotifier () const |
void | NotifyCommand (const OpalMediaCommand &command) const |
Notify command notifier of command. More... | |
unsigned | GetSessionID () const |
Get session ID for the transcoder (from OpalMediaStream) More... | |
void | SetSessionID (unsigned id) |
Set session ID for the transcoder (from OpalMediaStream) More... | |
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 |
virtual void | GetStatistics (OpalMediaStatistics &statistics) const |
void | CopyTimestamp (RTP_DataFrame &dst, const RTP_DataFrame &src, bool inToOut) const |
![]() | |
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 |
Protected Attributes | |
unsigned | inputBitsPerSample |
unsigned | outputBitsPerSample |
![]() | |
PINDEX | maxOutputSize |
PNotifier | commandNotifier |
PMutex | updateMutex |
unsigned | m_sessionID |
bool | outputIsRTP |
bool | inputIsRTP |
bool | acceptEmptyPayload |
bool | acceptOtherPayloads |
unsigned | m_inClockRate |
unsigned | m_outClockRate |
RTP_DataFrame::PayloadTypes | m_lastPayloadType |
unsigned | m_consecutivePayloadTypeMismatches |
![]() | |
OpalMediaFormat | inputMediaFormat |
OpalMediaFormat | outputMediaFormat |
Additional Inherited Members | |
![]() | |
static OpalTranscoder * | Create (const OpalMediaFormat &srcFormat, const OpalMediaFormat &dstFormat, const BYTE *instance=NULL, unsigned instanceLen=0) |
static bool | SelectFormats (const OpalMediaType &mediaType, const OpalMediaFormatList &srcFormats, const OpalMediaFormatList &dstFormats, const OpalMediaFormatList &allFormats, OpalMediaFormat &srcFormat, OpalMediaFormat &dstFormat) |
static bool | FindIntermediateFormat (const OpalMediaFormat &srcFormat, const OpalMediaFormat &dstFormat, OpalMediaFormat &intermediateFormat) |
static OpalMediaFormatList | GetDestinationFormats (const OpalMediaFormat &srcFormat) |
static OpalMediaFormatList | GetSourceFormats (const OpalMediaFormat &dstFormat) |
static OpalMediaFormatList | GetPossibleFormats (const OpalMediaFormatList &formats) |
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.
OpalStreamedTranscoder::OpalStreamedTranscoder | ( | const OpalMediaFormat & | inputMediaFormat, |
const OpalMediaFormat & | outputMediaFormat, | ||
unsigned | inputBits, | ||
unsigned | outputBits | ||
) |
Create a new streamed transcoder implementation.
inputMediaFormat | Input media format |
outputMediaFormat | Output media format |
inputBits | Bits per sample in input data |
outputBits | Bits per sample in output data |
|
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.
input | Input data |
output | Output data |
Implements OpalTranscoder.
Reimplemented in Opal_G711_PCM.
|
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_PCM_Linear16Mono, Opal_Linear16Mono_PCM, OpalPluginStreamedAudioTranscoder, Opal_PCM_G711_ALaw, Opal_G711_ALaw_PCM, Opal_PCM_G711_uLaw, and Opal_G711_uLaw_PCM.
|
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.
input | Flag for input or output data size |
Implements OpalTranscoder.
|
protected |
|
protected |