OpenH323 1.18.0
|
#include <channels.h>
Public Member Functions | |
void | AddFilter (const PNotifier &filterFunction) |
void | RemoveFilter (const PNotifier &filterFunction) |
PTimeInterval | GetSilenceDuration () const |
Construction | |
H323_RTPChannel (H323Connection &connection, const H323Capability &capability, Directions direction, RTP_Session &rtp) | |
~H323_RTPChannel () | |
Destroy the channel. | |
Overrides from class H323Channel | |
virtual void | CleanUpOnTermination () |
virtual unsigned | GetSessionID () const |
virtual BOOL | Open () |
virtual void | Receive () |
virtual void | Transmit () |
Overrides from class H323_RealTimeChannel | |
virtual BOOL | OnSendingPDU (H245_H2250LogicalChannelParameters ¶m) const |
virtual void | OnSendOpenAck (H245_H2250LogicalChannelAckParameters ¶m) const |
virtual BOOL | OnReceivedPDU (const H245_H2250LogicalChannelParameters ¶m, unsigned &errorCode) |
virtual BOOL | OnReceivedAckPDU (const H245_H2250LogicalChannelAckParameters ¶m) |
Protected Member Functions | |
PLIST (FilterList, PNotifier) | |
Protected Attributes | |
RTP_Session & | rtpSession |
H323_RTP_Session & | rtpCallbacks |
FilterList | filters |
PMutex | filterMutex |
PTimeInterval | silenceStartTick |
This class is for encpsulating the IETF Real Time Protocol interface.
H323_RTPChannel::H323_RTPChannel | ( | H323Connection & | connection, |
const H323Capability & | capability, | ||
Directions | direction, | ||
RTP_Session & | rtp | ||
) |
Create a new channel.
connection | Connection to endpoint for channel |
capability | Capability channel is using |
direction | Direction of channel |
rtp | RTP session for channel |
H323_RTPChannel::~H323_RTPChannel | ( | ) |
Destroy the channel.
void H323_RTPChannel::AddFilter | ( | const PNotifier & | filterFunction | ) |
virtual void H323_RTPChannel::CleanUpOnTermination | ( | ) | [virtual] |
This is called to clean up any threads on connection termination.
Reimplemented from H323Channel.
virtual unsigned H323_RTPChannel::GetSessionID | ( | ) | const [virtual] |
Indicate the session number of the channel. Return session for channel. This returns the session ID of the RTP_Session member variable.
Reimplemented from H323Channel.
PTimeInterval H323_RTPChannel::GetSilenceDuration | ( | ) | const |
virtual BOOL H323_RTPChannel::OnReceivedAckPDU | ( | const H245_H2250LogicalChannelAckParameters & | param | ) | [virtual] |
This is called after a request to create a channel occurs from the local machine via the H245LogicalChannelDict::Open() function, and the request has been acknowledged by the remote endpoint.
The default behaviour sets the remote ports to send UDP packets to.
param | Acknowledgement PDU |
Implements H323_RealTimeChannel.
virtual BOOL H323_RTPChannel::OnReceivedPDU | ( | const H245_H2250LogicalChannelParameters & | param, |
unsigned & | errorCode | ||
) | [virtual] |
This is called after a request to create a channel occurs from the local machine via the H245LogicalChannelDict::Open() function, and the request has been acknowledged by the remote endpoint.
The default behaviour sets the remote ports to send UDP packets to.
param | Acknowledgement PDU |
errorCode | Error on failure |
Implements H323_RealTimeChannel.
virtual BOOL H323_RTPChannel::OnSendingPDU | ( | H245_H2250LogicalChannelParameters & | param | ) | const [virtual] |
Fill out the OpenLogicalChannel PDU for the particular channel type.
param | Open PDU to send. |
Implements H323_RealTimeChannel.
virtual void H323_RTPChannel::OnSendOpenAck | ( | H245_H2250LogicalChannelAckParameters & | param | ) | const [virtual] |
This is called when request to create a channel is received from a remote machine and is about to be acknowledged.
param | Acknowledgement PDU |
Implements H323_RealTimeChannel.
virtual BOOL H323_RTPChannel::Open | ( | ) | [virtual] |
Open the channel.
Reimplemented from H323Channel.
H323_RTPChannel::PLIST | ( | FilterList | , |
PNotifier | |||
) | [protected] |
virtual void H323_RTPChannel::Receive | ( | ) | [virtual] |
Handle channel data reception.
This is called by the thread started by the Start() function and is typically a loop writing to the codec and reading from the transport (eg RTP_session).
Implements H323Channel.
void H323_RTPChannel::RemoveFilter | ( | const PNotifier & | filterFunction | ) |
virtual void H323_RTPChannel::Transmit | ( | ) | [virtual] |
Handle channel data transmission.
This is called by the thread started by the Start() function and is typically a loop reading from the codec and writing to the transport (eg an RTP_session).
Implements H323Channel.
PMutex H323_RTPChannel::filterMutex [protected] |
FilterList H323_RTPChannel::filters [protected] |
H323_RTP_Session& H323_RTPChannel::rtpCallbacks [protected] |
RTP_Session& H323_RTPChannel::rtpSession [protected] |
PTimeInterval H323_RTPChannel::silenceStartTick [protected] |