H323NonStandardVideoCapability Class Reference

`#include <h323caps.h>`

Inheritance diagram for H323NonStandardVideoCapability:

## Public Member Functions

Construction
| H323NonStandardVideoCapability (H323NonStandardCapabilityInfo::CompareFuncType compareFunc, const BYTE *dataBlock, PINDEX dataSize)
| H323NonStandardVideoCapability (const BYTE *dataBlock=NULL, PINDEX dataSize=0, PINDEX comparisonOffset=0, PINDEX comparisonLength=P_MAX_INDEX)
| H323NonStandardVideoCapability (const PString &oid, const BYTE *dataBlock=NULL, PINDEX dataSize=0, PINDEX comparisonOffset=0, PINDEX comparisonLength=P_MAX_INDEX)
| H323NonStandardVideoCapability (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_VideoCapability &pdu) const
virtual PBoolean | OnSendingPDU (H245_VideoMode &pdu) const
virtual PBoolean | OnReceivedPDU (const H245_VideoCapability &pdu)
virtual PBoolean | IsMatch (const PASN_Choice &subTypePDU, const PString &mediaPacketization) const
Public Member Functions inherited from H323VideoCapability
virtual MainTypes | GetMainType () const
virtual unsigned | GetDefaultSessionID () 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_VideoCapability &pdu, CommandType type) const
virtual PBoolean | OnReceivedPDU (const H245_Capability &pdu)
virtual PBoolean | OnReceivedPDU (const H245_DataType &pdu, PBoolean receiver)
virtual PBoolean | OnReceivedPDU (const H245_VideoCapability &pdu, CommandType type)
Public Member Functions inherited from H323RealTimeCapability
virtual H323Channel * | CreateChannel (H323Connection &connection, H323Channel::Directions dir, unsigned sessionID, const H245_H2250LogicalChannelParameters *param) const
| H323RealTimeCapability ()
| H323RealTimeCapability (const H323RealTimeCapability &rtc)
virtual | ~H323RealTimeCapability ()
void | AttachQoS (RTP_QOS *_rtpqos)
| Attach a QoS specification to this channel. More...
Public Member Functions inherited from H323Capability
| H323Capability ()
Comparison | Compare (const PObject &obj) const
void | PrintOn (ostream &strm) const
virtual PString | GetFormatName () const =0
virtual void | SetTxFramesInPacket (unsigned frames)
virtual unsigned | GetTxFramesInPacket () const
virtual unsigned | GetRxFramesInPacket () const
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_NumMainTypes }
enum | { DefaultAudioSessionID = 1, DefaultVideoSessionID = 2, DefaultDataSessionID = 3, DefaultH224SessionID = 4 }
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 H323Capability * | Create (const PString &name)
Protected Member Functions inherited from H323Capability
OpalMediaFormat & | GetWritableMediaFormat () 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 H323RealTimeCapability
RTP_QOS * | rtpqos
Protected Attributes inherited from H323Capability
unsigned | assignedCapabilityNumber
CapabilityDirection | capabilityDirection
| Unique ID assigned to capability. More...
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 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 | ( | H323NonStandardCapabilityInfo::CompareFuncType | compareFunc,
|  | const BYTE * | dataBlock,
|  | PINDEX | dataSize
| ) |  |

Parameters

  dataBlock | Non-Standard data for codec type
  dataSize | Size of dataBlock. If 0 and dataBlock != NULL use strlen(dataBlock)

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

  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 = `NULL`,
|  | PINDEX | dataSize = `0`,
|  | 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 = `NULL`,
|  | PINDEX | dataSize = `0`,
|  | 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.

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 PBoolean H323NonStandardVideoCapability::IsMatch | ( | const PASN_Choice & | subTypePDU,
|  | const PString & | mediaPacketization
| ) |  | const

virtual

Compare the nonStandardData part of the capability, if applicable.

Parameters

  subTypePDU | sub-type PDU of H323Capability
  mediaPacketization | Media packetization used

Reimplemented from H323Capability.

virtual PBoolean 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

Reimplemented from H323VideoCapability.

virtual PBoolean 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

Reimplemented from H323VideoCapability.

virtual PBoolean 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.

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

- h323caps.h