H323NonStandardVideoCapability Class Reference

#include <h323caps.h>

Inheritance diagram for H323NonStandardVideoCapability:

H323VideoCapability H323NonStandardCapabilityInfo H323RealTimeCapability H323Capability H323_Cu30Capability List of all members.

Public Member Functions

Construction
 H323NonStandardVideoCapability (const BYTE *dataBlock, PINDEX dataSize, PINDEX comparisonOffset=0, PINDEX comparisonLength=P_MAX_INDEX)
 H323NonStandardVideoCapability (H323EndPoint &, const BYTE *dataBlock, PINDEX dataSize, PINDEX comparisonOffset=0, PINDEX comparisonLength=P_MAX_INDEX)
 H323NonStandardVideoCapability (const PString &oid, const BYTE *dataBlock, PINDEX dataSize, PINDEX comparisonOffset=0, PINDEX comparisonLength=P_MAX_INDEX)
 H323NonStandardVideoCapability (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_VideoCapability &pdu) const
virtual BOOL OnSendingPDU (H245_VideoMode &pdu) const
virtual BOOL OnReceivedPDU (const H245_VideoCapability &pdu)
virtual BOOL IsNonStandardMatch (const H245_NonStandardParameter &param) const

Detailed Description

This class describes the interface to a non-standard video 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

H323NonStandardVideoCapability::H323NonStandardVideoCapability 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:
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

H323NonStandardVideoCapability::H323NonStandardVideoCapability H323EndPoint ,
const BYTE *  dataBlock,
PINDEX  dataSize,
PINDEX  comparisonOffset = 0,
PINDEX  comparisonLength = P_MAX_INDEX
 

provided for backwards compatibility

Parameters:
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

H323NonStandardVideoCapability::H323NonStandardVideoCapability 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:
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

H323NonStandardVideoCapability::H323NonStandardVideoCapability 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:
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 H323NonStandardVideoCapability::Compare const PObject &  obj  )  const
 

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

Reimplemented from H323Capability.

virtual unsigned H323NonStandardVideoCapability::GetSubType  )  const [virtual]
 

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

This returns one of the four possible combinations of mode and speed using the enum values of the protocol ASN H245_AudioCapability class.

Implements H323Capability.

virtual BOOL H323NonStandardVideoCapability::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 H323NonStandardVideoCapability::OnReceivedPDU const H245_VideoCapability pdu  )  [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 set information on

Implements H323VideoCapability.

virtual BOOL H323NonStandardVideoCapability::OnSendingPDU H245_VideoMode 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

Implements H323VideoCapability.

virtual BOOL H323NonStandardVideoCapability::OnSendingPDU H245_VideoCapability pdu  )  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

Implements H323VideoCapability.


The documentation for this class was generated from the following file:
Generated on Thu May 18 00:25:55 2006 for OpenH323 by  doxygen 1.4.6