Changeset 3327 for pjproject/trunk/pjmedia/include/pjmedia/doxygen.h
- Timestamp:
- Sep 30, 2010 4:23:27 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/pjmedia/include/pjmedia/doxygen.h
r2394 r3327 33 33 34 34 /** 35 * @mainpage PJMEDIA and PJMEDIA-CODEC35 * @mainpage PJMEDIA 36 36 * 37 37 * \n 38 * @section intro_sec PJMEDIA 39 * 40 * PJMEDIA is a rather complete media stack, distributed under Open Source/GPL 41 * terms, and featuring small footprint and good extensibility and portability. 42 * 43 * Please click the <A HREF="modules.htm"><b>Table of Contents</b></A> link on top 44 * of this page to get the complete features currently present in PJMEDIA. 45 * 46 * Also please read the documentation about @ref PJMEDIA_PORT 47 * which is a major concept that is used for implementing many objects in 48 * the library. 38 * @section intro2 Introduction to PJMEDIA 39 * 40 * PJMEDIA is a fully featured media stack, distributed under Open Source/GPL 41 * terms, and featuring small footprint and good extensibility and excellent 42 * portability. Here are some brief overview of PJMEDIA benefits. 43 * 44 * @subsection benefit Benefits 45 * @subsubsection full_feature Many Features 46 * PJMEDIA has many features, and rather than to list them all here, please 47 * see the <A HREF="modules.htm"><b>Modules</b></A> page for more info. 48 * 49 * Video is planned to arrive at version 2. 50 * 51 * @subsubsection portable Excellent Portability 52 * It's been ported to all desktop systems and many mobile platforms including 53 * Symbian, Windows Mobile, iPhone, and Android. Thanks to its zero thread 54 * design, users have been able to run PJMEDIA on deeply embedded platforms, 55 * even without operating systems (those typically found in DSP platforms). 56 * Except the echo suppressor, all other PJMEDIA components have fixed point 57 * implementation, which makes it ideal for embedded systems which lack FPU. 58 * PJMEDIA also has tiny footprint, as explained below 59 * 60 * @subsubsection footprint Tiny Footprint 61 * Lets not talk about less meaningful and potentially misleading term such as 62 * core footprint, and instead here is the footprint of all components 63 * typically used to build a full streaming media: 64 * 65 * \verbatim 66 Category Component text data bss dec filename 67 ------------------------------------------------------------------------------- 68 Core Error subsystem 135 0 0 135 errno.o 69 Core Endpoint 4210 4 4 4218 endpoint.o 70 Core Port framework 652 0 0 652 port.o 71 Core Codec framework 6257 0 0 6257 codec.o 72 Codec Alaw/ulaw conv. 1060 16 0 1076 alaw_ulaw.o 73 Codec G.711 3298 128 96 3522 g711.o 74 Codec PLC 883 24 0 907 plc_common.o 75 Codec PLC 7130 0 0 7130 wsola.o 76 Session Stream 12222 0 1920 14142 stream.o 77 Transport RTCP 3732 0 0 3732 rtcp.o 78 Transport RTP 2568 0 0 2568 rtp.o 79 Transport UDP 6612 96 0 6708 transport_udp.o 80 Transport Jitter buffer 6473 0 0 6473 jbuf.o 81 ------------------------------------------------------------------------------- 82 TOTAL 55,232 268 2,020 57,520 83 84 \endverbatim 85 * The 56KB are for media streaming components, complete with codec, RTP, and 86 * RTCP. The footprint above was done for PJSIP version 1.8.2 on a Linux x86 87 * machine, using footprintopimization as explained in PJSIP FAQ. Numbers are 88 * in bytes. 89 * 90 * @subsubsection quality Good Quality 91 * PJMEDIA supports wideband, ultra-wideband, and beyond, as well as multiple 92 * audio channels. The jitter buffer has been proven to work on lower 93 * bandwidth links such as 3G, and to some extent, Edge and GPRS. We've grown 94 * our own algorithm to compensate for packet losses and clock drifts in audio 95 * transmission, as well as feature to use codec's built in PLC if available. 96 * 97 * @subsubsection hw Hardware Support 98 * PJMEDIA supports hardware, firmware, or other built-in feature that comes 99 * with the device. These are crucial for mobile devices to allow the best 100 * use of the very limited CPU and battery power of the device. Among other 101 * things, device's on-board codec and echo cancellation may be used if 102 * available. 103 * 104 * @subsubsection extensible Extensible 105 * Despite its tiny footprint, PJMEDIA uses a flexible port concept, which is 106 * adapted from filter based concept found in other media framework. It is not 107 * as flexible as those found in Direct Show or gstreamer (and that would be 108 * unnecessary since it serves different purpose), but it's flexible enough 109 * to allow components to be assembled one after another to achieve certain 110 * task, and easy creation of such components by application and interconnect 111 * them to the rest of the framework. 112 * 113 * @subsubsection doc (Fairly Okay) Documentation 114 * We understand that any documentation can always be improved, but we put 115 * a lot of efforts in creating and maintaining our documentation, because 116 * we know it matters. 49 117 * 50 118 * \n 51 * @section pjmedia_codec_sec PJMEDIA-CODEC 52 * 119 * @subsection org1 Organization 120 * 121 * At the top-most level, PJMEDIA library suite contains the following 122 * libraries. 123 * 124 * @subsubsection libpjmedia PJMEDIA 125 * This contains all main media components. Please see the 126 * <A HREF="modules.htm"><b>Modules</b></A> page for complete list of 127 * components that PJMEDIA provides. 128 * 129 * @subsubsection libpjmediacodec PJMEDIA Codec 53 130 * PJMEDIA-CODEC is a static library containing various codec implementations, 54 131 * wrapped into PJMEDIA codec framework. The static library is designed as … … 56 133 * the application, therefore keeping the application size in control. 57 134 * 58 * Please see @ref pjmedia_codec_page on how to use the codec in 59 * PJMEDIA-CODEC. 135 * Please see @ref PJMEDIA_CODEC for more info. 136 * 137 * @subsubsection libpjmediaaudiodev PJMEDIA Audio Device 138 * PJMEDIA-Audiodev is audio device framework and abstraction library. Please 139 * see @ref audio_device_api for more info. 60 140 * 61 141 * \n 62 * @section main_page_get_start_sec Getting Started 63 * 64 * For those who likes to just get start coding, the @ref getting_started_pjmedia 65 * may be a good place to start. 66 * 67 * The @ref page_pjmedia_samples page describes some examples that are available 68 * in the source tree. 69 * 70 * 71 * \n 72 * @section pjmedia_lic Copying and Acknowledgements 73 * 74 * PJMEDIA and PJMEDIA-CODEC contains various parts obtained from other 75 * places, and each of these would have their own licensing terms. 76 * Please see @ref lic_stuffs page for details. 77 * 142 * @section pjmedia_concepts PJMEDIA Key Concepts 143 * Below are some key concepts in PJMEDIA: 144 * - @ref PJMEDIA_PORT 145 * - @ref PJMEDIA_PORT_CLOCK 146 * - @ref PJMEDIA_TRANSPORT 147 * - @ref PJMEDIA_SESSION 78 148 */ 79 149
Note: See TracChangeset
for help on using the changeset viewer.