Changeset 2037 for pjproject/trunk/pjmedia/include/pjmedia/doxygen.h
- Timestamp:
- Jun 20, 2008 9:39:02 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/pjmedia/include/pjmedia/doxygen.h
r1450 r2037 25 25 */ 26 26 27 /**28 * @defgroup PJMEDIA PJMEDIA Library29 */30 27 31 28 /*////////////////////////////////////////////////////////////////////////// */ … … 43 40 * terms, and featuring small footprint and good extensibility and portability. 44 41 * 45 * Please click the <A HREF="modules.htm"><b> Modules</b></A> link on top42 * Please click the <A HREF="modules.htm"><b>Table of Contents</b></A> link on top 46 43 * of this page to get the complete features currently present in PJMEDIA. 47 44 * 48 * Also please read the documentation about @ref PJMEDIA_PORT _CONCEPT,45 * Also please read the documentation about @ref PJMEDIA_PORT 49 46 * which is a major concept that is used for implementing many objects in 50 47 * the library. … … 80 77 */ 81 78 82 /**83 * @page pjmed_keywords_page Features Index84 * @section pjmed_keywords Features Index85 *86 * <b>PJMEDIA features</b>, in no particular order (click to go to the relevant87 * documentation):88 * @ref lic_stuffs "Open Source media stack",89 * @ref PJMEDIA_CLOCK,90 * @ref PJMEDIA_CODEC,91 * @ref enc_dec_codec,92 * @ref plc_codec,93 * @ref PJMEDIA_CONF,94 * @ref PJMED_G711 "G711/G.711 (PCMA/PCMU) codec",95 * @ref PJMED_GSM "GSM codec",96 * @ref PJMED_L16 "linear codecs (multiple clockrate, stereo support, etc)",97 * @ref PJMED_SPEEX "Speex codec (narrowband, wideband, ultra-wideband)",98 * @ref PJMED_JBUF "portable, adaptive jitter buffer with PLC support",99 * @ref PJMEDIA_MASTER_PORT,100 * @ref PJMEDIA_NULL_PORT,101 * @ref PJMED_PLC,102 * @ref PJMEDIA_PORT_CONCEPT,103 * @ref PJMEDIA_PORT_CLOCK,104 * @ref PJMEDIA_RESAMPLE "high quality resampling/sampling rate conversion",105 * @ref PJMEDIA_RESAMPLE_PORT,106 * @ref PJMED_RTCP "small footprint, portable RTCP with media quality statistics",107 * @ref PJMED_RTP "very small footprint, modular, DSP ready RTP implementation",108 * @ref PJMEDIA_SDP "modular, small footprint, open source SDP implementation",109 * @ref PJMEDIA_SDP_NEG "modular SDP negotiation/negotiator abstraction",110 * @ref PJMED_SES "media session abstraction",111 * @ref PJMEDIA_SILENCEDET,112 * @ref PJMED_SND "portable audio/sound hardware/device abstraction for Linux, Unix, Windows, DirectSound, WinCE, Windows Mobile, MacOS X, etc.",113 * @ref PJMED_SND_PORT,114 * @ref PJMEDIA_SPLITCOMB,115 * @ref PJMED_STRM "remote stream",116 * @ref PJMEDIA_TRANSPORT_H "custom media transport abstraction",117 * @ref PJMEDIA_TRANSPORT_UDP,118 * @ref PJMEDIA_FILE_PLAY "WAV/WAVE file playback",119 * @ref PJMEDIA_FILE_REC "WAV/WAVE file recording/capture",120 * @ref PJMEDIA_WAVE "portable WAV/WAVE header manipulation"121 */122 123 124 /**125 * @page pjmedia_codec_page Using PJMEDIA-CODEC126 *127 * Before application can use a codec, it needs to initialize and register128 * the codec to the codec manager. This is accomplished with using129 * constructs like the following:130 *131 \code132 #include <pjmedia.h>133 #include <pjmedia-codec.h>134 135 init_codecs( pjmedia_endpt *med_ept )136 {137 // Register G.711 codecs138 pjmedia_codec_g711_init(med_ept);139 140 // Register GSM codec.141 pjmedia_codec_gsm_init(med_ept);142 143 // Register Speex codecs.144 // With the default flag, this will register three codecs:145 // speex/8000, speex/16000, and speex/32000146 pjmedia_codec_speex_init(med_ept, 0, 0, 0);147 }148 \endcode149 *150 * After the codec is registered, application may create the encoder/decoder151 * instance, by using the API as documented in @ref PJMEDIA_CODEC.152 */153 154 155 156 /**157 * @page lic_stuffs Copying and Acknowledgements158 * @section lic_stuff Copying and Acknowledgements159 * @subsection pjmedia_about_subsec About PJMEDIA160 *161 * PJMEDIA is distributed under GPL terms (other licensing schemes may be162 * arranged):163 \verbatim164 Copyright (C) 2003-2007 Benny Prijono <benny@prijono.org>165 166 This program is free software; you can redistribute it and/or modify167 it under the terms of the GNU General Public License as published by168 the Free Software Foundation; either version 2 of the License, or169 (at your option) any later version.170 171 This program is distributed in the hope that it will be useful,172 but WITHOUT ANY WARRANTY; without even the implied warranty of173 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the174 GNU General Public License for more details.175 176 You should have received a copy of the GNU General Public License177 along with this program; if not, write to the Free Software178 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA179 \endverbatim180 *181 *182 * @section other_acks Acknowlegments183 * @subsection portaudio_subsec PortAudio184 *185 * PortAudio is supported as one of the sound device backend, and186 * is used by default on Linux/Unix and MacOS X target.187 *188 * Please visit <A HREF="http://www.portaudio.com">http://www.portaudio.com</A>189 * for more info.190 *191 * PortAudio is distributed with the following condition.192 \verbatim193 Based on the Open Source API proposed by Ross Bencina194 Copyright (c) 1999-2000 Phil Burk195 196 Permission is hereby granted, free of charge, to any person obtaining197 a copy of this software and associated documentation files198 (the "Software"), to deal in the Software without restriction,199 including without limitation the rights to use, copy, modify, merge,200 publish, distribute, sublicense, and/or sell copies of the Software,201 and to permit persons to whom the Software is furnished to do so,202 subject to the following conditions:203 204 The above copyright notice and this permission notice shall be205 included in all copies or substantial portions of the Software.206 \endverbatim207 *208 *209 * @subsection resample_ack Resample210 *211 * PJMEDIA uses <tt>resample-1.8.tar.gz</tt> from212 * <A HREF="http://www-ccrma.stanford.edu/~jos/resample/">213 * Digital Audio Resampling Home Page</A>. This library is distibuted214 * on LGPL terms.215 *216 * Some excerpts from the original source codes:217 \verbatim218 HISTORY219 220 The first version of this software was written by Julius O. Smith III221 <jos@ccrma.stanford.edu> at CCRMA <http://www-ccrma.stanford.edu> in222 1981. It was called SRCONV and was written in SAIL for PDP-10223 compatible machines. The algorithm was first published in224 225 Smith, Julius O. and Phil Gossett. ``A Flexible Sampling-Rate226 Conversion Method,'' Proceedings (2): 19.4.1-19.4.4, IEEE Conference227 on Acoustics, Speech, and Signal Processing, San Diego, March 1984.228 229 An expanded tutorial based on this paper is available at the Digital230 Audio Resampling Home Page given above.231 232 Circa 1988, the SRCONV program was translated from SAIL to C by233 Christopher Lee Fraley working with Roger Dannenberg at CMU.234 235 Since then, the C version has been maintained by jos.236 237 Sndlib support was added 6/99 by John Gibson <jgg9c@virginia.edu>.238 239 The resample program is free software distributed in accordance240 with the Lesser GNU Public License (LGPL). There is NO warranty; not241 even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.242 \endverbatim243 *244 * @subsection jb_ack Adaptive Jitter Buffer245 *246 * The PJMEDIA jitter buffer is based on implementation kindly donated247 * by <A HREF="http://www.switchlab.com">Switchlab, Ltd.</A>, and is248 * distributed under PJMEDIA licensing terms.249 *250 *251 * @subsection silence_det_ack Adaptive Silence Detector252 *253 * The adaptive silence detector was based on silence detector254 * implementation in <A HREF="http://www.openh323.org">Open H323</A>255 * project. I couldn't find the source code anymore, but generally256 * Open H323 files are distributed under MPL terms and has the257 * following excerpts:258 \verbatim259 Open H323 Library260 261 Copyright (c) 1998-2000 Equivalence Pty. Ltd.262 263 The contents of this file are subject to the Mozilla Public License264 Version 1.0 (the "License"); you may not use this file except in265 compliance with the License. You may obtain a copy of the License at266 http://www.mozilla.org/MPL/267 268 Software distributed under the License is distributed on an "AS IS"269 basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See270 the License for the specific language governing rights and limitations271 under the License.272 273 The Original Code is Open H323 Library.274 275 The Initial Developer of the Original Code is Equivalence Pty. Ltd.276 277 Portions of this code were written with the assisance of funding from278 Vovida Networks, Inc. http://www.vovida.com.279 \endverbatim280 281 * @subsection gsm_ack GSM Codec282 *283 * PJMEDIA uses GSM284 * <A HREF="http://kbs.cs.tu-berlin.de/~jutta/toast.html">GSM 06.10</A>285 * version 1.0 at patchlevel 12. It has the following Copyright notice:286 *287 \verbatim288 Copyright 1992, 1993, 1994 by Jutta Degener and Carsten Bormann,289 Technische Universitaet Berlin290 291 Any use of this software is permitted provided that this notice is not292 removed and that neither the authors nor the Technische Universitaet Berlin293 are deemed to have made any representations as to the suitability of this294 software for any purpose nor are held responsible for any defects of295 this software. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.296 297 As a matter of courtesy, the authors request to be informed about uses298 this software has found, about bugs in this software, and about any299 improvements that may be of general interest.300 301 Berlin, 28.11.1994302 Jutta Degener303 Carsten Bormann304 \endverbatim305 *306 *307 * @subsection speex_codec_ack Speex Codec308 *309 * PJMEDIA uses Speex codec uses version 1.1.12 from <A HREF="http://www.speex.org">310 * www.speex.org</A>. The Speex library comes with the following Copying311 * notice:312 \verbatim313 Copyright 2002-2005314 Xiph.org Foundation315 Jean-Marc Valin316 David Rowe317 EpicGames318 Analog Devices319 320 Redistribution and use in source and binary forms, with or without321 modification, are permitted provided that the following conditions322 are met:323 324 - Redistributions of source code must retain the above copyright325 notice, this list of conditions and the following disclaimer.326 327 - Redistributions in binary form must reproduce the above copyright328 notice, this list of conditions and the following disclaimer in the329 documentation and/or other materials provided with the distribution.330 331 - Neither the name of the Xiph.org Foundation nor the names of its332 contributors may be used to endorse or promote products derived from333 this software without specific prior written permission.334 335 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS336 ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT337 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR338 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR339 CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,340 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,341 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR342 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF343 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING344 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS345 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.346 \endverbatim347 *348 *349 * @subsection g711_codec_ack G.711 Codec350 *351 * The G.711 codec algorithm came from Sun Microsystems, Inc, and it's352 * got the following excerpts:353 *354 \verbatim355 This source code is a product of Sun Microsystems, Inc. and is provided356 for unrestricted use. Users may copy or modify this source code without357 charge.358 359 SUN SOURCE CODE IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING360 THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR361 PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.362 363 Sun source code is provided with no support and without any obligation on364 the part of Sun Microsystems, Inc. to assist in its use, correction,365 modification or enhancement.366 367 SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE368 INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY THIS SOFTWARE369 OR ANY PART THEREOF.370 371 In no event will Sun Microsystems, Inc. be liable for any lost revenue372 or profits or other special, indirect and consequential damages, even if373 Sun has been advised of the possibility of such damages.374 375 Sun Microsystems, Inc.376 2550 Garcia Avenue377 Mountain View, California 94043378 \endverbatim379 *380 */381 382 383 /**384 @page getting_started_pjmedia Getting Started with PJMEDIA385 386 @section getstart_init_setup_build Setting-up the Build System387 388 @subsection subsec_build_pjmedia Building PJMEDIA and PJMEDIA-CODEC389 390 The PJMEDIA and PJMEDIA-CODEC libraries are normally bundled in PJPROJECT391 source tarball, and they are located in <tt><b>pjmedia</b></tt> sub-directory392 tree.393 394 Please follow the instructions in <tt><b>INSTALL.txt</b></tt> in the root395 PJPROJECT directory to build all projects, including PJMEDIA and PJMEDIA-CODEC.396 397 @subsection subsec_config_build Setting Up the Build Environment398 399 In your project, you will need to configure the following.400 - Add <tt><b>$pjproject/pjmedia/include</b></tt> in the search path for401 include files.402 - Add <tt><b>$pjproject/pjmedia/lib</b></tt> in the search path for403 library files.404 - Add PJMEDIA and PJMEDIA static libraries in the link command.405 406 @subsection subsec_inc_pjmedia Include PJMEDIA and PJMEDIA-CODEC in Source Files407 408 To include all features from PJMEDIA and PJMEDIA-CODEC, use the following:409 410 \code411 #include <pjlib.h>412 #include <pjmedia.h>413 #include <pjmedia-codec.h>414 \endcode415 416 Alternatively, you may include only specific parts of the library (for example417 to speed up compilation by just a fraction), for example:418 419 \code420 #include <pjmedia/conference.h>421 #include <pjmedia/jbuf.h>422 #include <pjmedia-codec/speex.h>423 \endcode424 425 Note that you need to give <b>"pjmedia/"</b> and <b>"pjmedia-codec/"</b>426 prefix to include specific files.427 428 429 @section getstart_using Using PJMEDIA430 431 I wish I could explain more, but for now, please have a look at the432 @ref page_pjmedia_samples page on some examples.433 */434 79 435 80 /** … … 442 87 443 88 - @ref page_pjmedia_samples_level_c\n 444 This is a good place to start learning about @ref PJMEDIA_PORT _CONCEPT,445 as it shows that @ref PJMEDIA_PORT _CONCEPTare only "passive" objects89 This is a good place to start learning about @ref PJMEDIA_PORT, 90 as it shows that @ref PJMEDIA_PORT are only "passive" objects 446 91 with <tt>get_frame()</tt> and <tt>put_frame()</tt> interface, and 447 92 someone has to call these to retrieve/store media frames. … … 456 101 457 102 - @ref page_pjmedia_samples_playsine_c\n 458 Demonstrates how to create a custom @ref PJMEDIA_PORT _CONCEPT(in this103 Demonstrates how to create a custom @ref PJMEDIA_PORT (in this 459 104 case a sine wave generator) and integrate it to PJMEDIA. 460 105
Note: See TracChangeset
for help on using the changeset viewer.