通过 Yocto 启用 Gstreamer qmlgl 插件

Gstreamer qmlgl plug-in enable via Yocto

我想在我的应用程序中使用 qmlgl 插件 (qmlglsink, qmlglsrc),但是在图像中没有。

此外,我的环境是基于 ARM 的板 - Phytec_nunki。

gst-inspect-1.0 | grep qml 没有收到任何结果。

我使用 Yocto 构建图像。据我了解,link - qmlgl 位于 "GStreamer Good Plug-in" 组中,但默认情况下未启用。

我检查了由 Yocto 下载的 gstreamer 的来源 - "qmlgl" 的文件在那里。所以我想我必须在一些配置文件中启用它。

我尝试添加

CORE_IMAGE_EXTRA_INSTALL += " \
gst-plugins-good-qmlgl\
"

进入我的 local.conf 文件。 bitbake执行成功但是没有出现插件

那么,有没有人有解决它的想法?

@UncleSav 使用你自己的层,做:

例如你的图层是 meta-xpto。

meta-xpto/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_%.bbappend

在 .bbappend 中添加:

inherit qmake5_paths

PACKAGECONFIG[qt5] = '--enable-qt \
--with-moc="${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/moc" \
--with-uic="${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/uic" \
--with-rcc="${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/rcc" \
,--disable-qt,gstreamer1.0-plugins-base qtbase qtdeclarative qtbase-native'

PACKAGECONFIG_append = "qt5"

通过此更改,我们通知 gstreamer1.0-plugins-good 我们要使用 qt 标志进行编译并通知必要的依赖项。

此外,如果您将 i.MX8 与较新的 BSP 一起使用,尤其是与 5.x Linux 内核一起使用,则 packageconfig 选项应为:

QT5WAYLANDDEPENDS = "${@bb.utils.contains("DISTRO_FEATURES", "wayland", "qtwayland", "", d)}"

PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native ${QT5WAYLANDDEPENDS}"

PACKAGECONFIG_append = "qt5"