Changeset 3327 for pjproject/trunk
- Timestamp:
- Sep 30, 2010 4:23:27 AM (14 years ago)
- Location:
- pjproject/trunk
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/pjlib/include/pj/config_site_sample.h
r3279 r3327 374 374 */ 375 375 # define PJ_IOQUEUE_MAX_HANDLES 32 376 # define PJ_CRC32_HAS_TABLES 0 376 377 # define PJSIP_MAX_TSX_COUNT 15 377 378 # define PJSIP_MAX_DIALOG_COUNT 15 378 379 # define PJSIP_UDP_SO_SNDBUF_SIZE 4000 379 380 # 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 383 382 384 383 #elif defined(PJ_CONFIG_MAXIMUM_SPEED) -
pjproject/trunk/pjmedia/include/pjmedia-audiodev/audiodev.h
r3174 r3327 456 456 * @param param The structure. 457 457 * @param cap The audio capability which value is to be set. 458 * @param valuePointer to value. Please see the type of value to458 * @param pval Pointer to value. Please see the type of value to 459 459 * be supplied in the pjmedia_aud_dev_cap documentation. 460 460 * … … 474 474 * @param param The structure. 475 475 * @param cap The audio capability which value is to be retrieved. 476 * @param valuePointer to value. Please see the type of value to476 * @param pval Pointer to value. Please see the type of value to 477 477 * be supplied in the pjmedia_aud_dev_cap documentation. 478 478 * -
pjproject/trunk/pjmedia/include/pjmedia-codec/amr_helper.h
r2875 r3327 598 598 599 599 /** 600 * This structure describes AMR frame info, to be fitted into @pjmedia_frame600 * This structure describes AMR frame info, to be fitted into #pjmedia_frame 601 601 * bit info. 602 602 */ … … 713 713 * - align left the start bit (make the start_bit to be 0). 714 714 * 715 * @param amr_nb Set PJ_TRUE for AMR-NB and PJ_FALSE for AMR-WB.716 715 * @param in Input frame. 717 * @param setting Settings, see @pjmedia_codec_amr_pack_setting.716 * @param setting Settings, see #pjmedia_codec_amr_pack_setting. 718 717 * @param out Output frame. 719 718 * … … 853 852 * @param frames AMR frames to be packed. 854 853 * @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. 856 855 * @param pkt Payload. 857 856 * @param pkt_size Payload size, as input this specifies payload maximum size, … … 1070 1069 * @param pkt_size Payload size. 1071 1070 * @param ts Base timestamp. 1072 * @param setting Settings, see @pjmedia_codec_amr_pack_setting.1071 * @param setting Settings, see #pjmedia_codec_amr_pack_setting. 1073 1072 * @param frames Frames parsed. 1074 1073 * @param nframes Number of frames parsed. -
pjproject/trunk/pjmedia/include/pjmedia/conference.h
r2728 r3327 240 240 /** 241 241 * <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> 243 243 * 244 244 * Create and add a passive media port to the conference bridge. Unlike -
pjproject/trunk/pjmedia/include/pjmedia/delaybuf.h
r2394 r3327 80 80 * one frame time, default maximum delay used is 81 81 * 400 ms. 82 * @param option Option flags, must be zero for now.82 * @param options Option flags, must be zero for now. 83 83 * @param p_b Pointer to receive the delay buffer instance. 84 84 * -
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 -
pjproject/trunk/pjmedia/include/pjmedia/port.h
r3292 r3327 38 38 @subsection The Media Port 39 39 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 41 42 port interface basically has the following properties: 42 43 - media port information (pjmedia_port_info) to describe the 43 44 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. 55 61 56 62 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 58 65 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. 59 71 60 72 -
pjproject/trunk/pjmedia/include/pjmedia/rtcp_xr.h
r2394 r3327 393 393 * @param r_session RTCP session. 394 394 * @param gmin Gmin value (defined in RFC 3611), set to 0 for default (16). 395 * @param ptime Packet time.396 395 * @param frames_per_packet 397 396 Number of frames per packet. … … 419 418 */ 420 419 void pjmedia_rtcp_xr_rx_rtcp_xr( pjmedia_rtcp_xr_session *session, 421 const void *rtcp_ xr_pkt,420 const void *rtcp_pkt, 422 421 pj_size_t size); 423 422 -
pjproject/trunk/pjmedia/include/pjmedia/sdp.h
r3198 r3327 523 523 * Deactivate SDP media. 524 524 * 525 * @param pool Memory pool to allocate memory from. 525 526 * @param m The SDP media to deactivate. 526 527 * … … 535 536 * Clone SDP media description and deactivate the new SDP media. 536 537 * 538 * @param pool Memory pool to allocate memory for the clone. 537 539 * @param rhs The SDP media to clone. 538 540 * … … 673 675 * @return PJ_SUCCESS or the appropriate error code. 674 676 */ 675 PJ_DECL(pj_status_t) pjmedia_sdp_session_add_attr(pjmedia_sdp_session * m,677 PJ_DECL(pj_status_t) pjmedia_sdp_session_add_attr(pjmedia_sdp_session *s, 676 678 pjmedia_sdp_attr *attr); 677 679 -
pjproject/trunk/pjmedia/include/pjmedia/stereo.h
r2394 r3327 149 149 150 150 /** 151 * Options for channel converter port. The @pjmedia_stereo_options is also151 * Options for channel converter port. The #pjmedia_stereo_options is also 152 152 * valid for this port options. 153 153 */ 154 enum pjmedia_stereo_port_options154 typedef enum pjmedia_stereo_port_options 155 155 { 156 156 /** … … 159 159 */ 160 160 PJMEDIA_STEREO_DONT_DESTROY_DN = 4 161 } ;161 } pjmedia_stereo_port_options; 162 162 163 163 -
pjproject/trunk/pjmedia/include/pjmedia/stream.h
r3313 r3327 131 131 #if defined(PJMEDIA_STREAM_ENABLE_KA) && PJMEDIA_STREAM_ENABLE_KA!=0 132 132 pj_bool_t use_ka; /**< Stream keep-alive and NAT hole punch 133 (see @refPJMEDIA_STREAM_ENABLE_KA)133 (see #PJMEDIA_STREAM_ENABLE_KA) 134 134 is enabled? */ 135 135 #endif -
pjproject/trunk/pjmedia/include/pjmedia/transport_ice.h
r2945 r3327 161 161 162 162 /** 163 * The same as @pjmedia_ice_createwith additional \a options param.163 * The same as #pjmedia_ice_create() with additional \a options param. 164 164 * 165 165 * @param endpt The media endpoint. -
pjproject/trunk/pjmedia/include/pjmedia/types.h
r2506 r3327 459 459 * @param frm The frame. 460 460 * @param dst Destination buffer. 461 * @param max sizeMaximum size to copy (i.e. the size of the461 * @param maxlen Maximum size to copy (i.e. the size of the 462 462 * destination buffer). 463 463 *
Note: See TracChangeset
for help on using the changeset viewer.