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

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

?? rtcpscheduler.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 rtcpscheduler.h */#ifndef RTCPSCHEDULER_H#define RTCPSCHEDULER_H#include "rtpconfig.h"#include "rtptimeutilities.h"#include "rtprandom.h"class RTCPCompoundPacket;class RTPPacket;class RTPSources;/** Describes parameters used by the RTCPScheduler class. */class RTCPSchedulerParams{public:	RTCPSchedulerParams();	~RTCPSchedulerParams();	/** Sets the RTCP bandwidth to be used to \c bw (in bytes per second). */	int SetRTCPBandwidth(double bw);	/** Returns the used RTCP bandwidth in bytes per second (default is 1000). */	double GetRTCPBandwidth() const							{ return bandwidth; }	/** Sets the fraction of the RTCP bandwidth reserved for senders to \c fraction. */	int SetSenderBandwidthFraction(double fraction);	/** Returns the fraction of the RTCP bandwidth reserved for senders (default is 25%). */	double GetSenderBandwidthFraction() const					{ return senderfraction; }	/** Sets the minimum (deterministic) interval between RTCP compound packets to \c t. */	int SetMinimumTransmissionInterval(const RTPTime &t);	/** Returns the minimum RTCP transmission interval (default is 5 seconds). */	RTPTime GetMinimumTransmissionInterval() const					{ return mininterval; }	/** If \c usehalf is \c true, only use half the minimum interval before sending the first RTCP compound packet. */	void SetUseHalfAtStartup(bool usehalf)						{ usehalfatstartup = usehalf; }	/** Returns \c true if only half the minimum interval should be used before sending the first RTCP compound packet	 *  (defualt is \c true). 	 */	bool GetUseHalfAtStartup() const						{ return usehalfatstartup; }	/** If \c v is \c true, the scheduler will schedule a BYE packet to be sent immediately if allowed. */	void SetRequestImmediateBYE(bool v)						{ immediatebye = v; }	/** Returns if the scheduler will schedule a BYE packet to be sent immediately if allowed	 *  (default is \c true).	 */	bool GetRequestImmediateBYE() const						{ return immediatebye; }	private:	double bandwidth;	double senderfraction;	RTPTime mininterval;	bool usehalfatstartup;	bool immediatebye;};/** This class determines when RTCP compound packets should be sent. */class RTCPScheduler{public:	/** Creates an instance which will use the source table RTPSources to determine when RTCP compound 	 *  packets should be scheduled. 	 *  Creates an instance which will use the source table RTPSources to determine when RTCP compound 	 *  packets should be scheduled. Note that for correct operation the \c sources instance should have information	 *  about the own SSRC (added by RTPSources::CreateOwnSSRC).	 */	RTCPScheduler(RTPSources &sources);	~RTCPScheduler();	/** Resets the scheduler. */	void Reset();	/** Sets the scheduler parameters to be used to \c params. */	void SetParameters(const RTCPSchedulerParams &params)						{ schedparams = params; }	/** Returns the currently used scheduler parameters. */	RTCPSchedulerParams GetParameters() const							{ return schedparams; }	/** Sets the header overhead from underlying protocols (for example UDP and IP) to \c numbytes. */	void SetHeaderOverhead(size_t numbytes)								{ headeroverhead = numbytes; }	/** Returns the currently used header overhead. */	size_t GetHeaderOverhead() const								{ return headeroverhead; }	/** For each incoming RTCP compound packet, this function has to be called for the scheduler to work correctly. */	void AnalyseIncoming(RTCPCompoundPacket &rtcpcomppack);	/** For each outgoing RTCP compound packet, this function has to be called for the scheduler to work correctly. */	void AnalyseOutgoing(RTCPCompoundPacket &rtcpcomppack);	/** This function has to be called each time a member times out or sends a BYE packet. */	void ActiveMemberDecrease();	/** Asks the scheduler to schedule an RTCP compound packet containing a BYE packetl; the compound packet 	 *  has size \c packetsize.	 */	void ScheduleBYEPacket(size_t packetsize);	/**	Returns the delay after which an RTCP compound will possibly have to be sent. 	 *  Returns the delay after which an RTCP compound will possibly have to be sent. The IsTime member function 	 *  should be called afterwards to make sure that it actually is time to send an RTCP compound packet.	 */															RTPTime GetTransmissionDelay();		/** This function returns \c true if it's time to send an RTCP compound packet and \c false otherwise. 	 *  This function returns \c true if it's time to send an RTCP compound packet and \c false otherwise.	 *  If the function returns \c true, it will also have calculated the next time at which a packet should 	 *  be sent, so if it is called again right away, it will return \c false.	 */                                                                        	bool IsTime();	/** Calculates the deterministic interval at this time. 	 *  Calculates the deterministic interval at this time. This is used - in combination with a certain multiplier - 	 *  to time out members, senders etc.	 */	RTPTime CalculateDeterministicInterval(bool sender = false);private:	void CalculateNextRTCPTime();	void PerformReverseReconsideration();	RTPTime CalculateBYETransmissionInterval();	RTPTime CalculateTransmissionInterval(bool sender);		RTPSources &sources;	RTCPSchedulerParams schedparams;	size_t headeroverhead;	size_t avgrtcppacksize;	bool hassentrtcp;	bool firstcall;	RTPTime nextrtcptime;	RTPTime prevrtcptime;	int pmembers;	// for BYE packet scheduling	bool byescheduled;	int byemembers,pbyemembers;	size_t avgbyepacketsize;	bool sendbyenow;	RTPRandom rtprand;};#endif // RTCPSCHEDULER_H

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本色道久久综合亚洲精品按摩| 在线一区二区三区四区| 555www色欧美视频| 亚洲国产一区二区视频| 99久久综合国产精品| 久久久国际精品| 在线精品视频免费观看| 日本韩国一区二区三区| 在线播放欧美女士性生活| 亚洲综合成人网| 欧美日韩国产精品自在自线| 一区二区三区四区在线免费观看| 国产精品自拍毛片| 国产日产欧美一区| 国产精品一区二区在线观看不卡| 国产视频在线观看一区二区三区| 老色鬼精品视频在线观看播放| 日韩视频中午一区| 激情av综合网| 国产精品灌醉下药二区| 91小视频在线观看| 国产精品理论片在线观看| 99精品久久只有精品| 亚洲视频在线观看三级| 欧美少妇xxx| 免费不卡在线观看| 国产精品美日韩| 欧美日韩视频在线第一区| 国产在线精品免费| 亚洲免费观看在线视频| 日韩一区二区三区精品视频| 国产呦萝稀缺另类资源| 国产精品私人影院| 在线播放日韩导航| 成人黄色在线网站| 久久99国产乱子伦精品免费| 国产精品国产三级国产普通话蜜臀| 欧美日韩的一区二区| 国产精品资源在线观看| 亚洲国产精品久久人人爱| 久久亚洲春色中文字幕久久久| 日本精品一区二区三区四区的功能| 日韩高清不卡一区| 亚洲欧美日韩一区二区| 欧美精品一区二区不卡| 91麻豆精品国产91久久久使用方法 | 久久精品在线观看| 日韩一二在线观看| 欧美网站一区二区| 91蜜桃免费观看视频| 成人午夜电影网站| 国产米奇在线777精品观看| 日本不卡视频在线| 亚洲一区二区三区自拍| 国产精品乱人伦中文| 国产精品美女久久久久aⅴ| 亚洲精品一线二线三线无人区| 欧美福利视频导航| 91精品国产一区二区三区蜜臀| 日本丶国产丶欧美色综合| 色婷婷av一区二区三区gif| 99久久免费国产| 成人免费视频视频| 麻豆一区二区三| 香蕉成人啪国产精品视频综合网 | 欧美日韩国产综合一区二区三区| 91污片在线观看| 欧美日韩一区不卡| 精品日韩在线一区| 国产精品毛片大码女人| 亚洲精品写真福利| 天堂久久一区二区三区| 看电视剧不卡顿的网站| www.色精品| 欧美一级黄色片| 中文字幕一区二区三区四区 | 在线免费不卡视频| 欧美变态tickling挠脚心| 中文字幕一区二区三区乱码在线 | 91亚洲午夜精品久久久久久| 欧美日韩小视频| 中文字幕成人av| 午夜精品123| 色婷婷一区二区| 国产片一区二区三区| 五月天激情综合网| 99久久精品国产导航| 精品乱人伦小说| 视频一区在线视频| 91香蕉视频黄| 日韩一区中文字幕| 国产成人a级片| 久久精品无码一区二区三区| 午夜精品久久久久久久| 欧美性色黄大片| **性色生活片久久毛片| 成人午夜电影小说| 久久新电视剧免费观看| 久久99久国产精品黄毛片色诱| 欧美日韩午夜精品| 午夜欧美2019年伦理| 欧美亚洲一区二区在线观看| 亚洲婷婷国产精品电影人久久| 国产一区二区不卡在线| 久久尤物电影视频在线观看| 麻豆国产精品一区二区三区| 日韩亚洲欧美在线| 激情综合色综合久久| 欧美大片国产精品| 国产一区二区不卡老阿姨| 久久久91精品国产一区二区精品| 国产一区二三区| 亚洲国产激情av| 色综合天天做天天爱| 亚洲福中文字幕伊人影院| 欧美色精品在线视频| 亚洲成av人影院| 欧美变态tickling挠脚心| 国产精品一二一区| 亚洲自拍都市欧美小说| 欧美一区二视频| 国产精品一区一区三区| 欧美大片顶级少妇| 亚洲成人精品影院| 欧美成人福利视频| 99riav久久精品riav| 日韩中文字幕91| 国产精品成人在线观看| 91精品国产入口| av亚洲精华国产精华精| 麻豆国产一区二区| 亚洲欧美视频在线观看视频| 欧美成人一区二区三区片免费 | 制服丝袜国产精品| 成人动漫一区二区在线| 天天操天天干天天综合网| 国产欧美一区二区精品性| 97精品国产露脸对白| 亚洲午夜久久久久久久久电影网| 久久免费看少妇高潮| 在线电影国产精品| 欧美亚洲综合色| 色国产精品一区在线观看| 理论电影国产精品| 免费观看成人av| 日日摸夜夜添夜夜添精品视频| 亚洲你懂的在线视频| www国产成人免费观看视频 深夜成人网| 91污在线观看| 日本道精品一区二区三区| 国产不卡视频一区| 国内精品国产成人国产三级粉色 | 欧美日韩精品一区二区天天拍小说 | 久久成人久久爱| 国内精品伊人久久久久av影院| 美女视频免费一区| 精品一区二区在线免费观看| 精品一二三四在线| 国产精品夜夜爽| av网站免费线看精品| 欧美性淫爽ww久久久久无| 欧美三级电影在线看| 欧美色偷偷大香| 久久一日本道色综合| 中文字幕欧美激情| 一区二区久久久久久| 日av在线不卡| 成人av网站在线观看| 色屁屁一区二区| 精品999在线播放| 亚洲乱码国产乱码精品精的特点| 亚洲午夜私人影院| 国产一区二区三区精品视频| 99久久99久久免费精品蜜臀| 欧美另类一区二区三区| 欧美精品一区二区三区久久久 | 麻豆精品精品国产自在97香蕉| 成人激情电影免费在线观看| 欧美日韩一区二区在线观看| 精品国产欧美一区二区| 亚洲免费大片在线观看| 国模无码大尺度一区二区三区| 成+人+亚洲+综合天堂| 日韩三级视频中文字幕| 亚洲欧美日韩在线不卡| 成人福利电影精品一区二区在线观看| 在线视频你懂得一区二区三区| 久久久久国产精品人| 免费看黄色91| 成人毛片老司机大片| 精品久久久久一区| 青青草原综合久久大伊人精品| 国内成人精品2018免费看| 欧美一区二区三区四区高清| 亚洲精品国产精华液| caoporn国产一区二区| 久久久国产综合精品女国产盗摄| 久久99热这里只有精品| 日韩免费高清电影| 麻豆91精品91久久久的内涵|