有没有人试图将Gstreamer SDK Tutorials中的 http://docs.gstreamer.com/display/GstSDK/Tutorials 移植到gstreamer 1.0?将Gstreamer SDK教程(gstreamer 0.1)移植到gstreamer 1.0
我试图端口基本教程-8.C从GstSDK到gstreamer的1.0。最终结果不起作用,并在运行时退出并出现错误。
这是我到目前为止所做的。我的帮助主要来源是以下页面: http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/chapter-porting-1.0.html#section-porting-objects-1.0
替换音频/ X-RAW-INT与音频/ X-RAW
替换data.app_sink, “新缓冲区” 数据.app_sink, “新样本”
替换
tee_src_pad_template = gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS (data.tee), "src%d");
与
tee_src_pad_template = gst_element_class_get_pad_template(GST_ELEMENT_GET_CLASS(data.tee), "src_%u");
与
GstMapInfo stGstMapInfo1; gst_buffer_map(buffer, &stGstMapInfo1, (GstMapFlags)(GST_MAP_READ | GST_MAP_WRITE)); raw = (gint16 *)stGstMapInfo1.data;
替换
raw = (gint16 *)GST_BUFFER_DATA (buffer);
。 。 。
/* Free the buffer now that we are done with it */
gst_buffer_unmap(buffer, &stGstMapInfo1);
- 5替换成“ffmpegcolorspace”与“videoconvert”
上述变化我可以建立并运行该程序后,但过了一会儿提供了以下错误: 错误从元素收到audio_source:内部数据流错误。 调试信息:gstbasesrc.c(2865):gst_base_src_loop():/ GstPipeline:测试流水线/ GstAppSrc:audio_source: 流任务暂停,理由不协商(-4)
我想我必须工作更在本教程的new_buffer和push_data函数上。
非常感谢您的帮助。
TX,我会看看那些部分,看看我是否能够使它发挥作用。原始代码可在 http://docs.gstreamer.com/display/GstSDK/Basic+tutorial+8%3A+Short-cutting+the+pipeline 我刚刚更改了我的问题中描述的5个部分。 – Yashil
现在我发现以下帮助链接非常有用,并逐一移植其他功能: http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/chapter-dataaccess.html http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-appsink.html#gst-app-sink-pull-sample – Yashil