switch the Tremor implementation from the Cocos2D one to the lowmem-no-byte branch and let's see what happens
/******************************************************************** * * * THIS FILE IS PART OF THE OggVorbis 'TREMOR' 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 'TREMOR' SOURCE CODE IS (C) COPYRIGHT 1994-2002 * * BY THE Xiph.Org FOUNDATION http://www.xiph.org/ * * * ******************************************************************** function: libvorbis codec headers ********************************************************************/#ifndef _vorbis_codec_h_#define _vorbis_codec_h_#ifdef __cplusplusextern "C"{#endif /* __cplusplus */#include "ogg.h"struct vorbis_dsp_state;typedef struct vorbis_dsp_state vorbis_dsp_state;typedef struct vorbis_info{ int version; int channels; long rate; /* The below bitrate declarations are *hints*. Combinations of the three values carry the following implications: all three set to the same value: implies a fixed rate bitstream only nominal set: implies a VBR stream that averages the nominal bitrate. No hard upper/lower limit upper and or lower set: implies a VBR bitstream that obeys the bitrate limits. nominal may also be set to give a nominal rate. none set: the coder does not care to speculate. */ long bitrate_upper; long bitrate_nominal; long bitrate_lower; long bitrate_window; void *codec_setup;} vorbis_info;typedef struct vorbis_comment{ char **user_comments; int *comment_lengths; int comments; char *vendor;} vorbis_comment;/* Vorbis PRIMITIVES: general ***************************************/extern void vorbis_info_init(vorbis_info *vi);extern void vorbis_info_clear(vorbis_info *vi);extern int vorbis_info_blocksize(vorbis_info *vi,int zo);extern void vorbis_comment_init(vorbis_comment *vc);extern void vorbis_comment_add(vorbis_comment *vc, char *comment); extern void vorbis_comment_add_tag(vorbis_comment *vc, char *tag, char *contents);extern char *vorbis_comment_query(vorbis_comment *vc, char *tag, int count);extern int vorbis_comment_query_count(vorbis_comment *vc, char *tag);extern void vorbis_comment_clear(vorbis_comment *vc);/* Vorbis ERRORS and return codes ***********************************/#define OV_FALSE -1 #define OV_EOF -2#define OV_HOLE -3#define OV_EREAD -128#define OV_EFAULT -129#define OV_EIMPL -130#define OV_EINVAL -131#define OV_ENOTVORBIS -132#define OV_EBADHEADER -133#define OV_EVERSION -134#define OV_ENOTAUDIO -135#define OV_EBADPACKET -136#define OV_EBADLINK -137#define OV_ENOSEEK -138#ifdef __cplusplus}#endif /* __cplusplus */#endif