<html><body><div style="color:#000; background-color:#fff; font-family:Courier New, courier, monaco, monospace, sans-serif;font-size:12pt"><div style="font-family: arial,helvetica,sans-serif;"><font size="4">Hello,</font></div><div style="font-family: arial,helvetica,sans-serif;"><font size="4"><br></font></div><div style="font-family: arial,helvetica,sans-serif;"><font size="4">I've got this pipeline working as required:</font></div><div>gst-launch v4l2src ! video/x-raw-yuv,width=352,height=288,framerate=15/1 ! ffmpegcolorspace ! tee name=t ! queue ! ffenc_flv&nbsp; ! udpsink host=127.0.0.1 port=8991 t. ! queue ! ffenc_mpeg4 ! udpsink host=127.0.0.1 port=8999</div><div style="font-family: arial,helvetica,sans-serif;"><br></div><div style="font-family: arial,helvetica,sans-serif;"><font size="4">But when I implemented it in a c code I did not work and I got this error:<br></font></div><div style="font-family: Courier
 New,courier,monaco,monospace,sans-serif;"><font size="4">Error: Internal data flow error.</font></div><div style="font-family: arial,helvetica,sans-serif;"><font size="4"><br></font></div><div style="font-family: arial,helvetica,sans-serif;"><font size="4">This is the relevant part</font></div><div><br></div><div>&nbsp;&nbsp;&nbsp; gst_bin_add_many (GST_BIN (bin_1), source, vrate, filter, conv, tee , queue_1 , queue_2, NULL);<br>&nbsp;&nbsp;&nbsp; gst_bin_add_many (GST_BIN (bin_2), flv_encoder, sink_1 , NULL);<br>&nbsp;&nbsp;&nbsp; gst_bin_add_many (GST_BIN (bin_3), mpeg_encoder, sink_2 , NULL);<br><br>&nbsp;/* add ghost pads */<br>&nbsp;&nbsp; gpad_1 = gst_element_get_static_pad (queue_1, "src");<br>&nbsp;&nbsp; gst_element_add_pad (bin_1, gst_ghost_pad_new ("src_1", gpad_1));<br>&nbsp;&nbsp; gst_object_unref (GST_OBJECT (gpad_1));<br><br>&nbsp;&nbsp; gpad_2 = gst_element_get_static_pad (queue_2, "src");<br>&nbsp;&nbsp; gst_element_add_pad (bin_1,
 gst_ghost_pad_new ("src_2", gpad_2));<br>&nbsp;&nbsp; gst_object_unref (GST_OBJECT (gpad_2));<br><br>&nbsp;&nbsp; gpad_3 = gst_element_get_static_pad (flv_encoder, "sink");<br>&nbsp;&nbsp; gst_element_add_pad (bin_2, gst_ghost_pad_new ("sink_1", gpad_3));<br>&nbsp;&nbsp; gst_object_unref (GST_OBJECT (gpad_3));<br><br>&nbsp;&nbsp; gpad_4 = gst_element_get_static_pad (mpeg_encoder, "sink");<br>&nbsp;&nbsp; gst_element_add_pad (bin_3, gst_ghost_pad_new ("sink_2", gpad_4));<br>&nbsp;&nbsp; gst_object_unref (GST_OBJECT (gpad_4));<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; /* add the bins to the pipeline */<br>&nbsp;&nbsp;&nbsp; &nbsp; gst_bin_add (GST_BIN (pipeline), bin_1);<br>&nbsp;&nbsp;&nbsp; &nbsp; gst_bin_add (GST_BIN (pipeline), bin_2);<br>&nbsp;&nbsp;&nbsp; &nbsp; gst_bin_add (GST_BIN (pipeline), bin_3);<br><br>&nbsp;&nbsp;&nbsp; &nbsp; /* link the elements */<br>&nbsp;&nbsp;&nbsp; &nbsp;
 gst_element_link_many (source, vrate, filter, conv, tee, queue_1 , NULL);<br>&nbsp;&nbsp;&nbsp; &nbsp; gst_element_link (tee, queue_2 );<br>&nbsp;&nbsp;&nbsp; &nbsp; gst_element_link (bin_1, bin_2 );<br>&nbsp;&nbsp;&nbsp; &nbsp; gst_element_link (bin_1, bin_3 );<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp; /* Set the pipeline to "playing" state*/<br>&nbsp;&nbsp; g_print ("Now playing: \n");<br>&nbsp;&nbsp; gst_element_set_state (pipeline, GST_STATE_PLAYING);</div><div><br></div><div><br></div><div style="font-family: arial,helvetica,sans-serif;"><font size="4">any suggestion will be appreciated.....<br></font></div><div style="font-family: arial,helvetica,sans-serif;"><font size="4"><br></font></div><div style="font-family: arial,helvetica,sans-serif;"><font size="4"><br></font></div><div style="font-family: arial,helvetica,sans-serif;"><font size="4">Thank you</font></div><div style="font-family:
 arial,helvetica,sans-serif;"><font size="4"><br></font></div><div style="font-family: arial,helvetica,sans-serif;"><font size="4">Ibra</font></div><div><br></div><div><br></div></div></body></html>