它试图运行一个已经有效的GStreamer教程示例,但现在不再起作用了。我没有更改源代码。我用CMake构建项目。
我的每个测试程序都出现以下错误,它们彼此略有不同:
(GStreamer_Test_AppSrc:28073): GLib-GObject-CRITICAL **: g_param_spec_boxed: assertion `G_TYPE_IS_BOXED (boxed_type)' failed
(GStreamer_Test_AppSrc:28073): GLib-GObject-CRITICAL **: g_object_class_install_property: assertion `G_IS_PARAM_SPEC (pspec)' failed
(GStreamer_Test_AppSrc:28073): GLib-GObject-WARNING **: gsignal.c:1644: parameter 1 of type `<invalid>' for signal "GstAppSrc::push_buffer" is not a value type
(GStreamer_Test_AppSrc:28073): GLib-GObject-WARNING **: cannot register existing type `GstObject'
(GStreamer_Test_AppSrc:28073): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed
(GStreamer_Test_AppSrc:28073): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed
(GStreamer_Test_AppSrc:28073): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed
(GStreamer_Test_AppSrc:28073): GStreamer-CRITICAL **: gst_element_class_set_static_metadata: assertion `GST_IS_ELEMENT_CLASS (klass)' failed
(GStreamer_Test_AppSrc:28073): GStreamer-CRITICAL **: gst_caps_ref: assertion `GST_CAPS_REFCOUNT_VALUE (caps) > 0' failed
(GStreamer_Test_AppSrc:28073): GStreamer-CRITICAL **: gst_caps_ref: assertion `GST_CAPS_REFCOUNT_VALUE (caps) > 0' failed
(GStreamer_Test_AppSrc:28073): GStreamer-CRITICAL **: gst_caps_unref: assertion `GST_CAPS_REFCOUNT_VALUE (caps) > 0' failed
答案 0 :(得分:4)
问题是,我安装了GStreamer 0.10.x和1.x并将两者分别混合在一起。
当我尝试使用GStreamer 1.x编译我的项目时,CMake记住了一些缓存设置。清理CMake项目的Out-of-Source构建目录并再次使用GStreamer-0.10.x依赖项重新构建项目后,我的程序再次按预期工作。