OPAL  Version 3.18.8
OpalRFC2833Proto Class Reference

#include <rfc2833.h>

Inherits PObject.

Collaboration diagram for OpalRFC2833Proto:

Public Types

enum  NotifyState { Started, Ended }
 
typedef PNotifierTemplate
< NotifyState
Notifier
 

Public Member Functions

 OpalRFC2833Proto (const Notifier &receiveNotifier, const OpalMediaFormat &mediaFormat)
 
 ~OpalRFC2833Proto ()
 
virtual bool SendToneAsync (char tone, unsigned milliseconds)
 
virtual void OnStartReceive (char tone, unsigned timestamp)
 
virtual void OnEndReceive ()
 
void UseRTPSession (bool rx, OpalRTPSession *session)
 
OpalMediaFormat GetTxMediaFormat () const
 
OpalMediaFormat GetRxMediaFormat () const
 
void SetTxMediaFormat (const OpalMediaFormat &mediaFormat)
 
void SetRxMediaFormat (const OpalMediaFormat &mediaFormat)
 

Static Public Member Functions

static PINDEX ASCIIToRFC2833 (char tone, bool hasNSE)
 
static char RFC2833ToASCII (PINDEX rfc2833, bool hasNSE)
 

Protected Types

enum  {
  TransmitIdle, TransmitActive, TransmitEnding1, TransmitEnding2,
  TransmitEnding3
}
 

Protected Member Functions

bool InternalTransmitFrame ()
 
bool AbortTransmit ()
 
WORD GetTimestampSince (const PTime &when) const
 
 PDECLARE_RTPDataNotifier (OpalRFC2833Proto, ReceivedPacket)
 
 PDECLARE_NOTIFIER (PTimer, OpalRFC2833Proto, ReceiveTimeout)
 
 PDECLARE_NOTIFIER (PTimer, OpalRFC2833Proto, TransmitTimeout)
 
 PDECLARE_MUTEX (m_transmitMutex)
 
 PDECLARE_MUTEX (m_receiveMutex)
 
 P_REMOVE_VIRTUAL_VOID (OnStartReceive(char))
 
 P_REMOVE_VIRTUAL_VOID (OnEndReceive(char, unsigned, unsigned))
 

Protected Attributes

const OpalMediaFormat m_baseMediaFormat
 
atomic
< RTP_DataFrame::PayloadTypes
m_txPayloadType
 
atomic
< RTP_DataFrame::PayloadTypes
m_rxPayloadType
 
OpalRFC2833EventsMask m_txEvents
 
OpalRFC2833EventsMask m_rxEvents
 
Notifier m_receiveNotifier
 
OpalRTPSession::DataNotifier m_receiveHandler
 
OpalRTPSessionm_rtpSession
 
enum OpalRFC2833Proto:: { ... }  m_transmitState
 
PTimer m_transmitUpdateTimer
 
PTimer m_transmitDurationTimer
 
DWORD m_transmitTimestamp
 
PTime m_transmitStartTime
 
BYTE m_transmitCode
 
WORD m_transmitDuration
 
bool m_receiveIdle
 
BYTE m_receivedTone
 
DWORD m_receivedTimestamp
 
WORD m_receivedDuration
 
PTimer m_receiveTimer
 

Member Typedef Documentation

typedef PNotifierTemplate<NotifyState> OpalRFC2833Proto::Notifier

Member Enumeration Documentation

anonymous enum
protected
Enumerator
TransmitIdle 
TransmitActive 
TransmitEnding1 
TransmitEnding2 
TransmitEnding3 
Enumerator
Started 
Ended 

Constructor & Destructor Documentation

OpalRFC2833Proto::OpalRFC2833Proto ( const Notifier receiveNotifier,
const OpalMediaFormat mediaFormat 
)
OpalRFC2833Proto::~OpalRFC2833Proto ( )

Member Function Documentation

bool OpalRFC2833Proto::AbortTransmit ( )
protected
static PINDEX OpalRFC2833Proto::ASCIIToRFC2833 ( char  tone,
bool  hasNSE 
)
static
OpalMediaFormat OpalRFC2833Proto::GetRxMediaFormat ( ) const
WORD OpalRFC2833Proto::GetTimestampSince ( const PTime &  when) const
protected
OpalMediaFormat OpalRFC2833Proto::GetTxMediaFormat ( ) const
bool OpalRFC2833Proto::InternalTransmitFrame ( )
protected
virtual void OpalRFC2833Proto::OnEndReceive ( )
virtual
virtual void OpalRFC2833Proto::OnStartReceive ( char  tone,
unsigned  timestamp 
)
virtual
OpalRFC2833Proto::P_REMOVE_VIRTUAL_VOID ( OnStartReceive(char)  )
protected
OpalRFC2833Proto::P_REMOVE_VIRTUAL_VOID ( OnEndReceive(char, unsigned, unsigned)  )
protected
OpalRFC2833Proto::PDECLARE_MUTEX ( m_transmitMutex  )
protected
OpalRFC2833Proto::PDECLARE_MUTEX ( m_receiveMutex  )
protected
OpalRFC2833Proto::PDECLARE_NOTIFIER ( PTimer  ,
OpalRFC2833Proto  ,
ReceiveTimeout   
)
protected
OpalRFC2833Proto::PDECLARE_NOTIFIER ( PTimer  ,
OpalRFC2833Proto  ,
TransmitTimeout   
)
protected
OpalRFC2833Proto::PDECLARE_RTPDataNotifier ( OpalRFC2833Proto  ,
ReceivedPacket   
)
protected
static char OpalRFC2833Proto::RFC2833ToASCII ( PINDEX  rfc2833,
bool  hasNSE 
)
static
virtual bool OpalRFC2833Proto::SendToneAsync ( char  tone,
unsigned  milliseconds 
)
virtual
void OpalRFC2833Proto::SetRxMediaFormat ( const OpalMediaFormat mediaFormat)
void OpalRFC2833Proto::SetTxMediaFormat ( const OpalMediaFormat mediaFormat)
void OpalRFC2833Proto::UseRTPSession ( bool  rx,
OpalRTPSession session 
)

Field Documentation

const OpalMediaFormat OpalRFC2833Proto::m_baseMediaFormat
protected
WORD OpalRFC2833Proto::m_receivedDuration
protected
DWORD OpalRFC2833Proto::m_receivedTimestamp
protected
BYTE OpalRFC2833Proto::m_receivedTone
protected
OpalRTPSession::DataNotifier OpalRFC2833Proto::m_receiveHandler
protected
bool OpalRFC2833Proto::m_receiveIdle
protected
Notifier OpalRFC2833Proto::m_receiveNotifier
protected
PTimer OpalRFC2833Proto::m_receiveTimer
protected
OpalRTPSession* OpalRFC2833Proto::m_rtpSession
protected
OpalRFC2833EventsMask OpalRFC2833Proto::m_rxEvents
protected
atomic<RTP_DataFrame::PayloadTypes> OpalRFC2833Proto::m_rxPayloadType
protected
BYTE OpalRFC2833Proto::m_transmitCode
protected
WORD OpalRFC2833Proto::m_transmitDuration
protected
PTimer OpalRFC2833Proto::m_transmitDurationTimer
protected
PTime OpalRFC2833Proto::m_transmitStartTime
protected
enum { ... } OpalRFC2833Proto::m_transmitState
DWORD OpalRFC2833Proto::m_transmitTimestamp
protected
PTimer OpalRFC2833Proto::m_transmitUpdateTimer
protected
OpalRFC2833EventsMask OpalRFC2833Proto::m_txEvents
protected
atomic<RTP_DataFrame::PayloadTypes> OpalRFC2833Proto::m_txPayloadType
protected

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