Hello, How to turn MP3 after mixing
Hello, How to turn MP3 after mixing
Not sure what do you mean.
Running Demo throws an error
Build command failed.
Error while executing process D:\Work\Android\Sdk\cmake\3.10.2.4988404\bin\ninja.exe with arguments {-C D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a audio_mixer}
ninja: Entering directory D:\Work\Demo Project\AudioMixer\android_project\AudioMixer\.cxx\cmake\debug\arm64-v8a' [1/1] Linking CXX shared library ..\..\..\..\build\intermediates\cmake\debug\obj\arm64-v8a\libaudio_mixer.so FAILED: ../../../../build/intermediates/cmake/debug/obj/arm64-v8a/libaudio_mixer.so cmd.exe /C "cd . && D:\Work\Android\Sdk\ndk\21.3.6528147\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=aarch64-none-linux-android21 --gcc-toolchain=D:/Work/Android/Sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/windows-x86_64 --sysroot=D:/Work/Android/Sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/windows-x86_64/sysroot -fPIC -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -std=c++14 -fexceptions -O0 -fno-limit-debug-info -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libgcc_real.a -Wl,--exclude-libs,libatomic.a -Wl,--build-id -Wl,--fatal-warnings -Wl,--no-undefined -Qunused-arguments -shared -Wl,-soname,libaudio_mixer.so -o ..\..\..\..\build\intermediates\cmake\debug\obj\arm64-v8a\libaudio_mixer.so CMakeFiles/audio_mixer.dir/src/main/jni/audio_mixer_jni.cpp.o CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_source.cpp.o CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_mixer.cpp.o CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_mixer_global.cpp.o CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_record_source.cpp.o CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_resampler.cpp.o CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_source.cpp.o CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/djinni/support-lib/jni/djinni_main.cpp.o CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/djinni/support-lib/jni/djinni_support.cpp.o CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/generated_src/jni/NativeAudioMixerApi.cpp.o CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/generated_src/jni/NativeMixerConfig.cpp.o CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/generated_src/jni/NativeMixerSource.cpp.o CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/generated_src/cpp/audio_mixer_api.cpp.o CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/generated_src/cpp/mixer_source.cpp.o -landroid -llog -lz -latomic -lm && cd ." CMakeFiles/audio_mixer.dir/src/main/jni/audio_mixer_jni.cpp.o: In function Java_com_github_piasy_audio_1mixer_AudioMixer_globalInitializeFFmpeg':
D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../src/main/jni/audio_mixer_jni.cpp:29: undefined reference to av_register_all' CMakeFiles/audio_mixer.dir/src/main/jni/audio_mixer_jni.cpp.o: In function webrtc::jni::jlongFromPointer(void*)':
D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\sdk/android/src/jni/jni_helpers.h:37: undefined reference to webrtc::NativeToJavaPointer(void*)' CMakeFiles/audio_mixer.dir/src/main/jni/audio_mixer_jni.cpp.o: In function audio_mixer::SwrContextDeleter::operator()(SwrContext*)':
D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../src/avx_helper.h:60: undefined reference to swr_free' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In function AudioFileDecoder':
D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:15: undefined reference to av_frame_alloc' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In function void rtc::webrtc_checks_impl::LogStreamer<>::Call<rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> >(char const*, int, char const*, rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> const&)':
D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference to rtc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In function AudioFileDecoder':
D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:18: undefined reference to av_packet_alloc' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In function void rtc::webrtc_checks_impl::LogStreamer<>::Call<rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> >(char const*, int, char const*, rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> const&)':
D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference to rtc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In function AudioFileDecoder':
D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:20: undefined reference to av_init_packet' D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:24: undefined reference to avformat_open_input'
CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In function void rtc::webrtc_checks_impl::LogStreamer<>::Call<rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> >(char const*, int, char const*, rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> const&)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer\.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference to rtc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)'
CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In function AudioFileDecoder': D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:31: undefined reference to avformat_find_stream_info'
CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In function void rtc::webrtc_checks_impl::LogStreamer<>::Call<rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> >(char const*, int, char const*, rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> const&)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer\.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference to rtc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)'
CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In function AudioFileDecoder': D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:34: undefined reference to av_find_best_stream'
CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In function void rtc::webrtc_checks_impl::LogStreamer<>::Call<rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> >(char const*, int, char const*, rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> const&)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer\.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference to rtc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)'
CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In function AudioFileDecoder': D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:37: undefined reference to avcodec_find_decoder'
CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In function void rtc::webrtc_checks_impl::LogStreamer<>::Call<rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> >(char const*, int, char const*, rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> const&)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer\.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference to rtc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)'
CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In function AudioFileDecoder': D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:40: undefined reference to avcodec_alloc_context3'
CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In function void rtc::webrtc_checks_impl::LogStreamer<>::Call<rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> >(char const*, int, char const*, rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> const&)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer\.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference to rtc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)'
CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In function AudioFileDecoder': D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:42: undefined reference to avcodec_parameters_to_context'
CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In function void rtc::webrtc_checks_impl::LogStreamer<>::Call<rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> >(char const*, int, char const*, rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> const&)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer\.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference to rtc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)'
CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In function AudioFileDecoder': D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:46: undefined reference to avcodec_open2'
CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In function void rtc::webrtc_checks_impl::LogStreamer<>::Call<rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> >(char const*, int, char const*, rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> const&)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer\.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference to rtc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)'
CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In function AudioFileDecoder': D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:51: undefined reference to av_audio_fifo_alloc'
CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In function void rtc::webrtc_checks_impl::LogStreamer<>::Call<rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> >(char const*, int, char const*, rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> const&)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer\.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference to rtc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)'
CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In function av_make_error_string(char*, unsigned long, int)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer\.cxx\cmake\debug\arm64-v8a/../../../../../../libs/ffmpeg/include\libavutil/error.h:111: undefined reference to av_strerror'
CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In function audio_mixer::AudioFileDecoder::FillDecoder()': D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:86: undefined reference to av_read_frame'
D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:90: undefined reference to av_packet_unref' D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:95: undefined reference to avcodec_send_packet'
D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:97: undefined reference to av_packet_unref' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In function void rtc::webrtc_checks_impl::LogStreamer<>::Call<rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> >(char const*, int, char const*, rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> const&)':
D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference to rtc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In function audio_mixer::AudioFileDecoder::Consume(void**, int)':
D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:77: undefined reference to av_audio_fifo_size' D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:78: undefined reference to av_audio_fifo_read'
CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In function audio_mixer::AudioFileDecoder::FillFifo()': D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:109: undefined reference to av_audio_fifo_size'
D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:110: undefined reference to avcodec_receive_frame' D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:111: undefined reference to av_audio_fifo_write'
D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:113: undefined reference to av_frame_unref' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In function audio_mixer::AVFrameDeleter::operator()(AVFrame*)':
D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../src/avx_helper.h:44: undefined reference to av_frame_free' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In function audio_mixer::AVPacketDeleter::operator()(AVPacket*)':
D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../src/avx_helper.h:52: undefined reference to av_packet_free' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In function audio_mixer::AVFormatContextDeleter::operator()(AVFormatContext*)':
D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../src/avx_helper.h:28: undefined reference to avformat_close_input' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In function audio_mixer::AVCodecContextDeleter::operator()(AVCodecContext*)':
D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../src/avx_helper.h:36: undefined reference to avcodec_free_context' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In function audio_mixer::AVAudioFifoDeleter::operator()(AVAudioFifo*)':
D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../src/avx_helper.h:68: undefined reference to av_audio_fifo_free' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_source.cpp.o: In function AudioFileSource':
D:/Work/Demo Project/AudioMixer/src/audio_file_source.cpp:32: undefined reference to av_samples_alloc_array_and_samples' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_source.cpp.o: In function void rtc::webrtc_checks_impl::LogStreamer<>::Call<rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> >(char const*, int, char const*, rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> const&)':
D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference to rtc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_source.cpp.o: In function av_make_error_string(char*, unsigned long, int)':
D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../libs/ffmpeg/include\libavutil/error.h:111: undefined reference to av_strerror' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_source.cpp.o: In function ~AudioFileSource':
D:/Work/Demo Project/AudioMixer/src/audio_file_source.cpp:45: undefined reference to av_freep' D:/Work/Demo Project/AudioMixer/src/audio_file_source.cpp:47: undefined reference to av_freep'
CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_source.cpp.o: In function audio_mixer::AudioFileSource::GetAudioFrameWithInfo(int, webrtc::AudioFrame*)': D:/Work/Demo Project/AudioMixer/src/audio_file_source.cpp:56: undefined reference to webrtc::AudioFrame::UpdateFrame(unsigned int, short const*, unsigned long, int, webrtc::AudioFrame::SpeechType, webrtc::AudioFrame::VADActivity, unsigned long)'
D:/Work/Demo Project/AudioMixer/src/audio_file_source.cpp:62: undefined reference to webrtc::AudioFrame::mutable_data()' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_source.cpp.o: In function audio_mixer::AudioFileSource::Read(void**)':
D:/Work/Demo Project/AudioMixer/src/audio_file_source.cpp:91: undefined reference to av_samples_get_buffer_size' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_mixer.cpp.o: In function AudioMixer':
D:/Work/Demo Project/AudioMixer/src/audio_mixer.cpp:20: undefined reference to webrtc::AudioMixerImpl::Create()' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_mixer.cpp.o: In function void rtc::webrtc_checks_impl::LogStreamer<>::Call<rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> >(char const*, int, char const*, rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> const&)':
D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference to rtc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_mixer.cpp.o: In function AudioMixer':
D:/Work/Demo Project/AudioMixer/src/audio_mixer.cpp:39: undefined reference to webrtc::AudioFrame::UpdateFrame(unsigned int, short const*, unsigned long, int, webrtc::AudioFrame::SpeechType, webrtc::AudioFrame::VADActivity, unsigned long)' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_mixer.cpp.o: In function std::__ndk1::__unique_ifwebrtc::AudioFrame::unique_single std::ndk1::make_uniquewebrtc::AudioFrame()':
D:/Work/Android/Sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/windows-x86_64/sysroot/usr/include/c++/v1/memory:3003: undefined reference to webrtc::AudioFrame::AudioFrame()' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_mixer.cpp.o: In function void rtc::webrtc_checks_impl::LogStreamer<>::Call<rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> >(char const*, int, char const*, rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> const&)':
D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference to rtc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' D:\Work\Demo Project\AudioMixer\android_project\AudioMixer\.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference to rtc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)'
CMakeFiles/audio_mixer.dir/D/Work/Demo_Project/AudioMixer/src/audio_mixer.cpp.o: In function audio_mixer::AudioMixer::Mix(void*)': D:/Work/Demo Project/AudioMixer/src/audio_mixer.cpp:83: undefined reference to av_samples_get_buffer_size'
D:/Work/Demo Project/AudioMixer/src/audio_mixer.cpp:85: undefined reference to webrtc::AudioFrame::data() const' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_record_source.cpp.o: In function void rtc::webrtc_checks_impl::LogStreamer<>::Call<>(char const*, int, char const*)':
D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference to rtc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' D:\Work\Demo Project\AudioMixer\android_project\AudioMixer\.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference to rtc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)'
D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference to rtc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' D:\Work\Demo Project\AudioMixer\android_project\AudioMixer\.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference to rtc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)'
CMakeFiles/audio_mixer.dir/D/Work/Demo_Project/AudioMixer/src/audio_record_source.cpp.o: In function audio_mixer::AudioRecordSource::GetAudioFrameWithInfo(int, webrtc::AudioFrame*)': D:/Work/Demo Project/AudioMixer/src/audio_record_source.cpp:43: undefined reference to webrtc::AudioFrame::UpdateFrame(unsigned int, short const*, unsigned long, int, webrtc::AudioFrame::SpeechType, webrtc::AudioFrame::VADActivity, unsigned long)'
CMakeFiles/audio_mixer.dir/D/Work/Demo_Project/AudioMixer/src/audio_record_source.cpp.o: In function void rtc::webrtc_checks_impl::LogStreamer<>::Call<>(char const*, int, char const*)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer\.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference to rtc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)'
D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference to rtc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' D:\Work\Demo Project\AudioMixer\android_project\AudioMixer\.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference to rtc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)'
D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference to rtc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_resampler.cpp.o: In function AudioResampler':
D:/Work/Demo Project/AudioMixer/src/audio_resampler.cpp:15: undefined reference to swr_alloc' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_resampler.cpp.o: In function void rtc::webrtc_checks_impl::LogStreamer<>::Call<>(char const*, int, char const*)':
D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference to rtc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_resampler.cpp.o: In function AudioResampler':
D:/Work/Demo Project/AudioMixer/src/audio_resampler.cpp:29: undefined reference to av_opt_set_int' D:/Work/Demo Project/AudioMixer/src/audio_resampler.cpp:30: undefined reference to av_opt_set_int'
D:/Work/Demo Project/AudioMixer/src/audio_resampler.cpp:31: undefined reference to av_opt_set_sample_fmt' D:/Work/Demo Project/AudioMixer/src/audio_resampler.cpp:33: undefined reference to av_opt_set_int'
D:/Work/Demo Project/AudioMixer/src/audio_resampler.cpp:34: undefined reference to av_opt_set_int' D:/Work/Demo Project/AudioMixer/src/audio_resampler.cpp:35: undefined reference to av_opt_set_sample_fmt'
D:/Work/Demo Project/AudioMixer/src/audio_resampler.cpp:37: undefined reference to swr_init' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_resampler.cpp.o: In function void rtc::webrtc_checks_impl::LogStreamer<>::Call<rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> >(char const*, int, char const*, rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> const&)':
D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference to rtc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_resampler.cpp.o: In function av_make_error_string(char*, unsigned long, int)':
D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../libs/ffmpeg/include\libavutil/error.h:111: undefined reference to av_strerror' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_resampler.cpp.o: In function audio_mixer::AudioResampler::Resample(void**, int, void**)':
D:/Work/Demo Project/AudioMixer/src/audio_resampler.cpp:43: undefined reference to av_get_bytes_per_sample' D:/Work/Demo Project/AudioMixer/src/audio_resampler.cpp:45: undefined reference to av_rescale_rnd'
D:/Work/Demo Project/AudioMixer/src/audio_resampler.cpp:48: undefined reference to swr_convert' D:/Work/Demo Project/AudioMixer/src/audio_resampler.cpp:57: undefined reference to av_samples_get_buffer_size'
CMakeFiles/audio_mixer.dir/D/Work/Demo_Project/AudioMixer/src/audio_source.cpp.o: In function audio_mixer::AudioSource::ApplyVolume(webrtc::AudioFrame*)': D:/Work/Demo Project/AudioMixer/src/audio_source.cpp:14: undefined reference to webrtc::AudioFrameOperations::ScaleWithSat(float, webrtc::AudioFrame*)'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
Build command failed. Error while executing process D:\Work\Android\Sdk\cmake\3.10.2.4988404\bin\ninja.exe with arguments {-C D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a audio_mixer} ninja: Entering directory
D:\Work\Demo Project\AudioMixer\android_project\AudioMixer\.cxx\cmake\debug\arm64-v8a' [1/1] Linking CXX shared library ..\..\..\..\build\intermediates\cmake\debug\obj\arm64-v8a\libaudio_mixer.so FAILED: ../../../../build/intermediates/cmake/debug/obj/arm64-v8a/libaudio_mixer.so cmd.exe /C "cd . && D:\Work\Android\Sdk\ndk\21.3.6528147\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=aarch64-none-linux-android21 --gcc-toolchain=D:/Work/Android/Sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/windows-x86_64 --sysroot=D:/Work/Android/Sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/windows-x86_64/sysroot -fPIC -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -std=c++14 -fexceptions -O0 -fno-limit-debug-info -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libgcc_real.a -Wl,--exclude-libs,libatomic.a -Wl,--build-id -Wl,--fatal-warnings -Wl,--no-undefined -Qunused-arguments -shared -Wl,-soname,libaudio_mixer.so -o ..\..\..\..\build\intermediates\cmake\debug\obj\arm64-v8a\libaudio_mixer.so CMakeFiles/audio_mixer.dir/src/main/jni/audio_mixer_jni.cpp.o CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_source.cpp.o CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_mixer.cpp.o CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_mixer_global.cpp.o CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_record_source.cpp.o CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_resampler.cpp.o CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_source.cpp.o CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/djinni/support-lib/jni/djinni_main.cpp.o CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/djinni/support-lib/jni/djinni_support.cpp.o CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/generated_src/jni/NativeAudioMixerApi.cpp.o CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/generated_src/jni/NativeMixerConfig.cpp.o CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/generated_src/jni/NativeMixerSource.cpp.o CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/generated_src/cpp/audio_mixer_api.cpp.o CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/generated_src/cpp/mixer_source.cpp.o -landroid -llog -lz -latomic -lm && cd ." CMakeFiles/audio_mixer.dir/src/main/jni/audio_mixer_jni.cpp.o: In functionJava_com_github_piasy_audio_1mixer_AudioMixer_globalInitializeFFmpeg': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../src/main/jni/audio_mixer_jni.cpp:29: undefined reference toav_register_all' CMakeFiles/audio_mixer.dir/src/main/jni/audio_mixer_jni.cpp.o: In functionwebrtc::jni::jlongFromPointer(void*)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\sdk/android/src/jni/jni_helpers.h:37: undefined reference towebrtc::NativeToJavaPointer(void*)' CMakeFiles/audio_mixer.dir/src/main/jni/audio_mixer_jni.cpp.o: In functionaudio_mixer::SwrContextDeleter::operator()(SwrContext*)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../src/avx_helper.h:60: undefined reference toswr_free' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In functionAudioFileDecoder': D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:15: undefined reference toav_frame_alloc' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In functionvoid rtc::webrtc_checks_impl::LogStreamer<>::Call<rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> >(char const*, int, char const*, rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> const&)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference tortc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In functionAudioFileDecoder': D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:18: undefined reference toav_packet_alloc' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In functionvoid rtc::webrtc_checks_impl::LogStreamer<>::Call<rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> >(char const*, int, char const*, rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> const&)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference tortc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In functionAudioFileDecoder': D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:20: undefined reference toav_init_packet' D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:24: undefined reference toavformat_open_input' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In functionvoid rtc::webrtc_checks_impl::LogStreamer<>::Call<rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> >(char const*, int, char const*, rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> const&)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer\.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference tortc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In functionAudioFileDecoder': D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:31: undefined reference toavformat_find_stream_info' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In functionvoid rtc::webrtc_checks_impl::LogStreamer<>::Call<rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> >(char const*, int, char const*, rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> const&)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer\.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference tortc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In functionAudioFileDecoder': D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:34: undefined reference toav_find_best_stream' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In functionvoid rtc::webrtc_checks_impl::LogStreamer<>::Call<rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> >(char const*, int, char const*, rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> const&)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer\.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference tortc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In functionAudioFileDecoder': D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:37: undefined reference toavcodec_find_decoder' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In functionvoid rtc::webrtc_checks_impl::LogStreamer<>::Call<rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> >(char const*, int, char const*, rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> const&)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer\.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference tortc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In functionAudioFileDecoder': D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:40: undefined reference toavcodec_alloc_context3' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In functionvoid rtc::webrtc_checks_impl::LogStreamer<>::Call<rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> >(char const*, int, char const*, rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> const&)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer\.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference tortc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In functionAudioFileDecoder': D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:42: undefined reference toavcodec_parameters_to_context' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In functionvoid rtc::webrtc_checks_impl::LogStreamer<>::Call<rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> >(char const*, int, char const*, rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> const&)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer\.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference tortc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In functionAudioFileDecoder': D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:46: undefined reference toavcodec_open2' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In functionvoid rtc::webrtc_checks_impl::LogStreamer<>::Call<rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> >(char const*, int, char const*, rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> const&)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer\.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference tortc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In functionAudioFileDecoder': D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:51: undefined reference toav_audio_fifo_alloc' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In functionvoid rtc::webrtc_checks_impl::LogStreamer<>::Call<rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> >(char const*, int, char const*, rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> const&)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer\.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference tortc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In functionav_make_error_string(char*, unsigned long, int)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer\.cxx\cmake\debug\arm64-v8a/../../../../../../libs/ffmpeg/include\libavutil/error.h:111: undefined reference toav_strerror' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In functionaudio_mixer::AudioFileDecoder::FillDecoder()': D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:86: undefined reference toav_read_frame' D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:90: undefined reference toav_packet_unref' D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:95: undefined reference toavcodec_send_packet' D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:97: undefined reference toav_packet_unref' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In functionvoid rtc::webrtc_checks_impl::LogStreamer<>::Call<rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> >(char const*, int, char const*, rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> const&)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference tortc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In functionaudio_mixer::AudioFileDecoder::Consume(void**, int)': D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:77: undefined reference toav_audio_fifo_size' D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:78: undefined reference toav_audio_fifo_read' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In functionaudio_mixer::AudioFileDecoder::FillFifo()': D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:109: undefined reference toav_audio_fifo_size' D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:110: undefined reference toavcodec_receive_frame' D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:111: undefined reference toav_audio_fifo_write' D:/Work/Demo Project/AudioMixer/src/audio_file_decoder.cpp:113: undefined reference toav_frame_unref' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In functionaudio_mixer::AVFrameDeleter::operator()(AVFrame*)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../src/avx_helper.h:44: undefined reference toav_frame_free' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In functionaudio_mixer::AVPacketDeleter::operator()(AVPacket*)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../src/avx_helper.h:52: undefined reference toav_packet_free' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In functionaudio_mixer::AVFormatContextDeleter::operator()(AVFormatContext*)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../src/avx_helper.h:28: undefined reference toavformat_close_input' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In functionaudio_mixer::AVCodecContextDeleter::operator()(AVCodecContext*)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../src/avx_helper.h:36: undefined reference toavcodec_free_context' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_decoder.cpp.o: In functionaudio_mixer::AVAudioFifoDeleter::operator()(AVAudioFifo*)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../src/avx_helper.h:68: undefined reference toav_audio_fifo_free' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_source.cpp.o: In functionAudioFileSource': D:/Work/Demo Project/AudioMixer/src/audio_file_source.cpp:32: undefined reference toav_samples_alloc_array_and_samples' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_source.cpp.o: In functionvoid rtc::webrtc_checks_impl::LogStreamer<>::Call<rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> >(char const*, int, char const*, rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> const&)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference tortc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_source.cpp.o: In functionav_make_error_string(char*, unsigned long, int)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../libs/ffmpeg/include\libavutil/error.h:111: undefined reference toav_strerror' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_source.cpp.o: In function~AudioFileSource': D:/Work/Demo Project/AudioMixer/src/audio_file_source.cpp:45: undefined reference toav_freep' D:/Work/Demo Project/AudioMixer/src/audio_file_source.cpp:47: undefined reference toav_freep' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_source.cpp.o: In functionaudio_mixer::AudioFileSource::GetAudioFrameWithInfo(int, webrtc::AudioFrame*)': D:/Work/Demo Project/AudioMixer/src/audio_file_source.cpp:56: undefined reference towebrtc::AudioFrame::UpdateFrame(unsigned int, short const*, unsigned long, int, webrtc::AudioFrame::SpeechType, webrtc::AudioFrame::VADActivity, unsigned long)' D:/Work/Demo Project/AudioMixer/src/audio_file_source.cpp:62: undefined reference towebrtc::AudioFrame::mutable_data()' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_file_source.cpp.o: In functionaudio_mixer::AudioFileSource::Read(void**)': D:/Work/Demo Project/AudioMixer/src/audio_file_source.cpp:91: undefined reference toav_samples_get_buffer_size' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_mixer.cpp.o: In functionAudioMixer': D:/Work/Demo Project/AudioMixer/src/audio_mixer.cpp:20: undefined reference towebrtc::AudioMixerImpl::Create()' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_mixer.cpp.o: In functionvoid rtc::webrtc_checks_impl::LogStreamer<>::Call<rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> >(char const*, int, char const*, rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> const&)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference tortc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_mixer.cpp.o: In functionAudioMixer': D:/Work/Demo Project/AudioMixer/src/audio_mixer.cpp:39: undefined reference towebrtc::AudioFrame::UpdateFrame(unsigned int, short const*, unsigned long, int, webrtc::AudioFrame::SpeechType, webrtc::AudioFrame::VADActivity, unsigned long)' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_mixer.cpp.o: In functionstd::__ndk1::__unique_ifwebrtc::AudioFrame::unique_single std::ndk1::make_uniquewebrtc::AudioFrame()': D:/Work/Android/Sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/windows-x86_64/sysroot/usr/include/c++/v1/memory:3003: undefined reference towebrtc::AudioFrame::AudioFrame()' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_mixer.cpp.o: In functionvoid rtc::webrtc_checks_impl::LogStreamer<>::Call<rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> >(char const*, int, char const*, rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> const&)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference tortc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' D:\Work\Demo Project\AudioMixer\android_project\AudioMixer\.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference tortc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' CMakeFiles/audio_mixer.dir/D/Work/Demo_Project/AudioMixer/src/audio_mixer.cpp.o: In functionaudio_mixer::AudioMixer::Mix(void*)': D:/Work/Demo Project/AudioMixer/src/audio_mixer.cpp:83: undefined reference toav_samples_get_buffer_size' D:/Work/Demo Project/AudioMixer/src/audio_mixer.cpp:85: undefined reference towebrtc::AudioFrame::data() const' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_record_source.cpp.o: In functionvoid rtc::webrtc_checks_impl::LogStreamer<>::Call<>(char const*, int, char const*)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference tortc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' D:\Work\Demo Project\AudioMixer\android_project\AudioMixer\.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference tortc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference tortc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' D:\Work\Demo Project\AudioMixer\android_project\AudioMixer\.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference tortc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' CMakeFiles/audio_mixer.dir/D/Work/Demo_Project/AudioMixer/src/audio_record_source.cpp.o: In functionaudio_mixer::AudioRecordSource::GetAudioFrameWithInfo(int, webrtc::AudioFrame*)': D:/Work/Demo Project/AudioMixer/src/audio_record_source.cpp:43: undefined reference towebrtc::AudioFrame::UpdateFrame(unsigned int, short const*, unsigned long, int, webrtc::AudioFrame::SpeechType, webrtc::AudioFrame::VADActivity, unsigned long)' CMakeFiles/audio_mixer.dir/D/Work/Demo_Project/AudioMixer/src/audio_record_source.cpp.o: In functionvoid rtc::webrtc_checks_impl::LogStreamer<>::Call<>(char const*, int, char const*)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer\.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference tortc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference tortc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' D:\Work\Demo Project\AudioMixer\android_project\AudioMixer\.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference tortc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference tortc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_resampler.cpp.o: In functionAudioResampler': D:/Work/Demo Project/AudioMixer/src/audio_resampler.cpp:15: undefined reference toswr_alloc' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_resampler.cpp.o: In functionvoid rtc::webrtc_checks_impl::LogStreamer<>::Call<>(char const*, int, char const*)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference tortc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_resampler.cpp.o: In functionAudioResampler': D:/Work/Demo Project/AudioMixer/src/audio_resampler.cpp:29: undefined reference toav_opt_set_int' D:/Work/Demo Project/AudioMixer/src/audio_resampler.cpp:30: undefined reference toav_opt_set_int' D:/Work/Demo Project/AudioMixer/src/audio_resampler.cpp:31: undefined reference toav_opt_set_sample_fmt' D:/Work/Demo Project/AudioMixer/src/audio_resampler.cpp:33: undefined reference toav_opt_set_int' D:/Work/Demo Project/AudioMixer/src/audio_resampler.cpp:34: undefined reference toav_opt_set_int' D:/Work/Demo Project/AudioMixer/src/audio_resampler.cpp:35: undefined reference toav_opt_set_sample_fmt' D:/Work/Demo Project/AudioMixer/src/audio_resampler.cpp:37: undefined reference toswr_init' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_resampler.cpp.o: In functionvoid rtc::webrtc_checks_impl::LogStreamer<>::Call<rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> >(char const*, int, char const*, rtc::webrtc_checks_impl::Val<(rtc::webrtc_checks_impl::CheckArgType)9, char const*> const&)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../libs/webrtc/include\rtc_base/checks.h:192: undefined reference tortc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...)' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_resampler.cpp.o: In functionav_make_error_string(char*, unsigned long, int)': D:\Work\Demo Project\AudioMixer\android_project\AudioMixer.cxx\cmake\debug\arm64-v8a/../../../../../../libs/ffmpeg/include\libavutil/error.h:111: undefined reference toav_strerror' CMakeFiles/audio_mixer.dir/D_/Work/Demo_Project/AudioMixer/src/audio_resampler.cpp.o: In functionaudio_mixer::AudioResampler::Resample(void**, int, void**)': D:/Work/Demo Project/AudioMixer/src/audio_resampler.cpp:43: undefined reference toav_get_bytes_per_sample' D:/Work/Demo Project/AudioMixer/src/audio_resampler.cpp:45: undefined reference toav_rescale_rnd' D:/Work/Demo Project/AudioMixer/src/audio_resampler.cpp:48: undefined reference toswr_convert' D:/Work/Demo Project/AudioMixer/src/audio_resampler.cpp:57: undefined reference toav_samples_get_buffer_size' CMakeFiles/audio_mixer.dir/D/Work/Demo_Project/AudioMixer/src/audio_source.cpp.o: In functionaudio_mixer::AudioSource::ApplyVolume(webrtc::AudioFrame*)': D:/Work/Demo Project/AudioMixer/src/audio_source.cpp:14: undefined reference towebrtc::AudioFrameOperations::ScaleWithSat(float, webrtc::AudioFrame*)' clang++: error: linker command failed with exit code 1 (use -v to see invocation) ninja: build stopped: subcommand failed.
你需要这个,拷贝到 AudioMixer/libs/ 目录下