OPAL  Version 3.18.8
OpalPluginStreamedAudioTranscoder Class Reference

#include <opalpluginmgr.h>

Inheritance diagram for OpalPluginStreamedAudioTranscoder:
Collaboration diagram for OpalPluginStreamedAudioTranscoder:

Public Member Functions

 OpalPluginStreamedAudioTranscoder (const OpalTranscoderKey &key, const PluginCodec_Definition *codec, bool isEncoder)
 
bool UpdateMediaFormats (const OpalMediaFormat &input, const OpalMediaFormat &output)
 
PBoolean ExecuteCommand (const OpalMediaCommand &command)
 
virtual bool AcceptComfortNoise () const
 
virtual int ConvertOne (int from) const
 
- Public Member Functions inherited from OpalStreamedTranscoder
 OpalStreamedTranscoder (const OpalMediaFormat &inputMediaFormat, const OpalMediaFormat &outputMediaFormat, unsigned inputBits, unsigned outputBits)
 
virtual PINDEX GetOptimalDataFrameSize (PBoolean input) const
 
virtual PBoolean Convert (const RTP_DataFrame &input, RTP_DataFrame &output)
 
- Public Member Functions inherited from OpalTranscoder
 OpalTranscoder (const OpalMediaFormat &inputMediaFormat, const OpalMediaFormat &outputMediaFormat)
 
virtual PBoolean ConvertFrames (const RTP_DataFrame &input, RTP_DataFrameList &output)
 
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. 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...
 
RTP_DataFrame::PayloadTypes GetPayloadType (PBoolean input) 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
 
- 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 OpalMediaFormatGetInputFormat () const
 
const OpalMediaFormatGetOutputFormat () const
 
- Public Member Functions inherited from OpalPluginTranscoder
 OpalPluginTranscoder (const PluginCodec_Definition *defn, bool isEnc)
 
 ~OpalPluginTranscoder ()
 
bool UpdateOptions (OpalMediaFormat &fmt)
 
bool ExecuteCommand (const OpalMediaCommand &command)
 
bool Transcode (const void *from, unsigned *fromLen, void *to, unsigned *toLen, unsigned *flags) const
 

Protected Member Functions

virtual bool OnCreated (const OpalMediaFormat &srcFormat, const OpalMediaFormat &destFormat, const BYTE *instance, unsigned instanceLen)
 
- Protected Member Functions inherited from OpalTranscoder
 PDECLARE_MUTEX (updateMutex)
 
- Protected Member Functions inherited from OpalPluginTranscoder
bool CreateContext ()
 
bool SetCodecOption (const PString &optionName, const PString &optionValue)
 

Protected Attributes

bool comfortNoise
 
- Protected Attributes inherited from OpalStreamedTranscoder
unsigned inputBitsPerSample
 
unsigned outputBitsPerSample
 
- Protected Attributes inherited from OpalTranscoder
PINDEX maxOutputSize
 
PNotifier commandNotifier
 
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
 
- Protected Attributes inherited from OpalMediaFormatPair
OpalMediaFormat inputMediaFormat
 
OpalMediaFormat outputMediaFormat
 
- Protected Attributes inherited from OpalPluginTranscoder
const PluginCodec_DefinitioncodecDef
 
bool isEncoder
 
void * context
 
unsigned m_maxPayloadSize
 
OpalPluginControl setCodecOptionsControl
 
OpalPluginControl getActiveOptionsControl
 
OpalPluginControl freeOptionsControl
 
OpalPluginControl getOutputDataSizeControl
 
OpalPluginControl getCodecStatistics
 

Constructor & Destructor Documentation

OpalPluginStreamedAudioTranscoder::OpalPluginStreamedAudioTranscoder ( const OpalTranscoderKey key,
const PluginCodec_Definition codec,
bool  isEncoder 
)

Member Function Documentation

virtual bool OpalPluginStreamedAudioTranscoder::AcceptComfortNoise ( ) const
inlinevirtual

Reimplemented from OpalTranscoder.

References comfortNoise.

virtual int OpalPluginStreamedAudioTranscoder::ConvertOne ( int  sample) const
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.

Implements OpalStreamedTranscoder.

PBoolean OpalPluginStreamedAudioTranscoder::ExecuteCommand ( const OpalMediaCommand command)
virtual

Execute the command specified to the transcoder. The commands are highly context sensitive, for example OpalVideoUpdatePicture would only apply to a video transcoder.

The default behaviour simply returns false.

Returns
true if command is handled.

Reimplemented from OpalTranscoder.

virtual bool OpalPluginStreamedAudioTranscoder::OnCreated ( const OpalMediaFormat srcFormat,
const OpalMediaFormat destFormat,
const BYTE *  instance,
unsigned  instanceLen 
)
protectedvirtual

Initialise the just created transcoder

Reimplemented from OpalTranscoder.

bool OpalPluginStreamedAudioTranscoder::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 OpalTranscoder.

Field Documentation

bool OpalPluginStreamedAudioTranscoder::comfortNoise
protected

Referenced by AcceptComfortNoise().


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