diff --git a/jni/Android.mk b/jni/Android.mk index 60ad9e4..99d5719 100644 --- a/jni/Android.mk +++ b/jni/Android.mk @@ -10,29 +10,39 @@ LOCAL_ARM_MODE := arm LOCAL_CFLAGS += -I$(OPENAL_DIR) \ -I$(OPENAL_DIR)/include \ -I$(OPENAL_DIR)/OpenAL32/Include \ - -DAL_BUILD_LIBRARY \ -DAL_ALEXT_PROTOTYPES \ -DANDROID \ - -fpic \ + -shared -Wl,-Bsymbolic \ + -fpic \ -ffunction-sections \ -funwind-tables \ -fstack-protector \ -fno-short-enums \ - -D__ARM_ARCH_5__ \ - -D__ANDROID__ \ - -march=armv5 \ - -msoft-float \ + -DHAVE_GCC_VISIBILITY \ + -g \ + + # -fpic \ + # -ffunction-sections \ + # -funwind-tables \ + # -fstack-protector \ + # -fno-short-enums \ + # -D__ARM_ARCH_5__ \ + # -D__ANDROID__ \ + # -march=armv5 \ + # -msoft-float \ # -DVERDE_USE_REAL_FILE_IO \ # FIXME -LOCAL_CFLAGS += -I/Developer/AndroidNDK/platforms/android-8/arch-arm/usr/include +#LOCAL_CFLAGS += -I/Developer/AndroidNDK/platforms/android-8/arch-arm/usr/include # Default to Fixed-point math LOCAL_CFLAGS += -DOPENAL_FIXED_POINT -DOPENAL_FIXED_POINT_SHIFT=16 -LOCAL_SRC_FILES := $(OPENAL_DIR)/OpenAL32/alAuxEffectSlot.c \ +LOCAL_SRC_FILES := \ + $(OPENAL_DIR)/Alc/android.c \ + $(OPENAL_DIR)/OpenAL32/alAuxEffectSlot.c \ $(OPENAL_DIR)/OpenAL32/alBuffer.c \ $(OPENAL_DIR)/OpenAL32/alDatabuffer.c \ $(OPENAL_DIR)/OpenAL32/alEffect.c \ diff --git a/jni/OpenAL/Alc/android.c b/jni/OpenAL/Alc/android.c new file mode 100644 index 0000000..2ebdc62 --- /dev/null +++ b/jni/OpenAL/Alc/android.c @@ -0,0 +1,13 @@ +#ifdef ANDROID +#include +#include "alMain.h" +#include "apportable_openal_funcs.h" + +jint JNI_OnLoad(JavaVM *vm, void *reserved) { + BackendFuncs func_list; + alc_audiotrack_init(&func_list); + apportableOpenALFuncs.alc_android_set_java_vm(vm); + return JNI_VERSION_1_4; +} + +#endif \ No newline at end of file diff --git a/jni/OpenAL/OpenAL32/alSource.c b/jni/OpenAL/OpenAL32/alSource.c index b5d6ede..751829e 100644 --- a/jni/OpenAL/OpenAL32/alSource.c +++ b/jni/OpenAL/OpenAL32/alSource.c @@ -33,8 +33,6 @@ #include "alAuxEffectSlot.h" #ifdef ANDROID -//#include - // Apportable: Defines a cap on the maximum number of playing sources extern int alc_max_sources; extern int alc_active_sources; diff --git a/jni/OpenAL/include/AL/alc.h b/jni/OpenAL/include/AL/alc.h index 04543a0..43b2ef5 100644 --- a/jni/OpenAL/include/AL/alc.h +++ b/jni/OpenAL/include/AL/alc.h @@ -270,6 +270,14 @@ typedef void (ALC_APIENTRY *LPALCCAPTURESAMPLES)( ALCdevice *device, A #pragma export off #endif +#if defined(ANDROID) +/* + * OpenAL extension for suspend/resume of audio throughout application lifecycle + */ +ALC_API void ALC_APIENTRY alcSuspend( void ); +ALC_API void ALC_APIENTRY alcResume( void ); +#endif + #if defined(__cplusplus) } #endif diff --git a/jni/OpenAL/include/config.h b/jni/OpenAL/include/config.h index 83acafa..6c65dd0 100755 --- a/jni/OpenAL/include/config.h +++ b/jni/OpenAL/include/config.h @@ -4,6 +4,8 @@ /* Define to the library version */ #define ALSOFT_VERSION "1.12.854" +#define AL_BUILD_LIBRARY + /* Define if we have the Android backend */ #if defined(ANDROID) #if defined(POST_FROYO) diff --git a/libs/armeabi/libopenal.so b/libs/armeabi/libopenal.so index f63f359..06255ef 100755 Binary files a/libs/armeabi/libopenal.so and b/libs/armeabi/libopenal.so differ diff --git a/obj/local/armeabi/libopenal.so b/obj/local/armeabi/libopenal.so new file mode 100755 index 0000000..af66754 Binary files /dev/null and b/obj/local/armeabi/libopenal.so differ