gstsreamer----------could not get plugin ioctl base:-22

//gstreamer官方网站

http://gstreamer.freedesktop.org/modules/qt-gstreamer.html


视频可以成功预览

sudo gst-launch-0.10 v4l2src  device=/dev/video3 sensor_name="adv7280m_a 3-0020" inputnum=1 ! video/x-r 


在视频不能压缩,但能够预览时,会出现这个问题:

dce.c:459 init error: could not get plugin ioctl base:-22

与可以压缩的内核对比lsmod出来的东西,发现缺少模块





这个其实是由于内核中一些模块没有装载成功所导致的,视频压缩时用到了这些模块(按装载的先后顺序)


virtio.ko
virtio_ring.ko
virtio_rpmsg_bus.ko

remoteproc.ko
omap_remoteproc.ko

rpmsg_omx.ko
rpmsg_resmgr.ko
rpmsg_resmgr_common.ko
omap_rpmsg_resmgr.ko

omapdce.ko
omaprpc.ko


如果上述模块没有全部装载,则会导致dce 初始化出错。

解决办法是在内核重新编译后,需要根据当前的内核源码重新编译这些模块。

模块编译命令:
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- M=drivers/virtio modules
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- M=drivers/remoteproc modules
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- M=drivers/rpmsg modules
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- M=drivers/staging/omaprpc modules
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- M=drivers/staging/omapdce modules

在编译模块时,可能会出现
WARNING: "set_xyz" [drivers/usb/test/xyz.ko] undefined!之类的问题
这是由于某些模块(假设为B模块)不仅依赖于内核uImage本身,而且还依赖于其他内核模块(假设为A模块),我们需要在编译A模块时产生的
Module.symvers追加到内核目录下的Module.symvers,用这个命令:
cat Module.symvers >> Kernel_DIR/Module.symvers

然后再编译B模块,就不会产生 undefined!之类的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值