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

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

?? rtptimeutilities.h

?? Real Transport 流媒體編程資料
?? H
字號:
/*  This file is a part of JRTPLIB  Copyright (c) 1999-2006 Jori Liesenborgs  Contact: jori@lumumba.uhasselt.be  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.*/#ifndef RTPTIMEUTILITIES_H#define RTPTIMEUTILITIES_H#include "rtpconfig.h"#include "rtptypes.h"#ifndef WIN32	#include <sys/time.h>	#include <time.h>#else		#ifndef _WIN32_WCE        	#include <sys/timeb.h>        #endif // _WIN32_WINCE#endif // WIN32#define RTP_NTPTIMEOFFSET									2208988800ULclass RTPNTPTime{public:	RTPNTPTime(uint32_t m,uint32_t l)							{ msw = m ; lsw = l; }	uint32_t GetMSW() const								{ return msw; }	uint32_t GetLSW() const								{ return lsw; }private:	uint32_t msw,lsw;};class RTPTime{public:	static RTPTime CurrentTime();	static void Wait(const RTPTime &delay);			RTPTime(double t);	RTPTime(RTPNTPTime ntptime);	RTPTime(uint32_t seconds,uint32_t microseconds)					{ sec = seconds; microsec = microseconds; }	uint32_t GetSeconds() const							{ return sec; }	uint32_t GetMicroSeconds() const						{ return microsec; }	double GetDouble() const 							{ return (((double)sec)+(((double)microsec)/1000000.0)); }	RTPTime &operator-=(const RTPTime &t);	RTPTime &operator+=(const RTPTime &t);	RTPNTPTime GetNTPTime() const;	bool operator<(const RTPTime &t) const;	bool operator>(const RTPTime &t) const;	bool operator<=(const RTPTime &t) const;	bool operator>=(const RTPTime &t) const;private:	uint32_t sec,microsec;};inline RTPTime::RTPTime(double t){	sec = (uint32_t)t;	double t2 = t-((double)sec);	t2 *= 1000000.0;	microsec = (uint32_t)t2;}inline RTPTime::RTPTime(RTPNTPTime ntptime){	if (ntptime.GetMSW() < RTP_NTPTIMEOFFSET)	{		sec = 0;		microsec = 0;	}	else	{		sec = ntptime.GetMSW() - RTP_NTPTIMEOFFSET;				double x = (double)ntptime.GetLSW();		x /= (65536.0*65536.0);		x *= 1000000.0;		microsec = (uint32_t)x;	}}#if (defined(WIN32) || defined(_WIN32_WCE))inline RTPTime RTPTime::CurrentTime(){	static int inited = 0;	static unsigned __int64 microseconds, initmicroseconds;	static LARGE_INTEGER performancefrequency;	unsigned __int64 emulate_microseconds, microdiff;	SYSTEMTIME systemtime;	FILETIME filetime;	LARGE_INTEGER performancecount;	QueryPerformanceCounter(&performancecount);    	if(!inited){		inited = 1;		QueryPerformanceFrequency(&performancefrequency);		GetSystemTime(&systemtime);		SystemTimeToFileTime(&systemtime,&filetime);		microseconds = ( ((unsigned __int64)(filetime.dwHighDateTime) << 32) + (unsigned __int64)(filetime.dwLowDateTime) ) / 10ui64;		microseconds-= 11644473600000000ui64; // EPOCH		initmicroseconds = ( ( performancecount.QuadPart * 1000000ui64 ) / performancefrequency.QuadPart );	}    	emulate_microseconds = ( ( performancecount.QuadPart * 1000000ui64 ) / performancefrequency.QuadPart );	microdiff = emulate_microseconds - initmicroseconds;	return RTPTime((uint32_t)((microseconds + microdiff) / 1000000ui64),((uint32_t)((microseconds + microdiff) % 1000000ui64)));}inline void RTPTime::Wait(const RTPTime &delay){	DWORD t;	t = ((DWORD)delay.GetSeconds())*1000+(((DWORD)delay.GetMicroSeconds())/1000);	Sleep(t);}class RTPTimeInitializer{public:	RTPTimeInitializer();	void Dummy() { }};extern RTPTimeInitializer timeinit;#else // unix styleinline RTPTime RTPTime::CurrentTime(){	struct timeval tv;		gettimeofday(&tv,0);	return RTPTime((uint32_t)tv.tv_sec,(uint32_t)tv.tv_usec);}inline void RTPTime::Wait(const RTPTime &delay){	struct timespec req,rem;	req.tv_sec = (time_t)delay.sec;	req.tv_nsec = ((long)delay.microsec)*1000;	nanosleep(&req,&rem);}#endif // WIN32inline RTPTime &RTPTime::operator-=(const RTPTime &t){ 	sec -= t.sec; 	if (t.microsec > microsec)	{		sec--;		microsec += 1000000;	}	microsec -= t.microsec;	return *this;}inline RTPTime &RTPTime::operator+=(const RTPTime &t){ 	sec += t.sec; 	microsec += t.microsec;	if (microsec >= 1000000)	{		sec++;		microsec -= 1000000;	}	return *this;}inline RTPNTPTime RTPTime::GetNTPTime() const{	uint32_t msw = sec+RTP_NTPTIMEOFFSET;	uint32_t lsw;	double x;	      	x = microsec/1000000.0;	x *= (65536.0*65536.0);	lsw = (uint32_t)x;	return RTPNTPTime(msw,lsw);}inline bool RTPTime::operator<(const RTPTime &t) const{	if (sec < t.sec)		return true;	if (sec > t.sec)		return false;	if (microsec < t.microsec)		return true;	return false;}inline bool RTPTime::operator>(const RTPTime &t) const{	if (sec > t.sec)		return true;	if (sec < t.sec)		return false;	if (microsec > t.microsec)		return true;	return false;}inline bool RTPTime::operator<=(const RTPTime &t) const{	if (sec < t.sec)		return true;	if (sec > t.sec)		return false;	if (microsec <= t.microsec)		return true;	return false;}inline bool RTPTime::operator>=(const RTPTime &t) const{	if (sec > t.sec)		return true;	if (sec < t.sec)		return false;	if (microsec >= t.microsec)		return true;	return false;}#endif // RTPTIMEUTILITIES_H

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费视频免费观看| 在线区一区二视频| 亚洲高清视频在线| 久久噜噜亚洲综合| 欧美日韩国产高清一区二区三区| 国产一区二区在线看| 日韩精品欧美精品| 亚洲久草在线视频| 国产精品免费aⅴ片在线观看| 欧美成人乱码一区二区三区| 91久久精品一区二区| 国产精品99久久久| 蜜桃久久久久久久| 视频一区二区三区中文字幕| 亚洲美女一区二区三区| 日本一区二区三级电影在线观看 | youjizz国产精品| 蜜桃久久久久久久| 丝袜国产日韩另类美女| 亚洲人快播电影网| 中文子幕无线码一区tr| 日韩精品一区二区三区在线| 欧美视频日韩视频| 一本到不卡免费一区二区| 顶级嫩模精品视频在线看| 精品亚洲porn| 青青草国产精品亚洲专区无| 日韩一区欧美二区| 性欧美大战久久久久久久久| 亚洲最大成人综合| 亚洲黄色小视频| 亚洲美女视频在线观看| 亚洲人吸女人奶水| 亚洲精品ww久久久久久p站| 中文字幕在线一区二区三区| 国产精品网友自拍| 国产精品毛片高清在线完整版| 中文字幕成人在线观看| 国产精品视频线看| 日韩美女视频一区二区| 亚洲欧美乱综合| 亚洲午夜在线视频| 亚洲成精国产精品女| 视频一区欧美精品| 理论电影国产精品| 国产精品一品视频| 成人午夜免费视频| 日本精品裸体写真集在线观看| 91激情五月电影| 欧美三电影在线| 91精品福利在线一区二区三区| 日韩西西人体444www| 久久日韩粉嫩一区二区三区| 国产女人18毛片水真多成人如厕| 中文字幕一区二区三区蜜月| 亚洲视频一区在线观看| 一区二区三区四区国产精品| 亚洲自拍偷拍九九九| 日韩福利电影在线| 国产福利一区在线| 91激情五月电影| 日韩精品影音先锋| 中文字幕巨乱亚洲| 亚洲国产精品久久不卡毛片| 奇米影视7777精品一区二区| 国产主播一区二区| 91网站最新地址| 在线播放91灌醉迷j高跟美女| 日韩女优制服丝袜电影| 国产精品色一区二区三区| 亚洲人成在线播放网站岛国| 日本欧美一区二区在线观看| 国产精品18久久久久久久久| 91国产视频在线观看| 欧美岛国在线观看| 最新久久zyz资源站| 日韩av二区在线播放| 国产一区三区三区| 91久久线看在观草草青青| 日韩久久久久久| 亚洲欧美日韩精品久久久久| 免费成人结看片| 色综合久久中文综合久久牛| 欧美一区二区三区视频在线观看| 国产欧美日韩不卡| 日韩高清在线一区| 91丨porny丨最新| 欧美成人video| 一区二区三区四区在线| 国产美女主播视频一区| 欧美性感一区二区三区| 国产女主播在线一区二区| 天天亚洲美女在线视频| 北条麻妃国产九九精品视频| 日韩三级精品电影久久久 | 亚洲精品视频一区二区| 黄一区二区三区| 欧美日本乱大交xxxxx| 日本一区二区成人在线| 男女男精品视频| 欧美午夜精品久久久久久超碰| 久久久久久久久伊人| 三级一区在线视频先锋| 99v久久综合狠狠综合久久| 精品久久五月天| 天堂在线一区二区| 一本久道久久综合中文字幕| 国产视频在线观看一区二区三区| 日韩成人免费在线| 欧美视频一区在线观看| 亚洲免费在线电影| 成人sese在线| 久久精品亚洲麻豆av一区二区| 日韩黄色小视频| 精品视频1区2区| 一区二区三区在线观看视频| www.亚洲人| 中文字幕精品一区二区精品绿巨人 | 日本色综合中文字幕| 欧美亚日韩国产aⅴ精品中极品| 亚洲国产激情av| 国产一区啦啦啦在线观看| 日韩精品一区二区三区swag| 日韩中文字幕不卡| 欧美私模裸体表演在线观看| 亚洲天堂2016| 91浏览器打开| 一区二区视频在线| 色999日韩国产欧美一区二区| 亚洲女同女同女同女同女同69| 波多野结衣亚洲| 中文字幕一区二区三中文字幕| 波多野结衣中文字幕一区二区三区| 久久久久久久久久久久久女国产乱 | 色综合久久中文字幕综合网 | 亚洲小说春色综合另类电影| 色综合久久久久综合体| 亚洲人成伊人成综合网小说| 91视视频在线直接观看在线看网页在线看 | 国产精品 欧美精品| 国产亚洲精品超碰| 丁香网亚洲国际| 国产精品色在线| 91福利视频网站| 亚洲成人av一区二区三区| 91 com成人网| 久久国产精品99精品国产| 精品国产电影一区二区| 国产一区在线看| 亚洲欧美在线视频观看| 在线观看三级视频欧美| 五月婷婷欧美视频| 精品久久五月天| 波多野结衣精品在线| 亚洲综合丁香婷婷六月香| 欧美一区二区三区在线观看视频| 久久狠狠亚洲综合| 国产精品色哟哟| 欧美日韩国产一二三| 久久国产精品露脸对白| 国产精品久久久一区麻豆最新章节| 99精品视频在线播放观看| 亚洲国产精品视频| 久久综合九色综合97婷婷女人| 成人性生交大片免费看中文| 亚洲影视在线观看| 欧美α欧美αv大片| 不卡av电影在线播放| 三级久久三级久久久| 国产视频一区二区在线| 日本高清免费不卡视频| 久久精品国内一区二区三区| 国产精品女主播av| 欧美午夜精品久久久久久孕妇| 精品一区二区免费在线观看| 亚洲人成网站色在线观看| 欧美精品aⅴ在线视频| 国产精品亚洲成人| 亚洲二区在线视频| 国产日韩精品视频一区| 欧美三级资源在线| 国产尤物一区二区| 亚洲精品乱码久久久久久日本蜜臀| 日韩一区二区三区免费观看| jlzzjlzz亚洲女人18| 蜜乳av一区二区| 亚洲精品美腿丝袜| 久久久不卡影院| 欧美日韩国产123区| 成人美女在线观看| 三级不卡在线观看| 亚洲色图清纯唯美| 久久久激情视频| 欧美日韩视频在线第一区| 成人性视频免费网站| 精品一区二区综合| 亚洲风情在线资源站| 一色屋精品亚洲香蕉网站| 欧美精品一区二区精品网| 欧美系列一区二区|