0

gst ライブラリを使用して複数のオーディオ ファイルを再生していますが、次のような問題があります。

エラー: 内部データ フロー エラー

これは私のコードです(他のデマルチプレクサとシンクinitなし):

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);

私は何か間違ったことをしましたか?

4

1 に答える 1

1

file-1 の EOS をリッスンしてから、filesrc を file-2 に変更する必要があります。

次の回答が役立ちます-

' GStreamer は、パイプラインの filesrc の場所を動的に変更します - 音が出ません'

于 2013-02-01T14:15:36.680 に答える