GithubHelp home page GithubHelp logo

googlearchive / android-audio-high-performance Goto Github PK

View Code? Open in Web Editor NEW
717.0 82.0 274.0 3.2 MB

We now recommend you use the Oboe libraries:

Home Page: https://github.com/google/oboe

License: Apache License 2.0

Java 29.75% C++ 61.16% CMake 4.10% C 4.98%

android-audio-high-performance's Introduction

Android High Performance Audio Samples

This sample has been deprecated/archived meaning it's read-only and it's no longer actively maintained (more details on archiving can be found here).

For high performance audio, we recommend using the Oboe library for development. Thank you!

android-audio-high-performance's People

Contributors

claywilkinson avatar codingjeremy avatar dturner avatar ggfan avatar iannilewis avatar inl1ne avatar keyboardsurfer avatar msand avatar nic0lette avatar sistr22 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

android-audio-high-performance's Issues

stream_builder.h asserts in open

aaudio/utils/stream_builder.h assert(false) in the open() method seems harsh for something that can easily fail.
If the caller requests EXCLUSIVE mode then on some platforms it will succeed and on some platforms it will crash. Better to return nullptr and check in caller.

AAudio sample buffer size Optimization

Optional:

Currently sample gets the buffer size and frequency from Java side; the only used one is actually frequency. The buffer size used to read/write AAudio's internal circular buffer is HARDCODED to framesPerBuffer(), which does not depend on Java side code ( but by all means it should be the same value though ).

Need re-visit this area and remove Java side parameter pulling to avoid confusion, of course, after a good cup of tea with @philburk

SimpleSynth should remember parameter settings

For repeated experiments, it would be nice if the difficult-to-set parameters such as "Variable load"
could be remembered between test runs. (It is hard to set Variable load to a specific number)

In hello-aaudio initial underruns should be ignored

hello-aaudio has some latency tuning code which increases the buffer size if an underrun occurs. This is fine for normal use but sometimes when a stream is started a few underruns occur within the first few dataCallback calls. These underruns occur as part of the normal stream startup and should be ignored, rather than influencing the buffer size.

Error: Linker failed while linking libhowie.so

I'm running through the Google Codelab for this project. I pulled down the sample project "audio-echo" and updated the local.properties file with the location of the android-ndk. Tried to build it from Android Studio, but it won't even let me...complaining about an incompatible gradle plugin version. So I tried from command line and got the error pasted below. I'm not sure if this is a problem with the code or my android ndk? Any help would be awesome. Thanks in advance!

Atalanta:audio-echo amanda$ ./gradlew assembleDebug --stacktrace :app:preBuild UP-TO-DATE :app:preDebugBuild UP-TO-DATE :app:checkDebugManifest :app:preReleaseBuild UP-TO-DATE :app:prepareComAndroidSupportAppcompatV72301Library UP-TO-DATE :app:prepareComAndroidSupportSupportV42301Library UP-TO-DATE :app:prepareDebugDependencies :app:compileDebugAidl UP-TO-DATE :app:compileDebugRenderscript UP-TO-DATE :app:generateDebugBuildConfig UP-TO-DATE :app:generateDebugAssets UP-TO-DATE :app:mergeDebugAssets UP-TO-DATE :app:generateDebugResValues UP-TO-DATE :app:generateDebugResources UP-TO-DATE :app:mergeDebugResources UP-TO-DATE :app:processDebugManifest UP-TO-DATE :app:processDebugResources UP-TO-DATE :app:generateDebugSources UP-TO-DATE :app:compileDebugJavaWithJavac UP-TO-DATE :app:copyArm64-v8aDebugAudio-echoSharedLibraryGdbServer UP-TO-DATE :app:createArm64-v8aDebugAudio-echoSharedLibraryGdbsetup The source property has been deprecated and is scheduled to be removed in Gradle 3.0. Please use the inputs property instead. :app:compileArm64-v8aDebugAudio-echoSharedLibraryAudio-echoMainCpp UP-TO-DATE :app:linkArm64-v8aDebugAudio-echoSharedLibrary UP-TO-DATE :app:arm64-v8aDebugAudio-echoSharedLibrary UP-TO-DATE :app:stripSymbolsArm64-v8aDebugAudio-echoSharedLibrary UP-TO-DATE :app:ndkBuildArm64-v8aDebugAudio-echoSharedLibrary :app:ndkBuildArm64-v8aDebugAudio-echoStaticLibrary UP-TO-DATE :app:copyArmeabi-v7aDebugAudio-echoSharedLibraryGdbServer UP-TO-DATE :app:createArmeabi-v7aDebugAudio-echoSharedLibraryGdbsetup :app:compileArmeabi-v7aDebugAudio-echoSharedLibraryAudio-echoMainCpp UP-TO-DATE :app:linkArmeabi-v7aDebugAudio-echoSharedLibrary UP-TO-DATE :app:armeabi-v7aDebugAudio-echoSharedLibrary UP-TO-DATE :app:stripSymbolsArmeabi-v7aDebugAudio-echoSharedLibrary UP-TO-DATE :app:ndkBuildArmeabi-v7aDebugAudio-echoSharedLibrary :app:ndkBuildArmeabi-v7aDebugAudio-echoStaticLibrary UP-TO-DATE :app:copyArmeabiDebugAudio-echoSharedLibraryGdbServer UP-TO-DATE :app:createArmeabiDebugAudio-echoSharedLibraryGdbsetup :app:compileArmeabiDebugAudio-echoSharedLibraryAudio-echoMainCpp UP-TO-DATE :app:linkArmeabiDebugAudio-echoSharedLibrary UP-TO-DATE :app:armeabiDebugAudio-echoSharedLibrary UP-TO-DATE :app:stripSymbolsArmeabiDebugAudio-echoSharedLibrary UP-TO-DATE :app:ndkBuildArmeabiDebugAudio-echoSharedLibrary :app:ndkBuildArmeabiDebugAudio-echoStaticLibrary UP-TO-DATE :app:copyMips64DebugAudio-echoSharedLibraryGdbServer UP-TO-DATE :app:createMips64DebugAudio-echoSharedLibraryGdbsetup :app:compileMips64DebugAudio-echoSharedLibraryAudio-echoMainCpp UP-TO-DATE :app:linkMips64DebugAudio-echoSharedLibrary UP-TO-DATE :app:mips64DebugAudio-echoSharedLibrary UP-TO-DATE :app:stripSymbolsMips64DebugAudio-echoSharedLibrary UP-TO-DATE :app:ndkBuildMips64DebugAudio-echoSharedLibrary :app:ndkBuildMips64DebugAudio-echoStaticLibrary UP-TO-DATE :app:copyMipsDebugAudio-echoSharedLibraryGdbServer UP-TO-DATE :app:createMipsDebugAudio-echoSharedLibraryGdbsetup :app:compileMipsDebugAudio-echoSharedLibraryAudio-echoMainCpp UP-TO-DATE :app:linkMipsDebugAudio-echoSharedLibrary UP-TO-DATE :app:mipsDebugAudio-echoSharedLibrary UP-TO-DATE :app:stripSymbolsMipsDebugAudio-echoSharedLibrary UP-TO-DATE :app:ndkBuildMipsDebugAudio-echoSharedLibrary :app:ndkBuildMipsDebugAudio-echoStaticLibrary UP-TO-DATE :app:copyX86DebugAudio-echoSharedLibraryGdbServer UP-TO-DATE :app:createX86DebugAudio-echoSharedLibraryGdbsetup :app:compileX86DebugAudio-echoSharedLibraryAudio-echoMainCpp UP-TO-DATE :app:linkX86DebugAudio-echoSharedLibrary UP-TO-DATE :app:x86DebugAudio-echoSharedLibrary UP-TO-DATE :app:stripSymbolsX86DebugAudio-echoSharedLibrary UP-TO-DATE :app:ndkBuildX86DebugAudio-echoSharedLibrary :app:ndkBuildX86DebugAudio-echoStaticLibrary UP-TO-DATE :app:copyX86_64DebugAudio-echoSharedLibraryGdbServer UP-TO-DATE :app:createX86_64DebugAudio-echoSharedLibraryGdbsetup :app:compileX86_64DebugAudio-echoSharedLibraryAudio-echoMainCpp UP-TO-DATE :app:linkX86_64DebugAudio-echoSharedLibrary UP-TO-DATE :app:x86_64DebugAudio-echoSharedLibrary UP-TO-DATE :app:stripSymbolsX86_64DebugAudio-echoSharedLibrary UP-TO-DATE :app:ndkBuildX86_64DebugAudio-echoSharedLibrary :app:ndkBuildX86_64DebugAudio-echoStaticLibrary UP-TO-DATE :app:debug :app:compileDebugSources :app:transformClassesAndResourcesWithExtractJarsForDebug UP-TO-DATE :app:transformClassesWithDexForDebug UP-TO-DATE :app:processDebugJavaRes UP-TO-DATE :app:transformResourcesWithMergeJavaResForDebug UP-TO-DATE :app:validateDebugSigning :app:packageDebug UP-TO-DATE :app:zipalignDebug UP-TO-DATE :app:assembleDebug :howie:compileLint :howie:copyDebugLint UP-TO-DATE :howie:copyArm64-v8aDebugHowieSharedLibraryGdbServer UP-TO-DATE :howie:createArm64-v8aDebugHowieSharedLibraryGdbsetup :howie:compileArm64-v8aDebugHowieSharedLibraryHowieMainCpp UP-TO-DATE :howie:linkArm64-v8aDebugHowieSharedLibrary /Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(condition_variable.o): In function__clang_call_terminate':
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/condition_variable.cpp:(.text.__clang_call_terminate[_clang_call_terminate]+0x8): undefined reference to __cxa_begin_catch' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/condition_variable.cpp:(.text.__clang_call_terminate[__clang_call_terminate]+0xc): undefined reference tostd::terminate()'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++static.a(condition_variable.o):(.data.DW.ref.__gxx_personality_v0[DW.ref.__gxx_personality_v0]+0x0): undefined reference to __gxx_personality_v0' /Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(mutex.o): In functionstd::__ndk1::_call_once(unsigned long volatile&, void, void ()(void
))':
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/mutex.cpp:251: undefined reference to __cxa_begin_catch' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/mutex.cpp:262: undefined reference to__cxa_rethrow'
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/mutex.cpp:263: undefined reference to __cxa_end_catch' /Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(system_error.o): In function~system_error':
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/system_error.cpp:201: undefined reference to std::runtime_error::~runtime_error()' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/system_error.cpp:201: undefined reference tostd::runtime_error::~runtime_error()'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(system_error.o): In function std::__ndk1::__throw_system_error(int, char const_)': /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/system_error.cpp:207: undefined reference to __cxa_allocate_exception'
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/system_error.cpp:207: undefined reference to__cxa_throw' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/system_error.cpp:207: undefined reference to __cxa_free_exception'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(system_error.o): In functionstd::__ndk1::__basic_string_common<true>::__throw_length_error() const': /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/string:1210: undefined reference to __cxa_allocate_exception'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(system_error.o): In functionlength_error': /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/stdexcept:123: undefined reference to vtable for std::length_error'
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/stdexcept:123: undefined reference tovtable for std::length_error' /Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(system_error.o): In function std::__ndk1::__basic_string_common::__throw_length_error() const':
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/string:1210: undefined reference totypeinfo for std::length_error' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/string:1210: undefined reference to std::length_error::~length_error()'
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/string:1210: undefined reference totypeinfo for std::length_error' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/string:1210: undefined reference to std::length_error::~length_error()'
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/string:1210: undefined reference to__cxa_throw' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/string:1210: undefined reference to __cxa_free_exception'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(system_error.o):(.data.rel.ro+0x68): undefined reference tostd::runtime_error::what() const' /Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(system_error.o):(.data.rel.ro+0x70): undefined reference to vtable for __cxxabiv1::__si_class_type_info'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(system_error.o):(.data.rel.ro+0x80): undefined reference totypeinfo for std::runtime_error' /Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(system_error.o):(.data.rel.ro+0x88): undefined reference to vtable for __cxxabiv1::__class_type_info'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(system_error.o):(.data.rel.ro+0xe0): undefined reference tovtable for __cxxabiv1::__si_class_type_info' /Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(system_error.o):(.data.rel.ro+0x140): undefined reference to vtable for __cxxabiv1::__si_class_type_info'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(system_error.o):(.data.rel.ro+0x1a0): undefined reference tovtable for __cxxabiv1::__si_class_type_info' /Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(thread.o): In function ~thread':
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/thread.cpp:37: undefined reference tostd::terminate()' /Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(thread.o): In function std::__ndk1::thread::join()':
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/thread.cpp:46: undefined reference to__cxa_allocate_exception' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/thread.cpp:46: undefined reference to __cxa_throw'
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/thread.cpp:46: undefined reference to__cxa_free_exception' /Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(thread.o): In function std::__ndk1::thread::detach()':
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/thread.cpp:65: undefined reference to__cxa_allocate_exception' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/thread.cpp:65: undefined reference to __cxa_throw'
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/thread.cpp:65: undefined reference to__cxa_free_exception' /Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(thread.o): In function __thread_specific_ptr':
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/thread:151: undefined reference to__cxa_allocate_exception' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/thread:151: undefined reference to __cxa_throw'
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/thread:151: undefined reference to__cxa_free_exception' /Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(future.o): In function ~future_error':
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:81: undefined reference tostd::logic_error::~logic_error()' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:81: undefined reference to std::logic_error::~logic_error()'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(future.o): In functionstd::__ndk1::__assoc_sub_state::set_value()': /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:95: undefined reference to __cxa_allocate_exception'
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:95: undefined reference to__cxa_throw' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:95: undefined reference to __cxa_free_exception'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(future.o): In functionstd::__ndk1::__assoc_sub_state::set_value_at_thread_exit()': /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:108: undefined reference to __cxa_allocate_exception'
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:108: undefined reference to__cxa_throw' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:108: undefined reference to __cxa_free_exception'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(future.o): In functionstd::__ndk1::__assoc_sub_state::set_exception(std::exception_ptr)': /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:121: undefined reference to __cxa_allocate_exception'
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:121: undefined reference to__cxa_throw' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:121: undefined reference to __cxa_free_exception'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(future.o): In functionstd::__ndk1::__assoc_sub_state::set_exception_at_thread_exit(std::exception_ptr)': /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:135: undefined reference to __cxa_allocate_exception'
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:135: undefined reference to__cxa_throw' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:135: undefined reference to __cxa_free_exception'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(future.o): In functionstd::__ndk1::__assoc_sub_state::__execute()': /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:188: undefined reference to __cxa_allocate_exception'
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:188: undefined reference to__cxa_throw' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:188: undefined reference to __cxa_free_exception'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(future.o): In functionfuture': /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:197: undefined reference to __cxa_allocate_exception'
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:197: undefined reference to__cxa_throw' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:197: undefined reference to __cxa_free_exception'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(future.o): In function~future_error': /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:81: undefined reference to std::logic_error::~logic_error()'
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:81: undefined reference tostd::logic_error::~logic_error()' /Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(future.o): In function std::exception_ptr std::make_exception_ptrstd::__ndk1::future_error(std::__ndk1::future_error)':
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/exception:160: undefined reference to__cxa_allocate_exception' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/exception:160: undefined reference to __cxa_throw'
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/exception:161: undefined reference to__cxa_begin_catch' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/exception:165: undefined reference to __cxa_end_catch'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(future.o): In functionstd::__ndk1::promise<void>::get_future()': /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:240: undefined reference to __cxa_allocate_exception'
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:240: undefined reference to__cxa_throw' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:240: undefined reference to __cxa_free_exception'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(future.o): In functionstd::__ndk1::promise<void>::set_value()': /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:250: undefined reference to __cxa_allocate_exception'
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:250: undefined reference to__cxa_throw' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:250: undefined reference to __cxa_free_exception'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(future.o): In functionstd::__ndk1::promise<void>::set_exception(std::exception_ptr)': /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:260: undefined reference to __cxa_allocate_exception'
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:260: undefined reference to__cxa_throw' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:260: undefined reference to __cxa_free_exception'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(future.o): In functionstd::__ndk1::promise<void>::set_value_at_thread_exit()': /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:270: undefined reference to __cxa_allocate_exception'
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:270: undefined reference to__cxa_throw' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:270: undefined reference to __cxa_free_exception'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(future.o): In functionstd::__ndk1::promise<void>::set_exception_at_thread_exit(std::exception_ptr)': /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:280: undefined reference to __cxa_allocate_exception'
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:280: undefined reference to__cxa_throw' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/future.cpp:280: undefined reference to __cxa_free_exception'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(future.o):(.data.rel.ro+0x20): undefined reference tostd::logic_error::what() const' /Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(future.o):(.data.rel.ro+0x30): undefined reference to vtable for __cxxabiv1::__si_class_type_info'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(future.o):(.data.rel.ro+0x40): undefined reference totypeinfo for std::logic_error' /Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(future.o):(.data.rel.ro+0x80): undefined reference to vtable for __cxxabiv1::__si_class_type_info'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(future.o):(.data.rel.ro+0xe0): undefined reference tovtable for __cxxabiv1::__si_class_type_info' /Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(memory.o): In function ~bad_weak_ptr':
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/memory.cpp:38: undefined reference tostd::exception::~exception()' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/memory.cpp:38: undefined reference to std::exception::~exception()'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(memory.o):(.data.rel.ro+0x28): undefined reference tovtable for __cxxabiv1::__class_type_info' /Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(memory.o):(.data.rel.ro+0x70): undefined reference to vtable for __cxxabiv1::__vmi_class_type_info'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(memory.o):(.data.rel.ro+0xc0): undefined reference tovtable for __cxxabiv1::__si_class_type_info' /Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(memory.o):(.data.rel.ro+0xd0): undefined reference to typeinfo for std::exception'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(stdexcept.o): In functionlogic_error': /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/stdexcept.cpp:31: undefined reference to vtable for std::logic_error'
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/stdexcept.cpp:31: undefined reference tovtable for std::logic_error' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/stdexcept.cpp:32: undefined reference to std::exception::~exception()'
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/stdexcept.cpp:35: undefined reference tovtable for std::logic_error' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/stdexcept.cpp:35: undefined reference to vtable for std::logic_error'
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/stdexcept.cpp:36: undefined reference tostd::exception::~exception()' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/stdexcept.cpp:39: undefined reference to vtable for std::logic_error'
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/stdexcept.cpp:39: undefined reference tovtable for std::logic_error' /Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(stdexcept.o): In function runtime_error':
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/stdexcept.cpp:64: undefined reference tovtable for std::runtime_error' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/stdexcept.cpp:64: undefined reference to vtable for std::runtime_error'
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/stdexcept.cpp:65: undefined reference tostd::exception::~exception()' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/stdexcept.cpp:68: undefined reference to vtable for std::runtime_error'
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/stdexcept.cpp:68: undefined reference tovtable for std::runtime_error' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/stdexcept.cpp:69: undefined reference to std::exception::~exception()'
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/stdexcept.cpp:73: undefined reference tovtable for std::runtime_error' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/stdexcept.cpp:73: undefined reference to vtable for std::runtime_error'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(exception.o): In functionstd::uncaught_exception()': /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/exception.cpp:113: undefined reference to __cxa_uncaught_exception'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(exception.o): In function~exception_ptr': /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/exception.cpp:184: undefined reference to __cxa_decrement_exception_refcount'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(exception.o): In functionexception_ptr': /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/exception.cpp:202: undefined reference to __cxa_increment_exception_refcount'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(exception.o): In functionstd::exception_ptr::operator=(std::exception_ptr const&)': /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/exception.cpp:222: undefined reference to __cxa_increment_exception_refcount'
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/exception.cpp:223: undefined reference to__cxa_decrement_exception_refcount' /Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(exception.o): In function std::current_exception()':
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/exception.cpp:273: undefined reference to__cxa_current_primary_exception' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/exception.cpp:273: undefined reference to __cxa_current_primary_exception'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(exception.o): In function~exception_ptr': /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/exception.cpp:184: undefined reference to __cxa_decrement_exception_refcount'
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/exception.cpp:184: undefined reference to__cxa_decrement_exception_refcount' /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/exception.cpp:184: undefined reference to __cxa_decrement_exception_refcount'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(exception.o): In functionstd::nested_exception::rethrow_nested() const': /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/exception.cpp:260: undefined reference to std::terminate()'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(exception.o): In functionexception_ptr': /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/exception.cpp:202: undefined reference to __cxa_increment_exception_refcount'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(exception.o): In function~exception_ptr': /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/exception.cpp:184: undefined reference to __cxa_decrement_exception_refcount'
/Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(exception.o): In functionstd::rethrow_exception(std::exception_ptr)': /Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/exception.cpp:292: undefined reference to __cxa_rethrow_primary_exception'
/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++/libcxx/src/exception.cpp:294: undefined reference tostd::terminate()' /Users/amanda/development/tools/android/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a(exception.o):(.data.rel.ro+0x20): undefined reference to vtable for __cxxabiv1::__class_type_info'
collect2: error: ld returned 1 exit status

:howie:linkArm64-v8aDebugHowieSharedLibrary FAILED

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':howie:linkArm64-v8aDebugHowieSharedLibrary'.

    A build operation failed.
    Linker failed while linking libhowie.so.
    See the complete log at: file:///Users/amanda/development/learning/android-audio-high-performance/howie/build/tmp/linkArm64-v8aDebugHowieSharedLibrary/output.txt

  • Try:
    Run with --info or --debug option to get more log output.

  • Exception is:
    org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':howie:linkArm64-v8aDebugHowieSharedLibrary'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:62)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
    at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
    at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
    at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
    at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
    at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:158)
    at org.gradle.internal.Factories$1.create(Factories.java:22)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:52)
    at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:155)
    at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:36)
    at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:103)
    at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:97)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)
    at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:97)
    at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:102)
    at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
    at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:47)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:32)
    at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:77)
    at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:47)
    at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:51)
    at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:28)
    at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:43)
    at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:170)
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
    at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
    at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
    at org.gradle.launcher.Main.doAction(Main.java:33)
    at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
    at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
    at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:33)
    at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:130)
    at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:48)
    Caused by: org.gradle.internal.operations.MultipleBuildOperationFailures: A build operation failed.
    Linker failed while linking libhowie.so.
    See the complete log at: file:///Users/amanda/development/learning/android-audio-high-performance/howie/build/tmp/linkArm64-v8aDebugHowieSharedLibrary/output.txt
    at org.gradle.internal.operations.DefaultBuildOperationQueue.waitForCompletion(DefaultBuildOperationQueue.java:72)
    at org.gradle.nativeplatform.toolchain.internal.gcc.GccLinker.execute(GccLinker.java:64)
    at org.gradle.nativeplatform.toolchain.internal.gcc.GccLinker.execute(GccLinker.java:36)
    at org.gradle.nativeplatform.internal.BuildOperationLoggingCompilerDecorator.execute(BuildOperationLoggingCompilerDecorator.java:38)
    at org.gradle.nativeplatform.internal.BuildOperationLoggingCompilerDecorator$execute$0.call(Unknown Source)
    at org.gradle.nativeplatform.tasks.AbstractLinkTask.link(AbstractLinkTask.groovy:125)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:226)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:219)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:208)
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:585)
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:568)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
    ... 60 more
    Caused by: org.gradle.nativeplatform.toolchain.internal.CommandLineToolInvocationFailure: Linker failed while linking libhowie.so.
    at org.gradle.nativeplatform.toolchain.internal.DefaultCommandLineToolInvocationWorker.execute(DefaultCommandLineToolInvocationWorker.java:83)
    at org.gradle.nativeplatform.toolchain.internal.DefaultCommandLineToolInvocationWorker.execute(DefaultCommandLineToolInvocationWorker.java:30)
    at org.gradle.internal.operations.DefaultBuildOperationQueue$OperationHolder.run(DefaultBuildOperationQueue.java:110)
    at org.gradle.internal.concurrent.ExecutorPolicy$PropagateFailures.onExecute(ExecutorPolicy.java:76)
    at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)

BUILD FAILED

Total time: 8.152 secs
`

Code samples need better documentation

We need a high level overview of the code sample architecture and the reasons behind it, particularly focussing on the lock-free, multi-threaded nature of the library.

Audio Record Frame drop on Android -M Nexus 9

After creating a looping back audio, play it on Android-M Nexus 9 ( Nexus9 + Android L works!), I could hear the recorded sound. The quality is low:
it more likes replaying a recorded twice, the music is not a continuous tone ( it is continuous on Android L ).
with adb logcat, I saw:
com.google.sample.androidaudiosample W/HOWIE: GLITCH: missed a record buffer
com.google.sample.androidaudiosample W/HOWIE: GLITCH: missed a record buffer

how to replicate this:

  1. build a new project on top of the howie
  2. just start / stop button on Java side besides HowieEngine.init(). the start/stop native implementation is included
  3. on Native side, just memcpy from in --? out buffer inside OnProcess callback.

HowieError ProcessCallback(
const HowieStream stream,
const HowieBuffer *input,
const HowieBuffer *output,
const HowieBuffer *state,
const HowieBuffer *params)
{
StreamState *streamState = reinterpret_cast<StreamState
>(state->data);
streamState->bufCount_++;
assert(input->byteCount == output->byteCount);
memcpy(output->data, input->data, output->byteCount);
return HOWIE_SUCCESS;
}

JNIEXPORT jlong JNICALL
Java_com_google_sample_androidaudiosample_SampleMainActivity_start(JNIEnv *env, jobject instance) {
android_log_print(ANDROID_LOG_INFO, "AUDIO-ECHO", "%s", __func);
HowieStreamCreationParams streamInfo = {
sizeof(HowieStreamCreationParams),
HOWIE_STREAM_DIRECTION_BOTH,
DeviceChangedCallback,
ProcessCallback,
CleanupCallback,
sizeof(StreamState),
sizeof(StreamParam),
HOWIE_STREAM_STATE_PLAYING
};

HowieStream *stream = nullptr;
if (HOWIE_SUCCESS != HowieStreamCreate(&streamInfo, &stream)) {
    __android_log_print(ANDROID_LOG_ERROR, "AUDIO-ECHO", "%s failed", __FUNCTION__);
}
return reinterpret_cast<jlong>(stream);

}

JNIEXPORT void JNICALL
Java_com_google_sample_androidaudiosample_SampleMainActivity_stop(JNIEnv env, jobject instance,
jlong streamId) {
HowieStream
stream = reinterpret_cast<HowieStream*>(streamId);
HowieStreamDestroy(stream);
}

Correct README link

link should refer to android-audio-high-performance [it is using android-high-performance-audio]

Add information about using fake touch events to avoid CPU scaling

On Nexus 9 in particular, if the screen is not being touched regularly the CPU governer will kick in, reducing the CPU frequency. This can cause audio dropouts. The solution is to simulate a touch event every second.

Example Java code:

Instrumentation instrumentation = new Instrumentation(); instrumentation.sendKeyDownUpSync(KeyEvent.KEYCODE_BACKSLASH);

AAudio should use new thread API in audio loop

Right now sample is just using normal std thread; need update it to use AAudio's thread API, which is created by AAudio and it will be in high priority ( it is not at the moment at the bug creating time); nevertheless, once changed to use AAudio thread, whatever AAudio's change inside is transparent to Sample.

dlopen failed: library "libaaudio.so" not found

A crash happened when I run the "hello-aaudio" project.

`E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.google.sample.com.google.sample.aaudio.play, PID: 27133

java.lang.UnsatisfiedLinkError: dlopen failed: library "libaaudio.so" not found
at java.lang.Runtime.loadLibrary(Runtime.java:372)
at java.lang.System.loadLibrary(System.java:1076)
at com.google.sample.aaudio.play.MainActivity.(MainActivity.java:92)
at java.lang.Class.newInstance(Native Method)
at android.app.Instrumentation.newActivity(Instrumentation.java:1095)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3083)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3349)
at android.app.ActivityThread.access$1100(ActivityThread.java:221)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7225)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)`

Feature Request: add more description for the "Development Guides" page

when clicking on the Development Guides, the page coming up displaying:
"Choose from the guides on the left"

maybe provide a more technical high level description about the overall audio system on android, including input latency and Output latency, Sample Rates, floating point audio etc. would that be useful?

dlopen libaaudio.so failed

NDK version: 15.0.3996722 rc2

05-19 16:41:10.558 4755-4755/com.google.sample.com.google.sample.aaudio.play E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.google.sample.com.google.sample.aaudio.play, PID: 4755
java.lang.UnsatisfiedLinkError: dlopen failed: library "libaaudio.so" not found
at java.lang.Runtime.loadLibrary0(Runtime.java:989)
at java.lang.System.loadLibrary(System.java:1530)
at com.google.sample.aaudio.play.MainActivity.(MainActivity.java:92)
at java.lang.Class.newInstance(Native Method)
at android.app.Instrumentation.newActivity(Instrumentation.java:1078)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2557)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)

and there is libaaudio.so in ndk-bundle/platforms/android-26/${arch}/usr/lib/

force java version 7 in module build.gradle files

force java 7 compatibility in all module gradle files with at model { } level
compileOptions.with {
sourceCompatibility=JavaVersion.VERSION_1_7
targetCompatibility=JavaVersion.VERSION_1_7
}
this way if someone using java8 to compile it will still work

Feedback from Bruno

Navigation is a bit weird, that "Choose from the guides on the left" flow feels broken
The one important category I missed in the list of use cases was "Music learning apps"

OpenSL ES guide is difficult to navigate and link to because it lacks a table of contents

On this page: http://googlesamples.github.io/android-audio-high-performance/guides/opensl_es.html

I propose adding a table of contents which will make it easier for the reader to jump to relevant sections. It also allows links to specific sections from other web pages. This avoids having to give the reader instructions on where to find content, for example the "Checklist" section of this page: http://googlesamples.github.io/android-audio-high-performance/guides/audio-input-latency.html.

Website feedback

  • Don't do "Pick from guides on the left"
  • Need favicon
  • "High-Performance" title is not aligned correctly

Misc website issues

On MIDI FAQ "Q. Yes, there are several open source implementations, including" should start with "A." not "Q.".

FAQS/Miscellaneous is a bit obscure. Maybe call it FAQS/Links

[hello-aaudio] No audio output when switching from bluetooth to built-in speaker

Steps to repro:

  • Run hello-aaudio
  • Connect a bluetooth audio device
  • Select the bluetooth device from the drop down
  • Tap the screen to verify that audio is produced through the bluetooth device
  • Choose 'built-in speaker' from the drop down
  • Tap the screen

Expected result

  • Audio is produced from the built in speaker

Actual result

  • No audio is produced

Tested on Pixel XL running O DP4

echo crashes on closing

I installed a fresh Android Studio and build the AAudio Samples.

I noticed that when "echo" exits that it crashes.
It seems to call closeStream(recordingStream_) twice.
Once in stop and then again in a destructor.
It is deleted the first time and crashes the second.

It should set recordingStream_ = nullptr after closing.
and then always check it before closing.

What component should I file a bug in. Or is this a known issue?

aaudio examples calling deprecated functions

In several places the AAudio example programs reference these deprecated functions:

AAudioStreamBuilder_setSamplesPerFrame
AAudioStream_getSamplesPerFrame

They should be using these functions instead:

AAudioStreamBuilder_setChannelCount
AAudioStream_getChannelCount

Search "This Repository" above using the complete function name to find all the references.

SimpleSynth crash after touching Variable Load 3 times

How to reproduce:
Launch SimpleSynth
Press Variable load
Press Variable load
Press Variable load

09-07 14:27:11.944 11796 11796 D AndroidRuntime: Shutting down VM
09-07 14:27:11.947 11796 11796 E AndroidRuntime: FATAL EXCEPTION: main
09-07 14:27:11.947 11796 11796 E AndroidRuntime: Process: com.example.simplesynth, PID: 11796
09-07 14:27:11.947 11796 11796 E AndroidRuntime: java.lang.IllegalThreadStateException
09-07 14:27:11.947 11796 11796 E AndroidRuntime: at java.lang.Thread.start(Thread.java:724)
09-07 14:27:11.947 11796 11796 E AndroidRuntime: at com.example.simplesynth.MainActivity$2.onCheckedChanged(MainActivity.java:191)
09-07 14:27:11.947 11796 11796 E AndroidRuntime: at android.widget.CompoundButton.setChecked(CompoundButton.java:171)
09-07 14:27:11.947 11796 11796 E AndroidRuntime: at android.widget.Switch.setChecked(Switch.java:1083)
09-07 14:27:11.947 11796 11796 E AndroidRuntime: at android.widget.Switch.toggle(Switch.java:1078)
09-07 14:27:11.947 11796 11796 E AndroidRuntime: at android.widget.CompoundButton.performClick(CompoundButton.java:132)
09-07 14:27:11.947 11796 11796 E AndroidRuntime: at android.view.View$PerformClick.run(View.java:24734)
09-07 14:27:11.947 11796 11796 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:790)
09-07 14:27:11.947 11796 11796 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99)
09-07 14:27:11.947 11796 11796 E AndroidRuntime: at android.os.Looper.loop(Looper.java:164)
09-07 14:27:11.947 11796 11796 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6519)
09-07 14:27:11.947 11796 11796 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
09-07 14:27:11.947 11796 11796 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
09-07 14:27:11.947 11796 11796 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:816)

Native error codes not reaching Java

It is quite possible for AAudio_openStream(), AAudioStream_requestStart() and other AAudio functions to return an error code. These codes should be passed all the way up to the Java code so that the user can be alerted.

[aaudio/aaudio-echo] Input stream not on fast mixer path

When running the aaudio-echo sample I get the following logcat output:

W/AudioRecord: AUDIO_INPUT_FLAG_FAST denied by client; transfer 3, track 48000 Hz, input 48000 Hz

This can be solved by not calling AAudioStreamBuilder_setDataCallback(builder_, callback, userData); when creating the input stream. However, this leads to a race condition because the output stream callbacks have already started but the input stream hasn't, and therefore cannot be read from.

See internal bug 62675917

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.