OPAL  Version 3.10.10
H323VideoCapability Class Referenceabstract

#include <h323caps.h>

Inheritance diagram for H323VideoCapability:
H323RealTimeCapability H323Capability H323GenericVideoCapability H323H261PluginCapability H323H263PluginCapability H323NonStandardVideoCapability H323CodecPluginGenericVideoCapability H323ExtendedVideoCapability H323CodecPluginNonStandardVideoCapability H323H239VideoCapability

Public Member Functions

Identification functions
virtual MainTypes GetMainType () const
 
Operations
virtual unsigned GetDefaultSessionID () const
 
Protocol manipulation
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) const
 
virtual PBoolean OnSendingPDU (H245_VideoCapability &pdu, CommandType type) const
 
virtual PBoolean OnSendingPDU (H245_VideoMode &pdu) const =0
 
virtual PBoolean OnReceivedPDU (const H245_Capability &pdu)
 
virtual PBoolean OnReceivedPDU (const H245_DataType &pdu, PBoolean receiver)
 
virtual PBoolean OnReceivedPDU (const H245_VideoCapability &pdu)
 
virtual PBoolean OnReceivedPDU (const H245_VideoCapability &pdu, CommandType type)
 
- Public Member Functions inherited from H323RealTimeCapability
virtual H323ChannelCreateChannel (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...
 

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
}
 
- Static Public Member Functions inherited from H323Capability
static H323CapabilityCreate (const PString &name)
 
- Protected Member Functions inherited from H323Capability
OpalMediaFormatGetWritableMediaFormat () const
 
- Protected Attributes inherited from H323RealTimeCapability
RTP_QOSrtpqos
 
- Protected Attributes inherited from H323Capability
unsigned assignedCapabilityNumber
 
CapabilityDirection capabilityDirection
 Unique ID assigned to capability. More...
 

Detailed Description

This class describes the interface to a 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 a codec.

Member Function Documentation

virtual unsigned H323VideoCapability::GetDefaultSessionID ( ) const
virtual

Get the default RTP session. This function gets the default RTP session ID for the capability type. For example audio capabilities return the value RTP_Session::DefaultAudioSessionID etc.

The default behaviour returns zero, indicating it is not an RTP based capability.

Reimplemented from H323Capability.

virtual MainTypes H323VideoCapability::GetMainType ( ) const
virtual

Get the main type of the capability. Always returns e_Video.

Implements H323Capability.

virtual PBoolean H323VideoCapability::OnReceivedPDU ( const H245_Capability &  pdu)
virtual

This function is called whenever and incoming TerminalCapabilitySet PDU is received on the control channel, and a new H323Capability descendent was created. This completes reading fields from the PDU into the classes members.

If the function returns false then the received PDU codec description is not supported, so will be ignored. The default behaviour simply returns true.

Parameters
pduPDU to get information from

Reimplemented from H323Capability.

virtual PBoolean H323VideoCapability::OnReceivedPDU ( const H245_DataType &  pdu,
PBoolean  receiver 
)
virtual

This function is called whenever and incoming 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 is pure.

Parameters
pduPDU to get information from
receiverIs receiver OLC

Reimplemented from H323Capability.

virtual PBoolean H323VideoCapability::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 is pure.

Parameters
pduPDU to set information on

Reimplemented in H323NonStandardVideoCapability, H323H263PluginCapability, and H323H261PluginCapability.

virtual PBoolean H323VideoCapability::OnReceivedPDU ( const H245_VideoCapability &  pdu,
CommandType  type 
)
virtual
Parameters
pduPDU to get information from
typeType of PDU to send in

Reimplemented in H323H239VideoCapability, H323ExtendedVideoCapability, and H323GenericVideoCapability.

virtual PBoolean H323VideoCapability::OnSendingPDU ( H245_Capability &  pdu) const
virtual

This function is called whenever and outgoing TerminalCapabilitySet 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 the OnSendingPDU() function with a more specific PDU type.

Parameters
pduPDU to set information on

Implements H323Capability.

virtual PBoolean H323VideoCapability::OnSendingPDU ( H245_DataType &  pdu) const
virtual

This function is called whenever and outgoing 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 the OnSendingPDU() function with a more specific PDU type.

Parameters
pduPDU to set information on

Reimplemented from H323Capability.

virtual PBoolean H323VideoCapability::OnSendingPDU ( H245_ModeElement &  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 the OnSendingPDU() function with a more specific PDU type.

Parameters
pduPDU to set information on

Implements H323Capability.

virtual PBoolean H323VideoCapability::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 is pure.

Parameters
pduPDU to set information on

Reimplemented in H323NonStandardVideoCapability, H323H263PluginCapability, and H323H261PluginCapability.

virtual PBoolean H323VideoCapability::OnSendingPDU ( H245_VideoCapability &  pdu,
CommandType  type 
) const
virtual
Parameters
pduPDU to set information on
typeType of PDU to send in

Reimplemented in H323H239VideoCapability, H323ExtendedVideoCapability, and H323GenericVideoCapability.

virtual PBoolean H323VideoCapability::OnSendingPDU ( H245_VideoMode &  pdu) const
pure 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 sets the PDUs tag according to the GetSubType() function (translated to different enum).

Parameters
pduPDU to set information on

Implemented in H323ExtendedVideoCapability, H323GenericVideoCapability, H323NonStandardVideoCapability, H323H263PluginCapability, and H323H261PluginCapability.


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