I have made some modifications to souphttpclientsink and would like to include them in my Android app. I've locally copied, modified and renamed souphttpclientsink.c/.h -> customsouphttpclientsink.c/.h, and gstsouputils.h into my Android project source folder. Initially I was unable to build the project because these files could not find <libsoup/soup.h>. I ended up having to include libsoup-2.4 in my Android.mk and then it built. However, when running my application I get the following error when trying to register my new plugin: "cannot register existing type 'GstSoupHttpClientSink'". I've looked all over and most forum posts say that it is because both GStreamer 1.0 and 0.10 are installed. That is not the case though, I have only ever had GStreamer 1.0 versions installed (currently using 1.8.0, but have 1.6.2, 1.8.2 and 1.10.2 on my computer). Does anyone know what could be causing me to run into this issue? For reference I am on macOS Sierra, 10.12.2 and am using ndk-r10e. My Android.mk is below:
LOCAL_PATH := $(call my-dir) SHELL := PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin /bin/bash include $(CLEAR_VARS) LOCAL_MODULE := video-streamer FILE_LIST := $(wildcard $(LOCAL_PATH)/*.cpp) FILE_LIST += $(wildcard $(LOCAL_PATH)/*.c) LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%) LOCAL_SHARED_LIBRARIES := gstreamer_android LOCAL_LDLIBS := -llog -landroid -latomic LOCAL_CPPFLAGS += -std=c++11 -frtti -fexceptions include $(BUILD_SHARED_LIBRARY) ifeq ($(TARGET_ARCH_ABI),armeabi) GSTREAMER_ROOT := $(GSTREAMER_ROOT_ARM) else ifeq ($(TARGET_ARCH_ABI),armeabi-v7a) GSTREAMER_ROOT := $(GSTREAMER_ROOT_ARMV7) else ifeq ($(TARGET_ARCH_ABI),x86) GSTREAMER_ROOT := $(GSTREAMER_ROOT_X86) else $(error Target arch ABI $(TARGET_ARCH_ABI) not supported) 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_NET) $(GSTREAMER_PLUGINS_ENCODING) $(GSTREAMER_PLUGINS_SYS) mulaw G_IO_MODULES := gnutls GSTREAMER_EXTRA_DEPS := gstreamer-video-1.0 libsoup-2.4 GSTREAMER_INCLUDE_FONTS := no include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer-1.0.mk |
Is a bump acceptable? Any help would be appreciated.
|
Hi,
This is because you're linking the souphttpsrc element twice in yoru code. You need to rename your modified copy, for example, you can search and replace GstSoup with MyGstSoup throughout those files and that should fix this problem. Be aware that if you distribute your application with modified versions of code from GStreamer (or any other LGPL code), you need to publish under the LGPL the full source code for all the files needed to rebuild (and replace) this code in your application. Olivier On Thu, 2017-02-09 at 11:25 -0800, wbonnefond wrote: > Is a bump acceptable? Any help would be appreciated. > > > > -- > View this message in context: http://gstreamer-devel.966125.n4.nabble > .com/Android-Cannot-register-existing-type-GstSoupHttpClientSink- > tp4681650p4681790.html > Sent from the GStreamer-devel mailing list archive at Nabble.com. > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel Olivier Crête [hidden email] _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |