微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

gst_parse_launch() 抛出“断言失败”

如何解决gst_parse_launch() 抛出“断言失败”

我正在尝试 gstreamer 站点中提供的基本教程。但是,这段代码

GstElement *pipeline;
GstBus *bus;
GstMessage *msg;
GError* err = (GError*)malloc(sizeof(GError));

/* Initialize GStreamer */
gst_init(NULL,NULL);

/* Build the pipeline */
pipeline =
        gst_parse_launch(
                "playbin uri=https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm",&err);

gLogi("test") << err->message;

/* Start playing */
gst_element_set_state(pipeline,GST_STATE_PLAYING);

/* Wait until error or EOS */
bus = gst_element_get_bus(pipeline);
msg = gst_bus_timed_pop_filtered(bus,GST_CLOCK_TIME_NONE,(GstMessageType)(GST_MESSAGE_ERROR | GST_MESSAGE_EOS));

/* Free resources */
if (msg != NULL)
    gst_message_unref(msg);
gst_object_unref(bus);
gst_element_set_state(pipeline,GST_STATE_NULL);
gst_object_unref(pipeline);

给我以下错误

[INFO] test: 

(VideoDeneme.exe:14524): GStreamer-CRITICAL **: 10:03:04.979: gst_parse_launch_full: assertion 'error == NULL || *error == NULL' Failed

(VideoDeneme.exe:14524): GStreamer-CRITICAL **: 10:03:04.979: gst_element_set_state: assertion 'GST_IS_ELEMENT (element)' Failed

(VideoDeneme.exe:14524): GStreamer-CRITICAL **: 10:03:04.979: gst_element_get_bus: assertion 'GST_IS_ELEMENT (element)' Failed

(VideoDeneme.exe:14524): GStreamer-CRITICAL **: 10:03:04.979: gst_bus_timed_pop_filtered: assertion 'GST_IS_BUS (bus)' Failed

(VideoDeneme.exe:14524): GStreamer-CRITICAL **: 10:03:04.979: gst_object_unref: assertion 'object != NULL' Failed

(VideoDeneme.exe:14524): GStreamer-CRITICAL **: 10:03:04.979: gst_element_set_state: assertion 'GST_IS_ELEMENT (element)' Failed

(VideoDeneme.exe:14524): GStreamer-CRITICAL **: 10:03:04.979: gst_object_unref: assertion 'object != NULL' Failed

gLogi 是一个特殊的函数,基本上用作输出函数

我正在使用 cmake 构建我的项目,并且 gstreamer-1.0 库已正确链接。我收到此错误的原因可能是什么?我还尝试链接 gstreamer 的所有可能依赖项及其依赖项,但是由于我有静态库,我认为不需要这样做。那么是什么原因造成的呢?

解决方法

GError* err = (GError*)malloc(sizeof(GError));

应该

GError* err = NULL;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。