From ff0c5bfdbf5e8db00256c01995b570ac0a9fbb05 Mon Sep 17 00:00:00 2001 From: Ehsan Akhgari <ehsan@mozilla.com> Date: Tue, 4 Dec 2012 19:59:05 -0500 Subject: [PATCH] Bug 818327 - Make libspeex's resampler usable; r=padenot DONTBUILD since this is NPOTB --- media/libspeex_resampler/src/Makefile.in | 2 + .../src/speex_config_types.h | 11 ++ media/libspeex_resampler/src/speex_types.h | 130 ++++++++++++++++++ media/libspeex_resampler/update.sh | 2 + 4 files changed, 145 insertions(+) create mode 100644 media/libspeex_resampler/src/speex_config_types.h create mode 100644 media/libspeex_resampler/src/speex_types.h diff --git a/media/libspeex_resampler/src/Makefile.in b/media/libspeex_resampler/src/Makefile.in index fe6046b4426f..2d80d5d97b3a 100644 --- a/media/libspeex_resampler/src/Makefile.in +++ b/media/libspeex_resampler/src/Makefile.in @@ -34,7 +34,9 @@ CSRCS = \ $(NULL) EXPORTS_speex = \ + speex_config_types.h \ speex_resampler.h \ + speex_types.h \ $(NULL) include $(topsrcdir)/config/rules.mk diff --git a/media/libspeex_resampler/src/speex_config_types.h b/media/libspeex_resampler/src/speex_config_types.h new file mode 100644 index 000000000000..095257b2f739 --- /dev/null +++ b/media/libspeex_resampler/src/speex_config_types.h @@ -0,0 +1,11 @@ +#ifndef __SPEEX_TYPES_H__ +#define __SPEEX_TYPES_H__ + +/* these are filled in by configure */ +typedef uint16_t spx_int16_t; +typedef unsigned uint16_t spx_uint16_t; +typedef uint32_t spx_int32_t; +typedef unsigned uint32_t spx_uint32_t; + +#endif + diff --git a/media/libspeex_resampler/src/speex_types.h b/media/libspeex_resampler/src/speex_types.h new file mode 100644 index 000000000000..59bb5b435f6b --- /dev/null +++ b/media/libspeex_resampler/src/speex_types.h @@ -0,0 +1,130 @@ +/* speex_types.h taken from libogg */ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * + * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * + * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 * + * by the Xiph.Org Foundation http://www.xiph.org/ * + * * + ******************************************************************** + + function: #ifdef jail to whip a few platforms into the UNIX ideal. + last mod: $Id: os_types.h 7524 2004-08-11 04:20:36Z conrad $ + + ********************************************************************/ +/** + @file speex_types.h + @brief Speex types +*/ +#ifndef _SPEEX_TYPES_H +#define _SPEEX_TYPES_H + +#if defined(_WIN32) + +# if defined(__CYGWIN__) +# include <_G_config.h> + typedef _G_int32_t spx_int32_t; + typedef _G_uint32_t spx_uint32_t; + typedef _G_int16_t spx_int16_t; + typedef _G_uint16_t spx_uint16_t; +# elif defined(__MINGW32__) + typedef short spx_int16_t; + typedef unsigned short spx_uint16_t; + typedef int spx_int32_t; + typedef unsigned int spx_uint32_t; +# elif defined(__MWERKS__) + typedef int spx_int32_t; + typedef unsigned int spx_uint32_t; + typedef short spx_int16_t; + typedef unsigned short spx_uint16_t; +# else + /* MSVC/Borland */ + typedef __int32 spx_int32_t; + typedef unsigned __int32 spx_uint32_t; + typedef __int16 spx_int16_t; + typedef unsigned __int16 spx_uint16_t; +# endif + +#elif defined(__MACOS__) + +# include <sys/types.h> + typedef SInt16 spx_int16_t; + typedef UInt16 spx_uint16_t; + typedef SInt32 spx_int32_t; + typedef UInt32 spx_uint32_t; + +#elif (defined(__APPLE__) && defined(__MACH__)) /* MacOS X Framework build */ + +# include <sys/types.h> + typedef int16_t spx_int16_t; + typedef u_int16_t spx_uint16_t; + typedef int32_t spx_int32_t; + typedef u_int32_t spx_uint32_t; + +#elif defined(__BEOS__) + + /* Be */ +# include <inttypes.h> + typedef int16_t spx_int16_t; + typedef u_int16_t spx_uint16_t; + typedef int32_t spx_int32_t; + typedef u_int32_t spx_uint32_t; + +#elif defined (__EMX__) + + /* OS/2 GCC */ + typedef short spx_int16_t; + typedef unsigned short spx_uint16_t; + typedef int spx_int32_t; + typedef unsigned int spx_uint32_t; + +#elif defined (DJGPP) + + /* DJGPP */ + typedef short spx_int16_t; + typedef int spx_int32_t; + typedef unsigned int spx_uint32_t; + +#elif defined(R5900) + + /* PS2 EE */ + typedef int spx_int32_t; + typedef unsigned spx_uint32_t; + typedef short spx_int16_t; + +#elif defined(__SYMBIAN32__) + + /* Symbian GCC */ + typedef signed short spx_int16_t; + typedef unsigned short spx_uint16_t; + typedef signed int spx_int32_t; + typedef unsigned int spx_uint32_t; + +#elif defined(CONFIG_TI_C54X) || defined (CONFIG_TI_C55X) + + typedef short spx_int16_t; + typedef unsigned short spx_uint16_t; + typedef long spx_int32_t; + typedef unsigned long spx_uint32_t; + +#elif defined(CONFIG_TI_C6X) + + typedef short spx_int16_t; + typedef unsigned short spx_uint16_t; + typedef int spx_int32_t; + typedef unsigned int spx_uint32_t; + +#else + +# ifdef _BUILD_SPEEX +# include "include/speex/speex_config_types.h" +#else +# include <speex/speex_config_types.h> +#endif + +#endif + +#endif /* _SPEEX_TYPES_H */ diff --git a/media/libspeex_resampler/update.sh b/media/libspeex_resampler/update.sh index a77c5e27ecd2..01a3340081a0 100644 --- a/media/libspeex_resampler/update.sh +++ b/media/libspeex_resampler/update.sh @@ -11,5 +11,7 @@ cp $1/libspeex/arch.h src cp $1/libspeex/stack_alloc.h src cp $1/libspeex/fixed_generic.h src cp $1/include/speex/speex_resampler.h src +cp $1/include/speex/speex_types.h src +sed -e 's/@SIZE16@/uint16_t/g' -e 's/@SIZE32@/uint32_t/g' < $1/include/speex/speex_config_types.h.in > src/speex_config_types.h cp $1/AUTHORS . cp $1/COPYING .