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

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

?? channels.cxx

?? mgcp協議源代碼。支持多種編碼:g711
?? CXX
?? 第 1 頁 / 共 2 頁
字號:
/* * channels.cxx * * H.323 protocol handler * * Open H323 Library * * Copyright (c) 1998-2000 Equivalence Pty. Ltd. * * The contents of this file are subject to the Mozilla Public License * Version 1.0 (the "License"); you may not use this file except in * compliance with the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See * the License for the specific language governing rights and limitations * under the License. * * The Original Code is Open H323 Library. * * The Initial Developer of the Original Code is Equivalence Pty. Ltd. * * Portions of this code were written with the assisance of funding from * Vovida Networks, Inc. http://www.vovida.com. * * Contributor(s): ______________________________________. * * $Log: channels.cxx,v $ * Revision 1.64  2000/07/14 14:04:49  robertj * Clarified a debug message. * * Revision 1.63  2000/07/14 12:47:36  robertj * Added clarification to some logging messags. * * Revision 1.62  2000/07/13 16:05:47  robertj * Removed time critical priority as it can totally slag a Win98 system. * Fixed trace message displaying mismatched codecs in RTP packet around the wrong way. * * Revision 1.61  2000/07/11 11:15:52  robertj * Fixed bug when terminating RTP receiver and not also terminating transmitter. * * Revision 1.60  2000/06/23 02:04:01  robertj * Increased the priority of the media channels, only relevent for Win32 at this time. * * Revision 1.59  2000/06/15 01:46:15  robertj * Added channel pause (aka mute) functions. * * Revision 1.58  2000/05/18 12:10:50  robertj * Removed all Sleep() calls in codec as timing innacuracies make it unusable. All *    codec implementations must thus have timing built into them, usually using I/O. * * Revision 1.57  2000/05/11 23:54:25  craigs * Fixed the Windows fix with another Linux fix. But it worked OK on the Alpha! * * Revision 1.56  2000/05/11 09:56:46  robertj * Win32 compatibility and addition of some extra debugging on codec timing. * * Revision 1.55  2000/05/11 02:27:18  robertj * Added "fail safe" timer sleep on codec writes when on output of jitter buffer. * * Revision 1.54  2000/05/04 11:52:34  robertj * Added Packets Too Late statistics, requiring major rearrangement of jitter *    buffer code, not also changes semantics of codec Write() function slightly. * * Revision 1.53  2000/05/02 04:32:26  robertj * Fixed copyright notice comment. * * Revision 1.52  2000/05/01 01:01:49  robertj * Added flag for what to do with out of orer packets (use if jitter, don't if not). * * Revision 1.51  2000/04/28 13:01:44  robertj * Fixed problem with adjusting tx/rx frame counts in capabilities during fast start. * * Revision 1.50  2000/04/10 19:45:49  robertj * Changed RTP data receive tp be more forgiving, will process packet even if payload type is wrong. * * Revision 1.49  2000/03/31 20:04:28  robertj * Fixed log message for start/end of transmitted talk burst. * * Revision 1.48  2000/03/29 04:36:38  robertj * Improved some trace logging messages. * * Revision 1.47  2000/03/22 01:31:36  robertj * Fixed transmitter loop so codec can return multiple frames (crash in G.711 mode) * * Revision 1.46  2000/03/21 03:58:00  robertj * Fixed stuffed up RTP transmit loop after previous change. * * Revision 1.45  2000/03/21 03:06:49  robertj * Changes to make RTP TX of exact numbers of frames in some codecs. * * Revision 1.44  2000/03/20 20:59:28  robertj * Fixed possible buffer overrun problem in RTP_DataFrames * * Revision 1.43  2000/02/24 00:34:25  robertj * Fixed possible endless loop on channel abort, thanks Yura Ershov * * Revision 1.42  2000/02/04 05:11:19  craigs * Updated for new Makefiles and for new video transmission code * * Revision 1.41  2000/01/13 04:03:45  robertj * Added video transmission * * Revision 1.40  2000/01/08 06:52:10  robertj * Removed invalid assert * * Revision 1.39  1999/12/23 23:02:35  robertj * File reorganision for separating RTP from H.323 and creation of LID for VPB support. * * Revision 1.38  1999/11/22 01:37:31  robertj * Fixed channel closure so OnClosedLogicalChannel() only called if channel was actually started. * * Revision 1.37  1999/11/20 05:35:26  robertj * Extra debugging * * Revision 1.36  1999/11/20 00:53:47  robertj * Fixed ability to have variable sized frames in single RTP packet under G.723.1 * * Revision 1.35  1999/11/19 09:06:25  robertj * Changed to close down logical channel if get a transmit codec error. * * Revision 1.34  1999/11/11 23:28:46  robertj * Added first cut silence detection algorithm. * * Revision 1.33  1999/11/06 11:01:37  robertj * Extra debugging. * * Revision 1.32  1999/11/06 05:37:44  robertj * Complete rewrite of termination of connection to avoid numerous race conditions. * * Revision 1.31  1999/11/01 00:47:46  robertj * Added close of logical channel on write error * * Revision 1.30  1999/10/30 12:38:24  robertj * Added more tracing of channel threads. * * Revision 1.29  1999/10/08 09:59:03  robertj * Rewrite of capability for sending multiple audio frames * * Revision 1.28  1999/10/08 04:58:37  robertj * Added capability for sending multiple audio frames in single RTP packet * * Revision 1.27  1999/09/23 07:25:12  robertj * Added open audio and video function to connection and started multi-frame codec send functionality. * * Revision 1.26  1999/09/21 14:09:02  robertj * Removed warnings when no tracing enabled. * * Revision 1.25  1999/09/18 13:24:38  craigs * Added ability to disable jitter buffer * Added ability to access entire RTP packet in codec Write * * Revision 1.24  1999/09/08 04:05:48  robertj * Added support for video capabilities & codec, still needs the actual codec itself! * * Revision 1.23  1999/09/03 02:17:50  robertj * Added more debugging * * Revision 1.22  1999/08/31 12:34:18  robertj * Added gatekeeper support. * * Revision 1.21  1999/07/16 15:02:51  robertj * Changed jitter buffer to throw away old packets if jitter exceeded. * * Revision 1.20  1999/07/16 00:51:03  robertj * Some more debugging of fast start. * * Revision 1.19  1999/07/15 14:45:35  robertj * Added propagation of codec open error to shut down logical channel. * Fixed control channel start up bug introduced with tunnelling. * * Revision 1.18  1999/07/15 09:04:31  robertj * Fixed some fast start bugs * * Revision 1.17  1999/07/14 06:04:04  robertj * Fixed setting of channel number in fast start. * * Revision 1.16  1999/07/13 09:53:24  robertj * Fixed some problems with jitter buffer and added more debugging. * * Revision 1.15  1999/07/13 02:50:58  craigs * Changed semantics of SetPlayDevice/SetRecordDevice, only descendent *    endpoint assumes PSoundChannel devices for audio codec. * * Revision 1.14  1999/07/10 03:01:48  robertj * Removed debugging. * * Revision 1.13  1999/07/09 06:09:49  robertj * Major implementation. An ENORMOUS amount of stuff added everywhere. * * Revision 1.12  1999/06/25 14:19:40  robertj * Fixed termination race condition in logical channel tear down. * * Revision 1.11  1999/06/24 13:32:45  robertj * Fixed ability to change sound device on codec and fixed NM3 G.711 compatibility * * Revision 1.10  1999/06/22 13:49:40  robertj * Added GSM support and further RTP protocol enhancements. * * Revision 1.9  1999/06/14 05:15:55  robertj * Changes for using RTP sessions correctly in H323 Logical Channel context * * Revision 1.8  1999/06/13 12:41:14  robertj * Implement logical channel transmitter. * Fixed H245 connect on receiving call. * * Revision 1.7  1999/06/09 06:18:00  robertj * GCC compatibiltiy. * * Revision 1.6  1999/06/09 05:26:19  robertj * Major restructuring of classes. * * Revision 1.5  1999/06/07 00:54:30  robertj * Displayed error on SetOption for buffer size * * Revision 1.4  1999/06/06 06:06:36  robertj * Changes for new ASN compiler and v2 protocol ASN files. * * Revision 1.3  1999/04/26 06:14:46  craigs * Initial implementation for RTP decoding and lots of stuff * As a whole, these changes are called "First Noise" * * Revision 1.2  1999/02/25 03:26:02  robertj * BeOS compatibility * * Revision 1.1  1999/01/16 01:31:09  robertj * Initial revision * */#include <ptlib.h>#include "channels.h"#include "h323pdu.h"#include "h323.h"#include "h323rtp.h"class H323LogicalChannelThread : public PThread{    PCLASSINFO(H323LogicalChannelThread, PThread)  public:    H323LogicalChannelThread(H323EndPoint & endpoint, H323Channel & channel, BOOL rx);    void Main();  private:    H323Channel & channel;    BOOL receiver;};#define new PNEW#if !PTRACING // Stuff to remove unused parameters warning#define PTRACE_jitter#define PTRACE_skippedFrameCount#define PTRACE_additionalBuffer#endif/////////////////////////////////////////////////////////////////////////////H323LogicalChannelThread::H323LogicalChannelThread(H323EndPoint & endpoint,                                                   H323Channel & c,                                                   BOOL rx)  : PThread(endpoint.GetChannelThreadStackSize(),            NoAutoDeleteThread,            HighPriority),    channel(c){  receiver = rx;  Resume();}void H323LogicalChannelThread::Main(){  if (receiver)    channel.Receive();  else    channel.Transmit();}/////////////////////////////////////////////////////////////////////////////H323ChannelNumber::H323ChannelNumber(unsigned num, BOOL fromRem){  PAssert(num < 0x10000, PInvalidParameter);  number = num;  fromRemote = fromRem;}PObject * H323ChannelNumber::Clone() const{  return new H323ChannelNumber(number, fromRemote);}PINDEX H323ChannelNumber::HashFunction() const{  if (fromRemote)    return number;  return number|0x10000;}void H323ChannelNumber::PrintOn(ostream & strm) const{  strm << (fromRemote ? 'R' : 'T') << '-' << number;}H323ChannelNumber & H323ChannelNumber::operator++(int){  number++;  return *this;}/////////////////////////////////////////////////////////////////////////////H323Channel::H323Channel(H323Connection & conn, const H323Capability & cap)  : endpoint(conn.GetEndPoint()),    connection(conn),    capability(cap){  codec = NULL;  bandwidthUsed = 0;  receiveThread = NULL;  transmitThread = NULL;  terminating = FALSE;  paused = FALSE;}H323Channel::~H323Channel(){  connection.UseBandwidth(bandwidthUsed, FALSE);  delete codec;}unsigned H323Channel::GetSessionID() const{  return 0;}void H323Channel::CleanUpOnTermination(){  if (terminating)    return;  PTRACE(3, "LogChan\tCleaning up " << number);  terminating = TRUE;  // Signal to the connection that this channel is on the way out  if (receiveThread != NULL || transmitThread != NULL)    connection.OnClosedLogicalChannel(*this);  // If we have a codec, then close it, this allows the transmitThread to be  // broken out of any I/O block on reading the codec.  if (codec != NULL)    codec->Close();  // If we have a receiver thread, wait for it to die.  if (receiveThread != NULL) {    receiveThread->WaitForTermination();    delete receiveThread;    receiveThread = NULL;  }  // If we have a transmitter thread, wait for it to die.  if (transmitThread != NULL) {    transmitThread->WaitForTermination();    delete transmitThread;    transmitThread = NULL;  }  PTRACE(3, "LogChan\tCleaned up " << number);}BOOL H323Channel::IsRunning() const{  if (receiveThread  != NULL && !receiveThread ->IsTerminated())    return TRUE;  if (transmitThread != NULL && !transmitThread->IsTerminated())    return TRUE;  return FALSE;}BOOL H323Channel::OnReceivedPDU(const H245_OpenLogicalChannel & /*pdu*/,                                unsigned & /*errorCode*/){  return TRUE;}BOOL H323Channel::OnReceivedAckPDU(const H245_OpenLogicalChannelAck & /*pdu*/){  return TRUE;}void H323Channel::OnSendOpenAck(const H245_OpenLogicalChannel & /*pdu*/,                                H245_OpenLogicalChannelAck & /* pdu*/) const{}void H323Channel::OnFlowControl(long bitRateRestriction){  if (codec != NULL)    codec->OnFlowControl(bitRateRestriction);  else    PTRACE(3, "LogChan\tOnFlowControl: " << bitRateRestriction);}void H323Channel::OnMiscellaneousCommand(const H245_MiscellaneousCommand_type & type){  if (codec != NULL)    codec->OnMiscellaneousCommand(type);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二三区好的| 久草热8精品视频在线观看| 国产精品欧美精品| 久久亚洲二区三区| 精品久久国产老人久久综合| 日韩欧美亚洲国产另类| 欧美一区二区三区播放老司机| 欧美一a一片一级一片| 欧美午夜不卡视频| 欧美三级午夜理伦三级中视频| 欧美日韩一区二区三区免费看| 在线观看国产91| 欧美精品在线观看播放| 欧美猛男男办公室激情| 4438亚洲最大| 2020国产成人综合网| 国产色爱av资源综合区| 一区精品在线播放| 亚洲一区视频在线观看视频| 婷婷综合在线观看| 国内精品不卡在线| 成人av在线观| 欧美性生活大片视频| 91精品国产乱| 日本伊人色综合网| 日韩在线一区二区三区| 久久激五月天综合精品| 成人视屏免费看| 色婷婷久久久综合中文字幕| 欧美电影在哪看比较好| 欧美精品一区二区三区四区| 国产精品久久久久久久久免费樱桃| 亚洲另类春色校园小说| 日韩电影在线免费观看| 国产乱一区二区| 一本一道综合狠狠老| 欧美一级欧美三级在线观看| 国产日韩欧美一区二区三区综合 | 日韩激情视频在线观看| 久久国产麻豆精品| 波多野结衣中文一区| 欧美午夜精品一区二区蜜桃| 日日夜夜免费精品| 老司机午夜精品| 韩国欧美国产1区| 丰满少妇久久久久久久| 99精品视频免费在线观看| 91精品国产综合久久精品| 亚洲精品在线一区二区| 18成人在线观看| 午夜激情综合网| 国产毛片精品视频| 欧美色综合天天久久综合精品| 久久久久久久久蜜桃| 3atv一区二区三区| 欧美国产精品一区| 蜜桃在线一区二区三区| 盗摄精品av一区二区三区| 欧美日韩精品福利| 欧美大片拔萝卜| 亚洲欧美日韩国产综合在线 | av男人天堂一区| 国产综合色在线| 欧美日韩国产一级二级| 欧美酷刑日本凌虐凌虐| www.欧美色图| 国产黄人亚洲片| 欧美日韩中文精品| 欧美激情一区二区三区| 六月丁香综合在线视频| 色综合久久99| 国产精品区一区二区三| 狂野欧美性猛交blacked| 在线精品亚洲一区二区不卡| 国产精品毛片久久久久久久| 久久99精品网久久| 欧美一区日本一区韩国一区| 成人av综合在线| 久久久亚洲精华液精华液精华液| 五月激情综合色| 欧美精品在线观看播放| 日本视频在线一区| 久久精品人人做| 奇米888四色在线精品| 国产精一品亚洲二区在线视频| 精品国产一区二区三区久久影院 | 美女视频黄免费的久久| 国产精品一区2区| 日本不卡一区二区| 亚洲激情第一区| 中文字幕一区三区| 久久你懂得1024| 欧美草草影院在线视频| 欧美高清你懂得| 欧美色区777第一页| 欧美亚洲一区三区| 国产+成+人+亚洲欧洲自线| 国产午夜亚洲精品不卡| 91美女视频网站| 久久精品国产亚洲a| 久久久久久麻豆| av在线播放一区二区三区| 麻豆精品在线视频| 亚洲少妇最新在线视频| 日本精品裸体写真集在线观看 | 欧美一区二区久久| 久久99精品久久久久久动态图| 蜜乳av一区二区| 久久久www成人免费无遮挡大片| 成人黄色片在线观看| 天堂在线一区二区| 国产欧美1区2区3区| 91精品国产综合久久婷婷香蕉 | 免费在线观看精品| 欧美理论电影在线| 免费三级欧美电影| 精品盗摄一区二区三区| 国产一区二区美女诱惑| 国产色综合久久| 91色在线porny| 亚洲一区二区三区四区在线免费观看 | 精品99999| 欧美日韩国产美| 欧美大白屁股肥臀xxxxxx| 欧美在线免费视屏| 午夜欧美电影在线观看| 日韩一区二区三区视频在线| 久久国产精品色婷婷| 国产亚洲欧美色| av资源网一区| 亚洲国产精品欧美一二99| 欧美精品亚洲二区| 韩国欧美国产1区| 中文字幕一区二区三区视频 | 日本一区二区视频在线| 99精品视频在线免费观看| 亚洲一区二区三区精品在线| 制服丝袜一区二区三区| 国产精品18久久久久久久久久久久| 国产精品视频一二三| 精品污污网站免费看| 韩国v欧美v亚洲v日本v| 国产精品每日更新在线播放网址| 日本韩国欧美国产| 激情综合网av| 亚洲三级在线免费| 欧美一区二区三区四区久久| 国产成人夜色高潮福利影视| 亚洲狠狠爱一区二区三区| 精品久久久久久久一区二区蜜臀| 99re视频这里只有精品| 日韩在线一二三区| 国产精品久久久久久久第一福利| 欧美在线啊v一区| 国产精品自在在线| 亚洲一区二区三区影院| 国产喂奶挤奶一区二区三区| 91蜜桃免费观看视频| 狠狠色丁香婷婷综合| 一区二区三区蜜桃| 久久精品一区二区三区四区| 在线综合亚洲欧美在线视频| 欧美人妇做爰xxxⅹ性高电影| 亚洲天堂福利av| 777久久久精品| 亚洲国产日韩a在线播放性色| 首页国产丝袜综合| 成人性视频免费网站| 国产精品初高中害羞小美女文| 久久久噜噜噜久噜久久综合| 中文字幕日韩一区二区| 午夜欧美2019年伦理| 粗大黑人巨茎大战欧美成人| 欧美日韩电影一区| 日韩毛片高清在线播放| 99久久亚洲一区二区三区青草| 国产精品乱码妇女bbbb| 精品少妇一区二区三区| 欧美日韩极品在线观看一区| 99视频热这里只有精品免费| 国产永久精品大片wwwapp| 免费高清成人在线| 一区二区欧美国产| 国产精品久久久久久久久免费相片| 精品国产精品一区二区夜夜嗨| 欧美怡红院视频| 色94色欧美sute亚洲线路一久| 国产成人自拍高清视频在线免费播放| 午夜不卡在线视频| 亚洲激情校园春色| 亚洲欧美国产毛片在线| 国产精品成人一区二区艾草 | 成人三级伦理片| 精品一区二区在线视频| 偷拍亚洲欧洲综合| 天涯成人国产亚洲精品一区av| 亚洲人成影院在线观看| 国产精品福利一区二区三区| 国产精品视频一区二区三区不卡| 久久久久久免费|