在调试模式下编译GStreamer

问题描述

在一个Android项目中,为了显示RTSP视频流,我正在使用GStreamer。

从可用的here预编译包中,我使用以下Android.mk文件生成共享对象文件:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := gstreamernative
LOCAL_SRC_FILES := gstreamernative.c
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         := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_PLAYBACK) $(GSTREAMER_PLUGINS_CODECS) $(GSTREAMER_PLUGINS_NET) $(GSTREAMER_PLUGINS_SYS)
G_IO_MODULES              := openssl
GSTREAMER_EXTRA_DEPS      := gstreamer-video-1.0
include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer-1.0.mk

以及以下Application.mk文件:

APP_ABI = armeabi-v7a arm64-v8a
APP_STL = c++_shared

RSTP流在所有Android版本上均正常工作。但是我想读取特定的HTTP视频流,它可以在Android

堆栈跟踪不是很明确:

致命信号11(SIGSEV),代码1(SEGV_MAPPER),TID 2458中的故障地址0xaaaaaaaaaaaaaaaaa(汤httpsrc0:sr),pid 2334(application.id)

#05 pc 00000000000e24a4 /apex/com.android.runtime/lib64/bionic/libc.so(__pthread_start(void *)+ 36)(BuildId:ceedf0f98da575de138b0c631aceca44)

#06 pc 0000000000083d98 /apex/com.android.runtime/lib64/bionic/libc.so(__start_thread + 64)(BuildId:ceedf0f98da575de138b0c631aceca44)

是否可以修改Android.mk或Application.mk文件,以便生成GStreamer的“调试”二进制文件,并在应用程序停止工作时显示更多日志?

预先感谢您的帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)