Changeset 3327 for pjproject


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

Location:
pjproject/trunk
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjlib/include/pj/config_site_sample.h

    r3279 r3327  
    374374 */ 
    375375#   define PJ_IOQUEUE_MAX_HANDLES       32 
     376#   define PJ_CRC32_HAS_TABLES          0 
    376377#   define PJSIP_MAX_TSX_COUNT          15 
    377378#   define PJSIP_MAX_DIALOG_COUNT       15 
    378379#   define PJSIP_UDP_SO_SNDBUF_SIZE     4000 
    379380#   define PJSIP_UDP_SO_RCVBUF_SIZE     4000 
    380 #   define PJMEDIA_HAS_LARGE_FILTER     0 
    381 #   define PJMEDIA_HAS_SMALL_FILTER     0 
    382  
     381#   define PJMEDIA_HAS_ALAW_ULAW_TABLE  0 
    383382 
    384383#elif defined(PJ_CONFIG_MAXIMUM_SPEED) 
  • pjproject/trunk/pjmedia/include/pjmedia-audiodev/audiodev.h

    r3174 r3327  
    456456 * @param param         The structure. 
    457457 * @param cap           The audio capability which value is to be set. 
    458  * @param value         Pointer to value. Please see the type of value to 
     458 * @param pval          Pointer to value. Please see the type of value to 
    459459 *                      be supplied in the pjmedia_aud_dev_cap documentation. 
    460460 * 
     
    474474 * @param param         The structure. 
    475475 * @param cap           The audio capability which value is to be retrieved. 
    476  * @param value         Pointer to value. Please see the type of value to 
     476 * @param pval          Pointer to value. Please see the type of value to 
    477477 *                      be supplied in the pjmedia_aud_dev_cap documentation. 
    478478 * 
  • pjproject/trunk/pjmedia/include/pjmedia-codec/amr_helper.h

    r2875 r3327  
    598598 
    599599/** 
    600  * This structure describes AMR frame info, to be fitted into @pjmedia_frame  
     600 * This structure describes AMR frame info, to be fitted into #pjmedia_frame 
    601601 * bit info. 
    602602 */ 
     
    713713 * - align left the start bit (make the start_bit to be 0). 
    714714 * 
    715  * @param amr_nb    Set PJ_TRUE for AMR-NB and PJ_FALSE for AMR-WB. 
    716715 * @param in        Input frame. 
    717  * @param setting   Settings, see @pjmedia_codec_amr_pack_setting. 
     716 * @param setting   Settings, see #pjmedia_codec_amr_pack_setting. 
    718717 * @param out       Output frame. 
    719718 * 
     
    853852 * @param frames    AMR frames to be packed. 
    854853 * @param nframes   Number of frames to be packed. 
    855  * @param setting   Settings, see @pjmedia_codec_amr_pack_setting. 
     854 * @param setting   Settings, see #pjmedia_codec_amr_pack_setting. 
    856855 * @param pkt       Payload. 
    857856 * @param pkt_size  Payload size, as input this specifies payload maximum size, 
     
    10701069 * @param pkt_size  Payload size. 
    10711070 * @param ts        Base timestamp. 
    1072  * @param setting   Settings, see @pjmedia_codec_amr_pack_setting. 
     1071 * @param setting   Settings, see #pjmedia_codec_amr_pack_setting. 
    10731072 * @param frames    Frames parsed. 
    10741073 * @param nframes   Number of frames parsed. 
  • pjproject/trunk/pjmedia/include/pjmedia/conference.h

    r2728 r3327  
    240240/** 
    241241 * <i><b>Warning:</b> This API has been deprecated since 1.3 and will be 
    242  * removed in the future release, use #PJMEDIA_SPLITCOMB instead.</i> 
     242 * removed in the future release, use @ref PJMEDIA_SPLITCOMB instead.</i> 
    243243 * 
    244244 * Create and add a passive media port to the conference bridge. Unlike 
  • pjproject/trunk/pjmedia/include/pjmedia/delaybuf.h

    r2394 r3327  
    8080 *                          one frame time, default maximum delay used is 
    8181 *                          400 ms. 
    82  * @param option            Option flags, must be zero for now. 
     82 * @param options           Option flags, must be zero for now. 
    8383 * @param p_b               Pointer to receive the delay buffer instance. 
    8484 * 
  • 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 
  • pjproject/trunk/pjmedia/include/pjmedia/port.h

    r3292 r3327  
    3838  @subsection The Media Port 
    3939  A media port (represented with pjmedia_port "class") provides a generic 
    40   and extensible framework for implementing media terminations. A media 
     40  and extensible framework for implementing media elements. Media element 
     41  itself could be a media source, sink, or processing element. A media 
    4142  port interface basically has the following properties: 
    4243  - media port information (pjmedia_port_info) to describe the 
    4344  media port properties (sampling rate, number of channels, etc.), 
    44   - pointer to function to acquire frames from the port (<tt>get_frame() 
    45   </tt> interface), which will be called by #pjmedia_port_get_frame() 
    46   public API, and 
    47   - pointer to function to store frames to the port (<tt>put_frame()</tt> 
    48   interface) which will be called by #pjmedia_port_put_frame() public 
    49   API. 
    50    
    51   Media ports are passive "objects". Applications (or other PJMEDIA  
    52   components) must actively calls #pjmedia_port_get_frame() or  
    53   #pjmedia_port_put_frame() from/to the media port in order to retrieve/ 
    54   store media frames. 
     45  - optional pointer to function to acquire frames from the port (the 
     46    <tt>get_frame() </tt> interface), which will be called by 
     47    #pjmedia_port_get_frame() public API, and 
     48  - optional pointer to function to store frames to the port (the 
     49    <tt>put_frame()</tt> interface) which will be called by 
     50    #pjmedia_port_put_frame() public API. 
     51 
     52  The <tt>get_frame()</tt> and <tt>put_frame()</tt> interface of course 
     53  would only need to be implemented if the media port emits and/or takes 
     54  media frames respectively. 
     55   
     56  Media ports are passive "objects". By default, there is no worker thread 
     57  to run the media flow. Applications (or other PJMEDIA 
     58  components, as explained in @ref PJMEDIA_PORT_CLOCK) must actively call 
     59  #pjmedia_port_get_frame() or #pjmedia_port_put_frame() from/to the media 
     60  port in order to retrieve/store media frames. 
    5561   
    5662  Some media ports (such as @ref PJMEDIA_CONF and @ref PJMEDIA_RESAMPLE_PORT) 
    57   may be interconnected with each other, while some 
     63  may be interconnected with (or encapsulate) other port, to perform the 
     64  combined task of the ports, while some 
    5865  others represent the ultimate source/sink termination for the media.  
     66  Interconnection means the upstream media port will call <tt>get_frame()</tt> 
     67  and <tt>put_frame()</tt> to its downstream media port. For this to happen, 
     68  the media ports need to have the same format, where format is defined as 
     69  combination of sample format, clock rate, channel count, bits per sample, 
     70  and samples per frame for audio media. 
    5971 
    6072 
  • pjproject/trunk/pjmedia/include/pjmedia/rtcp_xr.h

    r2394 r3327  
    393393 * @param r_session RTCP session. 
    394394 * @param gmin      Gmin value (defined in RFC 3611), set to 0 for default (16). 
    395  * @param ptime     Packet time. 
    396395 * @param frames_per_packet 
    397396                    Number of frames per packet. 
     
    419418 */ 
    420419void pjmedia_rtcp_xr_rx_rtcp_xr( pjmedia_rtcp_xr_session *session, 
    421                                  const void *rtcp_xr_pkt, 
     420                                 const void *rtcp_pkt, 
    422421                                 pj_size_t size); 
    423422 
  • pjproject/trunk/pjmedia/include/pjmedia/sdp.h

    r3198 r3327  
    523523 * Deactivate SDP media. 
    524524 * 
     525 * @param pool      Memory pool to allocate memory from. 
    525526 * @param m         The SDP media to deactivate. 
    526527 * 
     
    535536 * Clone SDP media description and deactivate the new SDP media. 
    536537 * 
     538 * @param pool      Memory pool to allocate memory for the clone. 
    537539 * @param rhs       The SDP media to clone. 
    538540 * 
     
    673675 * @return              PJ_SUCCESS or the appropriate error code. 
    674676 */ 
    675 PJ_DECL(pj_status_t) pjmedia_sdp_session_add_attr(pjmedia_sdp_session *m, 
     677PJ_DECL(pj_status_t) pjmedia_sdp_session_add_attr(pjmedia_sdp_session *s, 
    676678                                                  pjmedia_sdp_attr *attr); 
    677679 
  • pjproject/trunk/pjmedia/include/pjmedia/stereo.h

    r2394 r3327  
    149149 
    150150/**  
    151  * Options for channel converter port. The @pjmedia_stereo_options is also 
     151 * Options for channel converter port. The #pjmedia_stereo_options is also 
    152152 * valid for this port options. 
    153153 */ 
    154 enum pjmedia_stereo_port_options 
     154typedef enum pjmedia_stereo_port_options 
    155155{ 
    156156    /** 
     
    159159     */ 
    160160    PJMEDIA_STEREO_DONT_DESTROY_DN  = 4 
    161 }; 
     161} pjmedia_stereo_port_options; 
    162162 
    163163 
  • pjproject/trunk/pjmedia/include/pjmedia/stream.h

    r3313 r3327  
    131131#if defined(PJMEDIA_STREAM_ENABLE_KA) && PJMEDIA_STREAM_ENABLE_KA!=0 
    132132    pj_bool_t           use_ka;     /**< Stream keep-alive and NAT hole punch 
    133                                          (see @ref PJMEDIA_STREAM_ENABLE_KA) 
     133                                         (see #PJMEDIA_STREAM_ENABLE_KA) 
    134134                                         is enabled?                        */ 
    135135#endif 
  • pjproject/trunk/pjmedia/include/pjmedia/transport_ice.h

    r2945 r3327  
    161161 
    162162/** 
    163  * The same as @pjmedia_ice_create with additional \a options param. 
     163 * The same as #pjmedia_ice_create() with additional \a options param. 
    164164 * 
    165165 * @param endpt         The media endpoint. 
  • pjproject/trunk/pjmedia/include/pjmedia/types.h

    r2506 r3327  
    459459 * @param frm               The frame. 
    460460 * @param dst               Destination buffer. 
    461  * @param maxsize           Maximum size to copy (i.e. the size of the 
     461 * @param maxlen            Maximum size to copy (i.e. the size of the 
    462462 *                          destination buffer). 
    463463 * 
Note: See TracChangeset for help on using the changeset viewer.