GStreamer Android .mk в CMakeList.txt - PullRequest
0 голосов
/ 24 марта 2020

Прикрепленный код - это файл Android .mk с официального сайта GStreamer, созданный NDKBuild. В настоящее время я закончил со всеми функциями, необходимыми для моего приложения, только тогда я понял, что существующее приложение (которое я буду реализовывать из приложения, которое я разработал) было построено CMake, и у меня возникли трудности с переводом сборки GStreamer. файл из Android .mk в CMakeList.txt. Я знаю, что это не платформа службы кодирования, но это последний шаг для моего проекта, и мне очень нужна ваша помощь.

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := tutorial-3
LOCAL_SRC_FILES := tutorial-3.c dummy.cpp
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_SYS) $(GSTREAMER_PLUGINS_EFFECTS) $(GSTREAMER_PLUGINS_CODECS_RESTRICTED) $(GSTREAMER_PLUGINS_PLAYBACK) $(GSTREAMER_PLUGINS_CODECS) $(GSTREAMER_PLUGINS_NET)
GSTREAMER_EXTRA_DEPS      := gstreamer-video-1.0 gobject-2.0
GSTREAMER_EXTRA_LIBS      := -liconv
include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer-1.0.mk

1 Ответ

0 голосов
/ 24 марта 2020

Если я правильно понимаю, вам нужно собрать gstreamer для другой платформы. Вы пытаетесь сделать это с помощью Cmake. Раньше это был способ построить его для Windows, но его заменили сборкой, основанной на измеряемой среде. Вы можете прочитать больше здесь https://github.com/GStreamer/gst-build

Позитивные новости заключаются в том, что действительно просто собрать gstreamer с помощью Meason по сравнению с Cmake.

Надеюсь, это поможет.

...