rtpbin does not add "somtimes" pads

Benjamin Trent ben.w.trent at gmail.com
Wed Sep 24 08:33:24 PDT 2014


I found the issue...it has nothing to do with gstreamer, obviously. I was
un_reffing the pad name when I should not have.

GST_PAD_NAME(new_pad) //does not need unreffed vs gst_pad_get_name(new_pad)
//needs unreffed

On Tue, Sep 23, 2014 at 10:03 AM, Benjamin Trent <ben.w.trent at gmail.com>
wrote:

> It seems that no request pads with that are source pads. Getting the same
> error here:
> (gstrtpmediastream:7266): GStreamer-CRITICAL **: Padname send_rtcp_src_0
> is not unique in element rtpbin, not adding
>
>
> On Tue, Sep 23, 2014 at 8:55 AM, Benjamin Trent <ben.w.trent at gmail.com>
> wrote:
>
>> I am trying to create a dynamic pipeline through adding pads to a rtpbin
>> object dynamically.
>>
>> 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.
>>
>> The error is "(gstrtpmediastream:4574): GStreamer-CRITICAL **: Padname
>> send_rtp_src_0 is not unique in element rtpbin, not adding".
>>
>> I have verified that the pad does not already exist(iterating through the
>> list).
>>
>> GstElement* rtp_bin = gst_bin_get_by_name(GST_BIN(pipeline),"rtpbin");
>> GstPadTemplate* rtp_sink_template =
>> gst_element_class_get_pad_template(GST_ELEMENT_GET_CLASS(rtp_bin),
>> send_rtp_sink_%u");
>> GstCaps* cap = GST_STATIC_CAPS("application/x-rtp, media=video");
>> GstPad* rtpsink = gst_element_request_pad(rtp_bin, rtp_sink_template,
>> NULL, cap);
>>
>>
>> This is just some of my code. More can be made available if need be.
>>
>> The pipeline is NOT playing and was made from a parse launch
>>
>> 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 "
>> "appsrc name=audioappsrc caps=\"application/x-rtp, media=audio,
>> clock-rate=8000, encoding-name=PCMA, payload=8\" is-live=true ! tee
>> name=audiotee"
>>
>>
>>
>> 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.
>>
>> Thanks!
>>
>> P.S. I am using the newest release of gstreamer-1.0 on a xubuntu
>> installation.
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20140924/2da0d563/attachment.html>


More information about the gstreamer-devel mailing list