Он попытался запустить учебный пример 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
Проблема была в том, что я установил GStreamer 0.10.x и 1.x и смешал их вместе, соответственно, CMake.
CMake вспомнил некоторые настройки кэша, когда я пытался скомпилировать свой проект с помощью GStreamer 1.x. После очистки каталога сборки Out-of-Source CMake-Project и повторной сборки проекта с использованием только зависимостей GStreamer-0.10.x мои Программы снова заработали, как и ожидалось.
Других решений пока нет …