OPAL  Version 3.18.8
H323UnidirectionalChannel Class Reference

#include <channels.h>

Inheritance diagram for H323UnidirectionalChannel:
Collaboration diagram for H323UnidirectionalChannel:

Public Member Functions

Construction
 H323UnidirectionalChannel (H323Connection &connection, const H323Capability &capability, Directions direction)
 
 ~H323UnidirectionalChannel ()
 
Overrides from class H323Channel
virtual Directions GetDirection () const
 
virtual PBoolean SetInitialBandwidth ()
 
virtual bool PreOpen ()
 
virtual PBoolean Open ()
 
virtual bool UpdateMediaFormat (const OpalMediaFormat &mediaFormat)
 Update media format options. More...
 
Member variable access
virtual OpalMediaStreamPtr GetMediaStream () const
 
virtual void SetMediaStream (OpalMediaStreamPtr mediaStream)
 
- Public Member Functions inherited from H323Channel
 H323Channel (H323Connection &connection, const H323Capability &capability)
 
 ~H323Channel ()
 
virtual void PrintOn (ostream &strm) const
 
const H323ChannelNumberGetNumber () const
 
void SetNumber (const H323ChannelNumber &num)
 
const H323ChannelNumberGetReverseChannel () const
 
void SetReverseChannel (const H323ChannelNumber &num)
 
OpalBandwidth GetBandwidthUsed () const
 
bool SetBandwidthUsed (OpalBandwidth bandwidth)
 
const H323CapabilityGetCapability () const
 
OpalMediaFormat GetMediaFormat () const
 Get the media format (from capability) More...
 
virtual unsigned GetSessionID () const
 
virtual bool SetSessionID (unsigned sessionID)
 
virtual PBoolean GetMediaTransportAddress (OpalTransportAddress &data, OpalTransportAddress &control) const
 
virtual void Close ()
 
PBoolean IsOpen () const
 
virtual PBoolean OnSendingPDU (H245_OpenLogicalChannel &openPDU) const
 
virtual void OnSendOpenAck (const H245_OpenLogicalChannel &open, H245_OpenLogicalChannelAck &ack) const
 
virtual PBoolean OnReceivedPDU (const H245_OpenLogicalChannel &pdu, unsigned &errorCode)
 
virtual PBoolean OnReceivedAckPDU (const H245_OpenLogicalChannelAck &pdu)
 
virtual void OnFlowControl (long bitRateRestriction)
 
virtual void OnMiscellaneousCommand (const H245_MiscellaneousCommand_type &type)
 
virtual void OnMiscellaneousIndication (const H245_MiscellaneousIndication_type &type)
 
virtual void OnJitterIndication (DWORD jitter, int skippedFrameCount, int additionalBuffer)
 

Protected Member Functions

virtual void InternalClose ()
 

Protected Attributes

bool receiver
 
OpalMediaStreamPtr m_mediaStream
 
- Protected Attributes inherited from H323Channel
H323EndPointendpoint
 
H323Connectionconnection
 
H323Capabilitycapability
 
H323ChannelNumber number
 
H323ChannelNumber reverseChannel
 
bool opened
 
atomic< bool > m_terminating
 

Detailed Description

This class describes a unidirectional logical channel between the two endpoints. They may be created and deleted as required in the H245 protocol.

An application may create a descendent off this class and override functions as required for operating the channel protocol.

Constructor & Destructor Documentation

H323UnidirectionalChannel::H323UnidirectionalChannel ( H323Connection connection,
const H323Capability capability,
Directions  direction 
)

Create a new channel.

Parameters
connectionConnection to endpoint for channel
capabilityCapability channel is using
directionDirection of channel
H323UnidirectionalChannel::~H323UnidirectionalChannel ( )

Destroy the channel, deleting the associated media stream.

Member Function Documentation

virtual Directions H323UnidirectionalChannel::GetDirection ( ) const
virtual

Indicate the direction of the channel. Return if the channel is bidirectional, or unidirectional, and which direction for th latter case.

Implements H323Channel.

virtual OpalMediaStreamPtr H323UnidirectionalChannel::GetMediaStream ( ) const
virtual

Get the media stream associated with this logical channel. The default behaviour returns m_mediaStream.

Reimplemented from H323Channel.

virtual void H323UnidirectionalChannel::InternalClose ( )
protectedvirtual

Reimplemented from H323Channel.

Reimplemented in H323DataChannel.

virtual PBoolean H323UnidirectionalChannel::Open ( )
virtual

Open the channel.

Reimplemented from H323Channel.

virtual bool H323UnidirectionalChannel::PreOpen ( )
virtual

PreOpen the channel. This occurs when we send an OLC, full open happens when the OLC comes back.

Default behaviour create media stream.

Reimplemented from H323Channel.

virtual PBoolean H323UnidirectionalChannel::SetInitialBandwidth ( )
virtual

Set the initial bandwidth for the channel. This calculates the initial bandwidth required by the channel and returns true if the connection can support this bandwidth.

The default behaviour gets the bandwidth requirement from the codec object created by the channel.

Implements H323Channel.

virtual void H323UnidirectionalChannel::SetMediaStream ( OpalMediaStreamPtr  mediaStream)
virtual

Set the media stream associated with this logical channel. The default behaviour sets m_mediaStream and m_mediaFormat.

Reimplemented from H323Channel.

virtual bool H323UnidirectionalChannel::UpdateMediaFormat ( const OpalMediaFormat mediaFormat)
virtual

Update media format options.

Reimplemented from H323Channel.

Field Documentation

OpalMediaStreamPtr H323UnidirectionalChannel::m_mediaStream
protected
bool H323UnidirectionalChannel::receiver
protected

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