<font class="Apple-style-span" face="arial, helvetica, sans-serif"><br><br></font><div class="gmail_quote"><font class="Apple-style-span" face="arial, helvetica, sans-serif">On Mon, Mar 1, 2010 at 2:55 PM, Qin Chen </font><span dir="ltr"><font class="Apple-style-span" face="arial, helvetica, sans-serif">&lt;<a href="mailto:eric.qin.chen@gmail.com">eric.qin.chen@gmail.com</a>&gt;</font></span><font class="Apple-style-span" face="arial, helvetica, sans-serif"> wrote:<br>
</font><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><font class="Apple-style-span" face="arial, helvetica, sans-serif">Hi Tiago,<br><br>Thank you very much for your reply.<br>
<br>I didn&#39;t &quot;request&quot; the recv_rtp_src_%d_%d_%d pad. In my codes, I used<br>gst_element_link_many(gstrtpbi</font>

<font class="Apple-style-span" face="arial, helvetica, sans-serif">n, rtpdec, vdec, vconv, vsink, NULL); and hope that I can get the &quot;dynamically&quot; created pad. But according to the error message, no such pad was created. Any idea? Thanks</font></blockquote>
<div><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br></font></div><div><font class="Apple-style-span" face="arial, helvetica, sans-serif">but according to the error msg it looks like in some moment you are trying to get it with a </font><span class="Apple-style-span" style="border-collapse: collapse; "><font class="Apple-style-span" face="arial, helvetica, sans-serif">gst_element_get_static_pad</font><span class="Apple-style-span" style="border-collapse: separate; "><font class="Apple-style-span" face="arial, helvetica, sans-serif">:</font></span></span></div>
<div><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br></font></div><div><span class="Apple-style-span" style="border-collapse: collapse; "><font class="Apple-style-span" face="arial, helvetica, sans-serif">0:00:00.135657988  5934  0x95aa008 INFO        GST_ELEMENT_PADS gstelement.c:970:gst_element_get_static_pad: no such pad &#39;recv_rtp_src_%d_%d_%d&#39; in element &quot;gst-rtp-bin&quot;</font></span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; "><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br></font></span></div><div><span class="Apple-style-span" style="border-collapse: collapse; "><font class="Apple-style-span" face="arial, helvetica, sans-serif">where is your &quot;pad-added&quot; handler? i think when a pad is added dynamically a &quot;pad-added&quot; signal is emitted by gstrtpbin.</font></span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; "><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br></font></span></div><div><span class="Apple-style-span" style="border-collapse: collapse; "><font class="Apple-style-span" face="arial, helvetica, sans-serif">best regards,</font></span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; "><font class="Apple-style-span" face="arial, helvetica, sans-serif">Katcipis</font></span></div><div><font class="Apple-style-span" face="arial, helvetica, sans-serif"> </font></div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br><br>Regards,<br></font>
<font color="#888888"><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br>Qin<br></font>
</font><div><div></div><div class="h5"><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br><br><br></font><div class="gmail_quote"><font class="Apple-style-span" face="arial, helvetica, sans-serif">On Mon, Mar 1, 2010 at 7:20 AM, Tiago Katcipis </font><span dir="ltr"><font class="Apple-style-span" face="arial, helvetica, sans-serif">&lt;</font><a href="mailto:katcipis@inf.ufsc.br" target="_blank"><font class="Apple-style-span" face="arial, helvetica, sans-serif">katcipis@inf.ufsc.br</font></a><font class="Apple-style-span" face="arial, helvetica, sans-serif">&gt;</font></span><font class="Apple-style-span" face="arial, helvetica, sans-serif"> wrote:<br>
</font>
<blockquote class="gmail_quote" style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex"><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br><br></font><div class="gmail_quote">
<div><font class="Apple-style-span" face="arial, helvetica, sans-serif">On Mon, Mar 1, 2010 at 1:24 AM, Qin Chen </font><span dir="ltr"><font class="Apple-style-span" face="arial, helvetica, sans-serif">&lt;</font><a href="mailto:eric.qin.chen@gmail.com" target="_blank"><font class="Apple-style-span" face="arial, helvetica, sans-serif">eric.qin.chen@gmail.com</font></a><font class="Apple-style-span" face="arial, helvetica, sans-serif">&gt;</font></span><font class="Apple-style-span" face="arial, helvetica, sans-serif"> wrote:<br>
</font>
<blockquote class="gmail_quote" style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex">
<font class="Apple-style-span" face="arial, helvetica, sans-serif">Hi experts,<br><br>I am trying to write a pipeline for receiving and decoding H.264 RTP packets. Please see the C codes below. It is basically equivalent to following pipeline.<br>
</font>


<pre><font class="Apple-style-span" face="arial, helvetica, sans-serif">gst</font><span><font class="Apple-style-span" face="arial, helvetica, sans-serif">-</font></span><font class="Apple-style-span" face="arial, helvetica, sans-serif">launch </font><span><font class="Apple-style-span" face="arial, helvetica, sans-serif">-</font></span><font class="Apple-style-span" face="arial, helvetica, sans-serif">v gstrtpbin name</font><span><font class="Apple-style-span" face="arial, helvetica, sans-serif">=</font></span><font class="Apple-style-span" face="arial, helvetica, sans-serif">rtpbin                                          \<br>
    udpsrc caps</font><span><font class="Apple-style-span" face="arial, helvetica, sans-serif">=</font></span><span><font class="Apple-style-span" face="arial, helvetica, sans-serif">&quot;application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H264&quot;</font></span><font class="Apple-style-span" face="arial, helvetica, sans-serif"> \<br>



            port</font><span><font class="Apple-style-span" face="arial, helvetica, sans-serif">=</font></span><span><font class="Apple-style-span" face="arial, helvetica, sans-serif">5000</font></span><font class="Apple-style-span" face="arial, helvetica, sans-serif"> </font><span><font class="Apple-style-span" face="arial, helvetica, sans-serif">!</font></span><font class="Apple-style-span" face="arial, helvetica, sans-serif"> rtpbin</font><span><font class="Apple-style-span" face="arial, helvetica, sans-serif">.</font></span><font class="Apple-style-span" face="arial, helvetica, sans-serif">recv_rtp_sink_0                                \<br>
        rtpbin</font><span><font class="Apple-style-span" face="arial, helvetica, sans-serif">. !</font></span><font class="Apple-style-span" face="arial, helvetica, sans-serif"> rtph264depay </font><span><font class="Apple-style-span" face="arial, helvetica, sans-serif">!</font></span><font class="Apple-style-span" face="arial, helvetica, sans-serif"> ffdec_h264 </font><span><font class="Apple-style-span" face="arial, helvetica, sans-serif">!</font></span><font class="Apple-style-span" face="arial, helvetica, sans-serif"> xvimagesink                    \<br>



</font></pre><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br>But I couldn&#39;t link gstrtpbin and rtph264depay. The error message is as follows:<br>0:00:00.135605335  5934  0x95aa008 INFO        GST_ELEMENT_PADS gstutils.c:1587:gst_element_link_pads: trying to link element gst-rtp-bin:(any) to element rtp-decoder:(any)<br>



0:00:00.135657988  5934  0x95aa008 INFO        GST_ELEMENT_PADS gstelement.c:970:gst_element_get_static_pad: no such pad &#39;recv_rtp_src_%d_%d_%d&#39; in element &quot;gst-rtp-bin&quot;<br>0:00:00.135679108  5934  0x95aa008 INFO        GST_ELEMENT_PADS gstutils.c:1208:gst_element_get_compatible_pad:&lt;gst-rtp-bin&gt; Could not find a compatible pad to link to rtp-decoder:sink<br>
<br>Could someone give me some hints? Why I have no &quot;recv_rtp_src_%d_%d_%d&quot;? </font>


</blockquote><div><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br></font></div></div><div><a href="http://www.gstreamer.net/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-gstrtpbin.html" target="_blank"><font class="Apple-style-span" face="arial, helvetica, sans-serif">http://www.gstreamer.net/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-gstrtpbin.html</font></a></div>


<div><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br></font></div><div><font class="Apple-style-span" face="arial, helvetica, sans-serif">as you can see the &quot;recv_rtp_src_%d_%d_%d&quot; pad is created dinamically, you cant get it.</font></div>


<div><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br></font></div><div><font class="Apple-style-span" face="arial, helvetica, sans-serif">&quot;To use </font><a href="http://gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin" style="text-decoration:none;color:rgb(52, 101, 164)" target="_blank"><span><font class="Apple-style-span" face="arial, helvetica, sans-serif">GstRtpBin</font></span></a><font class="Apple-style-span" face="arial, helvetica, sans-serif"> as an RTP receiver, request a recv_rtp_sink_%</font><code><font class="Apple-style-span" face="arial, helvetica, sans-serif">d</font></code><font class="Apple-style-span" face="arial, helvetica, sans-serif"> pad. The session number must be specified in the pad name. Data received on the recv_rtp_sink_%</font><code><font class="Apple-style-span" face="arial, helvetica, sans-serif">d</font></code><font class="Apple-style-span" face="arial, helvetica, sans-serif"> pad will be processed in the </font><a href="http://gst-plugins-good-plugins-gstrtpsession.html#GstRtpSession" style="text-decoration:none;color:rgb(52, 101, 164)" target="_blank"><span><font class="Apple-style-span" face="arial, helvetica, sans-serif">GstRtpSession</font></span></a><font class="Apple-style-span" face="arial, helvetica, sans-serif"> manager and after being validated forwarded on </font><a href="http://gst-plugins-good-plugins-gstrtpssrcdemux.html#GstRtpSsrcDemux" style="text-decoration:none;color:rgb(52, 101, 164)" target="_blank"><span><font class="Apple-style-span" face="arial, helvetica, sans-serif">GstRtpSsrcDemux</font></span></a><font class="Apple-style-span" face="arial, helvetica, sans-serif"> element. Each RTP stream is demuxed based on the SSRC and send to a </font><a href="http://gst-plugins-good-plugins-gstrtpjitterbuffer.html#GstRtpJitterBuffer" style="text-decoration:none;color:rgb(52, 101, 164)" target="_blank"><span><font class="Apple-style-span" face="arial, helvetica, sans-serif">GstRtpJitterBuffer</font></span></a><font class="Apple-style-span" face="arial, helvetica, sans-serif">. After the packets are released from the jitterbuffer, they will be forwarded to a</font><a href="http://gst-plugins-good-plugins-gstrtpssrcdemux.html#GstRtpSsrcDemux" style="text-decoration:none;color:rgb(52, 101, 164)" target="_blank"><span><font class="Apple-style-span" face="arial, helvetica, sans-serif">GstRtpSsrcDemux</font></span></a><font class="Apple-style-span" face="arial, helvetica, sans-serif"> element. The </font><a href="http://gst-plugins-good-plugins-gstrtpssrcdemux.html#GstRtpSsrcDemux" style="text-decoration:none;color:rgb(52, 101, 164)" target="_blank"><span><font class="Apple-style-span" face="arial, helvetica, sans-serif">GstRtpSsrcDemux</font></span></a><font class="Apple-style-span" face="arial, helvetica, sans-serif"> element will demux the packets based on the payload type and will create a unique pad recv_rtp_src_%</font><code><font class="Apple-style-span" face="arial, helvetica, sans-serif">d_</font></code><font class="Apple-style-span" face="arial, helvetica, sans-serif">%</font><code><font class="Apple-style-span" face="arial, helvetica, sans-serif">d_</font></code><font class="Apple-style-span" face="arial, helvetica, sans-serif">%</font><code><font class="Apple-style-span" face="arial, helvetica, sans-serif">d</font></code><font class="Apple-style-span" face="arial, helvetica, sans-serif"> on gstrtpbin with the session number, SSRC and payload type respectively as the pad name.&quot;</font></div>


<div><font class="Apple-style-span" face="arial, helvetica, sans-serif"> </font></div><blockquote class="gmail_quote" style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex"><div><div></div>
<div><font class="Apple-style-span" face="arial, helvetica, sans-serif">Or could someone lead me to similar examples? Thanks in advance!<br><br>Regards,<br><br>Qin<br><br><br>static<br>GstElement* construct_receiver_pipeline(</font>


<font class="Apple-style-span" face="arial, helvetica, sans-serif">void){<br>    GstElement *pipeline, *gstrtpbin, *vdec, *rtpdec, *vsink;<br>    GstElement *jitterbuf, *vconv;<br>    GstElement *udpsrc_rtp;<br>    GstCaps *caps;<br>
    GstPad  *pad;<br>    gboolean err;<br>    GstPadLinkReturn res;<br><br>    //Create gstrtpbin<br>    gstrtpbin = gst_element_factory_make(&quot;</font>











<font class="Apple-style-span" face="arial, helvetica, sans-serif">gstrtpbin&quot;, &quot;gst-rtp-bin&quot;);<br>    if ( !gstrtpbin ) {<br>        g_printerr(&quot;Failed to create gstrtpbin\n&quot;);<br>        return 0;<br>
    }<br>    g_object_set(G_OBJECT (jitterbuf), &quot;latency&quot;, jitter_latency, NULL);<br><br>    //RTP ource initialization<br>    udpsrc_rtp = gst_element_factory_make(&quot;</font>











<font class="Apple-style-span" face="arial, helvetica, sans-serif">udpsrc&quot;, &quot;udp-udpsrc_rtp&quot;);<br>    if ( !udpsrc_rtp ) {<br>        g_printerr(&quot;Failed to create udpsrc\n&quot;);<br>        return 0;<br>
    }<br>    g_object_set(G_OBJECT (udpsrc_rtp), &quot;port&quot;, rtp_port, NULL);<br>    //gst_caps_new_simple and gst_element_linked_filter don&#39;t work<br>    g_object_set(G_OBJECT (udpsrc_rtp), &quot;caps&quot;,<br>
            gst_caps_from_string(&quot;</font>











<font class="Apple-style-span" face="arial, helvetica, sans-serif">application/x-rtp, &quot;<br>                    &quot;clock-rate=(int)90000, &quot;<br>                    &quot;payload=(int)96, &quot;<br>                    &quot;media=(string)video, &quot;<br>
                    &quot;encoding-name=(string)H264&quot;), NULL);<br><br>    //Create video decoder<br>    vdec = gst_element_factory_make(</font>








<font class="Apple-style-span" face="arial, helvetica, sans-serif">vdecoder, &quot;video-decoder&quot;);<br>    if ( !vdec ) {<br>        g_printerr(&quot;Failed to create %s\n&quot;, vdecoder);<br>        return 0;<br>    }<br>
<br>    //Choose RTP decoder according to video codec<br>    rtpdecoder = g_strdup(select_rtp_decoder(</font>








<font class="Apple-style-span" face="arial, helvetica, sans-serif">vdecoder));<br>    g_free(vdecoder);<br><br>    //Create rtp decoder<br>    rtpdec = gst_element_factory_make(</font>





<font class="Apple-style-span" face="arial, helvetica, sans-serif">rtpdecoder, &quot;rtp-decoder&quot;);<br>    if ( !rtpdec ) {<br>        g_printerr(&quot;Failed to create %s\n&quot;, rtpdecoder);<br>        return 0;<br>
    }<br><br>    //Create video converter<br>    vconv = gst_element_factory_make(&quot;</font>








<font class="Apple-style-span" face="arial, helvetica, sans-serif">ffmpegcolorspace&quot;, &quot;video-converter&quot;);<br>    if ( !vconv ) {<br>        g_printerr(&quot;Failed to create ffmpegcolorspace\n&quot;);<br>        return 0;<br>
    }<br><br>    //Create video sink<br>    vsink = gst_element_factory_make(&quot;</font>








<font class="Apple-style-span" face="arial, helvetica, sans-serif">xvimagesink&quot;, &quot;video-sink&quot;);<br>    if ( !vsink ) {<br>        g_printerr(&quot;Failed to create xvimagesink\n&quot;);<br>        return 0;<br>
    }<br><br>    /* Set up the pipeline */<br>    gst_bin_add_many(GST_BIN (pipeline), udpsrc_rtp, gstrtpbin/*, jitterbuf*/,<br>            rtpdec, vdec, vconv, vsink, NULL);<br><br>    //link udpsrc_rtp to gstrtpbin<br>    pad = gst_element_get_request_pad(</font>











<font class="Apple-style-span" face="arial, helvetica, sans-serif">gstrtpbin, &quot;recv_rtp_sink_%d&quot;);<br>    if ( !pad ) {<br>        g_printerr(&quot;Failed to create pad\n&quot;);<br>        return 0;<br>    }<br>
    res = gst_pad_link(gst_element_get_</font>








<font class="Apple-style-span" face="arial, helvetica, sans-serif">pad(udpsrc_rtp, &quot;src&quot;), pad);<br>    gst_object_unref(GST_OBJECT (pad));<br>    if ( GST_PAD_LINK_FAILED(res)  ) {<br>        g_printerr(&quot;Failed to link pads\n&quot;);<br>
        return 0;<br>    }<br><br>    err = gst_element_link_many(</font>








<font class="Apple-style-span" face="arial, helvetica, sans-serif">gstrtpbin, rtpdec, vdec, vconv, vsink, NULL);<br>    if ( err==FALSE ) {<br>        g_printerr(&quot;Failed to link elements\n&quot;);<br>        return 0;<br>
    }<br><br>    return pipeline;<br>}<br><br></font>











</div></div><font class="Apple-style-span" face="arial, helvetica, sans-serif">------------------------------------------------------------------------------<br>
Download Intel&amp;#174; Parallel Studio Eval<br>
Try the new software tools for yourself. Speed compiling, find bugs<br>
proactively, and fine-tune applications for parallel performance.<br>
See why Intel Parallel Studio got high marks during beta.<br></font>
<a href="http://p.sf.net/sfu/intel-sw-dev" target="_blank"><font class="Apple-style-span" face="arial, helvetica, sans-serif">http://p.sf.net/sfu/intel-sw-dev</font></a><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br>
_______________________________________________<br>
gstreamer-devel mailing list<br></font>
<a href="mailto:gstreamer-devel@lists.sourceforge.net" target="_blank"><font class="Apple-style-span" face="arial, helvetica, sans-serif">gstreamer-devel@lists.sourceforge.net</font></a><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br>
</font>
<a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank"><font class="Apple-style-span" face="arial, helvetica, sans-serif">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</font></a><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br>
<br></font>
</blockquote></div><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br><br>------------------------------</font>
<font class="Apple-style-span" face="arial, helvetica, sans-serif">------------------------------------------------<br>
Download Intel&amp;#174; Parallel Studio Eval<br>
Try the new software tools for yourself. Speed compiling, find bugs<br>
proactively, and fine-tune applications for parallel performance.<br>
See why Intel Parallel Studio got high marks during beta.<br></font>
<a href="http://p.sf.net/sfu/intel-sw-dev" target="_blank"><font class="Apple-style-span" face="arial, helvetica, sans-serif">http://p.sf.net/sfu/intel-sw-dev</font></a><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br>
_______________________________________________<br>
gstreamer-devel mailing list<br></font>
<a href="mailto:gstreamer-devel@lists.sourceforge.net" target="_blank"><font class="Apple-style-span" face="arial, helvetica, sans-serif">gstreamer-devel@lists.sourceforge.net</font></a><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br>
</font>
<a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank"><font class="Apple-style-span" face="arial, helvetica, sans-serif">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</font></a><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br>
<br></font>
</blockquote></div><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br></font>
</div></div><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br>------------------------------------------------------------------------------<br>
Download Intel&amp;#174; Parallel Studio Eval<br>
Try the new software tools for yourself. Speed compiling, find bugs<br>
proactively, and fine-tune applications for parallel performance.<br>
See why Intel Parallel Studio got high marks during beta.<br></font>
<a href="http://p.sf.net/sfu/intel-sw-dev" target="_blank"><font class="Apple-style-span" face="arial, helvetica, sans-serif">http://p.sf.net/sfu/intel-sw-dev</font></a><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br>
_______________________________________________<br>
gstreamer-devel mailing list<br></font>
<a href="mailto:gstreamer-devel@lists.sourceforge.net"><font class="Apple-style-span" face="arial, helvetica, sans-serif">gstreamer-devel@lists.sourceforge.net</font></a><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br>
</font>
<a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank"><font class="Apple-style-span" face="arial, helvetica, sans-serif">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</font></a><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br>
<br></font>
</blockquote></div><br>