sipxmedialib
Version 3.3
|
#include <ByeReport.h>
Public Member Functions | |
CByeReport (ssrc_t ulSSRC=0) | |
~CByeReport (void) | |
unsigned long | FormatByeReport (unsigned char *puchReportBuffer, unsigned long ulBufferSize=0) |
unsigned long | ParseByeReport (unsigned char *puchReportBuffer) |
ssrc_t | GetSSRC (void) |
virtual void | SetSSRC (ssrc_t ulSSRC) |
unsigned long | GetCSRC (ssrc_t *paulCSRC, bool bNBO=FALSE) |
void | SetCSRC (ssrc_t *paulCSRC, unsigned long ulCSRCCount, bool bNBO=FALSE) |
void | SetReason (unsigned char *puchReason, unsigned long ulLength=0) |
unsigned long | GetReason (unsigned char *puchReason) |
IByeReport * | GetByeInterface (void) |
Public Member Functions inherited from CBaseClass | |
CBaseClass | CBASECLASS_PROTO_ARGS ((const char *pDerivedType="Unknown", int callLineNum=0)) |
virtual | ~CBaseClass (void) |
virtual bool | Initialize (void) |
bool | IsInitialized (void) |
void | setAutomatic (bool) |
virtual unsigned long AddRef | ADD_RELEASE_PROTO_ARGS ((int callLineNum)) |
virtual unsigned long Release | ADD_RELEASE_PROTO_ARGS ((int callLineNum)) |
Public Member Functions inherited from CRTCPHeader | |
CRTCPHeader (ssrc_t ulSSRC, RTCP_REPORTS_ET etPayloadType, unsigned long ulVersion=2) | |
virtual | ~CRTCPHeader (void) |
virtual unsigned long | GetHeaderLength (void) |
virtual unsigned long | GetVersion (void) |
virtual unsigned long | GetPadding (void) |
virtual RTCP_REPORTS_ET | GetPayload (void) |
virtual unsigned long | GetReportCount (void) |
virtual unsigned long | GetReportLength (void) |
virtual bool | IsOurSSRC (ssrc_t ulSSRC) |
Private Member Functions | |
unsigned long | ExtractPadding (unsigned char *puchReportBuffer) |
unsigned long | LoadPadding (unsigned char *puchReportBuffer, bool *pbPadded) |
Private Attributes | |
unsigned long | m_ulReasonLength |
unsigned char | m_uchReason [MAX_SOURCE_LENGTH] |
unsigned long | m_ulCSRCCount |
ssrc_t | m_aulCSRC [MAX_CSRCS] |
Additional Inherited Members | |
Static Public Member Functions inherited from CBaseClass | |
static bool | AllowDeletes (void) |
static void | s_SetAllowDeletes (int v) |
Static Public Member Functions inherited from CRTCPHeader | |
static int | VetPacket (unsigned char *buffer, int bufferLen) |
Public Attributes inherited from CBaseClass | |
bool | m_bInitialized |
bool | m_bAutomatic |
int | m_ulReferences |
Static Public Attributes inherited from CBaseClass | |
static bool | s_bAllowDeletes = true |
Protected Member Functions inherited from CRTCPHeader | |
unsigned long | FormatRTCPHeader (unsigned char *puchRTCPBuffer, unsigned long ulPadding, unsigned long ulCount, unsigned long ulPayloadLength) |
bool | ParseRTCPHeader (unsigned char *puchRTCPBuffer) |
Protected Attributes inherited from CRTCPHeader | |
unsigned long | m_ulVersion |
unsigned long | m_ulPadding |
unsigned long | m_ulCount |
RTCP_REPORTS_ET | m_etPayloadType |
unsigned long | m_ulLength |
unsigned long | m_ulSSRC |
Class Name: CByeReport
Inheritance: CRTCPHeader - RTCP Report Header Base Class
Interfaces: IByeReport - RTCP Bye Report Interface
Description: The CByeReport Class coordinates the processing and generation of RTCP Bye reports associated with either an inbound or outbound RTP connection.
Notes: CByeReport is derived from CBaseClass which provides basic Initialization and reference counting support.
CByeReport | ( | ssrc_t | ulSSRC = 0 | ) |
Method Name: CByeReport() - Constructor
Inputs: ssrc_t ulSSRC - The the Identifier for this source
Outputs: None
Returns: None
Description: Performs routine CByeReport object initialization.
Usage Notes: A CByeReport object shall be created by the CRTCPRender with this constructor. A CByeReport object will also be created be the CRTCPSource upon receipt of an RTCP Bye Report from a particiapting FE.
~CByeReport | ( | void | ) |
Method Name: ~CByeReport() - Destructor
Inputs: None
Outputs: None
Returns: None
Description: Shall deallocated and/or release all resources which was acquired over the course of runtime.
Usage Notes:
unsigned long FormatByeReport | ( | unsigned char * | puchReportBuffer, |
unsigned long | ulBufferSize = 0 |
||
) |
Method Name: FormatByeReport
Inputs: unsigned long ulBufferSize Optional size defining the length allocated for the buffer
Outputs: unsigned char *puchReportBuffer Character Buffer used to store the contents of the Sender Report
Returns: unsigned long Returns the number of octet written into the buffer.
Description: Constructs a Bye report using the buffer passed in by the caller.
Usage Notes: The header of the RTCP Report shall be formatted by delegating to the base class.
unsigned long ParseByeReport | ( | unsigned char * | puchReportBuffer | ) |
Method Name: ParseByeReport
Inputs: unsigned char *puchReportBuffer Character Buffer containing the contents of the Bye Report
Outputs: None
Returns: unsigned long
Description: Extracts the contents of an Bye report using the buffer passed in by the caller.
Usage Notes: The header of the RTCP Report shall be parsed by delegating to the base class.
|
inlinevirtual |
Method Name: GetSSRC
Inputs: None
Outputs: None
Returns: ssrc_t - The SSRC of the Bye Report
Description: Returns the SSRC Associated with the Bye Report.
Usage Notes:
Reimplemented from CRTCPHeader.
|
virtual |
Method Name: SetSSRC
Inputs: ssrc_t ulSSRC - Source ID
Outputs: None
Returns: void
Description: Stores the Source Identifier associated with an RTP connection.
Usage Notes:
Reimplemented from CRTCPHeader.
Method Name: GetCSRC
Inputs: bool bNBO Flag identifying whether data should be represented in NBO format
Outputs: ssrc_t *paulCSRC Contributing Source Identifier(s) Array pointer
Returns: unsigned long Number of Contributing Source Identifier(s)
Description: Returns the contributing source values associated with the RTP packet.
Usage Notes:
Method Name: SetCSRC
Inputs: ssrc_t *paulCSRC
Outputs: None
Returns: void
Description: Sets the contributing source values associated with the RTP packet.
Usage Notes:
void SetReason | ( | unsigned char * | puchReason, |
unsigned long | ulLength = 0 |
||
) |
Method Name: SetReason
Inputs: char *puchName Reason Character String unsigned long ulLength Optional Length of Reason argument passed
Outputs: None
Returns: void
Description: Stores the Reason field and length, either specified of derived, as attributed within the object.
Usage Notes: The Reason argument MUST be passed as a NULL terminated string or must contain a valid length argument. All text strings passed shall be truncated beyond the length of 255 unsigned characters.
unsigned long GetReason | ( | unsigned char * | puchReason | ) |
Method Name: GetReason
Inputs: None
Outputs: char *puchReason Character buffer in which the Reason attribute shall be returned
Returns: unsigned long Length of the item being returned in the unsigned character buffer
Description: Retrieves the Reason attribute stored within the object and returns its associated length.
Usage Notes: All unsigned character strings returned are limited to 255 bytes in length. Any wide unsigned character support for internationalized display is a responsibility assumed by the caller.
IByeReport* GetByeInterface | ( | void | ) |
Method Name: GetByeInterface()
Inputs: None
Outputs: None
Returns: IByeReport * - Pointer to the Bye Report Interface
Description: Returns the Bye Report interface.
Usage Notes:
|
private |
Macro Name: DECLARE_IBASE_M
Inputs: None
Outputs: None
Returns: None
Description: This implements the IBaseClass functions used and exposed by derived classes.
Usage Notes:
Method Name: ExtractPadding
Inputs: unsigned char *puchReportBuffer Character Buffer containing the contents of the Bye Report
Outputs: None
Returns: unsigned long - Number of octets processed
Description: Extracts the padding that might be present at the end of a list of field data contained within an Bye report.
Usage Notes:
|
private |
Method Name: LoadPadding
Inputs: unsigned char *puchReportBuffer Character Buffer containing the contents of the Bye Report
Outputs: bool &pbPadded Flag specifying whether padding was added
Returns: unsigned long - Number of octets processed
Description: Pad out to a 4 byte boundary as needed.
Usage Notes:
|
private |
Attribute Name: m_ulReasonLength
Type: unsigned long
Description: This member shall store the length of the textual reason for RTP session termination.
|
private |
Attribute Name: m_uchReason
Type: Character Array
Description: This member shall store the textual reason for an RTP session termination.
|
private |
Attribute Name: m_ulCSRCCount
Type: unsigned long
Description: The number of CSRCs contained with an RTP report.