unregistered plugins problem on embedded platform

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

unregistered plugins problem on embedded platform

na
Hello,

I'm trying to run a gstreamer application on an embedded platform with an ARM processor.  I have managed to install everything without any error messages, however it looks like the plugins that I have installed are not being registered.

When I run  the application it is not able to create elements other than "bin" and "pipeline" and is not able to find the "registry.arm.bin" file (gst-inspect also only shows these 2 elements ). See below:

0:00:00.097172500   889    0x11008 INFO                GST_INIT gstquery.c:105:_gst_query_initialize: init queries
0:00:00.179002166   889    0x11008 INFO                GST_INIT gstmessage.c:73:_gst_message_initialize: init messages
0:00:00.183994458   889    0x11008 INFO      GST_PLUGIN_LOADING gstplugin.c:336:_gst_plugin_initialize: registering 0 static plugins
0:00:00.195309458   889    0x11008 INFO      GST_PLUGIN_LOADING gstplugin.c:252:gst_plugin_register_static: registered static plugin "staticelements"
0:00:00.197055083   889    0x11008 INFO      GST_PLUGIN_LOADING gstplugin.c:254:gst_plugin_register_static: added static plugin "staticelements", result: 1
0:00:00.209529917   889    0x11008 INFO            GST_REGISTRY gstregistry.c:1541:ensure_current_registry: reading registry cache: /root/.gstreamer-0.10/regist
ry.arm.bin
0:00:00.213167667   889    0x11008 INFO            GST_REGISTRY gstregistrybinary.c:519:gst_registry_binary_read_cache: Unable to mmap file /root/.gstreamer-0.1
0/registry.arm.bin : Failed to open file '/root/.gstreamer-0.10/registry.arm.bin': open() failed: No such file or directory
0:00:00.215232459   889    0x11008 INFO            GST_REGISTRY gstregistrybinary.c:529:gst_registry_binary_read_cache: Unable to read file /root/.gstreamer-0.1
0/registry.arm.bin : Failed to open file '/root/.gstreamer-0.10/registry.arm.bin': No such file or directory
0:00:00.216922834   889    0x11008 INFO            GST_REGISTRY gstregistry.c:1411:scan_and_update_registry: Validating plugins from registry cache: /root/.gstr
eamer-0.10/registry.arm.bin
0:00:00.219610917   889    0x11008 INFO            GST_REGISTRY gstregistry.c:1503:scan_and_update_registry: Registry cache has not changed
0:00:00.220776459   889    0x11008 INFO            GST_REGISTRY gstregistry.c:1570:ensure_current_registry: registry reading and updating done, result = 1
0:00:00.222018709   889    0x11008 INFO                GST_INIT gst.c:795:init_post: GLib runtime version: 2.22.4

0:00:00.223334625   889    0x11008 INFO                GST_INIT gst.c:797:init_post: GLib headers version: 2.22.4

0:00:00.224791792   889    0x11008 INFO                GST_INIT gst.c:457:gst_init_check: initialized GStreamer successfully
creating pipeline element
0:00:00.226915084   889    0x11008 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:403:gst_element_factory_create: creating element "pipeline"
creating appsrc element
0:00:00.232362959   889    0x11008 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:492:gst_element_factory_make: no such element factory "appsrc"!

Some relevant files on my file system:

In /lib:
libgstapp-0.10.la
libgstapp-0.10.so
libgstapp-0.10.so.0
libgstapp-0.10.so.0.19.0
libglib-2.0.la
libglib-2.0.so
libglib-2.0.so.0
libglib-2.0.so.0.2200.4
libgstreamer-0.10.a
libgstreamer-0.10.la
libgstreamer-0.10.so
libgstreamer-0.10.so.0
libgstreamer-0.10.so.0.23.0

In /lib/gstreamer-0.10:
libgstapp.la    
libgstapp.so    

All the relevant libraries appear to have been built and installed on the target. However, gstreamer doesn't seem to be aware of it.

The Libraries and Includes in my makefile are as follows:

LIBS = -L${FILESYS_PATH}/lib -lglib-2.0 -lgstbase-0.10 -lgstreamer-0.10 \
-L${FILESYS_PATH}/lib/gstreamer-0.10 -lgstapp-0.10

INCLUDES = -I. \
-I${FILESYS_PATH}/include  \
-I${FILESYS_PATH}/include/glib-2.0 \
-I${FILESYS_PATH}/lib/glib-2.0/include \
-I${FILESYS_PATH}/include/gstreamer-0.10 \
-I${FILESYS_PATH}/usr/local/include/gstreamer-0.10 \
-I${FILESYS_PATH}/usr/local/include/gstreamer-0.10/gst

The configure options that I used for compiling things are as follows:

Liboil:

./configure --prefix=${FILESYS_PATH} --exec-prefix=${FILESYS_PATH} --host=arm-linux --build=i386-linux --target=arm-linux --disable-static --with-html-dir=/tmp/dump

Glib:

 ./configure --prefix=${FILESYS_PATH} --exec-prefix=${FILESYS_PATH} --host=arm-linux --cache-file=wham.cache --disable-selinux --disable-xattr --disable-gtk-doc --disable-static --with-html-dir=/tmp/dump

GStreamer:

./configure --prefix=${FILESYS_PATH} --exec-prefix=${FILESYS_PATH} --host=arm-linux --build=i386-linux --target=arm-linux --disable-nls --disable-static --enable-binary-registry --disable-loadsave --with-html-dir=/tmp/dump

Base Plugins:

./configure --prefix=${FILESYS_PATH} --exec-prefix=${FILESYS_PATH} --host=arm-linux --build=i386-linux --target=arm-linux --disable-x --disable-xvideo --disable-xshm --disable-gst_v4l --disable-alsa --disable-cdparanoia --disable-gnome_vfs --disable-libvisual --disable-ogg --disable-oggtest --disable-pango --disable-theora --disable-vorbis --disable-vorbistest --disable-freetypetest --disable-examples --libdir=${FILESYS_PATH}/lib --includedir=${FILESYS_PATH}/include --disable-nls --disable-static --with-html-dir=/tmp/dump


Any help appreciated.

Thanks.

Best regards,

Nadeem

na
Reply | Threaded
Open this post in threaded view
|

Re: unregistered plugins problem on embedded platform

na
It looks like the gstreamer was installed in a non-standard location.  The problem was solved by setting the GST_PLUGIN_SYSTEM_PATH variable and pointing correctly.

Best regards,

Nadeem