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

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

?? rtcpsrpacket.h

?? jrtp庫
?? H
字號:
/*  This file is a part of JRTPLIB  Copyright (c) 1999-2007 Jori Liesenborgs  Contact: jori.liesenborgs@gmail.com  This library was developed at the "Expertisecentrum Digitale Media"  (http://www.edm.uhasselt.be), a research center of the Hasselt University  (http://www.uhasselt.be). The library is based upon work done 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.*//** * \file rtcpsrpacket.h */#ifndef RTCPSRPACKET_H#define RTCPSRPACKET_H#include "rtpconfig.h"#include "rtcppacket.h"#include "rtptimeutilities.h"#include "rtpstructs.h"#if ! (defined(WIN32) || defined(_WIN32_WCE))	#include <netinet/in.h>#endif // WIN32class RTCPCompoundPacket;/** Describes an RTCP sender report packet. */class RTCPSRPacket : public RTCPPacket{public:	/** Creates an instance based on the data in \c data with length \c datalen. 	 *  Creates an instance based on the data in \c data with length \c datalen. Since the \c data pointer	 *  is referenced inside the class (no copy of the data is made) one must make sure that the memory it 	 *  points to is valid as long as the class instance exists.	 */	RTCPSRPacket(uint8_t *data,size_t datalength);	~RTCPSRPacket()								{ }	/** Returns the SSRC of the participant who sent this packet. */	uint32_t GetSenderSSRC() const;	/** Returns the NTP timestamp contained in the sender report. */	RTPNTPTime GetNTPTimestamp() const;	/** Returns the RTP timestamp contained in the sender report. */	uint32_t GetRTPTimestamp() const;	/** Returns the sender's packet count contained in the sender report. */	uint32_t GetSenderPacketCount() const;	/** Returns the sender's octet count contained in the sender report. */	uint32_t GetSenderOctetCount() const;	/** Returns the number of reception report blocks present in this packet. */	int GetReceptionReportCount() const;	/** Returns the SSRC of the reception report block described by \c index which may have a value 	 *  from 0 to GetReceptionReportCount()-1 (note that no check is performed to see if \c index is 	 *  valid).	 */	uint32_t GetSSRC(int index) const;	/** Returns the `fraction lost' field of the reception report described by \c index which may have 	 *  a value from 0 to GetReceptionReportCount()-1 (note that no check is performed to see if \c index is	 *  valid).	 */	uint8_t GetFractionLost(int index) const;	/** Returns the number of lost packets in the reception report block described by \c index which may have 	 *  a value from 0 to GetReceptionReportCount()-1 (note that no check is performed to see if \c index is	 *  valid).	 */	int32_t GetLostPacketCount(int index) const;	/** Returns the extended highest sequence number of the reception report block described by \c index which may have 	 *  a value from 0 to GetReceptionReportCount()-1 (note that no check is performed to see if \c index is	 *  valid).	 */	uint32_t GetExtendedHighestSequenceNumber(int index) const;	/** Returns the jitter field of the reception report block described by \c index which may have 	 *  a value from 0 to GetReceptionReportCount()-1 (note that no check is performed to see if \c index is	 *  valid).	 */	uint32_t GetJitter(int index) const;	/** Returns the LSR field of the reception report block described by \c index which may have 	 *  a value from 0 to GetReceptionReportCount()-1 (note that no check is performed to see if \c index is	 *  valid).	 */	uint32_t GetLSR(int index) const;	/** Returns the DLSR field of the reception report block described by \c index which may have 	 *  a value from 0 to GetReceptionReportCount()-1 (note that no check is performed to see if \c index is	 *  valid).	 */	uint32_t GetDLSR(int index) const;#ifdef RTPDEBUG	void Dump();#endif // RTPDEBUGprivate:	RTCPReceiverReport *GotoReport(int index) const;};inline uint32_t RTCPSRPacket::GetSenderSSRC() const{	if (!knownformat)		return 0;		uint32_t *ssrcptr = (uint32_t *)(data+sizeof(RTCPCommonHeader));	return ntohl(*ssrcptr);}inline RTPNTPTime RTCPSRPacket::GetNTPTimestamp() const{	if (!knownformat)		return RTPNTPTime(0,0);	RTCPSenderReport *sr = (RTCPSenderReport *)(data+sizeof(RTCPCommonHeader)+sizeof(uint32_t));	return RTPNTPTime(ntohl(sr->ntptime_msw),ntohl(sr->ntptime_lsw));}inline uint32_t RTCPSRPacket::GetRTPTimestamp() const{	if (!knownformat)		return 0;	RTCPSenderReport *sr = (RTCPSenderReport *)(data+sizeof(RTCPCommonHeader)+sizeof(uint32_t));	return ntohl(sr->rtptimestamp);}inline uint32_t RTCPSRPacket::GetSenderPacketCount() const{	if (!knownformat)		return 0;	RTCPSenderReport *sr = (RTCPSenderReport *)(data+sizeof(RTCPCommonHeader)+sizeof(uint32_t));	return ntohl(sr->packetcount);}	inline uint32_t RTCPSRPacket::GetSenderOctetCount() const{	if (!knownformat)		return 0;	RTCPSenderReport *sr = (RTCPSenderReport *)(data+sizeof(RTCPCommonHeader)+sizeof(uint32_t));	return ntohl(sr->octetcount);}inline int RTCPSRPacket::GetReceptionReportCount() const{	if (!knownformat)		return 0;	RTCPCommonHeader *hdr = (RTCPCommonHeader *)data;	return ((int)hdr->count);}inline RTCPReceiverReport *RTCPSRPacket::GotoReport(int index) const{	RTCPReceiverReport *r = (RTCPReceiverReport *)(data+sizeof(RTCPCommonHeader)+sizeof(uint32_t)+sizeof(RTCPSenderReport)+index*sizeof(RTCPReceiverReport));	return r;}inline uint32_t RTCPSRPacket::GetSSRC(int index) const{	if (!knownformat)		return 0;	RTCPReceiverReport *r = GotoReport(index);	return ntohl(r->ssrc);}inline uint8_t RTCPSRPacket::GetFractionLost(int index) const{	if (!knownformat)		return 0;	RTCPReceiverReport *r = GotoReport(index);	return r->fractionlost;}inline int32_t RTCPSRPacket::GetLostPacketCount(int index) const{	if (!knownformat)		return 0;	RTCPReceiverReport *r = GotoReport(index);	uint32_t count = ((uint32_t)r->packetslost[2])|(((uint32_t)r->packetslost[1])<<8)|(((uint32_t)r->packetslost[0])<<16);	if ((count&0x00800000) != 0) // test for negative number		count |= 0xFF000000;	int32_t *count2 = (int32_t *)(&count);	return (*count2);}inline uint32_t RTCPSRPacket::GetExtendedHighestSequenceNumber(int index) const{	if (!knownformat)		return 0;	RTCPReceiverReport *r = GotoReport(index);	return ntohl(r->exthighseqnr);}inline uint32_t RTCPSRPacket::GetJitter(int index) const{	if (!knownformat)		return 0;	RTCPReceiverReport *r = GotoReport(index);	return ntohl(r->jitter);}inline uint32_t RTCPSRPacket::GetLSR(int index) const{	if (!knownformat)		return 0;	RTCPReceiverReport *r = GotoReport(index);	return ntohl(r->lsr);}inline uint32_t RTCPSRPacket::GetDLSR(int index) const{	if (!knownformat)		return 0;	RTCPReceiverReport *r = GotoReport(index);	return ntohl(r->dlsr);}#endif // RTCPSRPACKET_H

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费观看成人鲁鲁鲁鲁鲁视频| 美女任你摸久久| 日本欧美肥老太交大片| 成人免费av资源| 欧美丰满美乳xxx高潮www| 国产色91在线| 久久精品国产亚洲a| 欧美视频一区二区三区四区| 国产精品美女www爽爽爽| 极品销魂美女一区二区三区| 欧美综合在线视频| 国产精品国产三级国产普通话蜜臀| 免费看欧美女人艹b| 精品视频全国免费看| 亚洲视频小说图片| 国产精品99久久久久久有的能看| 91精品国产美女浴室洗澡无遮挡| 亚洲图片激情小说| 丁香六月综合激情| 久久久不卡网国产精品二区| 久久精品国产网站| 精品精品国产高清a毛片牛牛| 亚洲欧洲精品一区二区三区不卡| 亚洲图片一区二区| 久久国产生活片100| 国产精品一区二区在线看| 国内精品久久久久影院色| 国产成人在线影院 | 欧美日韩成人高清| 国产福利精品一区二区| 精品少妇一区二区三区| 久久激五月天综合精品| 精品国产免费视频| 韩国精品一区二区| 久久久精品综合| 国产精品综合在线视频| 久久精品一区八戒影视| 国产99精品在线观看| 中文字幕精品一区二区三区精品| 美女高潮久久久| 日韩成人一级片| 这里只有精品免费| 国产在线播精品第三| 欧美电影免费观看高清完整版| 麻豆国产精品视频| 久久久久久麻豆| 成人美女视频在线看| 亚洲欧洲一区二区在线播放| 色哟哟国产精品| 日本伊人精品一区二区三区观看方式| 制服.丝袜.亚洲.另类.中文| 老司机精品视频在线| 国产日产欧美一区二区视频| a在线欧美一区| 亚洲成人av电影| 欧美xxxx在线观看| 99热在这里有精品免费| 亚洲国产毛片aaaaa无费看| 欧美电影免费观看高清完整版| 国产高清不卡一区二区| 国产精品理论片在线观看| 欧美调教femdomvk| 国产一区二区视频在线| 一区二区三区波多野结衣在线观看| 91精品国产欧美日韩| 成人va在线观看| 视频一区视频二区中文| 亚洲国产精品v| 8x福利精品第一导航| 成人av高清在线| 日本三级亚洲精品| 亚洲色图视频免费播放| 精品区一区二区| www.久久久久久久久| 日韩av电影免费观看高清完整版| 国产欧美精品一区二区色综合朱莉| 欧洲一区二区av| 成人理论电影网| 麻豆精品在线看| 亚洲激情男女视频| 久久精品欧美一区二区三区不卡 | 91精品福利在线| 国内精品国产三级国产a久久| 亚洲黄色免费网站| 久久精品一区二区| 91精品国产色综合久久久蜜香臀| 欧美在线你懂的| 成人综合婷婷国产精品久久 | 国产精品一区二区视频| 偷拍亚洲欧洲综合| 成人欧美一区二区三区黑人麻豆 | 欧美在线一区二区三区| 国产91精品久久久久久久网曝门| 视频精品一区二区| 亚洲精品日韩专区silk| 国产精品国产a| 久久久久久亚洲综合影院红桃| 欧美人动与zoxxxx乱| 欧美综合天天夜夜久久| 色综合激情五月| 91一区二区三区在线观看| 国产成人精品免费网站| 精品亚洲国内自在自线福利| 男人的j进女人的j一区| 天天综合日日夜夜精品| 亚洲午夜在线视频| 亚洲午夜久久久久中文字幕久| 亚洲欧美一区二区三区极速播放| 国产婷婷一区二区| 国产三区在线成人av| 国产无人区一区二区三区| 久久综合色之久久综合| 日韩欧美国产成人一区二区| 日韩精品一区二| 精品成人私密视频| 久久午夜国产精品| 日本一区二区动态图| 久久久国产精品午夜一区ai换脸| 久久免费国产精品| 国产欧美一区二区三区在线看蜜臀 | 久久精品噜噜噜成人88aⅴ| 亚洲综合色婷婷| 午夜日韩在线观看| 蜜臀精品一区二区三区在线观看 | 91蝌蚪porny九色| 91小视频免费看| 欧美在线短视频| 欧美一区国产二区| 久久综合五月天婷婷伊人| 国产精品乱人伦| 亚洲电影欧美电影有声小说| 视频一区欧美日韩| 国产精品18久久久久久vr| 成人综合婷婷国产精品久久蜜臀| 青青国产91久久久久久| 久久电影网电视剧免费观看| 欧美一区二区三区四区高清| av在线不卡网| 日本精品裸体写真集在线观看 | 国产真实乱偷精品视频免| 国产揄拍国内精品对白| 成人午夜免费av| 欧美日韩综合在线| 日韩欧美激情一区| 综合亚洲深深色噜噜狠狠网站| 亚洲妇女屁股眼交7| 激情五月激情综合网| 99久久精品费精品国产一区二区| 欧美日韩在线播放三区四区| 久久综合九色综合欧美就去吻 | 日本乱人伦一区| 欧美xxx久久| 悠悠色在线精品| 激情五月婷婷综合| 欧美在线色视频| 欧美国产一区二区在线观看| 亚洲国产精品自拍| 岛国精品在线播放| 欧美日韩免费视频| 精品国内片67194| 91麻豆精品91久久久久久清纯| 91在线看国产| 欧美岛国在线观看| 亚洲少妇中出一区| 国产一区二区三区免费看 | 777奇米四色成人影色区| 国产偷国产偷精品高清尤物| 天天做天天摸天天爽国产一区 | 不卡在线视频中文字幕| 欧美一区二区三区小说| 亚洲人吸女人奶水| 国产成人亚洲精品狼色在线 | 色婷婷国产精品综合在线观看| 欧美α欧美αv大片| 亚洲一二三四区不卡| 成人动漫视频在线| 久久亚洲综合av| 蜜桃久久精品一区二区| 欧美日韩在线电影| 国产亚洲美州欧州综合国| 91在线视频18| 精品国产乱码久久| 欧美高清在线一区二区| 激情五月激情综合网| 91精品国产综合久久精品图片 | 午夜视频一区二区| 色94色欧美sute亚洲线路二| 中文字幕国产一区二区| 国产精品 欧美精品| 亚洲精品在线观看视频| 激情综合色播激情啊| 日韩精品专区在线影院重磅| 蜜桃视频一区二区| 日韩三级在线观看| 日韩成人av影视| 欧美精品 国产精品| 亚瑟在线精品视频| 欧美一区二区在线免费观看| 琪琪久久久久日韩精品| 欧美一区日本一区韩国一区|