【问题标题】:GStreamer tutorial not workingGStreamer 教程不起作用
【发布时间】:2019-09-18 17:00:49
【问题描述】:

我正在研究 GStreamer 文档。我在 OSX 10.8.5 上运行,我可以使用示例 4.1 代码 (http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/chapter-init.html) 从命令行使用 gcc eg41.c -o eg41 -framework GStreamer -I/Library/Frameworks/GStreamer.framework/Versions/1.0/Headers 初始化 GStreamer

和类似的例子 4.2。现在我想要完成 SDK 附带的教程。我已经复制了整个“tutorials”文件夹,可以用gcc basic-tutorial-1.c -o basic1 -framework GStreamer -I/Library/Frameworks/GStreamer.framework/Versions/1.0/Headers编译第一个文件夹

但是,当我尝试运行 basic1 文件时,我收到以下错误消息:

(basic1:62265): GStreamer-CRITICAL **: GstStateChangeReturn gst_element_set_state(GstElement *, GstState): assertion 'GST_IS_ELEMENT (element)' failed

(basic1:62265): GStreamer-CRITICAL **: GstBus *gst_element_get_bus(GstElement *): assertion 'GST_IS_ELEMENT (element)' failed

(basic1:62265): GStreamer-CRITICAL **: GstMessage *gst_bus_timed_pop_filtered(GstBus *, GstClockTime, GstMessageType): assertion 'GST_IS_BUS (bus)' failed

(basic1:62265): GStreamer-CRITICAL **: void gst_object_unref(gpointer): assertion 'object != NULL' failed

(basic1:62265): GStreamer-CRITICAL **: GstStateChangeReturn gst_element_set_state(GstElement *, GstState): assertion 'GST_IS_ELEMENT (element)' failed

(basic1:62265): GStreamer-CRITICAL **: void gst_object_unref(gpointer): assertion 'object != NULL' failed

我在这里错过了什么?

非常感谢!

【问题讨论】:

  • 请在帖子中包含您遇到问题的代码,否则帮助只是猜测。您是否检查过创建元素的调用是否返回了错误(例如gst_parse_launch())?
  • 我要大胆猜测一下:您正在关注此docs.gstreamer.com/pages/viewpage.action?pageId=327735,但使用的是 Gstreamer 1.0(SDK 文档适用于 0.10)。 Gstreamer 1.0 将 playbin2 重命名为 playbin,因此您需要在示例中进行更改。
  • 就是这样! 0.10 和 1.0 之间有这些差异的文档吗?谢谢!

标签: c gstreamer


【解决方案1】:

(将明显有用的评论修改为实际答案,因为这似乎是一个常见问题......)

GStreamer SDK(和相关文档)仍然基于 Gstreamer 0.10。在这种情况下,example code 使用 playbin2:如果您想使用 Gstreamer 1.0 尝试相同的代码,您需要将其更改为 playbin - 否则看起来不错。

关于 0.10 与 1.0 之间的 API 差异,文档中有一个 list of changes

【讨论】:

  • 谢谢jku!我现在在教程 5 中,遇到编译错误,找不到 gst/video/videooverlay - stackoverflow.com/questions/23777031/… 有什么想法吗?
  • 这就是为什么 1.0 SDK 没有附带 gtk 文件夹的原因吗?如果是这样,我怎样才能得到它并安装它?
猜你喜欢
  • 2013-02-04
  • 1970-01-01
  • 2014-10-25
  • 1970-01-01
  • 1970-01-01
  • 2013-04-13
  • 2014-04-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多