31 #ifndef OPAL_CODEC_OPALPLUGINMGR_H
32 #define OPAL_CODEC_OPALPLUGINMGR_H
38 #include <ptlib/object.h>
42 #include <ptlib/pluginmgr.h>
43 #include <ptlib/pfactory.h>
89 const char * rtpEncodingName,
98 const char * rtpEncodingName,
103 #if OPAL_T38_CAPABILITY
106 const char * fmtName,
107 const char * rtpEncodingName,
126 PluginCodec_GetCodecFunction getCodecFn);
134 const PString & _mediaFormat,
135 const PString & _baseName,
136 unsigned maxFramesPerPacket,
137 unsigned recommendedFramesPerPacket,
138 unsigned _pluginSubType);
167 int Call(
void * parm,
unsigned * parmLen,
void * context = NULL)
const
172 int Call(
void * parm,
unsigned parmLen,
void * context = NULL)
const
174 return Call(parm, &parmLen, context);
227 bool Transcode(
const void * from,
unsigned * fromLen,
void * to,
unsigned * toLen,
unsigned * flags)
const
252 const char * fmtName,
258 virtual PObject *
Clone()
const;
272 PBoolean
ConvertFrame(
const BYTE * input, PINDEX & consumed, BYTE * output, PINDEX & created);
303 const char * fmtName,
307 virtual PObject *
Clone()
const;
337 unsigned m_consecutiveIntraFrames;
345 #if OPAL_T38_CAPABILITY
350 OpalPluginFaxFormatInternal(
352 const char * fmtName,
353 const char * rtpEncodingName,
358 virtual PObject *
Clone()
const;
362 #endif // OPAL_T38_CAPABILITY
391 virtual int Encode(
const void * from,
428 template<
class TranscoderClass>
432 class Worker :
public OpalTranscoderFactory::WorkerBase
437 { OpalTranscoderFactory::Register(key,
this); }
484 virtual PObject *
Clone()
const;
494 #define OPAL_DECLARE_EMPTY_AUDIO_CAPABILITY(fmt, type) \
495 class fmt##_CapabilityRegisterer { \
497 fmt##_CapabilityRegisterer() \
498 { H323CapabilityFactory::Register(fmt, new H323AudioPluginCapability(fmt, fmt, type)); } \
501 #define OPAL_DEFINE_EMPTY_AUDIO_CAPABILITY(fmt) \
502 static fmt##_CapabilityRegisterer fmt##_CapabilityRegisterer_instance; \
516 virtual PObject *
Clone()
const;
517 virtual PBoolean
OnSendingPDU(H245_AudioCapability & cap,
unsigned packetSize)
const;
518 virtual PBoolean
OnReceivedPDU(
const H245_AudioCapability & cap,
unsigned & packetSize);
521 #define OPAL_DECLARE_EMPTY_G7231_CAPABILITY(fmt, annex) \
522 class fmt##_CapabilityRegisterer { \
524 fmt##_CapabilityRegisterer() \
525 { H323CapabilityFactory::Register(fmt, new H323PluginG7231Capability(fmt, annex)); } \
528 #define OPAL_DEFINE_EMPTY_G7231_CAPABILITY(fmt) \
529 static fmt##_CapabilityRegisterer fmt##_CapabilityRegisterer_instance; \
544 const unsigned char * data,
unsigned dataLen);
548 const unsigned char * data,
unsigned dataLen);
550 virtual PObject *
Clone()
const;
569 virtual PObject *
Clone()
const;
588 unsigned _pluginSubType);
596 virtual void PrintOn(std::ostream & strm)
const;
616 const unsigned char * data,
unsigned dataLen);
620 const unsigned char * data,
unsigned dataLen);
622 virtual PObject *
Clone()
const;
641 virtual PObject *
Clone()
const;
657 Comparison
Compare(
const PObject & obj)
const;
659 virtual PObject *
Clone()
const;
662 H245_VideoCapability & pdu
670 const H245_VideoCapability & pdu
685 Comparison
Compare(
const PObject & obj)
const;
687 virtual PObject *
Clone()
const;
690 H245_VideoCapability & pdu
698 const H245_VideoCapability & pdu
700 virtual PBoolean
IsMatch(
const PASN_Choice & subTypePDU)
const;
706 #endif // OPAL_CODEC_OPALPLUGINMGR_H