Hello!<br><br>I would like to have the following gst pipeline in a c application:<br><br>It is only the server side.<br><br>gst-launch gstrtpbin name=rtpbin \<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; audiotestsrc ! alawenc ! rtppcmapay ! rtpbin.send_rtp_sink_0&nbsp; \<br>

&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rtpbin.send_rtp_src_0 ! udpsink port=5000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rtpbin.send_rtcp_src_0 ! udpsink port=5001 sync=false async=false&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; udpsrc port=5003 ! rtpbin.recv_rtcp_sink_0<br>

<br>It works well. Then I created an image from the pipeline, which I attached. The image (and the pipeline as well) clearly show that gstrtpbin uses 4 pads: 3 on-request pads ( send_rtp_sink_0, recv_rtcp_sink_0, send_rtcp_src_0 ) and one sometimes pad (send_rtp_src_0). <br>
<br>I wrote the application, but it quits with: &quot;Internal data flow error.&quot;<br><br>I do not know what the problem is. I already used request pads before, so I guess the the dynamic pad is wrong. The Hello World example uses a signal handler to summon the sometimes pad (but in there application the oggdemux element has only one source pad, which the sometimes pad), but gstrtpbin has 2 sometimes source pads, I need only one of them, namely send_rtp_src_0. I couldn&#39;t able to do it with the signal handler, therefore I tried the following way:<br>
<br>static void new_pad_send_rtp_src(&nbsp; )<br>{<br>&nbsp;&nbsp;&nbsp; GstPad *sinkpad;<br>&nbsp;&nbsp;&nbsp; GstPad *srcpad;<br>&nbsp;&nbsp;&nbsp; gchar *srcname;<br>&nbsp;&nbsp;&nbsp; gchar *sinkname;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; sinkpad = gst_element_get_static_pad(udpsink0, &quot;sink&quot;);<br>
&nbsp;&nbsp;&nbsp; sinkname = gst_pad_get_name(sinkpad);<br>&nbsp;&nbsp;&nbsp; srcpad = gst_element_get_pad(rtpbin, &quot;send_rtp_src_0&quot;);<br>&nbsp;&nbsp;&nbsp; srcname = gst_pad_get_name(srcpad);<br><br>&nbsp;&nbsp;&nbsp; gst_pad_link (srcpad, sinkpad);<br>&nbsp;&nbsp;&nbsp; g_print (&quot;A dynamic pad %s created and linked \n&quot;, srcname);<br>
<br>&nbsp;&nbsp;&nbsp; g_free(srcname);<br>&nbsp;&nbsp;&nbsp; g_free(sinkname);<br>&nbsp;&nbsp;&nbsp; gst_object_unref(sinkpad);<br>&nbsp;&nbsp;&nbsp; gst_object_unref(srcpad);<br><br>}<br><br>&nbsp;The core reference says one shouldn&#39;t use gst_pad_get_name(GstPad *pad), becouse it&#39;s not safe, but the pads were succesfully linked, as the request pads too with the proper elements.<br>
<br>Any idea? Thank you in advance.<br><br>PS: I attached the pipeline image and my source to have a full view.<br><br>Zoli<br>