OPAL
Version 3.10.4
|
#include <opalpluginmgr.h>
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) |
![]() | |
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 () |
![]() | |
OpalTranscoder (const OpalMediaFormat &inputMediaFormat, const OpalMediaFormat &outputMediaFormat) | |
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. | |
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 |
![]() | |
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 |
![]() | |
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 |
![]() | |
PINDEX | inDataSize |
PINDEX | outDataSize |
bool | forceIFrame |
bool | lastFrameWasIFrame |
DWORD | m_totalFrames |
DWORD | m_keyFrames |
![]() | |
PINDEX | maxOutputSize |
PNotifier | commandNotifier |
PMutex | updateMutex |
unsigned | m_sessionID |
bool | outputIsRTP |
bool | inputIsRTP |
bool | acceptEmptyPayload |
bool | acceptOtherPayloads |
unsigned | m_inClockRate |
unsigned | m_outClockRate |
![]() | |
OpalMediaFormat | inputMediaFormat |
OpalMediaFormat | outputMediaFormat |
![]() | |
const PluginCodec_Definition * | codecDef |
bool | isEncoder |
void * | context |
OpalPluginControl | setCodecOptions |
OpalPluginControl | getOutputDataSizeControl |
Additional Inherited Members | |
![]() | |
typedef PluginCodec_Video_FrameHeader | FrameHeader |
![]() | |
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) |
OpalPluginVideoTranscoder::OpalPluginVideoTranscoder | ( | const PluginCodec_Definition * | codec, |
bool | isEncoder | ||
) |
OpalPluginVideoTranscoder::~OpalPluginVideoTranscoder | ( | ) |
|
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.
|
protected |
|
protected |
|
protected |
PBoolean OpalPluginVideoTranscoder::ExecuteCommand | ( | const OpalMediaCommand & | command | ) |
Reimplemented from OpalPluginTranscoder.
|
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.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |