📄 rtcp.h
字号:
/*
NOTICE:
This document contains information that is proprietary to RADVision LTD.
No part of this publication may be reproduced in any form whatsoever without
written prior approval by RADVision LTD.
RADVision LTD. reserves the right to revise this publication and make changes
without obligation to notify any person of such revisions or changes.
*/
#ifdef __cplusplus
extern "C" {
#endif
#ifndef __RTCP_H
#define __RTCP_H
#include "rvtypes.h"
#include "rtpstd.h"
#ifndef __RTP_H
DECLARE_OPAQUE(HRTCPSESSION);
#endif
#define ERR_RTCP_GENERALERROR -350 /* general error */
#define ERR_RTCP_SSRCCOLLISION -351 /* ssrc collision */
#define ERR_RTCP_ILLEGALSSRC -352 /* an illegal ssrc was specified */
#define ERR_RTCP_ILLEGALSDES -353 /* an illegal sdes was specified */
#define ERR_RTCP_ILLEGALPACKET -354 /* illegal RTCP pkt encountered */
/* typedef RvBool (CALLCONV *LPSSRCENUM)( */
typedef RvBool (*LPSSRCENUM)(
IN HRTCPSESSION hRTCP,
IN RvUint32 ssrc);
typedef struct {
RvBool valid;
RvUint32 mNTPtimestamp;
RvUint32 lNTPtimestamp;
RvUint32 timestamp;
RvUint32 packets;
RvUint32 octets;
} RTCPSRINFO;
typedef struct {
RvBool valid;
RvUint32 fractionLost;
RvUint32 cumulativeLost;
RvUint32 sequenceNumber;
RvUint32 jitter;
RvUint32 lSR;
RvUint32 dlSR;
} RTCPRRINFO;
typedef struct {
RvBool selfNode;
RTCPSRINFO sr;
RTCPRRINFO rrFrom;
RTCPRRINFO rrTo;
char cname[255];
} RTCPINFO;
/* == Basic RTCP Functions == */
RVVXDAPI
RvInt32 VXDCALLCONV rtcpInit(void);
RVVXDAPI
RvInt32 VXDCALLCONV rtcpInitEx(RvUint32 ip);
RVVXDAPI
RvInt32 VXDCALLCONV rtcpEnd(void);
RVVXDAPI
int VXDCALLCONV rtcpGetAllocationSize(
IN int sessionMembers);
RVVXDAPI
HRTCPSESSION VXDCALLCONV rtcpOpenFrom(
IN RvUint32 ssrc,
IN RvUint16 port,
IN char * cname,
IN int sessionMembers,
IN void * buffer,
IN int bufferSize);
RVVXDAPI
HRTCPSESSION VXDCALLCONV rtcpOpen(
IN RvUint32 ssrc,
IN RvUint16 port,
IN char * cname);
RVVXDAPI
RvInt32 VXDCALLCONV rtcpClose(
IN HRTCPSESSION hRCTP);
RVVXDAPI
void VXDCALLCONV rtcpSetRemoteAddress(
IN HRTCPSESSION hRTCP,
IN RvUint32 ip,
IN RvUint16 port);
RVVXDAPI
RvInt32 VXDCALLCONV rtcpStop(
IN HRTCPSESSION hRTCP);
RVVXDAPI
RvInt32 VXDCALLCONV rtcpRTPPacketRecv(
IN HRTCPSESSION hRTCP,
IN RvUint32 ssrc,
IN RvUint32 myTimestamp,
IN RvUint32 timestamp,
IN RvUint16 sequence);
RVVXDAPI
RvInt32 VXDCALLCONV rtcpRTPPacketSent(
IN HRTCPSESSION hRTCP,
IN RvInt32 bytes,
IN RvUint32 timestamp);
RVVXDAPI
RvUint16 VXDCALLCONV rtcpGetPort(
IN HRTCPSESSION hRCTP);
/* == ENDS: Basic RTCP Functions == */
/* == Accessory RTCP Functions == */
RVVXDAPI
RvBool VXDCALLCONV rtcpCheckSSRCCollision(
IN HRTCPSESSION hRTCP);
/* ouch! */
#define rtcpEnumParticipients rtcpEnumParticipants
RVVXDAPI
RvBool VXDCALLCONV rtcpEnumParticipants(
IN HRTCPSESSION hRTCP,
IN LPSSRCENUM enumerator);
RVVXDAPI
RvInt32 VXDCALLCONV rtcpGetSourceInfo(
IN HRTCPSESSION hRTCP,
IN RvUint32 ssrc,
OUT RTCPINFO* info);
RVVXDAPI
RvInt32 VXDCALLCONV rtcpSetGroupAddress(
IN HRTCPSESSION hRTCP,
IN RvUint32 ip);
RVVXDAPI
RvInt32 VXDCALLCONV rtcpGetSSRC(
IN HRTCPSESSION hRTCP);
RVVXDAPI
RvInt32 VXDCALLCONV rtcpSetSSRC(
IN HRTCPSESSION hRTCP,
IN RvUint32 ssrc);
/* == ENDS: Accessory RTCP Functions == */
#endif /* __RTCP_H */
#ifdef __cplusplus
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -