余尚辉 847e0a340c feat:init 2 сар өмнө
..
README.txt 847e0a340c feat:init 2 сар өмнө
Static.msvc 847e0a340c feat:init 2 сар өмнө
libsamplerate_static.dsp 847e0a340c feat:init 2 сар өмнө

README.txt


HOW TO ACTIVATE LIBSAMPLERATE
(a.k.a SRC/Secret Rabbit Code)
AS PJMEDIA'S SAMPLE RATE CONVERSION BACKEND

by
Benny Prijono
PJSIP

Background
----------
Secret Rabbit Code (aka libsamplerate) is a sample rate conversion
library, available from http://www.mega-nerd.com/SRC/index.html.
It is licensed under the 2-clause BSD license (initially it was
licensed under dual license, GPL and proprietary).


Supported Platforms
-------------------
libsamplerate is available for Win32 with Visual Studio and the
Makefile based targets (such as Linux, MacOS X, *nix, etc.).

It's not supported for WinCE/Windows Mobile and Symbian since it is
a floating point based implementation.


Installation
------------
- Download libsamplerate from http://www.mega-nerd.com/SRC/index.html

- Untar libsamplerate-0.1.2.tar.gz into third_party directory
cd third_party
tar xzf libsamplerate-0.1.2.tar.gz

- Rename libsamplerate-0.1.2 directory name to libsamplerate
On Windows:
ren libsamplerate-0.1.2 libsamplerate

On Linux/Unix/MacOS X:
mv libsamplerate-0.1.2 libsamplerate


Visual Studio Build
-------------------
For Visual Studio projects, only static linkage is supported
by PJMEDIA build system. If dynamic linking is desired, edit
pjmedia/src/pjmedia/resample_libresample.c to prevent it from
linking with the static library, and configure your project
to link with libsamplerate DLL library.

To build libresample static library with Visual Studio:

- Open third_party/build/samplerate/libsamplerate_static.dsp
- Build the project for both Debug and Release build


libresample dynamic library can be produced by following the
instructions in libresample source directory.


Makefile build
--------------
- Build and install libsamplerate (configure && make && make install).
Please follow the instructions in libsamplerate documentation.

- Re-run PJSIP's "configure" script with this option:

./configure --enable-libsamplerate

this will detect the presence of libsamplerate library and add it
to the input library list.


Enabling libsamplerate for PJMEDIA's resample
---------------------------------------------
For both Visual Studio and Makefile based build system, add this in
config_site.h:

#define PJMEDIA_RESAMPLE_IMP PJMEDIA_RESAMPLE_LIBSAMPLERATE


Limitations
-----------
Sample rate 22050 Hz is only supported with 20ms ptime, and sample rate 11025 Hz is only supported with 40ms ptime. This is the limitation of PJMEDIA rather than libsamplerate.