Adding New GStreamer Plugin for Android

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Adding New GStreamer Plugin for Android

kkaran2010
This post was updated on .
Hi,

I am trying to add new plugin (gstreamer-imx) for Android application but still not able to compile application after adding plugin.
Steps I followed are :

https://github.com/Freescale/gstreamer-imx -> downloaded this git repo and tried building it for Android with

"./waf configure --prefix=PREFIX --kernel-headers=KERNEL-HEADER-RPATH --build-for-android"

And successfully compiled and generated Libraries
build/src/common/libgstimxcommon.a and build/src/vpu/libgstimxvpu.a as I need only decoder plugin, I have added build/src/vpu/libgstimxvpu.a and build/src/vpu/libgstimxvpu.la to
 GSTREAMER-SDK/libs/gstreamer-1.0/static and
 build/src/common/libgstimxcommon.a and build/src/common/libgstimxcommon.la to
 GSTREAMER-SDK/libs 
and includes to GSTREAMER-SDK/include 
and added imxvpu to GSTREAMER-SDK/share/gst-android/ndk-build/plugin.mk file and modified my Android.mk file accordingly.
But when I fire android-ndk-r9b/ndk-build command, I am getting
android-ndk-r9b/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.gold: gst-build-armeabi/gstreamer_android.o: in function gst_android_register_static_plugins:gstreamer_android.c(.text.gst_android_register_static_plugins+0x4c): error: undefined reference to 'gst_plugin_imxvpu_register'
collect2: ld returned 1 exit status
make: *** [buildsharedlibrary_armeabi] Error 1
 this error.

Am I doing something wrong? Please guide.

And anyone is having exact steps to add new GStreamer plugin for Android then please share.

Thanks,
Karan
Reply | Threaded
Open this post in threaded view
|

Re: Adding New GStreamer Plugin for Android

Sebastian Dröge-3
On Mi, 2016-05-18 at 05:38 -0700, kkaran2010 wrote:

> Hi,
>
> I am trying to add new plugin (gstreamer-imx) for Android application but
> still not able to compile application after adding plugin.
> Steps I followed are :
> https://github.com/Freescale/gstreamer-imx
> <https://github.com/Freescale/gstreamer-imx>   -> downloaded this git repo
> and tried building it for Android with 
> "./waf configure --prefix=PREFIX --kernel-headers=KERNEL-HEADER-RPATH
> *--build-for-android*"
> And successfully compiled and generated Libraries
> build/src/common/libgstimxcommon.a and build/src/vpu/libgstimxvpu.a as I
> need only decoder plugin, I have added build/src/vpu/libgstimxvpu.a and
> build/src/vpu/libgstimxvpu.la to *GSTREAMER-SDK/libs/gstreamer-1.0/static*
> and build/src/common/libgstimxcommon.a and
> build/src/common/libgstimxcommon.la to *GSTREAMER-SDK/libs* and includes to
> *GSTREAMER-SDK/include* and added *imxvpu *to
> *GSTREAMER-SDK/share/gst-android/ndk-build/plugin.mk* file and modified my
> Android.mk file accordingly but when I fire android-ndk-r9b/ndk-build
> command, I am getting
> android-ndk-r9b/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.gold:
> gst-build-armeabi/gstreamer_android.o: in function
> gst_android_register_static_plugins:gstreamer_android.c(.text.gst_android_register_static_plugins+0x4c):
> error: undefined reference to 'gst_plugin_imxvpu_register' this error.
> Am I doing something wrong? Please guide.
>
> And anyone is having exact steps to add new GStreamer plugin for Android
> then please share.
Your mail is very difficult to read, please don't use nabble and also
insert some more newlines into your text in the future :)

Your problem is most likely that the gstreamer-imx plugin was not
compiled as a static GStreamer plugin. You have to check how to enable
that with their build system, but in the end it means #defining
  GST_PLUGIN_BUILD_STATIC
during the build.

--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (968 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Adding New GStreamer Plugin for Android

kkaran2010
Thanks Sebastian.
Sure, I will take care of this things next time when i'll write message. :)

So I'll have to add "#define GST_PLUGIN_BUILD_STATIC " in every .C file in GStreamer-imx during building?

Thanks,
Karan
Reply | Threaded
Open this post in threaded view
|

Re: Adding New GStreamer Plugin for Android

Sebastian Dröge-3
On Fr, 2016-05-20 at 05:01 -0700, kkaran2010 wrote:
> Thanks Sebastian.
> Sure, I will take care of this things next time when i'll write
> message. :)
>
> So I'll have to add "#define GST_PLUGIN_BUILD_STATIC " in every .C
> file in GStreamer-imx during building?

Or put -DGST_PLUGIN_BUILD_STATIC into the compiler flags, or if there
is a common header included by all just put that #define there.

--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (968 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Adding New GStreamer Plugin for Android

kkaran2010
Thanks Sebastian.

I'll try and let you know if I still get any troubles.

Thanks,
Karan
Reply | Threaded
Open this post in threaded view
|

Re: Adding New GStreamer Plugin for Android

kkaran2010
In reply to this post by Sebastian Dröge-3
Hi Sebastian,

I have added #define GST_PLUGIN_BUILD_STATIC in each .c file in gstreamer-imx but still getting the same error. :(


Android/android-ndk-r9b/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.gold: gst-build-armeabi/gstreamer_android.o: in function gst_android_register_static_plugins:gstreamer_android.c(.text.gst_android_register_static_plugins+0x1cc): error: undefined reference to 'gst_plugin_imxvpu_register'
collect2: ld returned 1 exit status
make: *** [buildsharedlibrary_armeabi] Error 1


Any other option that I can try?

Thanks,
Karan
Reply | Threaded
Open this post in threaded view
|

Re: Adding New GStreamer Plugin for Android

Sebastian Dröge-3
On Mo, 2016-05-23 at 06:03 -0700, kkaran2010 wrote:

> Hi Sebastian,
>
> I have added #define GST_PLUGIN_BUILD_STATIC in each .c file in
> gstreamer-imx but still getting the same error. :(
>
>
> Android/android-ndk-r9b/toolchains/arm-linux-androideabi-
> 4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-
> androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.gold:
> gst-build-armeabi/gstreamer_android.o: in function
> gst_android_register_static_plugins:gstreamer_android.c(.text.gst_and
> roid_register_static_plugins+0x1cc):
> error: undefined reference to 'gst_plugin_imxvpu_register'
> collect2: ld returned 1 exit status
> make: *** [buildsharedlibrary_armeabi] Error 1
>
>
> Any other option that I can try?
Check how the plugin is compiled, what functions it is exporting, etc.
It should export a gst_plugin_imxvpu_register() if it is compiled with
that #define and uses GST_PLUGIN_DEFINE().

Also check if the plugin .a file is actually linked in there, e.g. by
running ndk-build with LIBTOOL_DEBUG=1

--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (968 bytes) Download Attachment