diff options
Diffstat (limited to 'pjmedia/include/pjmedia/doxygen.h')
-rw-r--r-- | pjmedia/include/pjmedia/doxygen.h | 365 |
1 files changed, 5 insertions, 360 deletions
diff --git a/pjmedia/include/pjmedia/doxygen.h b/pjmedia/include/pjmedia/doxygen.h index 8d93175c..5921871b 100644 --- a/pjmedia/include/pjmedia/doxygen.h +++ b/pjmedia/include/pjmedia/doxygen.h @@ -24,9 +24,6 @@ * @brief Doxygen's mainpage. */ -/** - * @defgroup PJMEDIA PJMEDIA Library - */ /*////////////////////////////////////////////////////////////////////////// */ /* @@ -42,10 +39,10 @@ * PJMEDIA is a rather complete media stack, distributed under Open Source/GPL * terms, and featuring small footprint and good extensibility and portability. * - * Please click the <A HREF="modules.htm"><b>Modules</b></A> link on top + * Please click the <A HREF="modules.htm"><b>Table of Contents</b></A> link on top * of this page to get the complete features currently present in PJMEDIA. * - * Also please read the documentation about @ref PJMEDIA_PORT_CONCEPT, + * Also please read the documentation about @ref PJMEDIA_PORT * which is a major concept that is used for implementing many objects in * the library. * @@ -79,358 +76,6 @@ * */ -/** - * @page pjmed_keywords_page Features Index - * @section pjmed_keywords Features Index - * - * <b>PJMEDIA features</b>, in no particular order (click to go to the relevant - * documentation): - * @ref lic_stuffs "Open Source media stack", - * @ref PJMEDIA_CLOCK, - * @ref PJMEDIA_CODEC, - * @ref enc_dec_codec, - * @ref plc_codec, - * @ref PJMEDIA_CONF, - * @ref PJMED_G711 "G711/G.711 (PCMA/PCMU) codec", - * @ref PJMED_GSM "GSM codec", - * @ref PJMED_L16 "linear codecs (multiple clockrate, stereo support, etc)", - * @ref PJMED_SPEEX "Speex codec (narrowband, wideband, ultra-wideband)", - * @ref PJMED_JBUF "portable, adaptive jitter buffer with PLC support", - * @ref PJMEDIA_MASTER_PORT, - * @ref PJMEDIA_NULL_PORT, - * @ref PJMED_PLC, - * @ref PJMEDIA_PORT_CONCEPT, - * @ref PJMEDIA_PORT_CLOCK, - * @ref PJMEDIA_RESAMPLE "high quality resampling/sampling rate conversion", - * @ref PJMEDIA_RESAMPLE_PORT, - * @ref PJMED_RTCP "small footprint, portable RTCP with media quality statistics", - * @ref PJMED_RTP "very small footprint, modular, DSP ready RTP implementation", - * @ref PJMEDIA_SDP "modular, small footprint, open source SDP implementation", - * @ref PJMEDIA_SDP_NEG "modular SDP negotiation/negotiator abstraction", - * @ref PJMED_SES "media session abstraction", - * @ref PJMEDIA_SILENCEDET, - * @ref PJMED_SND "portable audio/sound hardware/device abstraction for Linux, Unix, Windows, DirectSound, WinCE, Windows Mobile, MacOS X, etc.", - * @ref PJMED_SND_PORT, - * @ref PJMEDIA_SPLITCOMB, - * @ref PJMED_STRM "remote stream", - * @ref PJMEDIA_TRANSPORT_H "custom media transport abstraction", - * @ref PJMEDIA_TRANSPORT_UDP, - * @ref PJMEDIA_FILE_PLAY "WAV/WAVE file playback", - * @ref PJMEDIA_FILE_REC "WAV/WAVE file recording/capture", - * @ref PJMEDIA_WAVE "portable WAV/WAVE header manipulation" - */ - - -/** - * @page pjmedia_codec_page Using PJMEDIA-CODEC - * - * Before application can use a codec, it needs to initialize and register - * the codec to the codec manager. This is accomplished with using - * constructs like the following: - * - \code - #include <pjmedia.h> - #include <pjmedia-codec.h> - - init_codecs( pjmedia_endpt *med_ept ) - { - // Register G.711 codecs - pjmedia_codec_g711_init(med_ept); - - // Register GSM codec. - pjmedia_codec_gsm_init(med_ept); - - // Register Speex codecs. - // With the default flag, this will register three codecs: - // speex/8000, speex/16000, and speex/32000 - pjmedia_codec_speex_init(med_ept, 0, 0, 0); - } - \endcode - * - * After the codec is registered, application may create the encoder/decoder - * instance, by using the API as documented in @ref PJMEDIA_CODEC. - */ - - - -/** - * @page lic_stuffs Copying and Acknowledgements - * @section lic_stuff Copying and Acknowledgements - * @subsection pjmedia_about_subsec About PJMEDIA - * - * PJMEDIA is distributed under GPL terms (other licensing schemes may be - * arranged): - \verbatim - Copyright (C) 2003-2007 Benny Prijono <benny@prijono.org> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - \endverbatim - * - * - * @section other_acks Acknowlegments - * @subsection portaudio_subsec PortAudio - * - * PortAudio is supported as one of the sound device backend, and - * is used by default on Linux/Unix and MacOS X target. - * - * Please visit <A HREF="http://www.portaudio.com">http://www.portaudio.com</A> - * for more info. - * - * PortAudio is distributed with the following condition. - \verbatim - Based on the Open Source API proposed by Ross Bencina - Copyright (c) 1999-2000 Phil Burk - - 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. - \endverbatim - * - * - * @subsection resample_ack Resample - * - * PJMEDIA uses <tt>resample-1.8.tar.gz</tt> from - * <A HREF="http://www-ccrma.stanford.edu/~jos/resample/"> - * Digital Audio Resampling Home Page</A>. This library is distibuted - * on LGPL terms. - * - * Some excerpts from the original source codes: - \verbatim - HISTORY - - The first version of this software was written by Julius O. Smith III - <jos@ccrma.stanford.edu> at CCRMA <http://www-ccrma.stanford.edu> in - 1981. It was called SRCONV and was written in SAIL for PDP-10 - compatible machines. The algorithm was first published in - - Smith, Julius O. and Phil Gossett. ``A Flexible Sampling-Rate - Conversion Method,'' Proceedings (2): 19.4.1-19.4.4, IEEE Conference - on Acoustics, Speech, and Signal Processing, San Diego, March 1984. - - An expanded tutorial based on this paper is available at the Digital - Audio Resampling Home Page given above. - - Circa 1988, the SRCONV program was translated from SAIL to C by - Christopher Lee Fraley working with Roger Dannenberg at CMU. - - Since then, the C version has been maintained by jos. - - Sndlib support was added 6/99 by John Gibson <jgg9c@virginia.edu>. - - The resample program is free software distributed in accordance - with the Lesser GNU Public License (LGPL). There is NO warranty; not - even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - \endverbatim - * - * @subsection jb_ack Adaptive Jitter Buffer - * - * The PJMEDIA jitter buffer is based on implementation kindly donated - * by <A HREF="http://www.switchlab.com">Switchlab, Ltd.</A>, and is - * distributed under PJMEDIA licensing terms. - * - * - * @subsection silence_det_ack Adaptive Silence Detector - * - * The adaptive silence detector was based on silence detector - * implementation in <A HREF="http://www.openh323.org">Open H323</A> - * project. I couldn't find the source code anymore, but generally - * Open H323 files are distributed under MPL terms and has the - * following excerpts: - \verbatim - 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. - \endverbatim - - * @subsection gsm_ack GSM Codec - * - * PJMEDIA uses GSM - * <A HREF="http://kbs.cs.tu-berlin.de/~jutta/toast.html">GSM 06.10</A> - * version 1.0 at patchlevel 12. It has the following Copyright notice: - * - \verbatim - Copyright 1992, 1993, 1994 by Jutta Degener and Carsten Bormann, - Technische Universitaet Berlin - - Any use of this software is permitted provided that this notice is not - removed and that neither the authors nor the Technische Universitaet Berlin - are deemed to have made any representations as to the suitability of this - software for any purpose nor are held responsible for any defects of - this software. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE. - - As a matter of courtesy, the authors request to be informed about uses - this software has found, about bugs in this software, and about any - improvements that may be of general interest. - - Berlin, 28.11.1994 - Jutta Degener - Carsten Bormann - \endverbatim - * - * - * @subsection speex_codec_ack Speex Codec - * - * PJMEDIA uses Speex codec uses version 1.1.12 from <A HREF="http://www.speex.org"> - * www.speex.org</A>. The Speex library comes with the following Copying - * notice: - \verbatim - Copyright 2002-2005 - Xiph.org Foundation - Jean-Marc Valin - David Rowe - EpicGames - Analog Devices - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - - Neither the name of the Xiph.org Foundation nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - \endverbatim - * - * - * @subsection g711_codec_ack G.711 Codec - * - * The G.711 codec algorithm came from Sun Microsystems, Inc, and it's - * got the following excerpts: - * - \verbatim - This source code is a product of Sun Microsystems, Inc. and is provided - for unrestricted use. Users may copy or modify this source code without - charge. - - SUN SOURCE CODE IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING - THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - - Sun source code is provided with no support and without any obligation on - the part of Sun Microsystems, Inc. to assist in its use, correction, - modification or enhancement. - - SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY THIS SOFTWARE - OR ANY PART THEREOF. - - In no event will Sun Microsystems, Inc. be liable for any lost revenue - or profits or other special, indirect and consequential damages, even if - Sun has been advised of the possibility of such damages. - - Sun Microsystems, Inc. - 2550 Garcia Avenue - Mountain View, California 94043 - \endverbatim - * - */ - - -/** - @page getting_started_pjmedia Getting Started with PJMEDIA - - @section getstart_init_setup_build Setting-up the Build System - - @subsection subsec_build_pjmedia Building PJMEDIA and PJMEDIA-CODEC - - The PJMEDIA and PJMEDIA-CODEC libraries are normally bundled in PJPROJECT - source tarball, and they are located in <tt><b>pjmedia</b></tt> sub-directory - tree. - - Please follow the instructions in <tt><b>INSTALL.txt</b></tt> in the root - PJPROJECT directory to build all projects, including PJMEDIA and PJMEDIA-CODEC. - - @subsection subsec_config_build Setting Up the Build Environment - - In your project, you will need to configure the following. - - Add <tt><b>$pjproject/pjmedia/include</b></tt> in the search path for - include files. - - Add <tt><b>$pjproject/pjmedia/lib</b></tt> in the search path for - library files. - - Add PJMEDIA and PJMEDIA static libraries in the link command. - - @subsection subsec_inc_pjmedia Include PJMEDIA and PJMEDIA-CODEC in Source Files - - To include all features from PJMEDIA and PJMEDIA-CODEC, use the following: - - \code - #include <pjlib.h> - #include <pjmedia.h> - #include <pjmedia-codec.h> - \endcode - - Alternatively, you may include only specific parts of the library (for example - to speed up compilation by just a fraction), for example: - - \code - #include <pjmedia/conference.h> - #include <pjmedia/jbuf.h> - #include <pjmedia-codec/speex.h> - \endcode - - Note that you need to give <b>"pjmedia/"</b> and <b>"pjmedia-codec/"</b> - prefix to include specific files. - - - @section getstart_using Using PJMEDIA - - I wish I could explain more, but for now, please have a look at the - @ref page_pjmedia_samples page on some examples. - */ /** @page page_pjmedia_samples PJMEDIA and PJMEDIA-CODEC Examples @@ -441,8 +86,8 @@ some more info: - @ref page_pjmedia_samples_level_c\n - This is a good place to start learning about @ref PJMEDIA_PORT_CONCEPT, - as it shows that @ref PJMEDIA_PORT_CONCEPT are only "passive" objects + This is a good place to start learning about @ref PJMEDIA_PORT, + as it shows that @ref PJMEDIA_PORT are only "passive" objects with <tt>get_frame()</tt> and <tt>put_frame()</tt> interface, and someone has to call these to retrieve/store media frames. @@ -455,7 +100,7 @@ Demonstrates how to capture audio from microphone to WAV file. - @ref page_pjmedia_samples_playsine_c\n - Demonstrates how to create a custom @ref PJMEDIA_PORT_CONCEPT (in this + Demonstrates how to create a custom @ref PJMEDIA_PORT (in this case a sine wave generator) and integrate it to PJMEDIA. - @ref page_pjmedia_samples_confsample_c\n |