1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- 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.
|