gstreamer srt plugin build failed without soundtouch plugin
Describe your issue
If compiling Android app with gstreamer 1.22.9 or 1.24.1 I have build errors after adding srt plugin.
Expected Behavior
Project should compile without errors.
Observed Behavior
/home/nikitina/work3_android_gstreamer/gstreamer-1.22.9/arm64/lib/libsrt.a(common.cpp.o):common.cpp:function __clang_call_terminate: error: undefined reference to '__cxa_begin_catch' /home/nikitina/work3_android_gstreamer/gstreamer-1.22.9/arm64/lib/libsrt.a(common.cpp.o):common.cpp:function __clang_call_terminate: error: undefined reference to 'std::terminate()' /context/build/android-ndk-21/sources/cxx-stl/llvm-libc++/include/new:253: error: undefined reference to 'operator new(unsigned long)' /context/build/android-ndk-21/sources/cxx-stl/llvm-libc++/include/new:334: error: undefined reference to 'operator delete(void*)' /context/build/android-ndk-21/sources/cxx-stl/llvm-libc++/include/new:334: error: undefined reference to 'operator delete(void*)' /context/build/android-ndk-21/sources/cxx-stl/llvm-libc++/include/new:334: error: undefined reference to 'operator delete(void*)' /context/build/android-ndk-21/sources/cxx-stl/llvm-libc++/include/ios:777: error: undefined reference to 'std::__ndk1::ios_base::getloc() const' /context/build/android-ndk-21/sources/cxx-stl/llvm-libc++/include/__locale:250: error: undefined reference to 'std::__ndk1::ctype<char>::id' /context/build/android-ndk-21/sources/cxx-stl/llvm-libc++/include/__locale:250: error: undefined reference to 'std::__ndk1::ctype<char>::id' /context/build/android-ndk-21/sources/cxx-stl/llvm-libc++/include/__locale:250: error: undefined reference to 'std::__ndk1::locale::use_facet(std::__ndk1::locale::id&) const' /context/build/android-ndk-21/sources/cxx-stl/llvm-libc++/include/ios:777: error: undefined reference to 'std::__ndk1::locale::~locale()' /context/build/android-ndk-21/sources/cxx-stl/llvm-libc++/include/new:334: error: undefined reference to 'operator delete(void*)' /context/build/android-ndk-21/sources/cxx-stl/llvm-libc++/include/streambuf:307: error: undefined reference to 'std::__ndk1::locale::~locale()' /context/build/android-ndk-21/sources/cxx-stl/llvm-libc++/include/iosfwd:136: error: undefined reference to 'std::__ndk1::ios_base::~ios_base()' /context/build/android-ndk-21/sources/cxx-stl/llvm-libc++/include/ios:777: error: undefined reference to 'std::__ndk1::locale::~locale()' /context/build/android-ndk-21/sources/cxx-stl/llvm-libc++/include/ios:711: error: undefined reference to 'std::__ndk1::ios_base::init(void*)' /context/build/android-ndk-21/sources/cxx-stl/llvm-libc++/include/streambuf:232: error: undefined reference to 'std::__ndk1::locale::locale()' /context/build/android-ndk-21/sources/cxx-stl/llvm-libc++/include/streambuf:307: error: undefined reference to 'std::__ndk1::locale::~locale()' /context/build/android-ndk-21/sources/cxx-stl/llvm-libc++/include/iosfwd:136: error: undefined reference to 'std::__ndk1::ios_base::~ios_base()' /context/build/android-ndk-21/sources/cxx-stl/llvm-libc++/include/ios:711: error: undefined reference to 'std::__ndk1::ios_base::init(void*)' /context/build/android-ndk-21/sources/cxx-stl/llvm-libc++/include/streambuf:232: error: undefined reference to 'std::__ndk1::locale::locale()' /context/build/android-ndk-21/sources/cxx-stl/llvm-libc++/include/iosfwd:136: error: undefined reference to 'std::__ndk1::ios_base::~ios_base()' ...
Setup
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_CPPFLAGS += -std=c++17
LOCAL_MODULE := gst-streamer
LOCAL_SRC_FILES += $(CRSTREAMER_SDK:$(LOCAL_PATH)/%=%)
LOCAL_SHARED_LIBRARIES := gstreamer_android
LOCAL_LDLIBS := -llog -landroid
include $(BUILD_SHARED_LIBRARY)
ifndef GSTREAMER_ROOT_ANDROID
$(error GSTREAMER_ROOT_ANDROID is not defined!)
endif
ifeq ($(TARGET_ARCH_ABI),armeabi)
GSTREAMER_ROOT := $(GSTREAMER_ROOT_ANDROID)/arm
else ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
GSTREAMER_ROOT := $(GSTREAMER_ROOT_ANDROID)/armv7
else ifeq ($(TARGET_ARCH_ABI),arm64-v8a)
GSTREAMER_ROOT := $(GSTREAMER_ROOT_ANDROID)/arm64
else ifeq ($(TARGET_ARCH_ABI),x86)
GSTREAMER_ROOT := $(GSTREAMER_ROOT_ANDROID)/x86
else ifeq ($(TARGET_ARCH_ABI),x86_64)
GSTREAMER_ROOT := $(GSTREAMER_ROOT_ANDROID)/x86_64
else
$(error Target arch ABI not supported: $(TARGET_ARCH_ABI))
endif
GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_ROOT)/share/gst-android/ndk-build/
include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk
GSTREAMER_PLUGINS := encoding flv coreelements audioconvert audioresample videoconvertscale videorate volume videofilter opengl voaacenc androidmedia opensles rtmp2 videoparsersbad audioparsers volume app x264 inter srt mpegtsmux
GSTREAMER_EXTRA_DEPS := gstreamer-video-1.0 gobject-2.0 gstreamer-app-1.0
GSTREAMER_EXTRA_LIBS := -liconv
include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer-1.0.mk
Solutions you have tried
If also add soundtouch plugin then build succeed