Ignore:
Timestamp:
Sep 30, 2010 4:23:27 AM (14 years ago)
Author:
bennylp
Message:

Re #1134 (misc fixes): fixed various doxygen warnings, as well as added overview section in pjmedia documentation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjmedia/include/pjmedia/doxygen.h

    r2394 r3327  
    3333 
    3434/** 
    35  * @mainpage PJMEDIA and PJMEDIA-CODEC 
     35 * @mainpage PJMEDIA 
    3636 * 
    3737 * \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 
     66Category        Component       text    data    bss     dec     filename 
     67------------------------------------------------------------------------------- 
     68Core            Error subsystem 135     0       0       135     errno.o 
     69Core            Endpoint        4210    4       4       4218    endpoint.o 
     70Core            Port framework  652     0       0       652     port.o 
     71Core            Codec framework 6257    0       0       6257    codec.o 
     72Codec           Alaw/ulaw conv. 1060    16      0       1076    alaw_ulaw.o 
     73Codec           G.711           3298    128     96      3522    g711.o 
     74Codec           PLC             883     24      0       907     plc_common.o 
     75Codec           PLC             7130    0       0       7130    wsola.o 
     76Session         Stream          12222   0       1920    14142   stream.o 
     77Transport       RTCP            3732    0       0       3732    rtcp.o 
     78Transport       RTP             2568    0       0       2568    rtp.o 
     79Transport       UDP             6612    96      0       6708    transport_udp.o 
     80Transport       Jitter buffer   6473    0       0       6473    jbuf.o 
     81------------------------------------------------------------------------------- 
     82TOTAL                          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. 
    49117 * 
    50118 * \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 
    53130 * PJMEDIA-CODEC is a static library containing various codec implementations, 
    54131 * wrapped into PJMEDIA codec framework. The static library is designed as 
     
    56133 * the application, therefore keeping the application size in control. 
    57134 * 
    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. 
    60140 * 
    61141 * \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 
    78148 */ 
    79149 
Note: See TracChangeset for help on using the changeset viewer.