Hi,
I am able to use gstreamer sdk "gstreamer-1.0-android-arm-1.8.2.tar.bz2" in tutorial2. Now I am trying to build and run gstreamer tutorial 2 using gstreamer shared libraries(.so). My platform is Android Jelly Bean 4.2.2. Below are the steps which I followed. 1. Built gstreamer 1.8.2 using Cerbero. ("gstreamer-1.0-android-arm-1.8.2-runtime.tar.bz2"). 2. Compiled tutorial-2.c using ndk-build. 3. Loaded libtutorial-2.so, libgstreamer-1.0.so, libgstbase-1.0.so and their dependencies using System.loadLibrary() in Tutorial2.java file 4. Built the application without errors and ran on the device. 5. In tutorial-2.c, it's creating a pipeline "filesrc location = somefile.wav ! wavparse ! audioconvert ! autoaudiosink" in the application. I got the error "Unable to build pipeline : no element filesrc" 6. So I tried loading the plugin libgstcoreelements, which contains filesrc, using gst_plugin_load_file(). please see the code snippet in the file attached. But it is not coming out of gst_plugin_load_file() API. (log attached) 7. Then I tried with gst_registry_scan_path(), but faced same issue. Can we discuss on this issue? Also in some threads in gstreamer-development forum, I saw it's recommended to use "gstreamer-1.0-android-arm-1.8.2.tar.bz2" instead of runtime package "gstreamer-1.0-android-arm-1.8.2-runtime.tar.bz2". Is there any disadvantage in using runtime package in Android? What are the benefits of using static package over runtime package? Thank you in advance. gst-log.txt |
On Wed, 2016-10-05 at 09:15 -0700, Alfred wrote:
> Hi, > > I am able to use gstreamer sdk "gstreamer-1.0-android-arm-1.8.2.tar.bz2" in > tutorial2. Now I am trying to build and run gstreamer tutorial 2 using > gstreamer shared libraries(.so). My platform is Android Jelly Bean 4.2.2. > Below are the steps which I followed. > > 1. Built gstreamer 1.8.2 using Cerbero. > ("gstreamer-1.0-android-arm-1.8.2-runtime.tar.bz2"). > 2. Compiled tutorial-2.c using ndk-build. > 3. Loaded libtutorial-2.so, libgstreamer-1.0.so, libgstbase-1.0.so and their > dependencies using System.loadLibrary() in Tutorial2.java file > 4. Built the application without errors and ran on the device. > 5. In tutorial-2.c, it's creating a pipeline "filesrc location = > somefile.wav ! wavparse ! audioconvert ! autoaudiosink" in the application. > I got the error "Unable to build pipeline : no element filesrc" > 6. So I tried loading the plugin libgstcoreelements, which contains filesrc, > using gst_plugin_load_file(). please see the code snippet in the file > attached. But it is not coming out of gst_plugin_load_file() API. (log > attached) > 7. Then I tried with gst_registry_scan_path(), but faced same issue. > > Can we discuss on this issue? Also in some threads in gstreamer-development > forum, I saw it's recommended to use > "gstreamer-1.0-android-arm-1.8.2.tar.bz2" instead of runtime package > "gstreamer-1.0-android-arm-1.8.2-runtime.tar.bz2". Is there any disadvantage > in using runtime package in Android? What are the benefits of using static > package over runtime package? optimizations (and removal of unused code), and is the only way how things can work on older Android versions (they had a limit of 64 shared libraries... just count the plugins). Loading shared plugins from Android works just fine though, you just have to ensure that the ABI matches and you get them from the correct path. -- 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 (949 bytes) Download Attachment |
Free forum by Nabble | Edit this page |