有人尝试过将Gstreamer SDK Tutorials从gstreamer 0.10迁移到gstreamer 1.0吗?
我尝试将GstSDK中的basic-tutorial-8.c移植到gstreamer 1.0,但最终结果无法运行,并且在运行时会出现错误。
以下是我目前所做的。我的主要帮助来源是以下页面:http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/chapter-porting-1.0.html#section-porting-objects-1.0
我尝试将GstSDK中的basic-tutorial-8.c移植到gstreamer 1.0,但最终结果无法运行,并且在运行时会出现错误。
以下是我目前所做的。我的主要帮助来源是以下页面:http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/chapter-porting-1.0.html#section-porting-objects-1.0
Replaced audio/x-raw-int with audio/x-raw
Replaced data.app_sink, "new-buffer" with data.app_sink, "new-sample"
Replaced
tee_src_pad_template = gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS (data.tee), "src%d");
with
tee_src_pad_template = gst_element_class_get_pad_template( GST_ELEMENT_GET_CLASS( data.tee ), "src_%u" );
Replaced
raw = (gint16 *)GST_BUFFER_DATA (buffer);
使用
GstMapInfo stGstMapInfo1;
gst_buffer_map( buffer, &stGstMapInfo1, (GstMapFlags)( GST_MAP_READ | GST_MAP_WRITE ) );
raw = (gint16 *)stGstMapInfo1.data;
. . .
/* Free the buffer now that we are done with it */
gst_buffer_unmap( buffer, &stGstMapInfo1 );
- 5- 使用"videoconvert"替换"ffmpegcolorspace"
在以上更改后,我可以构建并运行程序,但是在几秒钟后会出现以下错误: 从audio_source元素收到的错误:内部数据流错误。 调试信息:gstbasesrc.c(2865):gst_base_src_loop():/ GstPipeline:test-pipeline / GstAppSrc:audio_source: 流式传输任务暂停,原因为不协商(-4)
我认为我需要更多地研究本教程中的new_buffer和push_data函数。
非常感谢您的帮助。