[gst-devel] need help: why can I not see the dynamicelements/plugin?

龚 元晖 yuanhui1021 at hotmail.com
Tue Jul 4 08:58:27 CEST 2006


Hi Thomas,
I run gst-inspect with option '--gst-debug=4', thus I can see that 
gstreamer failed to load plugin 
'/usr/lib/gstreamer-0.10/libgstcoreelements.so' due to not finding plugin 
entry.

from source file gstplugin.c, function 'g_module_symbol()' return error.
GstPlugin *
gst_plugin_load_file (const gchar * filename, GError ** error)
{
  [snip]...
   ret = g_module_symbol (module, "gst_plugin_desc", &ptr);
   if (!ret) {
    GST_DEBUG ("Could not find plugin entry point in \"%s\"", filename);
    g_set_error (error,
        GST_PLUGIN_ERROR,
        GST_PLUGIN_ERROR_MODULE,
        "File \"%s\" is not a GStreamer plugin", filename);
    g_module_close (module);
    goto return_error;
  }
  [snip]... 
}

why does this method fail to find plugin entry? how can I debug it further?

is there someone else can give me hints, or debug method to fight with it? 
any comments are well appriciated.

Yuanhui

screen output is attached below:
/ $ gst-inspect --gst-debug=4
INFO  (0x1a238 - 0:00:00.150005000)             GST_INIT(  182) 
gstquery.c(101):
_gst_query_initialize: init queries
INFO  (0x1a238 - 0:00:00.200004000)             GST_INIT(  182) 
gstmessage.c(72)
:_gst_message_initializ™GCkÔinit messages
DEBUG (0x1a238 - 0:00:00.240002000)                  bin(  182) 
gstbin.c(386):gs
t_bin_class_init: creating bin thread pool
DEBUG (0x1a238 - 0:00:00.250001000)         GST_REGISTRY(  182) 
gstregistry.c(39
5):gst_registry_add_feature:<registry0> adding feature 0x36140 (bin)
DEBUG (0x1a238 - 0:00:00.250004000)         GST_REGISTRY(  182) gstregis'Ês
c(403
):gst_registry_add_feature:<registry0> emitting feature-added for bin
DEBUG (0x1a238 - 0:00:00.260003000)         GST_REGISTRY(  182) 
gstregistry.c(39
5):gst_registry_add_feature:<registry0> adding feature 0x37d90 (pipeline)
DEBUG (0x1a238 - 0:00:00.260006000)         GST_REGISTRY(  182) 
gstregistry.c(40
3):gst_registry_add_feature:<registry0> emitting feature-added for pipeline
INFO  (0x1a238 - 0:00:00.260009000)   GST_PLUGIN_LOADING(  182) 
gstplugin.c(182)
:_gst_plugin_register_static: loaded static plugin "staticelements"
DEBUG (0x1a238 - 0:00:00.270002000)         GST_REGISTRY(  182) 
gstregistry.c(32
6):gst_registry_add_plugin:<registry0> adding plugin 0x35e38 for filename 
"(NULL
)"
DEBUG (0x1a238 - 0:00:00.270004000)         GST_REGISTRY(  182) 
gstregistry.c(33
5):gst_registry_add_plugin:<registry0> emitting plugin-added for filename 
"(NULL
)"
DEBUG (0x1a238 - 0:00:00.320006000)             GST_INIT(  182) 
gst.c(602):init_
post: Reading registry cache
DEBUG (0x1a238 - 0:00:00.330002000)             GST_INIT(  182) 
gst.c(612):init_
post: GST_PLUGIN_PATH set to /usr/lib/gstreamer-0.10
DEBUG (0x1a238 - 0:00:00.330005000)         GST_REGISTRY(  182) 
gstregistry.c(86
6):gst_registry_scan_path:<registry0> scanning path /usr/lib/gstreamer-0.10
DEBUG (0x1a238 - 0:00:00.340003000)         GST_REGISTRY(  182) 
gstregistry.c(82
8):gst_registry_scan_path_level:<registry0> file 
/usr/lib/gstreamer-0.10/libgstc
oreelements.so not yet in registry
DEBUG (0x1a238 - 0:00:00.340006000)   GST_PLUGIN_LOADING(  182) 
gstplugin.c(388)
:gst_plugin_load_file: attempt to load plugin 
"/usr/lib/gstreamer-0.10/libgstcor
eelements.so"
DEBUG (0x1a238 - 0:00:00.390000000)   GST_PLUGIN_LOADING(  182) 
gstplugin.c(426)
:gst_plugin_load_file: Could not find plugin entry point in 
"/usr/lib/gstreamer-
0.10/libgstcoreelements.so"
DEBUG (0x1a238 - 0:00:00.390005000)   GST_PLUGIN_LOADING(  182) 
gstplugin.c(131)
:gst_plugin_finalize: finalizing plugin 0x3c210
DEBUG (0x1a238 - 0:00:00.390009000)         GST_REGISTRY(  182) 
gstregistry.c(82
8):gst_registry_scan_path_level:<registry0> file 
/usr/lib/gstreamer-0.10/libgstc
oreindexers.so not yet in registry
DEBUG (0x1a238 - 0:00:00.400002000)   GST_PLUGIN_LOADING(  182) 
gstplugin.c(388)
:gst_plugin_load_file: attempt to load plugin 
"/usr/lib/gstreamer-0.10/libgstcor
eindexers.so"
DEBUG (0x1a238 - 0:00:00.420006000)   GST_PLUGIN_LOADING(  182) 
gstplugin.c(426)
:gst_plugin_load_file: Could not find plugin entry point in 
"/usr/lib/gstreamer-
0.10/libgstcoreindexers.so"
DEBUG (0x1a238 - 0:00:00.430000000)   GST_PLUGIN_LOADING(  182) 
gstplugin.c(131)
:gst_plugin_finalize: finalizing plugin 0x38c60
DEBUG (0x1a238 - 0:00:00.430005000)         GST_REGISTRY(  182) 
gstregistry.c(84
2):gst_registry_scan_path_level:<registry0> registry changed? 0
DEBUG (0x1a238 - 0:00:00.430007000)         GST_REGISTRY(  182) 
gstregistry.c(86
9):gst_registry_scan_path:<registry0> registry changed? 0
DEBUG (0x1a238 - 0:00:00.440000000)             GST_INIT(  182) 
gst.c(629):init_
post: GST_PLUGIN_SYSTEM_PATH not set
DEBUG (0x1a238 - 0:00:00.440003000)         GST_REGISTRY(  182) 
gstregistry.c(86
6):gst_registry_scan_path:<registry0> scanning path 
/root/.gstreamer-0.10/plugin
s
DEBUG (0x1a238 - 0:00:00.440006000)         GST_REGISTRY(  182) 
gstregistry.c(86
9):gst_registry_scan_path:<registry0> registry changed? 0
DEBUG (0x1a238 - 0:00:00.440009000)         GST_REGISTRY(  182) 
gstregistry.c(86
6):gst_registry_scan_path:<registry0> scanning path 
/home/yuanhui/sysroot/usr/li
b/gstreamer-0.10
DEBUG (0x1a238 - 0:00:00.450003000)         GST_REGISTRY(  182) 
gstregistry.c(86
9):gst_registry_scan_path:<registry0> registry changed? 0
DEBUG (0x1a238 - 0:00:00.450006000)         GST_REGISTRY(  182) 
gstregistry.c(88
5):_gst_registry_remove_cache_plugins:<registry0> removing6
                                                          +"plugins
staticelements:  bin: Generic bin
staticelements:  pipeline: Pipeline object

Total plugins: 1
Total features: 2
/ $
 
Hi Thomas,
Thanks very much for your email.
I configured gstreamer as following:
 CC=arm-linux-gcc ./configure --prefix=/home/yuanhui/sysroot/usr 
--host=arm-linux

Also I tried GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH environment 
variables ,setting them as  '/usr/lib' at arm+linux platform. it looks like 
that "gst-inspect" still can not find the plugins.

Thanks again.

Yuanhui

see belowe:

/ $ cd usr/lib
/usr/lib $ ls | grep gst
gstreamer-0.10
libgstaudio-0.10.a
libgstaudio-0.10.la
libgstaudio-0.10.so
libgstaudio-0.10.so.0
libgstaudio-0.10.so.0.5.0
libgstbase-0.10.la
libgstbase-0.10.so
libgstbase-0.10.so.0
libgstbase-0.10.so.0.7.0
libgstcdda-0.10.a
libgstcdda-0.10.la
libgstcdda-0.10.so
libgstcdda-0.10.so.0
libgstcontroller-0.10.la
libgstcontroller-0.10.so
libgstcontroller-0.10.so.0
libgstcontroller-0.10.so.0.7.0
libgstdataprotocol-0.10.la
libgstdataprotocol-0.10.so
libgstdataprotocol-0.10.so.0
libgstdataprzzbj0.10.so.0.7.0
libgstinterfaces-0.10.a
libgstinterfaces-0.10.la
libgstinterfaces-0.10.so
libgstinterfaces-0.10.so.0
libgstinterfaces-0.10.so.0.5.0
libgstnet-0.10.la
libgs'[¢j0.10.so
libgstnet-0.10.so.0
libgstnet-0.10.so.0.7.0
libgstnetbuffer-0.10.alibgstreamer-0.10.la
libgstreamer-0.10.so
libgstreamer-0.10.so.0
libgstreamer-0.10.so.0.7.0
libgstriff-0.10.a
libgstriff-0.10.la
libgstriff-0.10.so
libgstriff-0.10.so.0
libgstriff-0.10.so.0.5.0
libgstrtp-0.10.a
libgstrtp-0.10.la
libgstrtp-0.10.so
libgstrtp-0.10.so.0
libgstrtp-0.10.so.0.5.0
libgsttag-0.10.a
libgsttag-0.10.la
libgsttag-0.10.so
libgsttag-0.10.so.0
libgsttag-0.10.so.0.5.0
libgstvideo-0.10.a
libgstvideo-0.10.la
libgstvideo-0.10.so
libgstvideo-0.10.so.0
libgstvideo-0.10.so.0.5.0
libgstnetbuffer-0.10.la
libgstnetbuffer-0.10.so
libgstnetbuffer-0.10.so.0
libgstreamer-0.10.la
libgstreamer-0.10.so
libgstreamer-0.10.so.0
libgstreamer-0.10.so.0.7.0
libgstriff-0.10.a
libgstriff-0.10.la
libgstriff-0.10.so
libgstriff-0.10.so.0
libgstriff-0.10.so.0.5.0
libgstrtp-0.10.a
libgstrtp-0.10.la
libgstrtp-0.10.so
libgstrtp-0.10.so.0
libgstrtp-0.10.so.0.5.0
libgsttag-0.10.a
libgsttag-0.10.la
libgsttag-0.10.so
libgsttag-0.10.so.0
libgsttag-0.10.so.0.5.0
libgstvideo-0.10.a
libgstvideo-0.10.la
libgstvideo-0.10.so
libgstvideo-0.10.so.0
libgstvideo-0.10.so.0.5.0

/usr/lib $ cd gstreamer-0.10/
/usr/lib/gstreamer-0.10 $ ls
libgstadder.a               libgstffmpegcolorspace.a
libgstadder.la              libgstffmpegcolorspace.la
libgstadder.so              libgstffmpegcolorspace.so
libgstaudioconvert.a        libgstplaybin.a
libgstaudioconvert.la       libgstplaybin.la
libgstaudioconvert.so       libgstplaybin.so
libgstaudiorate.a           libgstsubparse.a
libgstaudiorate.la          libgstsubparse.la
libgstaudiorate.so          libgstsubparse.so
libgstaudioresample.a       libgsttypefindfunctions.a
libgstaudioresample.la      libgsttypefindfunctions.la
libgstaudioresample.so      libgsttypefindfunctions.so
libgstaudiotestsrc.a        libgstvideorate.a
libgstaudiotestsrc.la       libgstvideorate.la
libgstaudiotestsrc.so       libgstvideorate.so
libgstcoreelements.a        libgstvideoscale.a
libgstcoreelements.la       libgstvideoscale.la
libgstcoreelements.so       libgstvideoscale.so
libgstcoreindexers.a        libgstvideotestsrc.a
libgstcoreindexers.la       libgstvideotestsrc.la
libgstcoreindexers.so       libgstvideo§¦£š“rso
libgstdecodebin.a           libgstvolume.a
libgstdecodebin.la          libgstvolume.la
libgstdecodebin.so          libgstvolume.so

/usr/lib/gstreamer-0.10 $ gst-inspect
staticelements:  bin: Generic bin
staticelements:  pipeline: Pipeline object

Total plugins: 1
Total features: 2
/usr/lib/gstreamer-0.10 $ echo $GST_PLUGIN_PATH
/usr/lib
/usr/lib/gstreamer-0.10 $ echo $GST_PLUGIN_SYSTEM_PATH
/usr/lib
/usr/lib/gstreamer-0.10 $


>From: Thomas Vander Stichele <thomas at apestaart.org>
>To: �元晖 <yuanhui1021 at hotmail.com>
>CC: gstreamer-devel at lists.sourceforge.net
>Subject: Re: [gst-devel] need help: why can I not see the 
dynamicelements/plugin?
>Date: Mon, 03 Jul 2006 13:41:31 +0200
>
>Hi,
>
>
> > >From my desktop linux, I can see that 'fakesrc' and 'fakesink' are 
included
> > in
> > libgstcoreelements.so file. and I am sure that this file locates at my
> > arm+linux platform
> > under correct directory "/usr/lib/gstreamer-0.10/".  Please see below 
for
> > detailes:
>
>What did you pass to configure of gstreamer when cross-compiling it ?
>The arguments at configure time define where GStreamer will end up
>looking for plugins.
>
> > I tried to set LD_LIBRARY_PATH to '/usr/lib' and 
'/usr/lib/gstreamer-0.10',
> > the
> > results are same.
>
>LD_LIBRARY_PATH is for *libraries*.
>
>GStreamer has two environment variables that affect where it will look
>for plugins; GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH.
>
>Try with those.
>
>Thomas
>
>

_________________________________________________________________
Ãâ·ÑÏÂÔØ MSN Explorer:   http://explorer.msn.com/lccn  





More information about the gstreamer-devel mailing list