gst-fsl-plugins - GST_MFWBUFFER Can not open dll, libmfwba.so: cannot open shared object file: No such file or directory.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

gst-fsl-plugins - GST_MFWBUFFER Can not open dll, libmfwba.so: cannot open shared object file: No such file or directory.

3,147 Views
bfederau
Contributor II

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 119900x24e80 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 119610x2b080 ERRORGST_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?

Labels (4)
0 Kudos
9 Replies

1,454 Views
gecl
Contributor I

Hi Benjamin

I also have the same problem. And I want to know whether this problem is solved, and how? thank you!

0 Kudos

1,454 Views
bfederau
Contributor II

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 ...

0 Kudos

1,454 Views
bfederau
Contributor II

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.

0 Kudos

1,454 Views
bfederau
Contributor II

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

0 Kudos

1,454 Views
LeonardoSandova
Specialist I

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

0 Kudos

1,454 Views
bfederau
Contributor II

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 108420x2b4c0 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 108420x2b4c0 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 108420x2b4c0 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 108420x2b4c0 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 108420x2b4c0 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 108420x2b4c0 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 108420x2b4c0 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

0 Kudos

1,454 Views
LeonardoSandova
Specialist I

Could you try the suggestion done by Prabhu on this thread?

0 Kudos

1,454 Views
bfederau
Contributor II

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 ...

0 Kudos

1,454 Views
LeonardoSandova
Specialist I

DaianeAngolini, can you help on this one?

0 Kudos