2013-02-01 56 views
0

我正在使用gst库播放多个音频文件,并遇到问题:“错误:内部数据流错误”。这是我的代码(没有其他分路器和接收器初始化):使用gst管道播放多个音频文件

GstElement *elm1, *elm2; 

elm1 = gst_element_factory_make ("filesrc", "file1.ogg"); 
elm2 = gst_element_factory_make ("filesrc", "file2.ogg"); 

g_object_set (G_OBJECT (elm1), "location", "file1.ogg", NULL); 
g_object_set (G_OBJECT (elm2), "location", "file2.ogg", NULL); 

GstBus *bus; 

bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline)); 
bus_watch_id = gst_bus_add_watch (bus, bus_call, loop); 
gst_object_unref (bus); 

gst_bin_add_many (GST_BIN (pipeline), elm1, elm2, demuxer, sink, NULL); 

gst_element_link_many (elm1, elm2, demuxer); 

g_signal_connect (demuxer, "pad-added", G_CALLBACK (on_pad_added), sink); 
gst_element_set_state (pipeline, GST_STATE_PLAYING); 

我做错了什么?提前致谢。

+0

你要播放这些文件一个接一个或同时?上面的代码是错误的,因为焊盘不能连接。 – rajneesh

+0

我想一个接一个地播放这些文件,而不是同时播放。为什么垫不能连接? – olidev

回答