Changeset 2037 for pjproject/trunk
- Timestamp:
- Jun 20, 2008 9:39:02 PM (16 years ago)
- Location:
- pjproject/trunk
- Files:
-
- 93 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/Makefile
r1210 r2037 8 8 endif 9 9 10 all clean dep depend distclean docprint realclean:10 all clean dep depend distclean print realclean: 11 11 for dir in $(DIRS); do \ 12 12 if $(MAKE) $(MAKE_FLAGS) -C $$dir/build $@; then \ … … 17 17 done 18 18 19 doc: 20 @if test \( ! "$(WWWDIR)" == "" \) -a \( ! -d $(WWWDIR)/pjlib/docs/html \) ; then \ 21 echo 'Directory "$(WWWDIR)" does not look like a valid pjsip web directory'; \ 22 exit 1; \ 23 fi 24 for dir in $(DIRS); do \ 25 if $(MAKE) $(MAKE_FLAGS) -C $$dir/build $@; then \ 26 true; \ 27 else \ 28 exit 1; \ 29 fi; \ 30 done 31 19 32 LIBS = pjlib/lib/libpj-$(TARGET_NAME).a \ 20 33 pjlib-util/lib/libpjlib-util-$(TARGET_NAME).a \ -
pjproject/trunk/pjlib-util/build/Makefile
r1987 r2037 55 55 56 56 doc: 57 cd .. && doxygen docs/doxygen.cfg 57 cd .. && rm -rf docs/html docs/latex && doxygen docs/doxygen.cfg 58 @if test ! "$(WWWDIR)" == ""; then \ 59 echo "Copying to $(WWWDIR)/pjlib-util/docs/html.." ; \ 60 cp -a ../docs/html/* $(WWWDIR)/pjlib-util/docs/html/ ; \ 61 fi 58 62 59 63 dep: depend -
pjproject/trunk/pjlib-util/docs
- Property svn:ignore
-
old new 2 2 latex 3 3 rtf 4 pjlib-util.tag
-
- Property svn:ignore
-
pjproject/trunk/pjlib-util/docs/doxygen.cfg
r1748 r2037 295 295 296 296 SHOW_USED_FILES = YES 297 TYPEDEF_HIDES_STRUCT = YES 297 298 298 299 #--------------------------------------------------------------------------- … … 875 876 # The TAGFILES tag can be used to specify one or more tagfiles. 876 877 877 TAGFILES = 878 TAGFILES = ../pjlib/docs/pjlib.tag=../../../pjlib/docs/html ../pjnath/docs/pjnath.tag=../../../pjnath/docs/html ../pjsip/docs/pjsip.tag=../../../pjsip/docs/html ../pjmedia/docs/pjmedia.tag=../../../pjmedia/docs/html 878 879 879 880 # When a file name is specified after GENERATE_TAGFILE, doxygen will create 880 881 # a tag file that is based on the input files it reads. 881 882 882 GENERATE_TAGFILE = 883 GENERATE_TAGFILE = docs/pjlib-util.tag 883 884 884 885 # If the ALLEXTERNALS tag is set to YES all external classes will be listed … … 892 893 # be listed. 893 894 894 EXTERNAL_GROUPS = YES895 EXTERNAL_GROUPS = NO 895 896 896 897 # The PERL_PATH should be the absolute path and name of the perl script 897 898 # interpreter (i.e. the result of `which perl'). 898 899 899 PERL_PATH = /usr/bin/perl 900 #PERL_PATH = /usr/bin/perl 901 PERL_PATH = /c/Perl/bin/perl 900 902 901 903 #--------------------------------------------------------------------------- -
pjproject/trunk/pjlib-util/docs/footer.html
r905 r2037 2 2 <hr><center> 3 3 PJLIB-UTIL Open Source, small footprint, and portable asynchronous/caching DNS resolver, text scanner, STUN client, and XML library<br> 4 (C)2001-200 7Benny Prijono4 (C)2001-2008 Benny Prijono 5 5 </center> 6 6 -
pjproject/trunk/pjlib-util/include/pjlib-util/config.h
r1360 r2037 27 27 28 28 /** 29 * @defgroup PJLIB_UTIL_CONFIG PJLIB-UTILConfiguration30 * @ingroup PJLIB_UTIL 29 * @defgroup PJLIB_UTIL_CONFIG Configuration 30 * @ingroup PJLIB_UTIL_BASE 31 31 * @{ 32 32 */ -
pjproject/trunk/pjlib-util/include/pjlib-util/dns.h
r1987 r2037 32 32 /** 33 33 * @defgroup PJ_DNS DNS and Asynchronous DNS Resolver 34 * @ingroup PJ LIB_UTIL34 * @ingroup PJ_PROTOCOLS 35 35 */ 36 36 -
pjproject/trunk/pjlib-util/include/pjlib-util/dns_server.h
r1987 r2037 31 31 /** 32 32 * @defgroup PJ_DNS_SERVER Simple DNS Server 33 * @ingroup PJ LIB_UTIL33 * @ingroup PJ_DNS 34 34 * @{ 35 35 * This contains a simple but fully working DNS server implementation, -
pjproject/trunk/pjlib-util/include/pjlib-util/errno.h
r1356 r2037 24 24 25 25 /** 26 * @defgroup PJLIB_UTIL_ERROR PJLIB-UTILError Codes27 * @ingroup PJLIB_UTIL 26 * @defgroup PJLIB_UTIL_ERROR Error Codes 27 * @ingroup PJLIB_UTIL_BASE 28 28 * @{ 29 29 */ -
pjproject/trunk/pjlib-util/include/pjlib-util/getopt.h
r754 r2037 30 30 /** 31 31 * @defgroup PJLIB_UTIL_GETOPT Getopt 32 * @ingroup PJLIB_ UTIL32 * @ingroup PJLIB_TEXT 33 33 * @{ 34 34 */ -
pjproject/trunk/pjlib-util/include/pjlib-util/pcap.h
r1769 r2037 31 31 /** 32 32 * @defgroup PJ_PCAP Simple PCAP file reader 33 * @ingroup PJ LIB_UTIL33 * @ingroup PJ_FILE_FMT 34 34 * @{ 35 35 * This module describes simple utility to read PCAP file. It is not intended -
pjproject/trunk/pjlib-util/include/pjlib-util/scanner.h
r1374 r2037 31 31 /** 32 32 * @defgroup PJ_SCAN Fast Text Scanning 33 * @ingroup PJLIB_ UTIL33 * @ingroup PJLIB_TEXT 34 34 * @brief Text scanning utility. 35 35 * -
pjproject/trunk/pjlib-util/include/pjlib-util/string.h
r974 r2037 30 30 /** 31 31 * @defgroup PJLIB_UTIL_STRING String Escaping Utilities 32 * @ingroup PJLIB_ UTIL32 * @ingroup PJLIB_TEXT 33 33 * @{ 34 34 */ -
pjproject/trunk/pjlib-util/include/pjlib-util/stun_simple.h
r1374 r2037 145 145 /** 146 146 * @defgroup PJLIB_UTIL_STUN_CLIENT Simple STUN Helper 147 * @ingroup PJ LIB_UTIL_STUN147 * @ingroup PJ_PROTOCOLS 148 148 * @brief A simple and small footprint STUN resolution helper 149 149 * @{ -
pjproject/trunk/pjlib-util/include/pjlib-util/types.h
r1242 r2037 29 29 30 30 /** 31 * @defgroup PJLIB_UTIL PJLIB-UTIL Library31 * @defgroup PJLIB_UTIL_BASE Base 32 32 * @{ 33 33 */ … … 51 51 */ 52 52 53 /** 54 * @defgroup PJLIB_TEXT Text and String Manipulation 55 */ 56 57 /** 58 * @defgroup PJ_PROTOCOLS Protocols 59 */ 60 61 /** 62 * @defgroup PJ_FILE_FMT File Formats 63 */ 53 64 54 65 /** … … 61 72 * adjunct functions to PJLIB. 62 73 * 63 * Please go to the <A HREF="modules.htm"><B> Modules</B></A> page for list64 * of modules.74 * Please go to the <A HREF="modules.htm"><B>Table of Contents</B></A> page 75 * for list of modules. 65 76 * 66 77 * -
pjproject/trunk/pjlib-util/include/pjlib-util/xml.h
r1748 r2037 32 32 /** 33 33 * @defgroup PJ_TINY_XML Mini/Tiny XML Parser/Helper 34 * @ingroup PJ LIB_UTIL34 * @ingroup PJ_FILE_FMT 35 35 * @{ 36 36 */ -
pjproject/trunk/pjlib/build/Makefile
r1953 r2037 56 56 57 57 doc: 58 cd .. && doxygen docs/doxygen.cfg 58 cd .. && rm -rf docs/html docs/latex && doxygen docs/doxygen.cfg 59 @if test ! "$(WWWDIR)" == ""; then \ 60 echo "Copying to $(WWWDIR)/pjlib/docs/html.." ; \ 61 cp -a ../docs/html/* $(WWWDIR)/pjlib/docs/html/ ; \ 62 fi 59 63 60 64 print: -
pjproject/trunk/pjlib/docs
- Property svn:ignore
-
old new 1 1 html 2 2 latex 3 pjlib.tag
-
- Property svn:ignore
-
pjproject/trunk/pjlib/docs/doxygen.cfg
r1748 r2037 295 295 296 296 SHOW_USED_FILES = YES 297 TYPEDEF_HIDES_STRUCT = YES 297 298 298 299 #--------------------------------------------------------------------------- … … 879 880 # a tag file that is based on the input files it reads. 880 881 881 GENERATE_TAGFILE = 882 GENERATE_TAGFILE = docs/pjlib.tag 882 883 883 884 # If the ALLEXTERNALS tag is set to YES all external classes will be listed … … 896 897 # interpreter (i.e. the result of `which perl'). 897 898 898 PERL_PATH = /usr/bin/perl 899 #PERL_PATH = /usr/bin/perl 900 PERL_PATH = /c/Perl/bin/perl 899 901 900 902 #--------------------------------------------------------------------------- -
pjproject/trunk/pjlib/docs/footer.html
r905 r2037 2 2 <hr><center> 3 3 PJLIB Open Source, high performance, small footprint, and very very portable framework<br> 4 (C)2001-200 7Benny Prijono4 (C)2001-2008 Benny Prijono 5 5 </center> 6 6 -
pjproject/trunk/pjlib/include/pj/config.h
r1949 r2037 304 304 /** 305 305 * @defgroup pj_config Build Configuration 306 * @ingroup PJ307 306 * @{ 308 307 * … … 805 804 /** 806 805 * @defgroup pj_config Build Configuration 807 * @ingroup PJ808 806 * @{ 809 807 */ -
pjproject/trunk/pjlib/include/pj/doxygen.h
r1580 r2037 53 53 * \a doxygen (http://www.doxygen.org). Doxygen is a great (and free!) 54 54 * tools for generating such documentation. 55 *56 * @subsection doc_ver_subsec Version57 *58 * This document corresponds to PJLIB version 0.8.0.59 55 * 60 56 * -
pjproject/trunk/pjlib/include/pj/errno.h
r1748 r2037 31 31 /** 32 32 * @defgroup pj_errno Error Codes 33 * @ingroup PJ34 33 * @{ 35 34 * -
pjproject/trunk/pjlib/include/pj/guid.h
r1815 r2037 33 33 /** 34 34 * @defgroup PJ_DS Data Structure. 35 * @ingroup PJ36 35 */ 37 36 /** -
pjproject/trunk/pjlib/include/pj/list.h
r1958 r2037 31 31 /* 32 32 * @defgroup PJ_DS Data Structure. 33 * @ingroup PJ34 33 */ 35 34 -
pjproject/trunk/pjlib/include/pj/log.h
r1627 r2037 32 32 /** 33 33 * @defgroup PJ_MISC Miscelaneous 34 * @ingroup PJ35 34 */ 36 35 -
pjproject/trunk/pjlib/include/pj/os.h
r1841 r2037 30 30 /** 31 31 * @defgroup PJ_OS Operating System Dependent Functionality. 32 * @ingroup PJ33 32 */ 34 33 -
pjproject/trunk/pjlib/include/pj/pool.h
r1748 r2037 40 40 /** 41 41 * @defgroup PJ_POOL_GROUP Fast Memory Pool 42 * @ingroup PJ43 42 * @brief 44 43 * Memory pools allow dynamic memory allocation comparable to malloc or the -
pjproject/trunk/pjlib/include/pj/types.h
r1405 r2037 21 21 22 22 23 /**24 * @defgroup PJ PJ Library25 */26 23 /** 27 24 * @file types.h -
pjproject/trunk/pjmedia/build/Makefile
r1942 r2037 108 108 109 109 doc: 110 cd .. && doxygen docs/doxygen.cfg 110 cd .. && rm -rf docs/html docs/latex && doxygen docs/doxygen.cfg 111 @if test ! "$(WWWDIR)" == ""; then \ 112 echo "Copying to $(WWWDIR)/pjmedia/docs/html.." ; \ 113 rm -rf $(WWWDIR)/pjmedia/docs/html/* ; \ 114 cp -a ../docs/html/* $(WWWDIR)/pjmedia/docs/html/ ; \ 115 fi 111 116 112 117 dep: depend -
pjproject/trunk/pjmedia/docs
- Property svn:ignore
-
old new 2 2 latex 3 3 rtf 4 pjmedia.tag
-
- Property svn:ignore
-
pjproject/trunk/pjmedia/docs/doxygen.cfg
r1748 r2037 214 214 # declaration order. 215 215 216 SORT_MEMBER_DOCS = YES216 SORT_MEMBER_DOCS = NO 217 217 218 218 # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC … … 296 296 SHOW_USED_FILES = YES 297 297 298 TYPEDEF_HIDES_STRUCT = YES 299 298 300 #--------------------------------------------------------------------------- 299 301 # configuration options related to warning and progress messages … … 315 317 # automatically be disabled. 316 318 317 WARN_IF_UNDOCUMENTED = YES319 WARN_IF_UNDOCUMENTED = NO 318 320 319 321 # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for … … 875 877 # The TAGFILES tag can be used to specify one or more tagfiles. 876 878 877 TAGFILES = 879 TAGFILES = ../pjlib/docs/pjlib.tag=../../../pjlib/docs/html ../pjlib-util/docs/pjlib-util.tag=../../../pjlib-util/docs/html ../pjnath/docs/pjnath.tag=../../../pjnath/docs/html ../pjsip/docs/pjmedia.tag=../../../pjmedia/docs/html 878 880 879 881 # When a file name is specified after GENERATE_TAGFILE, doxygen will create 880 882 # a tag file that is based on the input files it reads. 881 883 882 GENERATE_TAGFILE = 884 GENERATE_TAGFILE = docs/pjmedia.tag 883 885 884 886 # If the ALLEXTERNALS tag is set to YES all external classes will be listed … … 892 894 # be listed. 893 895 894 EXTERNAL_GROUPS = YES896 EXTERNAL_GROUPS = NO 895 897 896 898 # The PERL_PATH should be the absolute path and name of the perl script 897 899 # interpreter (i.e. the result of `which perl'). 898 900 899 PERL_PATH = /usr/bin/perl 901 #PERL_PATH = /usr/bin/perl 902 PERL_PATH = /c/Perl/bin/perl 900 903 901 904 #--------------------------------------------------------------------------- … … 979 982 DOTFILE_DIRS = 980 983 981 # The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width982 # (in pixels) of the graphs generated by dot. If a graph becomes larger than983 # this value, doxygen will try to truncate the graph, so that it fits within984 # the specified constraint. Beware that most browsers cannot cope with very985 # large images.986 987 MAX_DOT_GRAPH_WIDTH = 1024988 989 # The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height990 # (in pixels) of the graphs generated by dot. If a graph becomes larger than991 # this value, doxygen will try to truncate the graph, so that it fits within992 # the specified constraint. Beware that most browsers cannot cope with very993 # large images.994 995 MAX_DOT_GRAPH_HEIGHT = 1024996 997 984 # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 998 985 # generate a legend page explaining the meaning of the various boxes and -
pjproject/trunk/pjmedia/docs/footer.html
r905 r2037 2 2 <hr><center> 3 3 PJMEDIA small footprint Open Source media stack<br> 4 (C)2003-200 7Benny Prijono4 (C)2003-2008 Benny Prijono 5 5 </center> 6 6 <!--#include virtual="/footer.html" --> -
pjproject/trunk/pjmedia/include/pjmedia-codec/g722.h
r1870 r2037 32 32 * @brief Implementation of G.722 Codec 33 33 * @{ 34 * 34 35 * This section describes functions to register and register G.722 codec 35 36 * factory to the codec manager. After the codec factory has been registered, -
pjproject/trunk/pjmedia/include/pjmedia-codec/gsm.h
r974 r2037 32 32 * @brief Implementation of GSM FR based on GSM 06.10 library 33 33 * @{ 34 * 34 35 * This section describes functions to register and register GSM codec 35 36 * factory to the codec manager. After the codec factory has been registered, -
pjproject/trunk/pjmedia/include/pjmedia-codec/ilbc.h
r974 r2037 32 32 * @brief Implementation of iLBC Codec 33 33 * @{ 34 * 34 35 * This section describes functions to register and register iLBC codec 35 36 * factory to the codec manager. After the codec factory has been registered, -
pjproject/trunk/pjmedia/include/pjmedia-codec/l16.h
r974 r2037 26 26 * @defgroup PJMED_L16 L16 Codec Family 27 27 * @ingroup PJMEDIA_CODEC 28 * @brief 16bit linear codecs (useful for debugging)28 * @brief PCM/16bit/linear codecs 29 29 * @{ 30 * 30 31 * This section describes functions to register and register L16 codec 31 32 * factory to the codec manager. After the codec factory has been registered, -
pjproject/trunk/pjmedia/include/pjmedia-codec/speex.h
r1965 r2037 32 32 * @brief Implementation of Speex codecs (narrow/wide/ultrawide-band). 33 33 * @{ 34 * 34 35 * This section describes functions to register and register speex codec 35 36 * factory to the codec manager. After the codec factory has been registered, -
pjproject/trunk/pjmedia/include/pjmedia/bidirectional.h
r974 r2037 22 22 /** 23 23 * @file bidirectional.h 24 * @brief Create bidirectional port from two unidirectional ports.24 * @brief Bidirectional media port. 25 25 */ 26 26 #include <pjmedia/port.h> … … 30 30 * @defgroup PJMEDIA_BIDIRECTIONAL_PORT Bidirectional Port 31 31 * @ingroup PJMEDIA_PORT 32 * @brief Create bidirectional port from two unidirectional ports. 32 * @brief A bidirectional port combines two unidirectional ports into one 33 * bidirectional port 33 34 * @{ 34 35 */ -
pjproject/trunk/pjmedia/include/pjmedia/clock.h
r1843 r2037 25 25 */ 26 26 #include <pjmedia/types.h> 27 28 29 /** 30 * @defgroup PJMEDIA_PORT_CLOCK Clock/Timing 31 * @ingroup PJMEDIA_PORT 32 * @brief Various types of classes that provide timing. 33 * @{ 34 35 The media clock/timing extends the media port concept that is explained 36 in @ref PJMEDIA_PORT. When clock is present in the ports 37 interconnection, media will flow automatically (and with correct timing too!) 38 from one media port to another. 39 40 There are few objects in PJMEDIA that are able to provide clock/timing 41 to media ports interconnection: 42 43 - @ref PJMED_SND_PORT\n 44 The sound device makes a good candidate as the clock source, and 45 PJMEDIA @ref PJMED_SND is designed so that it is able to invoke 46 operations according to timing driven by the sound hardware clock 47 (this may sound complicated, but actually it just means that 48 the sound device abstraction provides callbacks to be called when 49 it has/wants media frames).\n 50 See @ref PJMED_SND_PORT for more details. 51 52 - @ref PJMEDIA_MASTER_PORT\n 53 The master port uses @ref PJMEDIA_CLOCK as the clock source. By using 54 @ref PJMEDIA_MASTER_PORT, it is possible to interconnect passive 55 media ports and let the frames flow automatically in timely manner.\n 56 Please see @ref PJMEDIA_MASTER_PORT for more details. 57 58 @} 59 */ 27 60 28 61 -
pjproject/trunk/pjmedia/include/pjmedia/codec.h
r1985 r2037 34 34 /** 35 35 * @defgroup PJMEDIA_CODEC Codec Framework 36 * @ingroup PJMEDIA37 36 * @brief Media codec framework and management 38 37 * @{ -
pjproject/trunk/pjmedia/include/pjmedia/conference.h
r1301 r2037 30 30 * @defgroup PJMEDIA_CONF Conference Bridge 31 31 * @ingroup PJMEDIA_PORT 32 * @brief The implementation of conference bridge32 * @brief Audio conference bridge implementation 33 33 * @{ 34 34 * -
pjproject/trunk/pjmedia/include/pjmedia/config.h
r2020 r2037 28 28 /** 29 29 * @defgroup PJMEDIA_BASE Base Types and Configurations 30 * @ingroup PJMEDIA31 30 */ 32 31 -
pjproject/trunk/pjmedia/include/pjmedia/delaybuf.h
r1972 r2037 30 30 31 31 /** 32 * @defgroup PJMED_DELAYBUF Delay Buffer32 * @defgroup PJMED_DELAYBUF Adaptive Delay Buffer 33 33 * @ingroup PJMEDIA_FRAME_OP 34 * @brief Adaptive delay buffer with high-quality time-scale 35 * modification 34 36 * @{ 37 * 35 38 * This section describes PJMEDIA's implementation of delay buffer. 36 39 * Delay buffer works quite similarly like a fixed jitter buffer, that … … 44 47 * get() and put() are matched). 45 48 * 46 * The delay buffer is mostly used by the sound port, to accommodate 47 * for the burst frames returned by the sound device. 49 * The buffer is adaptive, that is it continuously learns the optimal delay 50 * to be applied to the audio flow at run-time. Once the optimal delay has 51 * been learned, the delay buffer will apply this delay to the audio flow, 52 * expanding or shrinking the audio samples as necessary when the actual 53 * audio samples in the buffer are too low or too high. It does this without 54 * distorting the audio quality of the audio, by using \a PJMED_WSOLA. 48 55 * 49 * To determine the level of delay to be applied, the delay buffer 50 * has a learning period on which it calculates the level of burst of 51 * both the put() and get(), and use the maximum value of both as the 52 * delay level. 56 * The delay buffer is used in \ref PJMED_SND_PORT, \ref PJMEDIA_SPLITCOMB, 57 * and \ref PJMEDIA_CONF. 53 58 */ 54 59 -
pjproject/trunk/pjmedia/include/pjmedia/doxygen.h
r1450 r2037 25 25 */ 26 26 27 /**28 * @defgroup PJMEDIA PJMEDIA Library29 */30 27 31 28 /*////////////////////////////////////////////////////////////////////////// */ … … 43 40 * terms, and featuring small footprint and good extensibility and portability. 44 41 * 45 * Please click the <A HREF="modules.htm"><b> Modules</b></A> link on top42 * Please click the <A HREF="modules.htm"><b>Table of Contents</b></A> link on top 46 43 * of this page to get the complete features currently present in PJMEDIA. 47 44 * 48 * Also please read the documentation about @ref PJMEDIA_PORT _CONCEPT,45 * Also please read the documentation about @ref PJMEDIA_PORT 49 46 * which is a major concept that is used for implementing many objects in 50 47 * the library. … … 80 77 */ 81 78 82 /**83 * @page pjmed_keywords_page Features Index84 * @section pjmed_keywords Features Index85 *86 * <b>PJMEDIA features</b>, in no particular order (click to go to the relevant87 * documentation):88 * @ref lic_stuffs "Open Source media stack",89 * @ref PJMEDIA_CLOCK,90 * @ref PJMEDIA_CODEC,91 * @ref enc_dec_codec,92 * @ref plc_codec,93 * @ref PJMEDIA_CONF,94 * @ref PJMED_G711 "G711/G.711 (PCMA/PCMU) codec",95 * @ref PJMED_GSM "GSM codec",96 * @ref PJMED_L16 "linear codecs (multiple clockrate, stereo support, etc)",97 * @ref PJMED_SPEEX "Speex codec (narrowband, wideband, ultra-wideband)",98 * @ref PJMED_JBUF "portable, adaptive jitter buffer with PLC support",99 * @ref PJMEDIA_MASTER_PORT,100 * @ref PJMEDIA_NULL_PORT,101 * @ref PJMED_PLC,102 * @ref PJMEDIA_PORT_CONCEPT,103 * @ref PJMEDIA_PORT_CLOCK,104 * @ref PJMEDIA_RESAMPLE "high quality resampling/sampling rate conversion",105 * @ref PJMEDIA_RESAMPLE_PORT,106 * @ref PJMED_RTCP "small footprint, portable RTCP with media quality statistics",107 * @ref PJMED_RTP "very small footprint, modular, DSP ready RTP implementation",108 * @ref PJMEDIA_SDP "modular, small footprint, open source SDP implementation",109 * @ref PJMEDIA_SDP_NEG "modular SDP negotiation/negotiator abstraction",110 * @ref PJMED_SES "media session abstraction",111 * @ref PJMEDIA_SILENCEDET,112 * @ref PJMED_SND "portable audio/sound hardware/device abstraction for Linux, Unix, Windows, DirectSound, WinCE, Windows Mobile, MacOS X, etc.",113 * @ref PJMED_SND_PORT,114 * @ref PJMEDIA_SPLITCOMB,115 * @ref PJMED_STRM "remote stream",116 * @ref PJMEDIA_TRANSPORT_H "custom media transport abstraction",117 * @ref PJMEDIA_TRANSPORT_UDP,118 * @ref PJMEDIA_FILE_PLAY "WAV/WAVE file playback",119 * @ref PJMEDIA_FILE_REC "WAV/WAVE file recording/capture",120 * @ref PJMEDIA_WAVE "portable WAV/WAVE header manipulation"121 */122 123 124 /**125 * @page pjmedia_codec_page Using PJMEDIA-CODEC126 *127 * Before application can use a codec, it needs to initialize and register128 * the codec to the codec manager. This is accomplished with using129 * constructs like the following:130 *131 \code132 #include <pjmedia.h>133 #include <pjmedia-codec.h>134 135 init_codecs( pjmedia_endpt *med_ept )136 {137 // Register G.711 codecs138 pjmedia_codec_g711_init(med_ept);139 140 // Register GSM codec.141 pjmedia_codec_gsm_init(med_ept);142 143 // Register Speex codecs.144 // With the default flag, this will register three codecs:145 // speex/8000, speex/16000, and speex/32000146 pjmedia_codec_speex_init(med_ept, 0, 0, 0);147 }148 \endcode149 *150 * After the codec is registered, application may create the encoder/decoder151 * instance, by using the API as documented in @ref PJMEDIA_CODEC.152 */153 154 155 156 /**157 * @page lic_stuffs Copying and Acknowledgements158 * @section lic_stuff Copying and Acknowledgements159 * @subsection pjmedia_about_subsec About PJMEDIA160 *161 * PJMEDIA is distributed under GPL terms (other licensing schemes may be162 * arranged):163 \verbatim164 Copyright (C) 2003-2007 Benny Prijono <benny@prijono.org>165 166 This program is free software; you can redistribute it and/or modify167 it under the terms of the GNU General Public License as published by168 the Free Software Foundation; either version 2 of the License, or169 (at your option) any later version.170 171 This program is distributed in the hope that it will be useful,172 but WITHOUT ANY WARRANTY; without even the implied warranty of173 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the174 GNU General Public License for more details.175 176 You should have received a copy of the GNU General Public License177 along with this program; if not, write to the Free Software178 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA179 \endverbatim180 *181 *182 * @section other_acks Acknowlegments183 * @subsection portaudio_subsec PortAudio184 *185 * PortAudio is supported as one of the sound device backend, and186 * is used by default on Linux/Unix and MacOS X target.187 *188 * Please visit <A HREF="http://www.portaudio.com">http://www.portaudio.com</A>189 * for more info.190 *191 * PortAudio is distributed with the following condition.192 \verbatim193 Based on the Open Source API proposed by Ross Bencina194 Copyright (c) 1999-2000 Phil Burk195 196 Permission is hereby granted, free of charge, to any person obtaining197 a copy of this software and associated documentation files198 (the "Software"), to deal in the Software without restriction,199 including without limitation the rights to use, copy, modify, merge,200 publish, distribute, sublicense, and/or sell copies of the Software,201 and to permit persons to whom the Software is furnished to do so,202 subject to the following conditions:203 204 The above copyright notice and this permission notice shall be205 included in all copies or substantial portions of the Software.206 \endverbatim207 *208 *209 * @subsection resample_ack Resample210 *211 * PJMEDIA uses <tt>resample-1.8.tar.gz</tt> from212 * <A HREF="http://www-ccrma.stanford.edu/~jos/resample/">213 * Digital Audio Resampling Home Page</A>. This library is distibuted214 * on LGPL terms.215 *216 * Some excerpts from the original source codes:217 \verbatim218 HISTORY219 220 The first version of this software was written by Julius O. Smith III221 <jos@ccrma.stanford.edu> at CCRMA <http://www-ccrma.stanford.edu> in222 1981. It was called SRCONV and was written in SAIL for PDP-10223 compatible machines. The algorithm was first published in224 225 Smith, Julius O. and Phil Gossett. ``A Flexible Sampling-Rate226 Conversion Method,'' Proceedings (2): 19.4.1-19.4.4, IEEE Conference227 on Acoustics, Speech, and Signal Processing, San Diego, March 1984.228 229 An expanded tutorial based on this paper is available at the Digital230 Audio Resampling Home Page given above.231 232 Circa 1988, the SRCONV program was translated from SAIL to C by233 Christopher Lee Fraley working with Roger Dannenberg at CMU.234 235 Since then, the C version has been maintained by jos.236 237 Sndlib support was added 6/99 by John Gibson <jgg9c@virginia.edu>.238 239 The resample program is free software distributed in accordance240 with the Lesser GNU Public License (LGPL). There is NO warranty; not241 even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.242 \endverbatim243 *244 * @subsection jb_ack Adaptive Jitter Buffer245 *246 * The PJMEDIA jitter buffer is based on implementation kindly donated247 * by <A HREF="http://www.switchlab.com">Switchlab, Ltd.</A>, and is248 * distributed under PJMEDIA licensing terms.249 *250 *251 * @subsection silence_det_ack Adaptive Silence Detector252 *253 * The adaptive silence detector was based on silence detector254 * implementation in <A HREF="http://www.openh323.org">Open H323</A>255 * project. I couldn't find the source code anymore, but generally256 * Open H323 files are distributed under MPL terms and has the257 * following excerpts:258 \verbatim259 Open H323 Library260 261 Copyright (c) 1998-2000 Equivalence Pty. Ltd.262 263 The contents of this file are subject to the Mozilla Public License264 Version 1.0 (the "License"); you may not use this file except in265 compliance with the License. You may obtain a copy of the License at266 http://www.mozilla.org/MPL/267 268 Software distributed under the License is distributed on an "AS IS"269 basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See270 the License for the specific language governing rights and limitations271 under the License.272 273 The Original Code is Open H323 Library.274 275 The Initial Developer of the Original Code is Equivalence Pty. Ltd.276 277 Portions of this code were written with the assisance of funding from278 Vovida Networks, Inc. http://www.vovida.com.279 \endverbatim280 281 * @subsection gsm_ack GSM Codec282 *283 * PJMEDIA uses GSM284 * <A HREF="http://kbs.cs.tu-berlin.de/~jutta/toast.html">GSM 06.10</A>285 * version 1.0 at patchlevel 12. It has the following Copyright notice:286 *287 \verbatim288 Copyright 1992, 1993, 1994 by Jutta Degener and Carsten Bormann,289 Technische Universitaet Berlin290 291 Any use of this software is permitted provided that this notice is not292 removed and that neither the authors nor the Technische Universitaet Berlin293 are deemed to have made any representations as to the suitability of this294 software for any purpose nor are held responsible for any defects of295 this software. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.296 297 As a matter of courtesy, the authors request to be informed about uses298 this software has found, about bugs in this software, and about any299 improvements that may be of general interest.300 301 Berlin, 28.11.1994302 Jutta Degener303 Carsten Bormann304 \endverbatim305 *306 *307 * @subsection speex_codec_ack Speex Codec308 *309 * PJMEDIA uses Speex codec uses version 1.1.12 from <A HREF="http://www.speex.org">310 * www.speex.org</A>. The Speex library comes with the following Copying311 * notice:312 \verbatim313 Copyright 2002-2005314 Xiph.org Foundation315 Jean-Marc Valin316 David Rowe317 EpicGames318 Analog Devices319 320 Redistribution and use in source and binary forms, with or without321 modification, are permitted provided that the following conditions322 are met:323 324 - Redistributions of source code must retain the above copyright325 notice, this list of conditions and the following disclaimer.326 327 - Redistributions in binary form must reproduce the above copyright328 notice, this list of conditions and the following disclaimer in the329 documentation and/or other materials provided with the distribution.330 331 - Neither the name of the Xiph.org Foundation nor the names of its332 contributors may be used to endorse or promote products derived from333 this software without specific prior written permission.334 335 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS336 ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT337 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR338 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR339 CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,340 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,341 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR342 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF343 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING344 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS345 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.346 \endverbatim347 *348 *349 * @subsection g711_codec_ack G.711 Codec350 *351 * The G.711 codec algorithm came from Sun Microsystems, Inc, and it's352 * got the following excerpts:353 *354 \verbatim355 This source code is a product of Sun Microsystems, Inc. and is provided356 for unrestricted use. Users may copy or modify this source code without357 charge.358 359 SUN SOURCE CODE IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING360 THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR361 PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.362 363 Sun source code is provided with no support and without any obligation on364 the part of Sun Microsystems, Inc. to assist in its use, correction,365 modification or enhancement.366 367 SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE368 INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY THIS SOFTWARE369 OR ANY PART THEREOF.370 371 In no event will Sun Microsystems, Inc. be liable for any lost revenue372 or profits or other special, indirect and consequential damages, even if373 Sun has been advised of the possibility of such damages.374 375 Sun Microsystems, Inc.376 2550 Garcia Avenue377 Mountain View, California 94043378 \endverbatim379 *380 */381 382 383 /**384 @page getting_started_pjmedia Getting Started with PJMEDIA385 386 @section getstart_init_setup_build Setting-up the Build System387 388 @subsection subsec_build_pjmedia Building PJMEDIA and PJMEDIA-CODEC389 390 The PJMEDIA and PJMEDIA-CODEC libraries are normally bundled in PJPROJECT391 source tarball, and they are located in <tt><b>pjmedia</b></tt> sub-directory392 tree.393 394 Please follow the instructions in <tt><b>INSTALL.txt</b></tt> in the root395 PJPROJECT directory to build all projects, including PJMEDIA and PJMEDIA-CODEC.396 397 @subsection subsec_config_build Setting Up the Build Environment398 399 In your project, you will need to configure the following.400 - Add <tt><b>$pjproject/pjmedia/include</b></tt> in the search path for401 include files.402 - Add <tt><b>$pjproject/pjmedia/lib</b></tt> in the search path for403 library files.404 - Add PJMEDIA and PJMEDIA static libraries in the link command.405 406 @subsection subsec_inc_pjmedia Include PJMEDIA and PJMEDIA-CODEC in Source Files407 408 To include all features from PJMEDIA and PJMEDIA-CODEC, use the following:409 410 \code411 #include <pjlib.h>412 #include <pjmedia.h>413 #include <pjmedia-codec.h>414 \endcode415 416 Alternatively, you may include only specific parts of the library (for example417 to speed up compilation by just a fraction), for example:418 419 \code420 #include <pjmedia/conference.h>421 #include <pjmedia/jbuf.h>422 #include <pjmedia-codec/speex.h>423 \endcode424 425 Note that you need to give <b>"pjmedia/"</b> and <b>"pjmedia-codec/"</b>426 prefix to include specific files.427 428 429 @section getstart_using Using PJMEDIA430 431 I wish I could explain more, but for now, please have a look at the432 @ref page_pjmedia_samples page on some examples.433 */434 79 435 80 /** … … 442 87 443 88 - @ref page_pjmedia_samples_level_c\n 444 This is a good place to start learning about @ref PJMEDIA_PORT _CONCEPT,445 as it shows that @ref PJMEDIA_PORT _CONCEPTare only "passive" objects89 This is a good place to start learning about @ref PJMEDIA_PORT, 90 as it shows that @ref PJMEDIA_PORT are only "passive" objects 446 91 with <tt>get_frame()</tt> and <tt>put_frame()</tt> interface, and 447 92 someone has to call these to retrieve/store media frames. … … 456 101 457 102 - @ref page_pjmedia_samples_playsine_c\n 458 Demonstrates how to create a custom @ref PJMEDIA_PORT _CONCEPT(in this103 Demonstrates how to create a custom @ref PJMEDIA_PORT (in this 459 104 case a sine wave generator) and integrate it to PJMEDIA. 460 105 -
pjproject/trunk/pjmedia/include/pjmedia/echo_port.h
r974 r2037 31 31 * @defgroup PJMEDIA_ECHO_PORT Echo Cancellation Port 32 32 * @ingroup PJMEDIA_PORT 33 * @brief Echo Cancellation Port 33 * @brief Echo Cancellation 34 * @{ 34 35 * 35 * Echo canceller media port, using @ref PJMEDIA_Echo_Cancel backend. 36 * @{ 36 * Wrapper to \ref PJMEDIA_Echo_Cancel into media port interface. 37 37 */ 38 38 -
pjproject/trunk/pjmedia/include/pjmedia/endpoint.h
r1589 r2037 27 27 /** 28 28 * @defgroup PJMED_ENDPT The Endpoint 29 * @ingroup PJMEDIA30 29 * @{ 31 30 * -
pjproject/trunk/pjmedia/include/pjmedia/jbuf.h
r1983 r2037 33 33 * @defgroup PJMED_JBUF Adaptive jitter buffer 34 34 * @ingroup PJMEDIA_FRAME_OP 35 * @brief Adaptive de-jitter buffering implementation 35 36 * @{ 37 * 36 38 * This section describes PJMEDIA's implementation of de-jitter buffer. 37 39 * The de-jitter buffer may be set to operate in adaptive mode or fixed 38 40 * delay mode. 39 *40 * The jitter buffer is also able to report the status of the current41 * frame (#pjmedia_jb_frame_type). This status is used for examply by42 * @ref PJMED_STRM to invoke the codec's @ref PJMED_PLC algorithm.43 41 */ 44 42 -
pjproject/trunk/pjmedia/include/pjmedia/master_port.h
r1843 r2037 30 30 * @defgroup PJMEDIA_MASTER_PORT Master Port 31 31 * @ingroup PJMEDIA_PORT_CLOCK 32 * @brief Provides media clock for media ports.32 * @brief Thread based media clock provider 33 33 * @{ 34 * 34 35 * A master port has two media ports connected to it, and by convention 35 36 * thay are called downstream and upstream ports. The media stream flowing to -
pjproject/trunk/pjmedia/include/pjmedia/mem_port.h
r1808 r2037 32 32 * @defgroup PJMEDIA_MEM_PLAYER Memory/Buffer-based Playback Port 33 33 * @ingroup PJMEDIA_PORT 34 * @brief Media playback from a fixed buffer34 * @brief Media playback from a fixed size memory buffer 35 35 * @{ 36 * 36 37 * A memory/buffer based playback port is used to play media from a fixed 37 38 * size buffer. This is useful over @ref PJMEDIA_FILE_PLAY for … … 114 115 * @defgroup PJMEDIA_MEM_CAPTURE Memory/Buffer-based Capture Port 115 116 * @ingroup PJMEDIA_PORT 116 * @brief Capture to fixed sizebuffer117 * @brief Media capture to fixed size memory buffer 117 118 * @{ 119 * 118 120 * A memory based capture is used to save media streams to a fixed size 119 121 * buffer. This is useful over @ref PJMEDIA_FILE_REC for -
pjproject/trunk/pjmedia/include/pjmedia/null_port.h
r974 r2037 31 31 * @defgroup PJMEDIA_NULL_PORT Null Port 32 32 * @ingroup PJMEDIA_PORT 33 * @brief Null port is the simplest type of port.33 * @brief The simplest type of media port which does nothing. 34 34 * @{ 35 35 */ -
pjproject/trunk/pjmedia/include/pjmedia/plc.h
r974 r2037 30 30 * @defgroup PJMED_PLC Packet Lost Concealment (PLC) 31 31 * @ingroup PJMEDIA_FRAME_OP 32 * @brief Packet lost compensation algorithm 32 33 * @{ 34 * 33 35 * This section describes PJMEDIA's implementation of Packet Lost 34 36 * Concealment algorithm. This algorithm is used to implement PLC for 35 * codecs that do not have built-in support for one (e.g. G.711 or GSM codecs). 37 * codecs that do not have built-in support for one (e.g. G.711 or GSM 38 * codecs). 36 39 * 37 40 * The PLC algorithm (either built-in or external) is embedded in -
pjproject/trunk/pjmedia/include/pjmedia/port.h
r1983 r2037 29 29 30 30 /** 31 @defgroup PJMEDIA_PORT_CONCEPT Media Ports Framework 32 @ingroup PJMEDIA 33 @brief Extensible framework for media terminations 34 31 @addtogroup PJMEDIA_PORT Media Ports Framework 32 @{ 33 35 34 @section media_port_intro Media Port Concepts 36 35 … … 166 165 among media ports. This concept is described in @ref PJMEDIA_PORT_CLOCK 167 166 section. 168 169 */ 170 171 172 /** 173 * @defgroup PJMEDIA_PORT_INTERFACE Media Port Interface 174 * @ingroup PJMEDIA_PORT_CONCEPT 175 * @brief Declares the media port interface. 176 */ 177 178 /** 179 * @defgroup PJMEDIA_PORT Ports 180 * @ingroup PJMEDIA_PORT_CONCEPT 181 * @brief Contains various types of media ports/terminations. 182 * @{ 183 * This page lists all types of media ports currently implemented 184 * in PJMEDIA. The media port concept is explained in @ref PJMEDIA_PORT_CONCEPT. 185 * @} 186 */ 187 188 /** 189 @defgroup PJMEDIA_PORT_CLOCK Clock/Timing 190 @ingroup PJMEDIA_PORT_CONCEPT 191 @brief Various types of classes that provide timing. 192 @{ 193 194 The media clock/timing extends the media port concept that is explained 195 in @ref PJMEDIA_PORT_CONCEPT. When clock is present in the ports 196 interconnection, media will flow automatically (and with correct timing too!) 197 from one media port to another. 198 199 There are few objects in PJMEDIA that are able to provide clock/timing 200 to media ports interconnection: 201 202 - @ref PJMED_SND_PORT\n 203 The sound device makes a good candidate as the clock source, and 204 PJMEDIA @ref PJMED_SND is designed so that it is able to invoke 205 operations according to timing driven by the sound hardware clock 206 (this may sound complicated, but actually it just means that 207 the sound device abstraction provides callbacks to be called when 208 it has/wants media frames).\n 209 See @ref PJMED_SND_PORT for more details. 210 211 - @ref PJMEDIA_MASTER_PORT\n 212 The master port uses @ref PJMEDIA_CLOCK as the clock source. By using 213 @ref PJMEDIA_MASTER_PORT, it is possible to interconnect passive 214 media ports and let the frames flow automatically in timely manner.\n 215 Please see @ref PJMEDIA_MASTER_PORT for more details. 216 217 @} 218 */ 219 220 /** 221 * @addtogroup PJMEDIA_PORT_INTERFACE 222 * @{ 223 * This page contains the media port interface declarations. The media port 224 * concept is explained in @ref PJMEDIA_PORT_CONCEPT. 225 */ 167 */ 226 168 227 169 PJ_BEGIN_DECL … … 231 173 * Port operation setting. 232 174 */ 233 enum pjmedia_port_op175 typedef enum pjmedia_port_op 234 176 { 235 177 /** … … 254 196 */ 255 197 PJMEDIA_PORT_ENABLE 256 }; 257 258 259 /** 260 * @see pjmedia_port_op 261 */ 262 typedef enum pjmedia_port_op pjmedia_port_op; 198 199 } pjmedia_port_op; 263 200 264 201 … … 297 234 * This structure describes a media frame. 298 235 */ 299 struct pjmedia_frame236 typedef struct pjmedia_frame 300 237 { 301 238 pjmedia_frame_type type; /**< Frame type. */ … … 308 245 may be used for specifying start & 309 246 end bit offset. */ 310 }; 311 312 313 /** 314 * @see pjmedia_frame 315 */ 316 typedef struct pjmedia_frame pjmedia_frame; 317 318 319 /** 320 * For future graph. 321 */ 322 typedef struct pjmedia_graph pjmedia_graph; 323 324 325 /** 326 * @see pjmedia_port 327 */ 328 typedef struct pjmedia_port pjmedia_port; 247 } pjmedia_frame; 248 329 249 330 250 /** 331 251 * Port interface. 332 252 */ 333 struct pjmedia_port253 typedef struct pjmedia_port 334 254 { 335 255 pjmedia_port_info info; /**< Port information. */ … … 347 267 * This should only be called by #pjmedia_port_put_frame(). 348 268 */ 349 pj_status_t (*put_frame)( pjmedia_port *this_port,269 pj_status_t (*put_frame)(struct pjmedia_port *this_port, 350 270 const pjmedia_frame *frame); 351 271 … … 354 274 * This should only be called by #pjmedia_port_get_frame(). 355 275 */ 356 pj_status_t (*get_frame)( pjmedia_port *this_port,276 pj_status_t (*get_frame)(struct pjmedia_port *this_port, 357 277 pjmedia_frame *frame); 358 278 … … 360 280 * Called to destroy this port. 361 281 */ 362 pj_status_t (*on_destroy)(pjmedia_port *this_port); 363 }; 282 pj_status_t (*on_destroy)(struct pjmedia_port *this_port); 283 284 } pjmedia_port; 364 285 365 286 -
pjproject/trunk/pjmedia/include/pjmedia/resample.h
r1171 r2037 32 32 * @defgroup PJMEDIA_RESAMPLE Resampling Algorithm 33 33 * @ingroup PJMEDIA_FRAME_OP 34 * @brief Functions to alter frame's clock rate.34 * @brief Sample rate conversion algorithm 35 35 * @{ 36 * 36 37 * This section describes the base resampling functions. In addition to this, 37 38 * application can use the @ref PJMEDIA_RESAMPLE_PORT which provides … … 123 124 * @defgroup PJMEDIA_RESAMPLE_PORT Resample Port 124 125 * @ingroup PJMEDIA_PORT 125 * @brief Media port interface to change media stream's sampling rate.126 * @brief Audio sample rate conversion 126 127 * @{ 127 * This section describes media port abstractoin for @ref PJMEDIA_RESAMPLE. 128 * 129 * This section describes media port abstraction for @ref PJMEDIA_RESAMPLE. 128 130 */ 129 131 -
pjproject/trunk/pjmedia/include/pjmedia/rtcp.h
r2026 r2037 34 34 /** 35 35 * @defgroup PJMED_RTCP RTCP Session and Encapsulation (RFC 3550) 36 * @ingroup PJMEDIA_TRANSPORT 36 * @ingroup PJMEDIA_SESSION 37 * @brief RTCP format and session management 37 38 * @{ 39 * 38 40 * PJMEDIA implements subsets of RTCP specification (RFC 3550) to monitor 39 41 * the quality of the real-time media (audio/video) transmission. In -
pjproject/trunk/pjmedia/include/pjmedia/rtcp_xr.h
r1961 r2037 34 34 /** 35 35 * @defgroup PJMED_RTCP_XR RTCP Extended Report (XR) - RFC 3611 36 * @ingroup PJMEDIA_TRANSPORT 36 * @ingroup PJMEDIA_SESSION 37 * @brief RTCP XR extension to RTCP session 37 38 * @{ 39 * 38 40 * PJMEDIA implements subsets of RTCP XR specification (RFC 3611) to monitor 39 41 * the quality of the real-time media (audio/video) transmission. -
pjproject/trunk/pjmedia/include/pjmedia/rtp.h
r1798 r2037 33 33 /** 34 34 * @defgroup PJMED_RTP RTP Session and Encapsulation (RFC 3550) 35 * @ingroup PJMEDIA_TRANSPORT 35 * @ingroup PJMEDIA_SESSION 36 * @brief RTP format and session management 36 37 * @{ 37 38 * -
pjproject/trunk/pjmedia/include/pjmedia/sdp.h
r2032 r2037 30 30 * @defgroup PJMEDIA_SDP SDP Parsing and Data Structure 31 31 * @ingroup PJMEDIA_SESSION 32 * @brief SDP data structure representation and parsing 32 33 * @{ 33 34 * -
pjproject/trunk/pjmedia/include/pjmedia/session.h
r1998 r2037 33 33 34 34 /** 35 * @defgroup PJMEDIA_SESSION Sessions 36 * @ingroup PJMEDIA 37 */ 38 39 /** 40 * @defgroup PJMED_SES Media session 41 * @ingroup PJMEDIA_SESSION 35 * @defgroup PJMEDIA_SESSION Media Sessions 36 * @brief Management of media sessions 42 37 * @{ 43 38 * -
pjproject/trunk/pjmedia/include/pjmedia/sound.h
r2007 r2037 39 39 * hardware. Application normally uses the higher layer @ref 40 40 * PJMED_SND_PORT abstraction since it works seamlessly with 41 * @ref PJMEDIA_PORT _CONCEPT.41 * @ref PJMEDIA_PORT. 42 42 * 43 43 * The sound hardware abstraction basically runs <b>asychronously</b>, -
pjproject/trunk/pjmedia/include/pjmedia/splitcomb.h
r974 r2037 31 31 * @addtogroup PJMEDIA_SPLITCOMB Media channel splitter/combiner 32 32 * @ingroup PJMEDIA_PORT 33 * @brief Split and combine media channels in media streams 33 * @brief Split and combine multiple mono-channel media ports into 34 * a single multiple-channels media port 34 35 * @{ 36 * 35 37 * This section describes media port to split and combine media 36 38 * channels in the stream. -
pjproject/trunk/pjmedia/include/pjmedia/stereo.h
r1901 r2037 33 33 /** 34 34 * @defgroup PJMEDIA_STEREO Monochannel and multichannel audio frame converter 35 * @ingroup PJMEDIA_MISC 36 * @brief Interface for converting monochannel audio frame to multichannel 37 * audio frame and vice versa. 35 * @ingroup PJMEDIA_FRAME_OP 36 * @brief Mono - multi-channels audio conversion 38 37 * @{ 39 38 * -
pjproject/trunk/pjmedia/include/pjmedia/stream.h
r1945 r2037 40 40 * @defgroup PJMED_STRM Streams 41 41 * @ingroup PJMEDIA_PORT 42 * @brief Media port for communicating with remote peer via the network.42 * @brief Communicating with remote peer via the network 43 43 * @{ 44 44 * … … 51 51 * - decoding channel, which receives unidirectional media from remote. 52 52 * 53 * A media stream exports media port interface (see @ref PJMEDIA_PORT _CONCEPT)53 * A media stream exports media port interface (see @ref PJMEDIA_PORT) 54 54 * and application normally uses this interface to interconnect the stream 55 55 * to other PJMEDIA components. … … 62 62 * - one instance of RTCP session (#pjmedia_rtcp_session), 63 63 * - and a reference to media transport to send and receive packets 64 * to/from the network (see @ref PJMEDIA_TRANSPORT _H).64 * to/from the network (see @ref PJMEDIA_TRANSPORT). 65 65 * 66 66 * Streams are created by calling #pjmedia_stream_create(), specifying -
pjproject/trunk/pjmedia/include/pjmedia/tonegen.h
r2022 r2037 28 28 29 29 /** 30 * @defgroup PJMEDIA_MF_DTMF_TONE_GENERATOR Tone (sine, MF, DTMF) Generator30 * @defgroup PJMEDIA_MF_DTMF_TONE_GENERATOR Multi-frequency tone generator 31 31 * @ingroup PJMEDIA_PORT 32 * @brief Tone (sine, MF, DTMF) Generator32 * @brief Multi-frequency tone generator 33 33 * @{ 34 * 34 35 * This page describes tone generator media port. A tone generator can be 35 36 * used to generate a single frequency sine wave or dual frequency tones -
pjproject/trunk/pjmedia/include/pjmedia/transport.h
r2032 r2037 30 30 31 31 /** 32 * @defgroup PJMEDIA_TRANSPORT Media Transports 33 * @ingroup PJMEDIA 32 * @defgroup PJMEDIA_TRANSPORT Media Transport 34 33 * @brief Transports. 35 * Transport related components.36 */37 38 /**39 * @defgroup PJMEDIA_TRANSPORT_H Media Network Transport Interface40 * @ingroup PJMEDIA_TRANSPORT41 * @brief PJMEDIA object for sending/receiving media packets over the network42 34 * @{ 43 35 * The media transport (#pjmedia_transport) is the object to send and 44 36 * receive media packets over the network. The media transport interface 45 37 * allows the library to be extended to support different types of 46 * transports to send and receive packets. Currently only the standard 47 * UDP transport implementation is provided (see \ref PJMEDIA_TRANSPORT_UDP), 48 * but application designer may extend the library to support other types 49 * of custom transports such as RTP/RTCP over TCP, RTP/RTCP over HTTP, etc. 38 * transports to send and receive packets. 50 39 * 51 40 * The media transport is declared as #pjmedia_transport "class", which … … 63 52 64 53 65 * \section PJMEDIA_TRANSPORT_H_USING Using the Media Transport54 * \section PJMEDIA_TRANSPORT_H_USING Basic Media Transport Usage 66 55 * 67 56 * The media transport's life-cycle normally follows the following stages. … … 142 131 * 143 132 * 144 * \section PJMEDIA_TRANSPORT_H_EXT Media Transport Extended API133 * \section offer_answer Interaction with SDP Offer/Answer 145 134 146 Apart from the basic interface above, the media transport provides some 147 more APIs: 148 149 - pjmedia_transport_media_create() 150 \n 151 This API is provided to allow the media transport to add more information 152 in the SDP offer, before the offer is sent to remote. Additionally, for 153 answerer side, this callback allows the media transport to reject the 154 offer before this offer is processed by the SDP negotiator. 155 156 - pjmedia_transport_media_start() 157 \n 158 This API should be called after offer and answer are negotiated, and 159 both SDPs are available, and before the media is started. For answerer 160 side, this callback will be called before the answer is sent to remote, 161 to allow media transport to put additional info in the SDP. For 162 offerer side, this callback will be called after SDP answer is 163 received. In this callback, the media transport has the final chance 164 to negotiate/validate the offer and answer before media is really 165 started (and answer is sent, for answerer side). 166 167 - pjmedia_transport_media_stop() 168 \n 169 This API should be called when the media is stopped, to allow the media 170 transport to release its resources. 171 172 - pjmedia_transport_simulate_lost() 173 \n 174 This API can be used to instruct media transport to simulate packet lost 175 on a particular direction. 135 For basic UDP transport, the \ref PJMEDIA_TRANSPORT_H_USING above is 136 sufficient to use the media transport. However, more complex media 137 transports such as \ref PJMEDIA_TRANSPORT_SRTP and \ref 138 PJMEDIA_TRANSPORT_ICE requires closer interactions with SDP offer and 139 answer negotiation. 140 141 The media transports can interact with the SDP offer/answer via 142 these APIs: 143 - #pjmedia_transport_media_create(), to initialize the media transport 144 for new media session, 145 - #pjmedia_transport_encode_sdp(), to encode SDP offer or answer, 146 - #pjmedia_transport_media_start(), to activate the settings that 147 have been negotiated by SDP offer answer, and 148 - #pjmedia_transport_media_stop(), to deinitialize the media transport 149 and reset the transport to its idle state. 150 151 The usage of these API in the context of SDP offer answer will be 152 described below. 153 154 \subsection media_create Initializing Transport for New Session 155 156 Application must call #pjmedia_transport_media_create() before using 157 the transport for a new session. 158 159 \subsection creat_oa Creating SDP Offer and Answer 160 161 The #pjmedia_transport_encode_sdp() is used to put additional information 162 from the transport to the local SDP, before the SDP is sent and negotiated 163 with remote SDP. 164 165 When creating an offer, call #pjmedia_transport_encode_sdp() with 166 local SDP (and NULL as \a rem_sdp). The media transport will add the 167 relevant attributes in the local SDP. Application then gives the local 168 SDP to the invite session to be sent to remote agent. 169 170 When creating an answer, also call #pjmedia_transport_encode_sdp(), 171 but this time specify both local and remote SDP to the function. The 172 media transport will once again modify the local SDP and add relevant 173 attributes to the local SDP, if the appropriate attributes related to 174 the transport functionality are present in remote offer. The remote 175 SDP does not contain the relevant attributes, then the specific transport 176 functionality will not be activated for the session. 177 178 The #pjmedia_transport_encode_sdp() should also be called when application 179 sends subsequent SDP offer or answer. The media transport will encode 180 the appropriate attributes based on the state of the session. 181 182 \subsection media_start Offer/Answer Completion 183 184 Once both local and remote SDP have been negotiated by the 185 \ref PJMEDIA_SDP_NEG (normally this is part of PJSIP invite session), 186 application should give both local and remote SDP to 187 #pjmedia_transport_media_start() so that the settings are activated 188 for the session. This function should be called for both initial and 189 subsequent SDP negotiation. 190 191 \subsection media_stop Stopping Transport 192 193 Once session is stop application must call #pjmedia_transport_media_stop() 194 to deactivate the transport feature. Application may reuse the transport 195 for subsequent media session by repeating the #pjmedia_transport_media_create(), 196 #pjmedia_transport_encode_sdp(), #pjmedia_transport_media_start(), and 197 #pjmedia_transport_media_stop() above. 176 198 177 199 * \section PJMEDIA_TRANSPORT_H_IMPL Implementing Media Transport … … 199 221 * example, to send RTP/RTCP packets). 200 222 * 201 * For an example of media transport implementation, please refer to202 * <tt>transport_udp.h</tt> and <tt>transport_udp.c</tt> in PJMEDIA source 203 * distribution. 204 */ 223 */ 224 225 226 #include <pjmedia/sdp.h> 205 227 206 228 PJ_BEGIN_DECL 207 208 #include <pjmedia/sdp.h>209 229 210 230 … … 347 367 /** 348 368 * This function is called by application to start the transport 349 * based on SDP negotiation result.369 * based on local and remote SDP. 350 370 * 351 371 * Application should call #pjmedia_transport_media_start() instead of … … 414 434 415 435 /** 416 * This structure declares stream transport. A streamtransport is called436 * This structure declares media transport. A media transport is called 417 437 * by the stream to transmit a packet, and will notify stream when 418 438 * incoming packet is arrived. … … 638 658 639 659 /** 640 * Prepare the media transport for a new media session, and optionally 641 * encode the relevant information in the \a sdp_local. Application must 660 * Prepare the media transport for a new media session, Application must 642 661 * call this function before starting a new media session using this 643 662 * transport. … … 649 668 * @param sdp_pool Pool object to allocate memory related to SDP 650 669 * messaging components. 651 * @param option Option flags, from #pjmedia_tranport_media_option 652 * @param rem_sdp Remote SDP if it's available. 670 * @param options Option flags, from #pjmedia_tranport_media_option 671 * @param rem_sdp Remote SDP if local SDP is an answer, otherwise 672 * specify NULL if SDP is an offer. 653 673 * @param media_index Media index in SDP. 654 674 * … … 668 688 /** 669 689 * Put transport specific information into the SDP. This function can be 670 * called to create SDP offer or answer, depending whether \a rem_sdp671 * parameter is present.690 * called to put transport specific information in the initial or 691 * subsequent SDP offer or answer. 672 692 * 673 693 * This is just a simple wrapper which calls <tt>encode_sdp()</tt> member … … 679 699 * @param sdp The local SDP to be filled in information from the 680 700 * media transport. 681 * @param rem_sdp Remote SDP if it's available. 701 * @param rem_sdp Remote SDP if local SDP is an answer, otherwise 702 * specify NULL if SDP is an offer. 682 703 * @param media_index Media index in SDP. 683 704 * … … 695 716 696 717 /** 697 * Start the transport with regards to SDP negotiation result. 698 * This API should be called after offer and answer are negotiated, and 699 * both SDPs are available, and before the media is started. For answerer 700 * side, this callback will be called before the answer is sent to remote, 701 * to allow media transport to put additional info in the SDP. For 702 * offerer side, this callback will be called after SDP answer is 703 * received. In this callback, the media transport has the final chance 704 * to negotiate/validate the offer and answer before media is really 705 * started (and answer is sent, for answerer side). 718 * Start the transport session with the settings in both local and remote 719 * SDP. The actual work that is done by this function depends on the 720 * underlying transport type. For SRTP, this will activate the encryption 721 * and decryption based on the keys found the SDPs. For ICE, this will 722 * start ICE negotiation according to the information found in the SDPs. 706 723 * 707 724 * This is just a simple wrapper which calls <tt>media_start()</tt> member … … 710 727 * @param tp The media transport. 711 728 * @param tmp_pool The memory pool for allocating temporary objects. 712 * @param option The media transport option.713 729 * @param sdp_local Local SDP. 714 730 * @param sdp_remote Remote SDP. 715 * @param media_index Media index to start.731 * @param media_index Media index in the SDP. 716 732 * 717 733 * @return PJ_SUCCESS on success, or the appropriate error code. … … 729 745 730 746 /** 731 * Stop the transport. 732 * This API should be called when the media is stopped, to allow the media 733 * transport to release its resources. 747 * This API should be called when the session is stopped, to allow the media 748 * transport to release its resources used for the session. 734 749 * 735 750 * This is just a simple wrapper which calls <tt>media_stop()</tt> member -
pjproject/trunk/pjmedia/include/pjmedia/transport_ice.h
r1989 r2037 31 31 32 32 /** 33 * @defgroup PJMEDIA_TRANSPORT_ICE ICE Capable media transport33 * @defgroup PJMEDIA_TRANSPORT_ICE ICE Media Transport 34 34 * @ingroup PJMEDIA_TRANSPORT 35 * @brief I mplementation of media transport with ICE.35 * @brief Interactive Connectivity Establishment (ICE) transport 36 36 * @{ 37 * 38 * This describes the implementation of media transport using 39 * Interactive Connectivity Establishment (ICE) protocol. 37 40 */ 38 41 … … 58 61 } pjmedia_ice_cb; 59 62 63 60 64 /** 61 * Create the media transport. 65 * Create the Interactive Connectivity Establishment (ICE) media transport 66 * using the specified configuration. When STUN or TURN (or both) is used, 67 * the creation operation will complete asynchronously, when STUN resolution 68 * and TURN allocation completes. When the initialization completes, the 69 * \a on_ice_complete() complete will be called with \a op parameter equal 70 * to PJ_ICE_STRANS_OP_INIT. 71 * 72 * In addition, this transport will also notify the application about the 73 * result of ICE negotiation, also in \a on_ice_complete() callback. In this 74 * case the callback will be called with \a op parameter equal to 75 * PJ_ICE_STRANS_OP_NEGOTIATION. 76 * 77 * Other than this, application should use the \ref PJMEDIA_TRANSPORT API 78 * to manipulate this media transport. 62 79 * 63 80 * @param endpt The media endpoint. … … 66 83 * @param comp_cnt Number of components to be created. 67 84 * @param cfg Pointer to configuration settings. 68 * @param cb Optional callbacks.85 * @param cb Optional structure containing ICE specific callbacks. 69 86 * @param p_tp Pointer to receive the media transport instance. 70 87 * -
pjproject/trunk/pjmedia/include/pjmedia/transport_srtp.h
r1860 r2037 21 21 22 22 /** 23 * @file srtp.h23 * @file transport_srtp.h 24 24 * @brief Secure RTP (SRTP) transport. 25 25 */ … … 29 29 30 30 /** 31 * @defgroup PJMEDIA_TRANSPORT_SRTP Secure RTP (SRTP) Transport Adapter31 * @defgroup PJMEDIA_TRANSPORT_SRTP Secure RTP (SRTP) Media Transport 32 32 * @ingroup PJMEDIA_TRANSPORT 33 33 * @brief Media transport adapter to add SRTP feature to existing transports … … 35 35 * 36 36 * This module implements SRTP as described by RFC 3711, using RFC 4568 as 37 * key exchange method. It implements \ref PJMEDIA_TRANSPORT _Hto integrate37 * key exchange method. It implements \ref PJMEDIA_TRANSPORT to integrate 38 38 * with the rest of PJMEDIA framework. 39 39 * -
pjproject/trunk/pjmedia/include/pjmedia/transport_udp.h
r1735 r2037 30 30 31 31 /** 32 * @defgroup PJMEDIA_TRANSPORT_UDP UDP SocketTransport32 * @defgroup PJMEDIA_TRANSPORT_UDP UDP Media Transport 33 33 * @ingroup PJMEDIA_TRANSPORT 34 34 * @brief Implementation of media transport with UDP sockets. 35 35 * @{ 36 * 37 * The UDP media transport is the standard based media transport 38 * as described by RFC 3550/3551. It can be used to facilitate RTP/RTCP 39 * unicast or multicast communication. 36 40 */ 37 41 -
pjproject/trunk/pjmedia/include/pjmedia/types.h
r1827 r2037 29 29 #include <pj/string.h> /* pj_memcpy(), pj_memset() */ 30 30 31 32 /** 33 * @ defgroup PJMEDIA_FRAME_OP Frame Operations34 * @ingroup PJMEDIA35 */ 36 37 /** 38 * @defgroup PJMEDIA_ MISC Misc39 * @ ingroup PJMEDIA31 /** 32 * @defgroup PJMEDIA_PORT Media Ports Framework 33 * @brief Extensible framework for media terminations 34 */ 35 36 37 /** 38 * @defgroup PJMEDIA_FRAME_OP Audio Manipulation Algorithms 39 * @brief Algorithms to manipulate audio frames 40 40 */ 41 41 -
pjproject/trunk/pjmedia/include/pjmedia/wav_playlist.h
r974 r2037 34 34 * @defgroup PJMEDIA_WAV_PLAYLIST WAV File Play List 35 35 * @ingroup PJMEDIA_PORT 36 * @brief WAV File Playlist36 * @brief Audio playback of multiple WAV files 37 37 * @{ 38 * 38 39 * The WAV play list port enables application to play back multiple 39 40 * WAV files in a playlist. -
pjproject/trunk/pjmedia/include/pjmedia/wav_port.h
r1680 r2037 34 34 * @defgroup PJMEDIA_FILE_PLAY WAV File Player 35 35 * @ingroup PJMEDIA_PORT 36 * @brief WAV File Player36 * @brief Audio playback from WAV file 37 37 * @{ 38 38 */ … … 138 138 * @defgroup PJMEDIA_FILE_REC File Writer (Recorder) 139 139 * @ingroup PJMEDIA_PORT 140 * @brief WAV File Writer (Recorder)140 * @brief Audio capture/recording to WAV file 141 141 * @{ 142 142 */ -
pjproject/trunk/pjmedia/include/pjmedia/wave.h
r974 r2037 27 27 #include <pjmedia/types.h> 28 28 29 /** 30 * @defgroup PJMEDIA_FILE_FORMAT File Formats 31 * @brief Supported file formats 32 */ 33 29 34 30 35 /** 31 36 * @defgroup PJMEDIA_WAVE WAVE Header 32 * @ingroup PJMEDIA_MISC 37 * @ingroup PJMEDIA_FILE_FORMAT 38 * @brief Representation of RIFF/WAVE file format 33 39 * @{ 34 40 * 35 * Supports for simple/canonical Microsoft RIFF WAVE format. 41 * This the the low level representation of RIFF/WAVE file format. For 42 * higher abstraction, please see \ref PJMEDIA_FILE_PLAY and 43 * \ref PJMEDIA_FILE_REC. 36 44 */ 37 45 -
pjproject/trunk/pjmedia/include/pjmedia/wsola.h
r1844 r2037 29 29 * @defgroup PJMED_WSOLA Waveform Similarity Based Overlap-Add (WSOLA) 30 30 * @ingroup PJMEDIA_FRAME_OP 31 * @brief Time-scale modification to audio without affecting the pitch 31 32 * @{ 33 * 32 34 * This section describes Waveform Similarity Based Overlap-Add (WSOLA) 33 35 * implementation in PJMEDIA. The WSOLA API here can be used both to … … 35 37 * without altering the pitch, or as a mean for performing packet loss 36 38 * concealment (WSOLA). 39 * 40 * The WSOLA implementation is used by \ref PJMED_DELAYBUF and \ref PJMED_PLC. 37 41 */ 38 42 -
pjproject/trunk/pjnath/build/Makefile
r1988 r2037 79 79 80 80 doc: 81 cd .. && doxygen docs/doxygen.cfg 81 cd .. && rm -rf docs/html docs/latex && doxygen docs/doxygen.cfg 82 @if test ! "$(WWWDIR)" == ""; then \ 83 echo "Copying to $(WWWDIR)/pjnath/docs/html.." ; \ 84 cp -a ../docs/html/* $(WWWDIR)/pjnath/docs/html/ ; \ 85 fi 82 86 83 87 dep: depend -
pjproject/trunk/pjnath/docs
- Property svn:ignore
-
old new 1 1 html 2 2 latex 3 pjnath.tag
-
- Property svn:ignore
-
pjproject/trunk/pjnath/docs/doxygen.cfg
r1111 r2037 295 295 296 296 SHOW_USED_FILES = YES 297 TYPEDEF_HIDES_STRUCT = YES 297 298 298 299 #--------------------------------------------------------------------------- … … 871 872 # The TAGFILES tag can be used to specify one or more tagfiles. 872 873 873 TAGFILES = 874 TAGFILES = ../pjlib/docs/pjlib.tag=../../../pjlib/docs/html ../pjlib-util/docs/pjlib-util.tag=../../../pjlib-util/docs/html ../pjsip/docs/pjsip.tag=../../../pjsip/docs/html ../pjmedia/docs/pjmedia.tag=../../../pjmedia/docs/html 874 875 875 876 # When a file name is specified after GENERATE_TAGFILE, doxygen will create 876 877 # a tag file that is based on the input files it reads. 877 878 878 GENERATE_TAGFILE = 879 GENERATE_TAGFILE = ../pjnath/docs/pjnath.tag 879 880 880 881 # If the ALLEXTERNALS tag is set to YES all external classes will be listed … … 888 889 # be listed. 889 890 890 EXTERNAL_GROUPS = YES891 EXTERNAL_GROUPS = NO 891 892 892 893 # The PERL_PATH should be the absolute path and name of the perl script 893 894 # interpreter (i.e. the result of `which perl'). 894 895 895 PERL_PATH = /usr/bin/perl 896 #PERL_PATH = /usr/bin/perl 897 PERL_PATH = /c/Perl/bin/perl 896 898 897 899 #--------------------------------------------------------------------------- -
pjproject/trunk/pjnath/docs/footer.html
r1110 r2037 2 2 <hr><center> 3 3 PJNATH - Open Source NAT traversal helper library supporting STUN, TURN, and ICE<br> 4 (C)2001-200 7Benny Prijono4 (C)2001-2008 Benny Prijono 5 5 </center> 6 6 -
pjproject/trunk/pjnath/include/pjnath/stun_sock.h
r1988 r2037 38 38 * @ingroup PJNATH_STUN 39 39 * @{ 40 * 40 41 * The STUN transport provides asynchronous UDP like socket transport 41 42 * with the additional capability to query the publicly mapped transport … … 129 130 * set to PJ_STUN_SOCK_BINDING_OP \a status argument set to 130 131 * PJ_SUCCESS. 131 * 132 * - anytime when the transport has detected that the publicly mapped 132 133 * address has changed, this callback will be called with \a op 133 134 * argument set to PJ_STUN_SOCK_KEEP_ALIVE_OP and \a status … … 135 136 * application will get the resolved public address in the 136 137 * #pj_stun_sock_info structure. 137 * 138 * - for any terminal error (such as STUN time-out, DNS resolution 138 139 * failure, or keep-alive failure), this callback will be called 139 140 * with the \a status argument set to non-PJ_SUCCESS. -
pjproject/trunk/pjsip-apps/build/Makefile
r1201 r2037 51 51 52 52 doc: 53 cd .. && doxygen docs/doxygen.cfg54 53 55 54 dep: depend -
pjproject/trunk/pjsip/build/Makefile
r1959 r2037 110 110 111 111 doc: 112 cd .. && doxygen docs/doxygen.cfg 112 cd .. && rm -rf docs/html docs/latex && doxygen docs/doxygen.cfg 113 @if test ! "$(WWWDIR)" == ""; then \ 114 echo "Copying to $(WWWDIR)/pjsip/docs/html.." ; \ 115 cp -a ../docs/html/* $(WWWDIR)/pjsip/docs/html/ ; \ 116 fi 113 117 114 118 dep: depend -
pjproject/trunk/pjsip/docs
- Property svn:ignore
-
old new 2 2 latex 3 3 rtf 4 pjsip.tag
-
- Property svn:ignore
-
pjproject/trunk/pjsip/docs/doxygen.cfg
r1748 r2037 296 296 297 297 SHOW_USED_FILES = YES 298 TYPEDEF_HIDES_STRUCT = YES 298 299 299 300 #--------------------------------------------------------------------------- … … 870 871 # The TAGFILES tag can be used to specify one or more tagfiles. 871 872 872 TAGFILES = 873 TAGFILES = ../pjlib/docs/pjlib.tag=../../../pjlib/docs/html ../pjlib-util/docs/pjlib-util.tag=../../../pjlib-util/docs/html ../pjnath/docs/pjnath.tag=../../../pjnath/docs/html ../pjmedia/docs/pjmedia.tag=../../../pjmedia/docs/html 873 874 874 875 # When a file name is specified after GENERATE_TAGFILE, doxygen will create 875 876 # a tag file that is based on the input files it reads. 876 877 877 GENERATE_TAGFILE = 878 GENERATE_TAGFILE = docs/pjsip.tag 878 879 879 880 # If the ALLEXTERNALS tag is set to YES all external classes will be listed … … 887 888 # be listed. 888 889 889 EXTERNAL_GROUPS = YES890 EXTERNAL_GROUPS = NO 890 891 891 892 # The PERL_PATH should be the absolute path and name of the perl script 892 893 # interpreter (i.e. the result of `which perl'). 893 894 894 PERL_PATH = /usr/bin/perl 895 #PERL_PATH = /usr/bin/perl 896 PERL_PATH = /c/Perl/bin/perl 895 897 896 898 #--------------------------------------------------------------------------- -
pjproject/trunk/pjsip/docs/footer.html
r905 r2037 2 2 <hr><center> 3 3 PJSIP Open Source, high performance, small footprint, and very very portable SIP stack<br> 4 (C)2003-200 7Benny Prijono4 (C)2003-2008 Benny Prijono 5 5 </center> 6 6 <!--#include virtual="/footer.html" --> -
pjproject/trunk/pjsip/include/pjsip-ua/sip_inv.h
r1748 r2037 32 32 /** 33 33 * @defgroup PJSIP_HIGH_UA User Agent Library 34 * @ingroup PJSIP35 34 * @brief Mid-level User Agent Library. 36 35 * -
pjproject/trunk/pjsip/include/pjsip/sip_config.h
r1959 r2037 27 27 28 28 /** 29 * @defgroup PJSIP PJSIP Library Collection30 */31 32 /**33 29 * @defgroup PJSIP_CORE Core SIP Library 34 * @ingroup PJSIP35 30 * @brief The core framework from which all other SIP components depends on. 36 31 * -
pjproject/trunk/pjsip/include/pjsip/sip_transaction.h
r1748 r2037 34 34 /** 35 35 * @defgroup PJSIP_TRANSACT Transaction Layer 36 * @ingroup PJSIP37 36 * @brief Provides statefull message processing. 38 37 * -
pjproject/trunk/pjsip/include/pjsip/sip_ua_layer.h
r1594 r2037 31 31 /** 32 32 * @defgroup PJSIP_UA Base User Agent Layer/Common Dialog Layer 33 * @ingroup PJSIP34 33 * @brief Dialog management. 35 34 * -
pjproject/trunk/pjsip/include/pjsip/sip_util.h
r1816 r2037 583 583 /** 584 584 * @defgroup PJSIP_PROXY_CORE Core Proxy Layer 585 * @ingroup PJSIP586 585 * @brief Core proxy operations 587 586 * @{ -
pjproject/trunk/pjsip/include/pjsip_simple.h
r974 r2037 20 20 /** 21 21 * @defgroup PJSIP_SIMPLE Event and Presence Framework 22 * @ingroup PJSIP23 22 */ 24 23 -
pjproject/trunk/pjsip/include/pjsua-lib/pjsua.h
r2018 r2037 56 56 /** 57 57 * @defgroup PJSUA_LIB PJSUA API - High Level Softphone API for C/C++ and Python 58 * @ingroup PJSIP59 58 * @brief Very high level API for constructing SIP UA applications. 60 59 * @{ -
pjproject/trunk/third_party/build/Makefile
r1730 r2037 13 13 done 14 14 15 doc: 16
Note: See TracChangeset
for help on using the changeset viewer.