1

I'm working on a iMX6, with Yocto, and I'm trying to use a Gstreamer plugin : gdkpixbufoverlay on my board, but I got the following error:

gst-launch-1.0 autovideosrc ! gdkpixbufoverlay location=image.png ! autovideosink

(gst-launch-1.0:441): GdkPixbuf-WARNING **: Cannot open pixbuf loader module file '/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache': No such file or directory

This likely means that your installation is broken.
Try running the command
  gdk-pixbuf-query-loaders > /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
to make things work again for the time being.
Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstGdkPixbufOverlay:gdkpixbufoverlay0: Could not load overlay image.
Additional debug info:
../../../gst-plugins-good-1.6.3/ext/gdk_pixbuf/gstgdkpixbufoverlay.c(508): gst_gdk_pixbuf_overlay_start (): /GstPipeline:pipeline0/GstGdkPixbufOverlay:gdkpixbufoverlay0:
Couldn't recognize the image file format for file 'image.png'
Setting pipeline to NULL ...
Freeing pipeline ...

So I tried to run the command advised, but I did not work either. I took a look at the output:

/usr/lib/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders 
# GdkPixbuf Image Loader Modules file
# Automatically generated file, do not edit
# Created by gdk-pixbuf-query-loaders from gdk-pixbuf-2.32.3
#
# LoaderDir = /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders
#

And the output is full of comments. I think something is wrong on my board but I can't find where.

Did I need some other packages to make gdkpixbuf work? I tested on Poky distribution, on krogoth and pyro branch, and the result is the same.

PierreOlivier
  • 1,387
  • 9
  • 23
  • Loader.cache file (and the output of the tool you tried) should contain lines that reference files in `/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/`: check whether there are loaders in that directory, e.g. the png loader should be named `libpixbufloader-png.so`. If the loaders are not there, you may want to check the gdk-pixbuf PACKAGECONFIG (with `bitbake -e gdk-pixbuf | grep ^PACKAGECONFIG=`)... – Jussi Kukkonen Sep 09 '17 at 15:47
  • 1
    There is no library like libpix*.so, so I checker the PACKAGECONFIG veriable, and it is set to `"png jpeg"`. I don't know why I don't have the png package. – PierreOlivier Sep 11 '17 at 08:45

1 Answers1

1

Add to your recipe (the image-YOUR_RECIPE_NAME.bb file) the necessary package and sub-packages names as rows. In my case the package got split, so in order to use PNG and JPEG image overlays, my recipe looks like the following:

...
gdk-pixbuf \
gdk-pixbuf-loader-png \
gdk-pixbuf-loader-jpeg \
...

After saving the changes, don't forget to bitbake it:

bitbake image-YOUR_RECIPE_NAME
elad
  • 36
  • 2