Hey,
I have built the gst-fsl-plugins (3.0.7 and 3.0.8) for Ubuntu 12.04/armhf on a iMX6Q (saberlite sd) and I think because of
"libmfwba.so: cannot open shared object file"
I don't see "beep.imx" with the gst-inspect command ...
When i execute: GST_DEBUG=2 gst-launch playbin2 uri=file:///home/linaro/test.mp3 I get the below output
....
0:00:00.004487333 11990 | 0x24e80 ERROR | GST_MFWBUFFER gstmfwbuffer.c:69:open_allocator_dll: Can not open dll, libmfwba.so: cannot open shared object file: No such file or directory. |
(gst-plugin-scanner:11990): GStreamer-CRITICAL **: gst_debug_log_valist2: assertion `category != NULL' failed
0:00:12.590031668 11961 | 0x2b080 ERROR | GST_PLUGIN_LOADING gstpluginloader.c:272:plugin_loader_replay_pending: Plugin file /usr/lib/gstreamer-0.10/libmfw_gst_beep.so failed to load. Blacklisting |
....
The libmfw_gst_beep.so is not only lib that is blacklisted by gstreamer then. There are other blacklisted libmfw_gst_*.so libs too.
It seems that the libmfwba.so isn't build with the gst-fsl-plugins!? Where can I find and how can I build this lib?
Hi Benjamin
I also have the same problem. And I want to know whether this problem is solved, and how? thank you!
Hi,
I described two problems here. The article subject was solved, because I used an old patch that is not needed (see my last post above).
The blacklisting issue is a little bit weird, because if I build all the needed multimedia libs (imx-lib, libfsl*) and then the gst-fsl-plugins directly on my device some of the Freescale GStreamer elements get blacklisted. Now I have packaged (Debian .deb) all the multimedia libs and the gst-fsl-plugins and do a cross-build via sbuild. After installing the packages all before blacklisted elements are available.
Summary:
- build the libs and gst-fsl-plugins directly on the device by hand ( see http://boundarydevices.com/mx6-video-acceleration-raring-debian/ ) --> some plugins gets blacklisted
- build my packages via sbuild --> all plugins available
I had no time to do further investigation where's the difference between manual and cross build ...
Accidentally I found out as soon as the /usr/lib/imx-mm/audio-codec/wrap contens from libfscodec are not installed then the elements
beep.imx: beepdec.aac: AAC LC decoder
beep.imx: beepdec.mp3: MP3 decoder
beep.imx: beepdec.wma: WMA decoder
beep.imx: beepdec.ac3: AC3 decoder
beep.imx: beepdec.vorbis: Vorbis decoder
beep.imx: beepdec: beep audio decoder
beep.imx: 3ca: ac3
beep.imx: ac3: ac3
are present. But if the lib_*_wrap_*_elinux.so are in the /usr/lib/imx-mm/audio-codec/wrap directory the above elements will be blacklisted by GStreamer. Very strange ....
I see this behaviour with the version 3.0.8 and 3.0.11 of libfsl* and gst-fsl-plugins on my Ubuntu 12.04 armhf image.
I don't get the complete gst-fsl-plugins running on my Ubuntu Precise armhf rootfs. I also built the gstreamer-0.10.35 sources from the Ltib 3.0.35 - 4.0.0 and I get the same result.
gst-inspect | grep imx give me this result:
aiur.imx: webm: webm
aiur.imx: aiurdemux: aiur universal demuxer
v4lsrc.imx: mfw_v4lsrc: v4l2 based camera src
v4lsink.imx: mfw_v4lsink: v4l2 video sink
vpu.imx: vpudec: VPU-based video decoder
vpu.imx: vpuenc: VPU-based video encoder
ipucsc.imx: mfw_ipucsc: IPU-based video converter
isink.imx: mfw_isink: IPU-based video sink
So all the beep.imx elements are missing and were blacklisted by GStreamer.
The gst-fsl-plugin libs are available in the /usr/lib/gstreamer-0.10/ and I could not find out why GStreamer blacklists some of the gst-fsl-plugins.
What are the prerequisites for gst-fsl-plugins 3.5.7-1.0.0? I have built and installed:
- imx-lib 3.5.7-1.0.0
- gstreamer-core 0.10.35
- gst-plugins-base 0.10.35
- gst-plugins-good 0.10.30
- libfslcodec 3.5.7-1.0.0
- libfslvpuwrap 3.5.7-1.0.0
- libfslparser 3.5.7-1.0.0
Hi Benjamin,
so you have solved the original question? For this last question, that is pretty strange but it may be the case that the first time gstreamer try to load the missing pluings, it found some errors (like missing symbols on the load step) so it will not take these into account next time. Can you try removing the file ~./.gstreamer-0-10/*.bin and do a gst-inspect. Are there some errors on the gst-inspect's log?
Leo
Hi Leo,
yes I found the reason why I get "Can not open dll, libmfwba.so: ...". Because I have applied a patch for GStreamer 0.10.36 that I have found here http://repository.timesys.com/buildsources/g/gstreamer/gstreamer-0.10.36/gstreamer-0.10.36-mfwbuffer...
I thought that this patch originally comes from the Ltib GStreamer sources. But I was wrong - on the latest Ltib I could not find such a patch. So that must be an external (timesys?) patch and I'm not sure if this patch is need at all. Without that patch I do not get the "Can not open dll, ..." message.
Anyway ... I still have the problem (as I also wrote in my first post) that some of the gst-fsl-plugins are blacklisted. When I remove the ~./.gstreamer-0-10/*.bin and execute gst-inspect (without GST_DEBUG) I get no error messages. So everything seems ok. To get more output from gst-inspect I used GST_DEBUG=1 (only error) and I get these messages
0:00:00.211801233 10842 | 0x2b4c0 ERROR | GST_PLUGIN_LOADING gstpluginloader.c:272:plugin_loader_replay_pending: Plugin file /usr/lib/gstreamer-0.10/libmfw_gst_audio_pp.so failed to load. Blacklisting |
0:00:00.286836056 10842 | 0x2b4c0 ERROR | GST_PLUGIN_LOADING gstpluginloader.c:272:plugin_loader_replay_pending: Plugin file /usr/lib/gstreamer-0.10/libmfw_gst_beep.so failed to load. Blacklisting |
0:00:00.327147842 10842 | 0x2b4c0 ERROR | GST_PLUGIN_LOADING gstpluginloader.c:272:plugin_loader_replay_pending: Plugin file /usr/lib/gstreamer-0.10/libmfw_gst_amrdec.so failed to load. Blacklisting |
0:00:00.431875784 10842 | 0x2b4c0 ERROR | GST_PLUGIN_LOADING gstpluginloader.c:272:plugin_loader_replay_pending: Plugin file /usr/lib/gstreamer-0.10/libmfw_gst_mpeg2dec.so failed to load. Blacklisting |
0:00:00.565262445 10842 | 0x2b4c0 ERROR | GST_PLUGIN_LOADING gstpluginloader.c:272:plugin_loader_replay_pending: Plugin file /usr/lib/gstreamer-0.10/libmfw_gst_mpeg4aspdec.so failed to load. Blacklisting |
0:00:00.598791445 10842 | 0x2b4c0 ERROR | GST_PLUGIN_LOADING gstpluginloader.c:272:plugin_loader_replay_pending: Plugin file /usr/lib/gstreamer-0.10/libmfw_gst_h264dec.so failed to load. Blacklisting |
0:00:00.765318111 10842 | 0x2b4c0 ERROR | GST_PLUGIN_LOADING gstpluginloader.c:272:plugin_loader_replay_pending: Plugin file /usr/lib/gstreamer-0.10/libmfw_gst_mp3enc.so failed to load. Blacklisting |
I also tried GST_DEBUG=5 (full debug), but I could not find any further error message excepting the messages above.
Another curious thing is that for some of the blacklisted libs ldd does not show any output. I.e.
user@ubuntu-armhf:~$ ldd /usr/lib/gstreamer-0.10/libmfw_gst_audio_pp.so
user@ubuntu-armhf:~$ ldd /usr/lib/gstreamer-0.10/libmfw_gst_beep.so
libgstreamer-0.10.so.0 => /usr/lib/libgstreamer-0.10.so.0 (0x2abb2000)
libgobject-2.0.so.0 => /usr/lib/arm-linux-gnueabihf/libgobject-2.0.so.0 (0x2ac4e000)
libglib-2.0.so.0 => /lib/arm-linux-gnueabihf/libglib-2.0.so.0 (0x2ac8a000)
libgstaudio-0.10.so.0 => /usr/lib/libgstaudio-0.10.so.0 (0x2aab4000)
libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0x2ab7b000)
libgstfsl-0.10.so.0 => /usr/lib/libgstfsl-0.10.so.0 (0x2aace000)
libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0x2ab28000)
libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0x2ad44000)
libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0x2ad5f000)
libgthread-2.0.so.0 => /usr/lib/arm-linux-gnueabihf/libgthread-2.0.so.0 (0x2ab49000)
libgmodule-2.0.so.0 => /usr/lib/arm-linux-gnueabihf/libgmodule-2.0.so.0 (0x2ab88000)
libxml2.so.2 => /usr/lib/arm-linux-gnueabihf/libxml2.so.2 (0x2ae43000)
libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0x2af11000)
librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0x2ab93000)
/lib/ld-linux-armhf.so.3 (0x2ab5b000)
libffi.so.6 => /usr/lib/arm-linux-gnueabihf/libffi.so.6 (0x2af7b000)
libpcre.so.3 => /lib/arm-linux-gnueabihf/libpcre.so.3 (0x2af89000)
libgstbase-0.10.so.0 => /usr/lib/libgstbase-0.10.so.0 (0x2b0a6000)
libgstinterfaces-0.10.so.0 => /usr/lib/libgstinterfaces-0.10.so.0 (0x2aaea000)
libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0x2afc0000)
user@ubuntu-armhf:~$ ldd /usr/lib/gstreamer-0.10/libmfw_gst_mpeg4aspdec.so
user@ubuntu-armhf:~$
-
Benjamin
Could you try the suggestion done by Prabhu on this thread?
I have checked the gst-fsl-plugins on the Freescale Ubuntu Oneiric/armel rootfs and there the codecs work. The difference between the Oneiric and my Precise rootfs is that I use armhf instead of armel.
It seems that the pre-built fsl-codec (libfslcodec) libs are not hard-float libs (?) and as a result of this some of the gst-fsl-plugins could not be loaded.
Btw. I even did not find a libmfwba.so in the Oneiric rootfs ...
DaianeAngolini, can you help on this one?