2017-09-08 42 views
0

我工作的一個iMX6,與Yocto,和我想要使用的Gstreamer插件:gdkpixbufoverlay我的船上,但我得到了以下錯誤:問題與gdkpixbuff

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

所以,我想運行建議的命令,但我也沒有工作。我看了一下輸出:

/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 
# 

並且輸出中充滿了評論。我認爲我的板子上有些問題,但我找不到位置。

我需要其他一些軟件包來使gdkpixbuf工作嗎? 我在Poky分佈上測試了krogoth和pyro分支,結果是一樣的。

+0

Loader.cache文件(以及您嘗試使用的工具的輸出)應該包含引用'/ usr/lib/gdk-pixbuf-2.0/2.10.0/loaders /'中的文件的行:檢查是否有加載器該目錄,例如png加載器應該被命名爲'libpixbufloader-png.so'。如果加載器不在那裏,你可能想檢查gdk-pixbuf PACKAGECONFIG(帶'bitbake -e gdk-pixbuf | grep^PACKAGECONFIG =')... – jku

+0

沒有類似libpix * .so的庫,所以我檢查PACKAGECONFIG是可讀的,它被設置爲'「png jpeg」'。我不知道爲什麼我沒有png包。 – PierreOlivier

回答

1

添加到你的食譜(在image-YOUR_RECIPE_NAME.bb文件)必要的包和子包名稱爲行。 在我的情況下,包裝得到了拆分,所以要想使用PNG和JPEG圖像疊加,我的食譜如下所示:

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

保存更改後,不要忘了BitBake的那樣:

bitbake image-YOUR_RECIPE_NAME