diff options
author | conrad <conrad@0101bb08-14d6-0310-b084-bc0e0c8e3800> | 2004-08-13 11:39:02 +0400 |
---|---|---|
committer | conrad <conrad@0101bb08-14d6-0310-b084-bc0e0c8e3800> | 2004-08-13 11:39:02 +0400 |
commit | 2c5e410a95ca18b0e5f7e5c5f12ca721c9d35abb (patch) | |
tree | 001befae25f1e6719dc366e94a815105ae068463 /README.symbian | |
parent | 0e3cdc5b2591b8626a508c5ef4c2b8a2e213ebda (diff) |
remove swathes of complete bollocks from README.symbian
git-svn-id: http://svn.xiph.org/trunk/speex@7559 0101bb08-14d6-0310-b084-bc0e0c8e3800
Diffstat (limited to 'README.symbian')
-rw-r--r-- | README.symbian | 96 |
1 files changed, 9 insertions, 87 deletions
diff --git a/README.symbian b/README.symbian index 2f8c285..8bb075f 100644 --- a/README.symbian +++ b/README.symbian @@ -5,37 +5,6 @@ Conrad Parker and Colin Ward, CSIRO Australia, July 2004 Introduction ------------ -Some minor modifications to libspeex and applications using the libspeex API -are required due to the following limitation imposed on DLLs in Symbian OS: - - The Symbian OS architecture does not allow DLLs to have a data - segment (initialised or uninitialised). - - -- Coding Idioms for Symbian OS, Oct 2002 [1] - -This file (README.symbian) outlines how to build libspeex for Symbian OS, -and how to develop applications using the modified libspeex API. - -Note that these modifications have been implemented in a portable manner so -that they may also be used on other platforms with similar restrictions, -and may be safely tested on more forgiving platforms such as Unix/Linux. - - -libspeex build modifications ----------------------------- - -The modifications required for libspeex on Symbian OS are fully contained in -the file libspeex/modes_noglobals.c. This file should be built instead of -libspeex/modes.c. - -Additionally, the header file include/speex/speex_noglobals.h should be -installed into the system include directory, along with the other -speex_* headers. - -When building in a GNU environment, this behaviour can be configured by: - - ./configure --disable-global-pointers - The symbian/ directory contains the following files for Symbian's abuild tool: bld.inf Component definition file @@ -43,78 +12,31 @@ The symbian/ directory contains the following files for Symbian's abuild tool: config.h Configuration options for both emulator and device builds -Developing applications for libspeex modified for Symbian OS ------------------------------------------------------------- - -The only part of the libspeex API which has been modified for Symbian OS, -and thus affects user code which links against libspeex, is the removal of -statically defined SpeexMode structures: speex_nb_mode, speex_wb_mode, -speex_uwb_mode, and the array speex_mode_list[]. All other aspects of -application development using the libspeex API remain unchanged. - - - 1. applications must additionally include the header: +Developing applications for libspeex for Symbian OS +--------------------------------------------------- -+ #include <speex_noglobals.h> - - - 2. any references to the statically defined SpeexMode structures must be - replaced by a call to a constructor for that mode; and the - constructed mode must later be free'd appropriately. + Any references to the statically defined SpeexMode structures must be + replaced by a call to a speex_lib_get_mode () for that mode. * References to the statically defined array speex_mode_list[modeID] - must be replaced by a call to speex_mode_new (modeID): + must be replaced by a call to speex_lib_get_mode (modeID): - mode = speex_mode_list[modeID]; -+ mode = speex_mode_new (modeID); - - and later free'd: - -+ speex_mode_destroy (mode, modeID); ++ mode = speex_lib_get_mode (modeID); * References to the statically defined mode structures must be replaced: SpeexMode * mode1, * mode2, * mode3; - mode1 = &speex_nb_mode; -+ mode1 = speex_mode_new (SPEEX_MODEID_NB); ++ mode1 = speex_lib_get_mode (SPEEX_MODEID_NB); - mode2 = &speex_wb_mode; -+ mode2 = speex_mode_new (SPEEX_MODEID_WB); ++ mode2 = speex_lib_get_mode (SPEEX_MODEID_WB); - mode3 = &speex_uwb_mode; -+ mode3 = speex_mode_new (SPEEX_MODEID_UWB); - - Constructed modes must be destroyed after use: - -+ speex_mode_destroy (mode1); -+ speex_mode_destroy (mode2); -+ speex_mode_destroy (mode3); ++ mode3 = speex_lib_get_mode (SPEEX_MODEID_UWB); Note that the constants SPEEX_MODEID_NB, SPEEX_MODEID_WB and SPEEX_MODEID_UWB were introduced in libspeex 1.1.6, and are defined in <speex/speex.h>. - - 3. It is fairly easy to conditionally build an application for either - usage of the libspeex API. For example using GNU Autoconf, you can - check for the existence of a symbol such as speex_mode_new in - configure.ac. The following example is from libfishsound[2]: - - dnl Test for libspeex SPEEX_DISABLE_GLOBAL_POINTERS API - dnl If so, we need to use a different API to access available modes, - dnl and free them after use. - AC_CHECK_LIB(speex, speex_mode_new, DISABLE_GLOBAL_POINTERS="yes", - DISABLE_GLOBAL_POINTERS="no") - if test "x$DISABLE_GLOBAL_POINTERS" = xyes ; then - AC_DEFINE(SPEEX_DISABLE_GLOBAL_POINTERS, , - [Define if libspeex uses SPEEX_DISABLE_GLOBAL_POINTERS API]) - fi - - -References ----------- - -[1] http://www.symbian.com/developer/techlib/papers/coding_idioms/2002_10_09_codingSymbianOS.pdf - -[2] http://www.annodex.net/software/libfishsound/ - |