diff options
author | Nanang Izzuddin <nanang@teluu.com> | 2009-05-06 15:37:47 +0000 |
---|---|---|
committer | Nanang Izzuddin <nanang@teluu.com> | 2009-05-06 15:37:47 +0000 |
commit | afdc3f91f455e233cb1944cc593d25c7b47afb79 (patch) | |
tree | e764c15b95131d43d914dcaeecc9778ecfe50a8f | |
parent | 6050ee100f593585850bf1ead5b02cc1f565b155 (diff) |
Ticket #818:
- Added libresample.mmp
- Modified config_site_sample.h to enable resampling with small filter on Symbian platforms.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2676 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r-- | build.symbian/bld.inf | 3 | ||||
-rw-r--r-- | build.symbian/libresample.mmp | 25 | ||||
-rw-r--r-- | build.symbian/pjmedia.mmp | 1 | ||||
-rw-r--r-- | build.symbian/symbian_ua.mmp | 1 | ||||
-rw-r--r-- | pjlib/include/pj/config_site_sample.h | 19 | ||||
-rw-r--r-- | pjsip-apps/src/symbian_ua_gui/group/symbian_ua_gui.mmp | 1 | ||||
-rw-r--r-- | third_party/build/resample/config.h | 8 |
7 files changed, 52 insertions, 6 deletions
diff --git a/build.symbian/bld.inf b/build.symbian/bld.inf index 5df18000..f8dd3602 100644 --- a/build.symbian/bld.inf +++ b/build.symbian/bld.inf @@ -23,6 +23,9 @@ libspeexcodec.mmp libg7221codec.mmp libpassthroughcodec.mmp +/* Resample */ +libresample.mmp + /* Audio device. */ pjmedia_audiodev.mmp diff --git a/build.symbian/libresample.mmp b/build.symbian/libresample.mmp new file mode 100644 index 00000000..14987146 --- /dev/null +++ b/build.symbian/libresample.mmp @@ -0,0 +1,25 @@ +TARGET libresample.lib
+TARGETTYPE lib
+
+SOURCEPATH ..\third_party\resample\src
+
+//
+// GCCE optimization setting
+//
+OPTION GCCE -O2 -fno-unit-at-a-time
+
+MACRO PJ_M_I386=1
+MACRO PJ_SYMBIAN=1
+
+MACRO RESAMPLE_HAS_SMALL_FILTER=1
+MACRO RESAMPLE_HAS_LARGE_FILTER=0
+
+SOURCE resamplesubs.c
+
+SYSTEMINCLUDE ..\third_party\resample\include
+SYSTEMINCLUDE ..\third_party\build\resample
+
+SYSTEMINCLUDE \epoc32\include
+SYSTEMINCLUDE \epoc32\include\libc
+
+
diff --git a/build.symbian/pjmedia.mmp b/build.symbian/pjmedia.mmp index 6c48b6c4..a712f610 100644 --- a/build.symbian/pjmedia.mmp +++ b/build.symbian/pjmedia.mmp @@ -98,6 +98,7 @@ SYSTEMINCLUDE ..\pjnath\include SYSTEMINCLUDE ..\third_party\srtp\include SYSTEMINCLUDE ..\third_party\srtp\crypto\include SYSTEMINCLUDE ..\third_party\build\srtp +SYSTEMINCLUDE .. SYSTEMINCLUDE \epoc32\include SYSTEMINCLUDE \epoc32\include\libc diff --git a/build.symbian/symbian_ua.mmp b/build.symbian/symbian_ua.mmp index 96a2cc33..1473486d 100644 --- a/build.symbian/symbian_ua.mmp +++ b/build.symbian/symbian_ua.mmp @@ -44,6 +44,7 @@ STATICLIBRARY pjsdp.lib STATICLIBRARY pjnath.lib STATICLIBRARY pjlib_util.lib pjlib.lib STATICLIBRARY libsrtp.lib +STATICLIBRARY libresample.lib #if SND_HAS_APS LIBRARY APSSession2.lib diff --git a/pjlib/include/pj/config_site_sample.h b/pjlib/include/pj/config_site_sample.h index 9336221e..efcd419a 100644 --- a/pjlib/include/pj/config_site_sample.h +++ b/pjlib/include/pj/config_site_sample.h @@ -133,8 +133,17 @@ /* For CPU reason, disable speex AEC and use the echo suppressor. */ #define PJMEDIA_HAS_SPEEX_AEC 0 - /* Shouldn't use resampling for performance reason too. */ - #define PJMEDIA_RESAMPLE_IMP PJMEDIA_RESAMPLE_NONE + /* Previously, resampling is disabled due to performance reason and + * this condition prevented some 'light' wideband codecs (e.g: G722.1) + * to work along with narrowband codecs. Lately, some tests showed + * that 16kHz <-> 8kHz resampling using libresample small filter was + * affordable on ARM9 222 MHz, so here we decided to enable resampling. + * Note that it is important to make sure that libresample is created + * using small filter. For example PJSUA_DEFAULT_CODEC_QUALITY must + * be set to 3 or 4 so pjsua-lib will apply small filter resampling. + */ + //#define PJMEDIA_RESAMPLE_IMP PJMEDIA_RESAMPLE_NONE + #define PJMEDIA_RESAMPLE_IMP PJMEDIA_RESAMPLE_LIBRESAMPLE /* Use the lighter WSOLA implementation */ #define PJMEDIA_WSOLA_IMP PJMEDIA_WSOLA_IMP_WSOLA_LITE @@ -172,8 +181,10 @@ * PJSUA settings. */ - /* Default codec quality */ - #define PJSUA_DEFAULT_CODEC_QUALITY 5 + /* Default codec quality, previously was set to 5, however it is now + * set to 4 to make sure pjsua instantiates resampler with small filter. + */ + #define PJSUA_DEFAULT_CODEC_QUALITY 4 /* Set maximum number of dialog/transaction/calls to minimum */ #define PJSIP_MAX_TSX_COUNT 31 diff --git a/pjsip-apps/src/symbian_ua_gui/group/symbian_ua_gui.mmp b/pjsip-apps/src/symbian_ua_gui/group/symbian_ua_gui.mmp index 7d4466e6..1c508d02 100644 --- a/pjsip-apps/src/symbian_ua_gui/group/symbian_ua_gui.mmp +++ b/pjsip-apps/src/symbian_ua_gui/group/symbian_ua_gui.mmp @@ -45,6 +45,7 @@ STATICLIBRARY libsrtp.lib STATICLIBRARY libgsmcodec.lib
STATICLIBRARY libspeexcodec.lib
STATICLIBRARY libg7221codec.lib
+STATICLIBRARY libresample.lib
#if SND_USE_NULL
diff --git a/third_party/build/resample/config.h b/third_party/build/resample/config.h index fde89374..634fb6ad 100644 --- a/third_party/build/resample/config.h +++ b/third_party/build/resample/config.h @@ -1,3 +1,7 @@ -#define RESAMPLE_HAS_SMALL_FILTER 1 -#define RESAMPLE_HAS_LARGE_FILTER 1 +#ifndef RESAMPLE_HAS_SMALL_FILTER +# define RESAMPLE_HAS_SMALL_FILTER 1 +#endif +#ifndef RESAMPLE_HAS_LARGE_FILTER +# define RESAMPLE_HAS_LARGE_FILTER 1 +#endif |