OPAL  Version 3.18.8
H323NonStandardAudioCapability Class Reference

#include <h323caps.h>

Inheritance diagram for H323NonStandardAudioCapability:
Collaboration diagram for H323NonStandardAudioCapability:

Public Member Functions

Construction
 H323NonStandardAudioCapability (H323NonStandardCapabilityInfo::CompareFuncType compareFunc, const BYTE *dataBlock, PINDEX dataSize)
 
 H323NonStandardAudioCapability (const BYTE *dataBlock=NULL, PINDEX dataSize=0, PINDEX comparisonOffset=0, PINDEX comparisonLength=P_MAX_INDEX)
 
 H323NonStandardAudioCapability (const PString &oid, const BYTE *dataBlock=NULL, PINDEX dataSize=0, PINDEX comparisonOffset=0, PINDEX comparisonLength=P_MAX_INDEX)
 
 H323NonStandardAudioCapability (BYTE country, BYTE extension, WORD maufacturer, const BYTE *dataBlock=NULL, PINDEX dataSize=0, PINDEX comparisonOffset=0, PINDEX comparisonLength=P_MAX_INDEX)
 
Overrides from class PObject
Comparison Compare (const PObject &obj) const
 
Identification functions
virtual unsigned GetSubType () const
 
Protocol manipulation
virtual PBoolean OnSendingPDU (H245_AudioCapability &pdu, unsigned packetSize) const
 
virtual PBoolean OnSendingPDU (H245_AudioMode &pdu) const
 
virtual PBoolean OnReceivedPDU (const H245_AudioCapability &pdu, unsigned &packetSize)
 
virtual PBoolean IsMatch (const PASN_Object &subTypePDU, const PString &mediaPacketization) const
 
- Public Member Functions inherited from H323AudioCapability
 H323AudioCapability ()
 
virtual MainTypes GetMainType () const
 
virtual unsigned GetDefaultSessionID () const
 
virtual void SetTxFramesInPacket (unsigned frames)
 
virtual unsigned GetTxFramesInPacket () const
 
virtual unsigned GetRxFramesInPacket () const
 
virtual PBoolean OnSendingPDU (H245_Capability &pdu) const
 
virtual PBoolean OnSendingPDU (H245_DataType &pdu) const
 
virtual PBoolean OnSendingPDU (H245_ModeElement &pdu) const
 
virtual PBoolean OnSendingPDU (H245_AudioCapability &pdu, unsigned packetSize, CommandType type) const
 
virtual PBoolean OnReceivedPDU (const H245_Capability &pdu)
 
virtual PBoolean OnReceivedPDU (const H245_DataType &pdu, PBoolean receiver)
 
virtual PBoolean OnReceivedPDU (const H245_AudioCapability &pdu, unsigned &packetSize, CommandType type)
 
- Public Member Functions inherited from H323RealTimeCapability
 H323RealTimeCapability ()
 
 H323RealTimeCapability (const H323RealTimeCapability &rtc)
 
virtual ~H323RealTimeCapability ()
 
virtual H323ChannelCreateChannel (H323Connection &connection, H323Channel::Directions dir, unsigned sessionID, const H245_H2250LogicalChannelParameters *param) const
 
- Public Member Functions inherited from H323Capability
 H323Capability ()
 
 H323Capability (const H323Capability &other)
 
H323Capabilityoperator= (const H323Capability &other)
 
 ~H323Capability ()
 
Comparison Compare (const PObject &obj) const
 
void PrintOn (ostream &strm) const
 
virtual PString GetFormatName () const =0
 
virtual PBoolean IsUsable (const H323Connection &connection) const
 
CapabilityDirection GetCapabilityDirection () const
 
void SetCapabilityDirection (CapabilityDirection dir)
 
unsigned GetCapabilityNumber () const
 Get unique capability number. More...
 
void SetCapabilityNumber (unsigned num)
 Set unique capability number. More...
 
OpalMediaFormat GetMediaFormat () const
 
bool UpdateMediaFormat (const OpalMediaFormat &format)
 
RTP_DataFrame::PayloadTypes GetPayloadType () const
 Get the payload type for the capaibility. More...
 
void SetPayloadType (RTP_DataFrame::PayloadTypes pt)
 Set the payload type for the capaibility. More...
 
- Public Member Functions inherited from H323NonStandardCapabilityInfo
 H323NonStandardCapabilityInfo (CompareFuncType compareFunc, const BYTE *dataBlock, PINDEX dataSize)
 
 H323NonStandardCapabilityInfo (const BYTE *dataBlock, PINDEX dataSize, PINDEX comparisonOffset=0, PINDEX comparisonLength=P_MAX_INDEX)
 
 H323NonStandardCapabilityInfo (const PString &oid, const BYTE *dataBlock, PINDEX dataSize, PINDEX comparisonOffset=0, PINDEX comparisonLength=P_MAX_INDEX)
 
 H323NonStandardCapabilityInfo (BYTE country, BYTE extension, WORD maufacturer, const BYTE *dataBlock, PINDEX dataSize, PINDEX comparisonOffset=0, PINDEX comparisonLength=P_MAX_INDEX)
 
virtual ~H323NonStandardCapabilityInfo ()
 
virtual PBoolean OnSendingPDU (PBYTEArray &data) const
 
virtual PBoolean OnReceivedPDU (const PBYTEArray &data)
 
PBoolean IsMatch (const H245_NonStandardParameter &param) const
 
PObject::Comparison CompareParam (const H245_NonStandardParameter &param) const
 

Additional Inherited Members

- Public Types inherited from H323Capability
enum  MainTypes {
  e_Audio, e_Video, e_Data, e_UserInput,
  e_GenericControl, e_H235Security, e_FEC, e_NumMainTypes
}
 
enum  {
  DefaultAudioSessionID = 1, DefaultVideoSessionID = 2, DefaultDataSessionID = 3, MasterAllocatedBaseSessionID,
  DeferredSessionID = 1000000
}
 
enum  CommandType { e_TCS, e_OLC, e_ReqMode }
 
enum  CapabilityDirection {
  e_Unknown, e_Receive, e_Transmit, e_ReceiveAndTransmit,
  e_NoDirection, NumCapabilityDirections
}
 
- Public Types inherited from H323NonStandardCapabilityInfo
typedef PObject::Comparison(* CompareFuncType )(struct PluginCodec_H323NonStandardCodecData *)
 
- Static Public Member Functions inherited from H323Capability
static H323CapabilityCreate (const PString &name)
 
- Protected Member Functions inherited from H323Capability
OpalMediaFormatGetWritableMediaFormat () const
 
- Protected Member Functions inherited from H323NonStandardCapabilityInfo
PBoolean OnSendingNonStandardPDU (PASN_Choice &pdu, unsigned nonStandardTag) const
 
PBoolean OnReceivedNonStandardPDU (const PASN_Choice &pdu, unsigned nonStandardTag)
 
PObject::Comparison CompareInfo (const H323NonStandardCapabilityInfo &obj) const
 
PObject::Comparison CompareData (const PBYTEArray &data) const
 
- Protected Attributes inherited from H323Capability
unsigned assignedCapabilityNumber
 
CapabilityDirection capabilityDirection
 Unique ID assigned to capability. More...
 
OpalMediaFormat m_mediaFormat
 
- Protected Attributes inherited from H323NonStandardCapabilityInfo
PString oid
 
BYTE t35CountryCode
 
BYTE t35Extension
 
WORD manufacturerCode
 
PBYTEArray nonStandardData
 
PINDEX comparisonOffset
 
PINDEX comparisonLength
 
CompareFuncType compareFunc
 

Detailed Description

This class describes the interface to a non-standard audio codec used to transfer data via the logical channels opened and managed by the H323 control channel.

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

Constructor & Destructor Documentation

H323NonStandardAudioCapability::H323NonStandardAudioCapability ( H323NonStandardCapabilityInfo::CompareFuncType  compareFunc,
const BYTE *  dataBlock,
PINDEX  dataSize 
)
Parameters
dataBlockNon-Standard data for codec type
dataSizeSize of dataBlock. If 0 and dataBlock != NULL use strlen(dataBlock)
H323NonStandardAudioCapability::H323NonStandardAudioCapability ( const BYTE *  dataBlock = NULL,
PINDEX  dataSize = 0,
PINDEX  comparisonOffset = 0,
PINDEX  comparisonLength = P_MAX_INDEX 
)

Create a new set of information about a non-standard codec.

Parameters
dataBlockNon-Standard data for codec type
dataSizeSize of dataBlock. If 0 and dataBlock != NULL use strlen(dataBlock)
comparisonOffsetOffset into dataBlock to compare
comparisonLengthLength of bytes to compare
H323NonStandardAudioCapability::H323NonStandardAudioCapability ( const PString &  oid,
const BYTE *  dataBlock = NULL,
PINDEX  dataSize = 0,
PINDEX  comparisonOffset = 0,
PINDEX  comparisonLength = P_MAX_INDEX 
)

Create a new set of information about a non-standard codec.

Parameters
oidOID for indentification of codec
dataBlockNon-Standard data for codec type
dataSizeSize of dataBlock. If 0 and dataBlock != NULL use strlen(dataBlock)
comparisonOffsetOffset into dataBlock to compare
comparisonLengthLength of bytes to compare
H323NonStandardAudioCapability::H323NonStandardAudioCapability ( BYTE  country,
BYTE  extension,
WORD  maufacturer,
const BYTE *  dataBlock = NULL,
PINDEX  dataSize = 0,
PINDEX  comparisonOffset = 0,
PINDEX  comparisonLength = P_MAX_INDEX 
)

Create a new set of information about a non-standard codec.

Parameters
countryt35 information
extensiont35 information
maufacturert35 information
dataBlockNon-Standard data for codec type
dataSizeSize of dataBlock. If 0 and dataBlock != NULL use strlen(dataBlock)
comparisonOffsetOffset into dataBlock to compare
comparisonLengthLength of bytes to compare

Member Function Documentation

Comparison H323NonStandardAudioCapability::Compare ( const PObject &  obj) const

Compare two capability instances. This compares the main and sub-types of the capability.

virtual unsigned H323NonStandardAudioCapability::GetSubType ( ) const
virtual

Get the sub-type of the capability. This is a code dependent on the main type of the capability.

This returns H245_AudioCapability::e_nonStandard.

Implements H323Capability.

virtual PBoolean H323NonStandardAudioCapability::IsMatch ( const PASN_Object &  subTypePDU,
const PString &  mediaPacketization 
) const
virtual

Compare the nonStandardData part of the capability, if applicable.

Parameters
subTypePDUsub-type PDU of H323Capability
mediaPacketizationMedia packetization used

Reimplemented from H323Capability.

virtual PBoolean H323NonStandardAudioCapability::OnReceivedPDU ( const H245_AudioCapability &  pdu,
unsigned &  packetSize 
)
virtual

This function is called whenever and incoming TerminalCapabilitySet or OpenLogicalChannel PDU has been used to construct the control channel. It allows the capability to set from the PDU fields, information in members specific to the class.

The default behaviour calls H323NonStandardCapabilityinfo::OnReceivedPDU() to handle the provided PDU.

Parameters
pduPDU to get information from
packetSizePacket size to use in capability

Reimplemented from H323AudioCapability.

virtual PBoolean H323NonStandardAudioCapability::OnSendingPDU ( H245_AudioCapability &  pdu,
unsigned  packetSize 
) const
virtual

This function is called whenever and outgoing TerminalCapabilitySet or OpenLogicalChannel PDU is being constructed for the control channel. It allows the capability to set the PDU fields from information in members specific to the class.

The default behaviour calls H323NonStandardCapabilityinfo::OnSendingPDU() to handle the PDU.

Parameters
pduPDU to set information on
packetSizePacket size to use in capability

Reimplemented from H323AudioCapability.

virtual PBoolean H323NonStandardAudioCapability::OnSendingPDU ( H245_AudioMode &  pdu) const
virtual

This function is called whenever and outgoing RequestMode PDU is being constructed for the control channel. It allows the capability to set the PDU fields from information in members specific to the class.

The default behaviour calls H323NonStandardCapabilityinfo::OnSendingPDU() to handle the PDU.

Parameters
pduPDU to set information on

Reimplemented from H323AudioCapability.


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