<div dir="ltr">I found the issue...it has nothing to do with gstreamer, obviously. I was un_reffing the pad name when I should not have.<div><br></div><div><font face="arial, helvetica, sans-serif">GST_PAD_NAME(new_pad) //does not need unreffed vs <span style="color:rgb(51,51,51);line-height:1.4;background-color:initial">gst_pad_get_name</span><span style="color:rgb(51,51,51);line-height:1.4">(</span><span style="color:rgb(51,51,51);line-height:1.4;background-color:initial">new_pad) //needs unreffed</span></font></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Sep 23, 2014 at 10:03 AM, Benjamin Trent <span dir="ltr"><<a href="mailto:ben.w.trent@gmail.com" target="_blank">ben.w.trent@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">It seems that no request pads with that are source pads. Getting the same error here: <div>(gstrtpmediastream:7266): GStreamer-CRITICAL **: Padname send_rtcp_src_0 is not unique in element rtpbin, not adding<div><br></div></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Sep 23, 2014 at 8:55 AM, Benjamin Trent <span dir="ltr"><<a href="mailto:ben.w.trent@gmail.com" target="_blank">ben.w.trent@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I am trying to create a dynamic pipeline through adding pads to a rtpbin object dynamically.<div><br></div><div>Have a callback handling the pad-added signal but it is never called for the "send_rtp_src_u%" pad that is to be created after creating the "send_rtp_sink_%u" pad. The Sending sink is added just fine but the rtpbin, when trying to add the sending source fails.</div><div><br></div><div>The error is "(gstrtpmediastream:4574): GStreamer-CRITICAL **: Padname send_rtp_src_0 is not unique in element rtpbin, not adding".</div><div><br></div><div>I have verified that the pad does not already exist(iterating through the list). </div><div><br></div><div><div>GstElement* rtp_bin = gst_bin_get_by_name(GST_BIN(pipeline),"rtpbin");</div></div><div>GstPadTemplate* rtp_sink_template = gst_element_class_get_pad_template(GST_ELEMENT_GET_CLASS(rtp_bin), send_rtp_sink_%u");<br></div><div><div>GstCaps* cap = GST_STATIC_CAPS("application/x-rtp, media=video");</div><div>GstPad* rtpsink = gst_element_request_pad(rtp_bin, rtp_sink_template, NULL, cap);</div></div><div><br></div><div><br></div><div>This is just some of my code. More can be made available if need be. </div><div><br></div><div>The pipeline is NOT playing and was made from a parse launch </div><div><br></div><div>Pipeline = "rtpbin name=rtpbin appsrc name=videoappsrc caps=\"application/x-rtp, media=video, clock-rate=90000, encoding-name=VP8-DRAFT-IETF-01, payload=96\" is-live=true ! tee name=videotee "</div><div><span style="white-space:pre-wrap">                 </span>"appsrc name=audioappsrc caps=\"application/x-rtp, media=audio, clock-rate=8000, encoding-name=PCMA, payload=8\" is-live=true ! tee name=audiotee"</div><div><br></div><div><br></div><div><br></div><div>The overall goal is to be able to add an arbitrary number of tee splits for the rtpbin for each stream request so that the party getting the stream can provide control packets for each session created uniquely. This is so time-outs can be handle, audio/video sync for each stream requested, and all the other good things that rtcp brings to the table through the rtpbin.</div><div><br></div><div>Thanks!</div><div><br></div><div>P.S. I am using the newest release of gstreamer-1.0 on a xubuntu installation.</div></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>