Qt5 中的 GStreamer 错误

GStreamer error in Qt5

本文关键字:错误 GStreamer 中的 Qt5      更新时间:2023-10-16

当我尝试启动我的视频小部件应用程序时,它给了我错误:

(videowidget:9305): GLib-GObject-WARNING **: cannot register existing type 'GstObject'
(videowidget:9305): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed
(videowidget:9305): GLib-GObject-CRITICAL **: g_type_register_static: assertion 'parent_type > 0' failed
(videowidget:9305): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed
(videowidget:9305): GStreamer-CRITICAL **: gst_element_class_set_details_simple: assertion 'GST_IS_ELEMENT_CLASS (klass)' failed
(videowidget:9305): GStreamer-WARNING **: static caps 0xade3824c string is NULL
(videowidget:9305): GStreamer-CRITICAL **: gst_mini_object_unref: assertion 'mini_object != NULL' failed
(videowidget:9305): GStreamer-WARNING **: static caps 0xade3828c string is NULL
(videowidget:9305): GStreamer-CRITICAL **: gst_mini_object_unref: assertion 'mini_object != NULL' failed
(videowidget:9305): GStreamer-WARNING **: static caps 0xade3824c string is NULL
(videowidget:9305): GStreamer-CRITICAL **: gst_mini_object_unref: assertion 'mini_object != NULL' failed

我的目标机器 0.10 和 1.0 上安装了两个 GStreamer 版本,它们在 Jessie 8.2 上运行。

我发现当我卸载 1.0 时,0.10 版本需要来自 gstreamer1.0 的 .so 文件。

Qt示例文件夹中的VideoWidget示例工作正常,但 doc.qt.io/qt-5/videooverview.html 中的简单示例不起作用。

> 1.0 和 0.10 是可并行安装的,我怀疑其中一个是否试图使用另一个文件。

当应用程序与两个版本链接时,通常会发生这些问题。虽然您可以在系统中同时拥有两者,但应用程序应仅链接到其中一个。

当你构造一个对象时,它的父级应该是Q_NULL_POINTER的。

QFileDialog *pDlg = new QFileDialog();

而不是

QFileDialog *pDlg = new QFileDialog(this);