Hello everyone,<br>I am Yusuf, a newbie to gstreamer.<br><br>I have a project on hand for streaming video over a UDP link on a WLAN infrastructure.<br><br>The transmitting is a linux box which transmits the video rtp packets perfectly over the udpsink.<br>
<br>The receiving device is an android device. I have taken the help of the android-tutorial-3 as showed on gstreamer-sdk website. I need only video(no audio), that too without the seek, network resilience features as shown in the android-tutorial-4.<br>
<br>The pipeline I have set-up in the receiver code is:<br>udpsrc, caps=(string)"my customized app dependant caps" ! rtpmp4vdepay ! ffdec_mpeg4 ! xvimagesink<br><br>Now the problem is that none of the elements in the above pipeline get created. I suspect and am quite sure that i have to include some specific gstreamer plugins and some other lines in the Android.mk file in the jni folder of my project.<br>
<br>I tried including all the 13 plugins(expect for the GSTREAMER_PLUGINS_CAPTURE) as mentioned in the <GSTREAMER_NDK_BUILD_PATH>/<a href="http://plugins.mk">plugins.mk</a> file. But this resulted in to more errors as:<br>
<br>--------------------------------------------------------------------------------------------------------------------------------------------------------------<br>/root/AndroidNDK/android-ndk-r8b/ndk-build all <br>GStreamer : [GEN] => gst-build/gstreamer_android.c<br>
GStreamer : [COMPILE] => gst-build/gstreamer_android.c<br>GStreamer : [LINK] => gst-build/libgstreamer_android.so<br>/root/AndroidNDK/android-ndk-r8b/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld.gold: error: /root/GstremerSDK/gstreamer-sdk-android-arm-debug-2012.11/lib/gstreamer-0.10/static/libgstgoom.a(libgstgoom_la-gstgoom.o): multiple definition of 'gst_goom_get_type'<br>
/root/AndroidNDK/android-ndk-r8b/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld.gold: /root/GstremerSDK/gstreamer-sdk-android-arm-debug-2012.11/lib/gstreamer-0.10/static/libgstgoom2k1.a(libgstgoom2k1_la-gstgoom.o): previous definition here<br>
/root/AndroidNDK/android-ndk-r8b/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld.gold: error: /root/GstremerSDK/gstreamer-sdk-android-arm-debug-2012.11/lib/libavutil.a(mem.o): multiple definition of 'av_malloc'<br>
/root/AndroidNDK/android-ndk-r8b/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld.gold: /root/GstremerSDK/gstreamer-sdk-android-arm-debug-2012.11/lib/gstreamer-0.10/static/libgstffmpegcolorspace.a(libgstffmpegcolorspace_la-mem.o): previous definition here<br>
/root/AndroidNDK/android-ndk-r8b/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld.gold: error: /root/GstremerSDK/gstreamer-sdk-android-arm-debug-2012.11/lib/libavutil.a(mem.o): multiple definition of 'av_realloc'<br>
/root/AndroidNDK/android-ndk-r8b/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld.gold: /root/GstremerSDK/gstreamer-sdk-android-arm-debug-2012.11/lib/gstreamer-0.10/static/libgstffmpegcolorspace.a(libgstffmpegcolorspace_la-mem.o): previous definition here<br>
/root/AndroidNDK/android-ndk-r8b/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld.gold: error: /root/GstremerSDK/gstreamer-sdk-android-arm-debug-2012.11/lib/libavutil.a(mem.o): multiple definition of 'av_free'<br>
/root/AndroidNDK/android-ndk-r8b/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld.gold: /root/GstremerSDK/gstreamer-sdk-android-arm-debug-2012.11/lib/gstreamer-0.10/static/libgstffmpegcolorspace.a(libgstffmpegcolorspace_la-mem.o): previous definition here<br>
/root/AndroidNDK/android-ndk-r8b/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld.gold: error: cannot find -lgstindvd<br>/root/AndroidNDK/android-ndk-r8b/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld.gold: error: cannot find -lgstdvdlpcmdec<br>
/root/AndroidNDK/android-ndk-r8b/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld.gold: error: cannot find -lgstdvdread<br>
gst-build/gstreamer_android.o:gstreamer_android.c:function gst_android_register_static_plugins: error: undefined reference to 'gst_plugin_indvd_register'<br>gst-build/gstreamer_android.o:gstreamer_android.c:function gst_android_register_static_plugins: error: undefined reference to 'gst_plugin_dvdlpcmdec_register'<br>
gst-build/gstreamer_android.o:gstreamer_android.c:function gst_android_register_static_plugins: error: undefined reference to 'gst_plugin_dvdread_register'<br>libavcodec/flashsvenc.c:169: error: undefined reference to 'compress2'<br>
libavcodec/tiffenc.c:165: error: undefined reference to 'compress'<br>collect2: ld returned 1 exit status<br>make: *** [buildsharedlibrary] Error 1<br>-------------------------------------------------------------------------------------------------------------------------------------------------<br>
<br><br><br>my current Android.mk file looks like this:<br>-------------------------------------------------------------------------------------------------------------------------------------------------------<br>LOCAL_PATH := $(call my-dir)<br>
<br>include $(CLEAR_VARS)<br><br>LOCAL_MODULE := tutorial-3<br>LOCAL_SRC_FILES := tutorial-3.c<br>LOCAL_SHARED_LIBRARIES := gstreamer_android<br>LOCAL_LDLIBS := -llog -landroid<br>include $(BUILD_SHARED_LIBRARY)<br><br>
ifndef GSTREAMER_SDK_ROOT<br>ifndef GSTREAMER_SDK_ROOT_ANDROID<br>$(error GSTREAMER_SDK_ROOT_ANDROID is not defined!)<br>endif<br>GSTREAMER_SDK_ROOT := $(GSTREAMER_SDK_ROOT_ANDROID)<br>endif<br>GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/<br>
include $(GSTREAMER_NDK_BUILD_PATH)/<a href="http://plugins.mk">plugins.mk</a><br>GSTREAMER_PLUGINS := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_SYS) $(GSTREAMER_PLUGINS_EFFECTS) $(GSTREAMER_PLUGINS_NET) $(GSTREAMER_PLUGINS_CODECS) $(GSTREAMER_PLUGINS_CODECS_RESTRICTED) $(GSTREAMER_PLUGINS_PLAYBACK) $(GSTREAMER_PLUGINS_VIS) $(GSTREAMER_PLUGINS_NET_RESTRICTED) $(GSTREAMER_PLUGINS_CODECS_GPL) $(GSTREAMER_PLUGINS_DVD) $(GSTREAMER_PLUGINS_ENCODING) <br>
GSTREAMER_EXTRA_DEPS := gstreamer-interfaces-0.10 gstreamer-video-0.10 <br>include $(GSTREAMER_NDK_BUILD_PATH)/<a href="http://gstreamer.mk">gstreamer.mk</a><br>-------------------------------------------------------------------------------------------------------------------------------------------------------------<br clear="all">
<br>I just want to know what am I missing here for building the mentioned pipeline.<br>I would appreciate any help for my problem.<br><br><br>Regards,<br>-- <br><blockquote style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<font color="#333333" face="'courier new', monospace" size="4"><b>---Yusuf Husainy| B.E. (Electronics and Telecommunication)| +919890910252| Pune</b></font></blockquote>