⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.h

📁 softphone client for test
💻 H
📖 第 1 页 / 共 2 页
字号:
/*
 * main.h
 *
 * PWLib application header file for OhPhone
 *
 * A H.323 "net telephone" application.
 *
 * 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): ______________________________________.
 *                 Derek J Smithies (derek@indranet.co.nz)
 *
 * $Log: main.h,v $
 * Revision 1.97  2003/05/14 02:49:52  dereksmithies
 * Add videolose option, so X percentage of video packets are dropped when in --videotest mode
 *
 * Revision 1.96  2003/05/07 02:45:58  dereks
 * Alter ohphone to use the PSDLVideoOutputDevice class, which is now part of pwlib.
 *
 * Revision 1.95  2002/12/16 09:27:25  robertj
 * Added new video bit rate control, thanks Walter H. Whitlock
 *
 * Revision 1.94  2002/10/31 00:53:38  robertj
 * Enhanced jitter buffer system so operates dynamically between minimum and
 *   maximum values. Altered API to assure app writers note the change!
 *
 * Revision 1.93  2002/10/15 10:46:43  rogerh
 * Add tweak by Sahai to support operation behind a NAT that forwards ports.
 * This uses TranslateTCPAddress to change the address reported to connections
 * that occur from outside the 192.x.x.x subnet. Copied from OpenMCU.
 *
 * Revision 1.92  2002/08/07 00:46:42  dereks
 * Report statistics for video RTP packets. (No output if no video session)
 *
 * Revision 1.91  2002/08/05 01:33:34  robertj
 * Fixed incorrect override of the SetupTransfer() function that stopped the
 *   ability to do H.250 call transfer, thanks Vladimir Toncar
 *
 * Revision 1.90  2002/05/06 02:55:47  dereks
 * Fix operation of --autodisconnect n , so works when video enabled.
 *
 * Revision 1.89  2002/04/26 03:33:32  dereks
 * Major upgrade. All calls to SDL library are now done by one thread.
 *
 * Revision 1.88  2002/04/18 07:46:28  craigs
 * Added new functions to remove H245 in SETUP, and to allow removal of
 * user input indication capabilities
 *
 * Revision 1.87  2002/01/28 10:43:57  rogerh
 * Wrap some code with HAS_LIDDEVICE so it compiles on systems without
 * IxJ and VPBlaster
 *
 * Revision 1.86  2002/01/24 07:42:37  robertj
 * Added ability to turn off H.245 negotiations in SETUP option
 *
 * Revision 1.85  2002/01/15 05:50:07  craigs
 * Added support for VoIPBlaster
 *
 * Revision 1.84  2002/01/14 03:21:12  robertj
 * Added ability to set capture caolour format, thanks Walter Whitlock
 *
 * Revision 1.83  2002/01/04 04:17:52  dereks
 * Add code from Walter Whitlock to flip video, and improve the
 * --videotest mode, which displays local video (without a call).  Many thanks.
 *
 * Revision 1.82  2001/10/23 02:21:39  dereks
 * Initial release CU30 video codec.
 * Add --videotest option, to display raw video, but not invoke a call.
 *
 * Revision 1.81  2001/09/25 03:18:09  dereks
 * Add code from Tiziano Morganti to set bitrate for H261 video codec.
 * Use --videobitrate n         Thanks for your code - good work!!
 *
 * Revision 1.80  2001/05/09 04:59:02  robertj
 * Bug fixes in H.450.2, thanks Klein Stefan.
 *
 * Revision 1.79  2001/03/12 03:52:09  dereks
 * Tidy up fake video user interface. use --videodevice fake now.
 *
 * Revision 1.78  2001/03/07 01:47:45  dereks
 * Initial release of SDL (Simple DirectMedia Layer, a cross-platform multimedia library),
 * a video library code.
 *
 * Revision 1.77  2001/02/23 00:34:45  robertj
 * Added ability to add/display non-standard data in setup PDU.
 *
 * Revision 1.76  2001/01/24 05:41:53  robertj
 * Altered volume control range to be percentage, ie 100 is max volume.
 *
 * Revision 1.75  2001/01/05 15:30:31  rogerh
 * Move SendDTMF() outside HAS_IXJ section to match its location in main.cxx
 *
 * Revision 1.74  2000/12/19 22:35:53  dereks
 * Install revised video handling code, so that a video channel is used.
 * Code now better handles the situation where the video grabber could not be opened.
 *
 * Revision 1.73  2000/12/16 21:54:31  eokerson
 * Added DTMF generation when User Input Indication received.
 *
 * Revision 1.72  2000/10/13 01:47:59  dereks
 * Include command line option for setting the number of transmitted video
 * frames per second.   use --videotxfps n  (default n is 10)
 *
 * Revision 1.71  2000/09/27 03:06:13  dereks
 * Added lots of PTRACE statements to xlib code.
 * Removed X videoMutex from main.cxx & main.h
 * Removed some weird display issues from X code.
 *
 * Revision 1.70  2000/09/22 00:30:52  craigs
 * Enhanced autoDisconnect and autoRepeat functions
 *
 * Revision 1.69  2000/09/20 21:27:01  craigs
 * Fixed problem with default connection options
 *
 * Revision 1.68  2000/09/08 06:50:06  craigs
 * Added ability to set per-speed dial options
 * Fixed problem with transmit-only endpoints
 *
 * Revision 1.67  2000/08/30 01:52:53  craigs
 * New IXJ volume code with pseudo-log scaling
 *
 * Revision 1.66  2000/08/21 06:01:35  craigs
 * Added call lists and redial capabilities
 * Updated documentation
 *
 * Revision 1.65  2000/08/21 04:41:58  dereks
 * Add parameter to set a)transmitted video quality and b)number of unchanged
 * blocks that are sent with every frame.
 * Fix some problems introduced with --videopip option.
 *
 * Revision 1.64  2000/08/07 03:47:42  dereks
 * Add picture in picture option (only for  X window display), better handling
 * of X windows. Handles situation where user selects cross on a X window.
 *
 * Revision 1.63  2000/07/31 14:08:22  robertj
 * Added fast start and H.245 tunneling flags to the H323Connection constructor so can
 *    disabled these features in easier manner to overriding virtuals.
 *
 * Revision 1.62  2000/07/08 19:50:15  craigs
 * Added options to set ports used for listening and connecting
 *
 * Revision 1.61  2000/07/03 09:14:17  craigs
 * Seperated vide receive and transmit options
 *
 * Revision 1.60  2000/06/13 22:41:20  craigs
 * Added last called party dialling
 *
 * Revision 1.59  2000/06/07 05:50:22  robertj
 * Added call forwarding.
 *
 * Revision 1.58  2000/05/25 12:06:20  robertj
 * Added PConfigArgs class so can save program arguments to config files.
 *
 * Revision 1.57  2000/05/24 12:27:46  craigs
 * Added new code to changeing of sound driver on the fly
 *
 * Revision 1.56  2000/05/18 07:02:47  craigs
 * Adde extra mixer stuff
 *
 * Revision 1.55  2000/05/10 05:46:35  craigs
 * Another try at fixing the problem
 *
 * Revision 1.54  2000/05/10 02:12:31  craigs
 * Added ability to play a file when ringing handset
 *
 * Revision 1.53  2000/05/09 11:20:52  craigs
 * Fixed statistics display and help message
 * Started adding mixer code
 *
 * Revision 1.52  2000/05/02 04:32:25  robertj
 * Fixed copyright notice comment.
 *
 * Revision 1.51  2000/04/19 02:05:39  robertj
 * BeOS port changes.
 *
 * Revision 1.50  2000/04/05 16:28:27  craigs
 * Added caller ID functions
 *
 * Revision 1.49  2000/03/25 01:34:46  craigs
 * Changed name from voxilla to ohphone
 *
 * Revision 1.48  2000/03/20 20:21:32  craigs
 * Completely rewrote the state engine!
 *
 * Revision 1.47  2000/03/17 03:43:49  craigs
 * New state machine and extra features
 *
 * Revision 1.46  2000/02/25 13:39:51  craigs
 * Added ability to disable local video window via null video device
 *
 * Revision 1.45  2000/02/25 13:10:03  craigs
 * Added abioty to disable menu, and to dial after hangup
 *
 * Revision 1.44  2000/02/17 07:02:33  craigs
 * Moved declaration of HAS_IXJ, HAS_VPB and LINUX_TELEPHONY into common Makefile
 *
 * Revision 1.43  2000/02/17 05:31:21  craigs
 * Added H245 tunnelling disable
 *
 * Revision 1.42  2000/02/10 03:08:03  craigs
 * Added ability to specify NTSC or PAL video format
 *
 * Revision 1.41  2000/02/04 05:17:31  craigs
 * New changes for video transmission from Derek Smithies
 *
 * Revision 1.40  2000/01/05 08:32:04  craigs
 * Added DTMF to user indication message conversion
 *
 * Revision 1.39  2000/01/04 00:21:21  craigs
 * Added additional calling tones, and updated for new Opal classes
 *
 * Revision 1.38  1999/12/29 01:20:17  craigs
 * Added ring tones and the ability to create and list speed dials
 *
 * Revision 1.37  1999/12/23 23:02:36  robertj
 * File reorganision for separating RTP from H.323 and creation of LID for VPB support.
 *
 * Revision 1.36  1999/11/29 09:03:42  craigs
 * Added X11 video capability
 *
 * Revision 1.35  1999/11/23 05:15:46  craigs
 * Added dialtone and speed dialling
 *
 * Revision 1.34  1999/11/19 14:02:26  craigs
 * Added flag to disable silence detection on G.711 and GSM codecs
 *
 * Revision 1.33  1999/11/19 04:42:01  craigs
 * Fixed problem with user interface and added speed dials
 *
 * Revision 1.32  1999/11/10 23:30:49  robertj
 * Changed OnAnswerCall() call back function  to allow for asyncronous response.
 *
 * Revision 1.31  1999/11/07 04:44:27  robertj
 * Fixed Win32 compatibility issues.
 *
 * Revision 1.30  1999/11/07 03:43:06  craigs
 * Added ifdef around IXJ routines, and added "--interface" flag
 *
 * Revision 1.29  1999/11/05 08:54:42  robertj
 * Rewrite of ixj interface code to fix support for arbitrary codecs.
 *
 * Revision 1.28  1999/10/28 12:21:34  robertj
 * Added AEC support and speakerphone switching button.
 *
 * Revision 1.27  1999/10/27 06:33:49  robertj
 * Changes to use library platform independent Quicknet xJACK cards.
 *
 * Revision 1.26  1999/10/22 05:46:25  craigs
 * Fixed for changes to AudioChannel/VideoDevice attachment
 *
 * Revision 1.25  1999/10/10 14:09:26  robertj
 * Added auto-answer flag
 *
 * Revision 1.24  1999/10/09 01:17:06  craigs
 * Added codecs to OpenAudioChannel and OpenVideoDevice functions
 *
 * Revision 1.23  1999/09/23 07:25:12  robertj
 * Added open audio and video function to connection and started multi-frame codec send functionality.
 *
 * Revision 1.22  1999/09/21 08:39:01  craigs
 * Added complete support for QuickNet G.723.1
 * Added support for Linux video
 *
 * Revision 1.21  1999/09/08 05:16:51  robertj
 * Made H.261 "fake" codec selectable with command line option.
 *
 * Revision 1.20  1999/09/08 04:05:49  robertj
 * Added support for video capabilities & codec, still needs the actual codec itself!
 *
 * Revision 1.19  1999/08/31 12:34:19  robertj
 * Added gatekeeper support.
 *
 * Revision 1.18  1999/08/25 05:17:44  robertj
 * Simplified application structure (better for tutorial purposes)
 *
 * Revision 1.17  1999/07/26 07:06:12  craigs
 * Added support for QuickNet Cards
 *
 * Revision 1.16  1999/07/16 16:05:14  robertj
 * Added more run time options.
 *
 * Revision 1.15  1999/07/13 09:53:24  robertj
 * Fixed some problems with jitter buffer and added more debugging.
 *
 * Revision 1.14  1999/07/13 02:50:58  craigs
 * Changed semantics of SetPlayDevice/SetRecordDevice, only descendent
 *    endpoint assumes PSoundChannel devices for audio codec.
 *
 * Revision 1.13  1999/07/09 06:09:52  robertj
 * Major implementation. An ENORMOUS amount of stuff added everywhere.
 *
 * Revision 1.12  1999/06/25 16:21:02  robertj
 * Restructure of directories
 *
 * Revision 1.11  1999/06/22 13:42:31  robertj
 * Added user question on listener version to accept incoming calls.
 *
 * Revision 1.10  1999/06/09 05:26:19  robertj
 * Major restructuring of classes.
 *
 * Revision 1.9  1999/06/06 06:06:35  robertj
 * Changes for new ASN compiler and v2 protocol ASN files.
 *
 * Revision 1.8  1999/05/28 12:39:58  craigs
 * Added ability to select sound device at run time
 *
 * Revision 1.7  1999/05/22 12:51:58  craigs

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -