GStreamer教程不起作用

时间:2014-05-19 03:54:59

标签: c gstreamer

我正在通过GStreamer文档。我在OSX 10.8.5上运行,我可以使用gcc eg41.c -o eg41 -framework GStreamer -I/Library/Frameworks/GStreamer.framework/Versions/1.0/Headers

命令行中的示例4.1代码(http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/chapter-init.html)来初始化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

我在这里缺少什么?

非常感谢!

1 个答案:

答案 0 :(得分:7)

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

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

对于一般情况下0.10 vs 1.0之间的API差异,文档中有list of changes