亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rtpsourcedata.h

?? 利用rtp庫實現實時語音傳送
?? H
字號:
/*  This file is a part of JRTPLIB  Copyright (c) 1999-2004 Jori Liesenborgs  Contact: jori@lumumba.luc.ac.be  This library (JRTPLIB) was partially developed for my thesis at the  School for Knowledge Technology (Belgium/The Netherlands)  Permission is hereby granted, free of charge, to any person obtaining a  copy of this software and associated documentation files (the "Software"),  to deal in the Software without restriction, including without limitation  the rights to use, copy, modify, merge, publish, distribute, sublicense,  and/or sell copies of the Software, and to permit persons to whom the  Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included  in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS  IN THE SOFTWARE.*/#ifndef RTPSOURCEDATA_H#define RTPSOURCEDATA_H#include "rtpconfig.h"#include "rtpdefines.h"#include "rtpdebug.h"#include "rtpstructs.h"#include "rtpsourcedescription.h"#include "rtptimeutil.h"class RTPPacket;class RTPSenderReportData{public:	RTPSenderReportData();	~RTPSenderReportData() { }	bool srreceived;	struct timeval srtime;	RTPuint32 ntplsw,ntpmsw;	RTPuint32 rtptimestamp;	RTPuint32 packetcount;	RTPuint32 bytecount;};class RTPReceiverReportData{public:	RTPReceiverReportData();	~RTPReceiverReportData() { }	bool rrreceived;	struct timeval rrtime;	unsigned char fractionlost;	long packetslost;	RTPuint32 exthighseqnum;	RTPuint32 jitter;	RTPuint32 lsr;	RTPuint32 dlsr;};class RTPSourceStats{public:	RTPSourceStats();	~RTPSourceStats() { }	void ProcessPacketInStats(RTPPacket *p,double tsunit);	bool hassentdata;	long numpacketsreceived;	long numnewpackets;	RTPuint32 numcycles; // shifted left 16 bits	RTPuint32 seqbase,maxseq,prevmaxseq;	RTPuint32 prevts;	RTPuint32 jitter;	double djitter;	struct timeval prevpacktime;	struct timeval rtt; // round trip time		unsigned long lastmsgtime; // for timeout};class RTPSourceData{public:	RTPSourceData(unsigned long src,double tsunit);	~RTPSourceData();	RTPPacket *ExtractPacket();	void FlushPackets();	unsigned long GetSSRC()										{ return ssrc; }	bool HasData()											{ if (firstpacket == NULL) return false; return true; }	void SetTimestampUnit(double ts)								{ tsunit = ts; }	double GetTimestampUnit()									{ return tsunit; }		bool SR_HasInfo()										{ return sr.srreceived; }	void SR_GetNTPTimestamp(unsigned long *msw,unsigned long *lsw)					{ *msw = sr.ntpmsw; *lsw = sr.ntplsw; }	unsigned long SR_GetRTPTimestamp()								{ return sr.rtptimestamp; }	unsigned long SR_GetPacketCount()								{ return sr.packetcount; }	unsigned long SR_GetByteCount()									{ return sr.bytecount; }	struct timeval SR_GetReceiveTime()								{ return sr.srtime; }		bool RR_HasInfo()										{ return rr.rrreceived; }	float RR_GetFractionLost()									{ return (((float)rr.fractionlost)/(float)256.0); }	long RR_GetPacketsLost()									{ return rr.packetslost; }	unsigned long RR_GetExtendedHighestSequenceNumber()						{ return rr.exthighseqnum; }	unsigned long RR_GetJitter()									{ return rr.jitter; }	unsigned long RR_GetLastSRTimestamp()								{ return rr.lsr; }	unsigned long RR_GetDelaySinceLastSR()								{ return rr.dlsr; }	struct timeval RR_GetReceiveTime()								{ return rr.rrtime; }	bool INF_HasSentData()										{ return stats.hassentdata; }	long INF_GetNumPacketsReceived()								{ return stats.numpacketsreceived; }	unsigned long INF_GetBaseSequenceNumber()							{ return stats.seqbase; }	unsigned long INF_GetExtendedHighestSequenceNumber()						{ return stats.maxseq; }	unsigned long INF_GetJitter()									{ return stats.jitter; }	struct timeval INF_GetRoundTripTime()								{ return stats.rtt; }	char *SDES_GetCNAME(int *len)									{ return GetSDESInfo(TYPE_SDES_CNAME-1,len); }	char *SDES_GetName(int *len)									{ return GetSDESInfo(TYPE_SDES_NAME-1,len); }	char *SDES_GetEMail(int *len)									{ return GetSDESInfo(TYPE_SDES_EMAIL-1,len); }	char *SDES_GetLocation(int *len)								{ return GetSDESInfo(TYPE_SDES_LOC-1,len); }	char *SDES_GetPhone(int *len)									{ return GetSDESInfo(TYPE_SDES_PHONE-1,len); }	char *SDES_GetTool(int *len)									{ return GetSDESInfo(TYPE_SDES_TOOL-1,len); }	char *SDES_GetNote(int *len)									{ return GetSDESInfo(TYPE_SDES_NOTE-1,len); }private:	int AddPacket(RTPPacket *p);	char *GetSDESInfo(int index,int *len)								{ *len = sdes.sdesinfolen[index]; return (char *)sdes.sdesinfo[index]; }	RTPuint32 ssrc;	RTPPacket *firstpacket,*lastpacket;	RTPSenderReportData sr;	RTPReceiverReportData rr;	RTPSourceDescription sdes;	RTPSourceStats stats;	bool hassentnewdata;	bool isaCSRC;	unsigned long ip;	int rtpport,rtcpport;	double tsunit;			RTPSourceData *next;friend class RTPSources;friend class RTPRTCPModule;};#endif // RTPSOURCEDATA_H

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
紧缚奴在线一区二区三区| 国产精品一二三四区| 日韩电影免费在线| 国产日韩欧美不卡| 91精品黄色片免费大全| 成人丝袜18视频在线观看| 日日骚欧美日韩| 亚洲欧洲国产日韩| 欧美本精品男人aⅴ天堂| 91久久国产综合久久| 国产99久久久国产精品潘金 | 成人午夜电影久久影院| 日韩中文字幕一区二区三区| 欧美国产精品专区| 欧美一区二区三区在线电影 | 成人av高清在线| 美女国产一区二区| 亚洲国产va精品久久久不卡综合 | 亚洲国产日产av| 中文字幕精品一区二区三区精品| 欧美日韩国产高清一区二区三区 | 日本一区二区三区国色天香| 日韩欧美成人激情| 91极品美女在线| 成人精品亚洲人成在线| 韩日av一区二区| 日本亚洲电影天堂| 亚洲午夜羞羞片| 一区二区三区欧美日| 中文字幕av在线一区二区三区| 日韩欧美一区二区三区在线| 欧美三级午夜理伦三级中视频| 色一情一伦一子一伦一区| 成人精品亚洲人成在线| 懂色av一区二区三区蜜臀| 国产伦精品一区二区三区视频青涩| 首页亚洲欧美制服丝腿| 婷婷一区二区三区| 亚洲国产一区二区三区| 夜夜嗨av一区二区三区中文字幕| 亚洲人亚洲人成电影网站色| ...xxx性欧美| 一区二区中文字幕在线| 成人欧美一区二区三区白人| 中文字幕中文乱码欧美一区二区| 国产精品成人一区二区三区夜夜夜| 国产一区二区影院| 国产一区二区在线看| 国产一区激情在线| 国产福利一区二区三区视频| 国产精品69毛片高清亚洲| 国产精品夜夜嗨| 国产成人精品在线看| jvid福利写真一区二区三区| 97精品超碰一区二区三区| 日本高清视频一区二区| 欧美日韩黄色一区二区| 欧美不卡123| 国产日韩精品一区二区三区在线| 亚洲国产精品成人综合| 中国色在线观看另类| 一区二区在线观看视频| 亚洲h在线观看| 久久成人免费日本黄色| 国产99久久久国产精品潘金网站| 成人97人人超碰人人99| 91成人在线观看喷潮| 欧美一区二区网站| 精品国产区一区| 国产精品女上位| 午夜天堂影视香蕉久久| 国产最新精品精品你懂的| 不卡av在线免费观看| 欧美在线一区二区三区| 这里只有精品99re| 国产欧美日本一区视频| 亚洲最新在线观看| 九九视频精品免费| 成人av电影在线播放| 欧美精三区欧美精三区| 国产丝袜在线精品| 亚洲电影中文字幕在线观看| 激情六月婷婷久久| 91麻豆国产福利在线观看| 91麻豆精品国产91久久久更新时间| 精品日韩在线观看| 亚洲永久精品大片| 国产黑丝在线一区二区三区| 色综合久久中文综合久久97| 欧美一级午夜免费电影| 亚洲日本va午夜在线影院| 美女网站一区二区| 色爱区综合激月婷婷| 精品久久久久香蕉网| 亚洲一区免费视频| 国产最新精品免费| 在线不卡免费av| 国产精品高清亚洲| 久久福利资源站| 欧美人与禽zozo性伦| 亚洲欧洲另类国产综合| 狠狠色丁香久久婷婷综| 欧美精三区欧美精三区| 亚洲精品自拍动漫在线| 国产视频视频一区| 婷婷综合五月天| 91网站在线播放| 欧美国产精品一区二区| 毛片av一区二区| 欧美日韩一二三| 亚洲男同性恋视频| 丁香婷婷综合网| 精品久久五月天| 日本不卡123| 欧美三级午夜理伦三级中视频| 欧美国产激情一区二区三区蜜月| 日日欢夜夜爽一区| 91丨九色丨蝌蚪富婆spa| 久久综合久久综合久久| 蜜芽一区二区三区| 在线免费不卡视频| 欧美国产精品专区| 九九视频精品免费| 91精品在线免费观看| 亚洲动漫第一页| 色999日韩国产欧美一区二区| 国产亚洲综合在线| 久久99精品久久久久婷婷| 精品1区2区3区| 依依成人综合视频| 国产麻豆成人精品| 欧美日韩日日骚| 欧美精品一区二区在线观看| 午夜精品久久久久久| 91女神在线视频| 国产欧美日韩不卡免费| 国产精品一区一区| 精品久久国产97色综合| 亚洲丰满少妇videoshd| 欧美丝袜丝交足nylons图片| 中文字幕五月欧美| 国产乱人伦偷精品视频免下载| 欧美成人免费网站| 亚洲图片一区二区| 色婷婷综合久久久中文一区二区| 综合欧美亚洲日本| 成人av资源站| 一级做a爱片久久| 91蜜桃婷婷狠狠久久综合9色| 国产欧美精品区一区二区三区 | 美美哒免费高清在线观看视频一区二区 | 2023国产精品| 精品一区二区在线视频| 欧美大片在线观看| 成人性生交大片| 久久久精品一品道一区| 国产精品伊人色| 久久久综合激的五月天| 国产一区欧美二区| 狠狠色综合色综合网络| 欧美一区二区精品久久911| 免费视频最近日韩| 中文字幕欧美区| 99re这里只有精品视频首页| 亚洲精品欧美在线| 日本乱人伦aⅴ精品| 亚洲美女免费视频| 精品视频一区二区三区免费| 午夜精品免费在线观看| 51精品秘密在线观看| 美日韩黄色大片| 国产精品美女久久久久久2018| 99精品视频在线播放观看| 一区二区国产盗摄色噜噜| 欧美性xxxxx极品少妇| 蜜桃视频第一区免费观看| 久久综合久久综合亚洲| 99国产欧美另类久久久精品| 亚洲一区二区三区中文字幕在线| 欧美精品粉嫩高潮一区二区| 久久99国产精品成人| 1000部国产精品成人观看| 欧美日韩一区三区四区| 久久精品国产77777蜜臀| 国产亚洲短视频| 欧美三级在线视频| 紧缚奴在线一区二区三区| 国产精品伦理在线| 欧美狂野另类xxxxoooo| 丰满白嫩尤物一区二区| 亚洲图片一区二区| 精品av久久707| 99国产欧美另类久久久精品| 精品一区二区三区香蕉蜜桃| 国产精品久久久久桃色tv| 在线免费视频一区二区| 国产一区二区三区蝌蚪| 亚洲高清视频中文字幕| 久久婷婷国产综合国色天香 | 日韩一区二区三区四区|