H323NonStandardAudioCapability Class Reference

#include <h323caps.h>

Inheritance diagram for H323NonStandardAudioCapability:

H323AudioCapability H323NonStandardCapabilityInfo H323RealTimeCapability H323Capability H323_CiscoG7231aLIDCapability OpalDynaCodecNonStandardAudioCapability

List of all members.

Public Member Functions

Construction
 H323NonStandardAudioCapability (unsigned maxPacketSize, unsigned desiredPacketSize, H323NonStandardCapabilityInfo::CompareFuncType compareFunc, const BYTE *dataBlock, PINDEX dataSize)
 H323NonStandardAudioCapability (unsigned maxPacketSize, unsigned desiredPacketSize, const BYTE *dataBlock, PINDEX dataSize, PINDEX comparisonOffset=0, PINDEX comparisonLength=P_MAX_INDEX)
 H323NonStandardAudioCapability (unsigned maxPacketSize, unsigned desiredPacketSize, H323EndPoint &, H323NonStandardCapabilityInfo::CompareFuncType compareFunc, const BYTE *dataBlock, PINDEX dataSize)
 H323NonStandardAudioCapability (unsigned maxPacketSize, unsigned desiredPacketSize, H323EndPoint &, const BYTE *dataBlock, PINDEX dataSize, PINDEX comparisonOffset=0, PINDEX comparisonLength=P_MAX_INDEX)
 H323NonStandardAudioCapability (unsigned maxPacketSize, unsigned desiredPacketSize, const PString &oid, const BYTE *dataBlock, PINDEX dataSize, PINDEX comparisonOffset=0, PINDEX comparisonLength=P_MAX_INDEX)
 H323NonStandardAudioCapability (unsigned maxPacketSize, unsigned desiredPacketSize, BYTE country, BYTE extension, WORD maufacturer, const BYTE *dataBlock, PINDEX dataSize, 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 BOOL OnSendingPDU (H245_AudioCapability &pdu, unsigned packetSize) const
virtual BOOL OnSendingPDU (H245_AudioMode &pdu) const
virtual BOOL OnReceivedPDU (const H245_AudioCapability &pdu, unsigned &packetSize)
virtual BOOL IsNonStandardMatch (const H245_NonStandardParameter &param) const


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 ( unsigned  maxPacketSize,
unsigned  desiredPacketSize,
H323NonStandardCapabilityInfo::CompareFuncType  compareFunc,
const BYTE *  dataBlock,
PINDEX  dataSize 
)

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

Parameters:
maxPacketSize Maximum size of an audio packet in frames
desiredPacketSize Desired transmit size of an audio packet in frames
dataBlock Non-Standard data for codec type
dataSize Size of dataBlock. If 0 and dataBlock != NULL use strlen(dataBlock)

H323NonStandardAudioCapability::H323NonStandardAudioCapability ( unsigned  maxPacketSize,
unsigned  desiredPacketSize,
const BYTE *  dataBlock,
PINDEX  dataSize,
PINDEX  comparisonOffset = 0,
PINDEX  comparisonLength = P_MAX_INDEX 
)

Parameters:
maxPacketSize Maximum size of an audio packet in frames
desiredPacketSize Desired transmit size of an audio packet in frames
dataBlock Non-Standard data for codec type
dataSize Size of dataBlock. If 0 and dataBlock != NULL use strlen(dataBlock)
comparisonOffset Offset into dataBlock to compare
comparisonLength Length of bytes to compare

H323NonStandardAudioCapability::H323NonStandardAudioCapability ( unsigned  maxPacketSize,
unsigned  desiredPacketSize,
H323EndPoint ,
H323NonStandardCapabilityInfo::CompareFuncType  compareFunc,
const BYTE *  dataBlock,
PINDEX  dataSize 
)

provided for backwards compatibility

Parameters:
maxPacketSize Maximum size of an audio packet in frames
desiredPacketSize Desired transmit size of an audio packet in frames
dataBlock Non-Standard data for codec type
dataSize Size of dataBlock. If 0 and dataBlock != NULL use strlen(dataBlock)

H323NonStandardAudioCapability::H323NonStandardAudioCapability ( unsigned  maxPacketSize,
unsigned  desiredPacketSize,
H323EndPoint ,
const BYTE *  dataBlock,
PINDEX  dataSize,
PINDEX  comparisonOffset = 0,
PINDEX  comparisonLength = P_MAX_INDEX 
)

Parameters:
maxPacketSize Maximum size of an audio packet in frames
desiredPacketSize Desired transmit size of an audio packet in frames
dataBlock Non-Standard data for codec type
dataSize Size of dataBlock. If 0 and dataBlock != NULL use strlen(dataBlock)
comparisonOffset Offset into dataBlock to compare
comparisonLength Length of bytes to compare

H323NonStandardAudioCapability::H323NonStandardAudioCapability ( unsigned  maxPacketSize,
unsigned  desiredPacketSize,
const PString &  oid,
const BYTE *  dataBlock,
PINDEX  dataSize,
PINDEX  comparisonOffset = 0,
PINDEX  comparisonLength = P_MAX_INDEX 
)

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

Parameters:
maxPacketSize Maximum size of an audio packet in frames
desiredPacketSize Desired transmit size of an audio packet in frames
oid OID for indentification of codec
dataBlock Non-Standard data for codec type
dataSize Size of dataBlock. If 0 and dataBlock != NULL use strlen(dataBlock)
comparisonOffset Offset into dataBlock to compare
comparisonLength Length of bytes to compare

H323NonStandardAudioCapability::H323NonStandardAudioCapability ( unsigned  maxPacketSize,
unsigned  desiredPacketSize,
BYTE  country,
BYTE  extension,
WORD  maufacturer,
const BYTE *  dataBlock,
PINDEX  dataSize,
PINDEX  comparisonOffset = 0,
PINDEX  comparisonLength = P_MAX_INDEX 
)

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

Parameters:
maxPacketSize Maximum size of an audio packet in frames
desiredPacketSize Desired transmit size of an audio packet in frames
country t35 information
extension t35 information
maufacturer t35 information
dataBlock Non-Standard data for codec type
dataSize Size of dataBlock. If 0 and dataBlock != NULL use strlen(dataBlock)
comparisonOffset Offset into dataBlock to compare
comparisonLength Length 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.

Reimplemented from H323Capability.

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 BOOL H323NonStandardAudioCapability::IsNonStandardMatch ( const H245_NonStandardParameter param  )  const [virtual]

Compare the nonStandardData part of the capability, if applicable.

Parameters:
param Non standard field in PDU received

Reimplemented from H323Capability.

virtual BOOL 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:
pdu PDU to get information from
packetSize Packet size to use in capability

Reimplemented from H323AudioCapability.

virtual BOOL 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:
pdu PDU to set information on

Reimplemented from H323AudioCapability.

virtual BOOL 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:
pdu PDU to set information on
packetSize Packet size to use in capability

Reimplemented from H323AudioCapability.


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

Generated on Fri Aug 21 18:15:30 2009 for OpenH323 by  doxygen 1.5.9