⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 doxygen.h

📁 一个开源SIP协议栈
💻 H
📖 第 1 页 / 共 2 页
字号:
/* $Id: doxygen.h 974 2007-02-19 01:13:53Z bennylp $ */
/* 
 * Copyright (C)2003-2007 Benny Prijono <benny@prijono.org>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
 */
#ifndef __PJMEDIA_DOXYGEN_H__
#define __PJMEDIA_DOXYGEN_H__

/**
 * @file doxygen.h
 * @brief Doxygen's mainpage.
 */

/**
 * @defgroup PJMEDIA PJMEDIA Library
 */

/*////////////////////////////////////////////////////////////////////////// */
/*
	INTRODUCTION PAGE
 */

/**
 * @mainpage PJMEDIA and PJMEDIA-CODEC
 *
 * \n
 * @section intro_sec PJMEDIA
 *
 * PJMEDIA is a rather complete media stack, distributed under Open Source/GPL
 * terms, and featuring small footprint and good extensibility and portability.
 *
 * Please click the <A HREF="modules.htm"><b>Modules</b></A> link on top
 * of this page to get the complete features currently present in PJMEDIA.
 *
 * Also please read the documentation about @ref PJMEDIA_PORT_CONCEPT,
 * which is a major concept that is used for implementing many objects in 
 * the library.
 *
 * \n
 * @section pjmedia_codec_sec PJMEDIA-CODEC
 *
 * PJMEDIA-CODEC is a static library containing various codec implementations,
 * wrapped into PJMEDIA codec framework. The static library is designed as
 * such so that only codecs that are explicitly initialized are linked with 
 * the application, therefore keeping the application size in control.
 *
 * Please see @ref pjmedia_codec_page on how to use the codec in 
 * PJMEDIA-CODEC.
 *
 * \n
 * @section main_page_get_start_sec Getting Started
 *
 * For those who likes to just get start coding, the @ref getting_started_pjmedia
 * may be a good place to start.
 *
 * The @ref page_pjmedia_samples page describes some examples that are available
 * in the source tree.
 *
 *
 * \n
 * @section pjmedia_lic Copying and Acknowledgements
 *
 * PJMEDIA and PJMEDIA-CODEC contains various parts obtained from other
 * places, and each of these would have their own licensing terms.
 * Please see @ref lic_stuffs page for details.
 *
 */

/**
 * @page pjmed_keywords_page Features Index
 * @section pjmed_keywords Features Index
 *
 * <b>PJMEDIA features</b>, in no particular order (click to go to the relevant
 * documentation): 
 * @ref lic_stuffs "Open Source media stack", 
 * @ref PJMEDIA_CLOCK, 
 * @ref PJMEDIA_CODEC,
 * @ref enc_dec_codec,
 * @ref plc_codec, 
 * @ref PJMEDIA_CONF, 
 * @ref PJMED_G711 "G711/G.711 (PCMA/PCMU) codec with PLC",
 * @ref PJMED_GSM "GSM codec with PLC", 
 * @ref PJMED_L16 "linear codecs (multiple clockrate, stereo support, etc)",
 * @ref PJMED_SPEEX "Speex codec (narrowband, wideband, ultra-wideband)",
 * @ref PJMED_JBUF "portable, adaptive jitter buffer with PLC support",
 * @ref PJMEDIA_MASTER_PORT, 
 * @ref PJMEDIA_NULL_PORT,
 * @ref PJMED_PLC, 
 * @ref PJMEDIA_PORT_CONCEPT, 
 * @ref PJMEDIA_PORT_CLOCK,
 * @ref PJMEDIA_RESAMPLE "high quality resampling/sampling rate conversion",
 * @ref PJMEDIA_RESAMPLE_PORT, 
 * @ref PJMED_RTCP "small footprint, portable RTCP with media quality statistics",
 * @ref PJMED_RTP "very small footprint, modular, DSP ready RTP implementation", 
 * @ref PJMEDIA_SDP "modular, small footprint, open source SDP implementation", 
 * @ref PJMEDIA_SDP_NEG "modular SDP negotiation/negotiator abstraction",
 * @ref PJMED_SES "media session abstraction",
 * @ref PJMEDIA_SILENCEDET,
 * @ref PJMED_SND "portable audio/sound hardware/device abstraction for Linux, Unix, Windows, DirectSound, WinCE, Windows Mobile, MacOS X, etc.", 
 * @ref PJMED_SND_PORT,
 * @ref PJMEDIA_SPLITCOMB, 
 * @ref PJMED_STRM "remote stream", 
 * @ref PJMEDIA_TRANSPORT_H "custom media transport abstraction",
 * @ref PJMEDIA_TRANSPORT_UDP, 
 * @ref PJMEDIA_FILE_PLAY "WAV/WAVE file playback", 
 * @ref PJMEDIA_FILE_REC "WAV/WAVE file recording/capture",
 * @ref PJMEDIA_WAVE "portable WAV/WAVE header manipulation"
 */


/**
 * @page pjmedia_codec_page Using PJMEDIA-CODEC
 *
 * Before application can use a codec, it needs to initialize and register
 * the codec to the codec manager. This is accomplished with using
 * constructs like the following:
 *
 \code
    #include <pjmedia.h>
    #include <pjmedia-codec.h>

    init_codecs( pjmedia_endpt *med_ept )
    {
	// Register G.711 codecs
	pjmedia_codec_g711_init(med_ept);

	// Register GSM codec.
	pjmedia_codec_gsm_init(med_ept);

	// Register Speex codecs.
	// With the default flag, this will register three codecs:
	// speex/8000, speex/16000, and speex/32000
	pjmedia_codec_speex_init(med_ept, 0, 0, 0);
    }
 \endcode
 *
 * After the codec is registered, application may create the encoder/decoder
 * instance, by using the API as documented in @ref PJMEDIA_CODEC.
 */



/**
 * @page lic_stuffs Copying and Acknowledgements
 * @section lic_stuff Copying and Acknowledgements
 * @subsection pjmedia_about_subsec About PJMEDIA
 *
 * PJMEDIA is distributed under GPL terms (other licensing schemes may be 
 * arranged):
 \verbatim
    Copyright (C) 2003-2007 Benny Prijono <benny@prijono.org>

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
 \endverbatim
 *
 *
 * @section other_acks Acknowlegments
 * @subsection portaudio_subsec PortAudio
 *
 * PortAudio is supported as one of the sound device backend, and
 * is used by default on Linux/Unix and MacOS X target.
 * 
 * Please visit <A HREF="http://www.portaudio.com">http://www.portaudio.com</A>
 * for more info.
 *
 * PortAudio is distributed with the following condition.
 \verbatim
    Based on the Open Source API proposed by Ross Bencina
    Copyright (c) 1999-2000 Phil Burk

    Permission is hereby granted, free of charge, to any person obtaining
    a copy of this software and associated documentation files
    (the "Software"), to deal in the Software without restriction,
    including without limitation the rights to use, copy, modify, merge,
    publish, distribute, sublicense, and/or sell copies of the Software,
    and to permit persons to whom the Software is furnished to do so,
    subject to the following conditions:

    The above copyright notice and this permission notice shall be
    included in all copies or substantial portions of the Software.
 \endverbatim
 *
 *
 * @subsection resample_ack Resample
 *
 * PJMEDIA uses <tt>resample-1.8.tar.gz</tt> from 
 * <A HREF="http://www-ccrma.stanford.edu/~jos/resample/">
 * Digital Audio Resampling Home Page</A>. This library is distibuted
 * on LGPL terms.
 *
 * Some excerpts from the original source codes:
 \verbatim
    HISTORY

    The first version of this software was written by Julius O. Smith III
    <jos@ccrma.stanford.edu> at CCRMA <http://www-ccrma.stanford.edu> in
    1981.  It was called SRCONV and was written in SAIL for PDP-10
    compatible machines.  The algorithm was first published in

    Smith, Julius O. and Phil Gossett. ``A Flexible Sampling-Rate
    Conversion Method,'' Proceedings (2): 19.4.1-19.4.4, IEEE Conference
    on Acoustics, Speech, and Signal Processing, San Diego, March 1984.

    An expanded tutorial based on this paper is available at the Digital
    Audio Resampling Home Page given above.

    Circa 1988, the SRCONV program was translated from SAIL to C by
    Christopher Lee Fraley working with Roger Dannenberg at CMU.

    Since then, the C version has been maintained by jos.

    Sndlib support was added 6/99 by John Gibson <jgg9c@virginia.edu>.

    The resample program is free software distributed in accordance
    with the Lesser GNU Public License (LGPL).  There is NO warranty; not
    even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 \endverbatim
 *
 * @subsection jb_ack Adaptive Jitter Buffer
 *
 * The PJMEDIA jitter buffer is based on implementation kindly donated
 * by <A HREF="http://www.switchlab.com">Switchlab, Ltd.</A>, and is
 * distributed under PJMEDIA licensing terms.
 *
 *
 * @subsection silence_det_ack Adaptive Silence Detector
 *
 * The adaptive silence detector was based on silence detector 
 * implementation in <A HREF="http://www.openh323.org">Open H323</A> 
 * project. I couldn't find the source code anymore, but generally
 * Open H323 files are distributed under MPL terms and has the
 * following excerpts:
 \verbatim
    Open H323 Library

    Copyright (c) 1998-2000 Equivalence Pty. Ltd.

    The contents of this file are subject to the Mozilla Public License
    Version 1.0 (the "License"); you may not use this file except in
    compliance with the License. You may obtain a copy of the License at

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -