mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-04-21 14:58:29 +00:00
git-svn-id: svn+ssh://svn.savannah.nongnu.org/linphone/trunk@1 3f6dc0c8-ddfe-455d-9043-3cd528dc4637
187 lines
5.2 KiB
Text
187 lines
5.2 KiB
Text
/**
|
|
* @mainpage
|
|
* Project Website: http://savannah.gnu.org/projects/linphone
|
|
*
|
|
* @verbinclude README
|
|
*
|
|
*/
|
|
|
|
/**
|
|
* @defgroup mediastreamer2 mediastreamer2 library - a modular sound and video processing and streaming
|
|
* @brief mediastreamer2 Version @MEDIASTREAMER_VERSION@
|
|
*
|
|
* @see http://savannah.gnu.org/projects/linphone
|
|
*
|
|
* @section what_is_it What is mediastreamer2
|
|
*
|
|
* mediastreamer2 is a powerful engine to make audio and video streams.
|
|
* mediastreamer2 is GPL (COPYING). Please understand the licencing details
|
|
* before using it!
|
|
*
|
|
* For any use of this library beyond the rights granted to you by the
|
|
* GPL license, please contact antisip at <jack@atosc.org>.
|
|
*
|
|
* @section definitions Some definitions.
|
|
*
|
|
* Filter:
|
|
* A filter is a mediastreamer2 component that process data. A filter
|
|
* have 0 or several INPUT pins and 0 or several OUTPUT pins.
|
|
* Here is a list of possible use of filters:
|
|
* <PRE>
|
|
* capture audio or video data.
|
|
* play audio or display video data.
|
|
* send or receive RTP data.
|
|
* encode or decode audio or video data.
|
|
* transform (resize video, resample audio...) data.
|
|
* duplicate any kind of data.
|
|
* mix audio/video data.
|
|
* </PRE>
|
|
* Graph:
|
|
* A graph is a manager of filters connected together. It will transfer
|
|
* data from OUTPUT pins to INPUT pins and will be responsible for
|
|
* running filters.
|
|
*
|
|
* @section when_do_i_use_mediastreamer2 How do I use mediastremer2?
|
|
*
|
|
* Mediastreamer2 can be used for a lot of different purpose. The primary
|
|
* use is to manage RTP audio and video session. You will need to use
|
|
* the API to build filters, link them together in a graph. Then the
|
|
* ticker API will help you to start and stop the graph.
|
|
*
|
|
* Basic graph sample:
|
|
*
|
|
* <PRE>
|
|
* AUDIO CAPTURE --> ENCODE --> RTP
|
|
* FILTER --> FILTER --> FILTER
|
|
* </PRE>
|
|
*
|
|
*
|
|
* The above graph is composed of three filters. The first one has no input:
|
|
* tt captures audio data directly from the drivers and provide it to the
|
|
* OUTPUT pin. This data is sent to the INPUT pin of the encoder which of
|
|
* course encode the data and send it to its OUTPUT pin. This pin is connected
|
|
* to the INPUT pin of a filter capable to build and send RTP packets.
|
|
*
|
|
* The modular design helps you to encode in many different format just by
|
|
* replacing the "ENCODE FILTER" with another one. mediastreamer2 contains
|
|
* internal support for g711u, g711a, speex and gsm. You can add new encoding
|
|
* format by implementing new filters which can then be dynamically loaded.
|
|
*
|
|
* @section list_of_filters List of existing filters.
|
|
*
|
|
* mediastreamer2 already provides a large set of filters. Here is a complete
|
|
* list of built-in filters.
|
|
*
|
|
* <PRE>
|
|
* All supported platforms:
|
|
* RTP receiver
|
|
* RTP sender
|
|
* tee (duplicate data)
|
|
*
|
|
* Audio Filters:
|
|
* audio capture
|
|
* audio playback
|
|
* mme API (windows)
|
|
* alsa API (linux)
|
|
* oss API (linux)
|
|
* arts API (linux)
|
|
* portaudio API (macosx and other)
|
|
* macsnd API (native macosx API -please do more testing...-)
|
|
* several audio encoder/decoder: PCMU, PCMA, speex, gsm
|
|
* wav file reader.
|
|
* wav file recorder.
|
|
* resampler.
|
|
* conference bridge.
|
|
* volume analyser.
|
|
* acoustic echo canceller.
|
|
* dtmf generation filter.
|
|
*
|
|
* Video Filters:
|
|
* video capture
|
|
* v4w API (windows)
|
|
* directshow API (windows)
|
|
* video4linux API (linux)
|
|
* video display
|
|
* v4w API (windows)
|
|
* SDL API (linux, macosx...)
|
|
* several audio encoder/decoder: H263-1998, MP4V-ES, theora
|
|
* image resizer.
|
|
* format converter. (RBG24, I420...)
|
|
*
|
|
* Plugin Filters:
|
|
* iLBC decoder/encoder.
|
|
* </PRE>
|
|
*
|
|
* @section what_thanks Thanks
|
|
*
|
|
* Thanks to all the contributors and to all bug reporters.
|
|
* Enjoy mediastreamer2!
|
|
*
|
|
*/
|
|
|
|
/**
|
|
* @defgroup mediastreamer2_api Mediastreamer2 API
|
|
* @brief All API to manage mediastreamer2 library.
|
|
*
|
|
*/
|
|
|
|
/**
|
|
* @defgroup mediastreamer2_init Init API - manage mediastreamer2 library.
|
|
* @ingroup mediastreamer2_api
|
|
* @brief Init API to manage mediastreamer2 library.
|
|
*
|
|
* This file provide the API needed to initialize
|
|
* and reset the mediastreamer2 library.
|
|
*/
|
|
|
|
/**
|
|
* @defgroup mediastreamer2_soundcard Sound Card API - manage audio capture/play filters.
|
|
* @ingroup mediastreamer2_api
|
|
* @brief Sound Card API to manage audio capture/play filters.
|
|
*
|
|
* This file provide the API needed to manage
|
|
* soundcard filters.
|
|
*/
|
|
|
|
/**
|
|
* @defgroup mediastreamer2_filter Filter API - manage mediastreamer2 filters.
|
|
* @ingroup mediastreamer2_api
|
|
* @brief Filter API to manage mediastreamer2 filters.
|
|
*
|
|
* This file provide the API needed to create, link,
|
|
* unlink, find and destroy filter.
|
|
*
|
|
* It also provides definitions if you wish to implement
|
|
* your own filters.
|
|
*/
|
|
|
|
/**
|
|
* @defgroup mediastreamer2_ticker Ticker API - manage mediastreamer2 graphs.
|
|
* @ingroup mediastreamer2_api
|
|
* @brief Ticker API to manage mediastreamer2 graphs.
|
|
*
|
|
* This file provide the API needed to create, start
|
|
* and stop a graph.
|
|
*/
|
|
|
|
|
|
/**
|
|
* @page mediastreamer2_readme README
|
|
* @verbinclude README
|
|
*/
|
|
|
|
/**
|
|
* @page mediastreamer2_install INSTALL
|
|
* @verbinclude INSTALL
|
|
*/
|
|
|
|
/**
|
|
* @page mediastreamer2_license COPYING
|
|
* @verbinclude COPYING
|
|
*/
|
|
|
|
/**
|
|
* @page mediastreamer2_changelog ChangeLog
|
|
* @verbinclude ChangeLog
|
|
*/
|
|
|