<div dir="ltr">Hello Matthew,<div><br></div><div>Yes, you were right, I was adding pad instead of requesting it. But I still not clear about how to do it correctly. </div><div>Is it the correct way to request the pad?</div><div>GstPadTemplate *templ = gst_element_class_get_pad_template(GST_ELEMENT_GET_CLASS(webrtc), "sink_%u");<br>          GstPad *pad = gst_element_request_pad (webrtc, templ, NULL, NULL);<br></div><div><br></div><div>Then, I link this pad with payer, and start my pipeline. But right after that, I've got error inside of webrtc element:</div>ERROR:../../../../opensource/gstreamer/vendor/gst-build2/subprojects/gst-plugins-bad/ext/webrtc/gstwebrtcbin.c:2291:sdp_media_from_transceiver: assertion failed: (trans->mline == -1 || trans->mline == media_idx)<br>Bail out! ERROR:../../../../opensource/gstreamer/vendor/gst-build2/subprojects/gst-plugins-bad/ext/webrtc/gstwebrtcbin.c:2291:sdp_media_from_transceiver: assertion failed: (trans->mline == -1 || trans->mline == media_idx)<br><div><br></div><div>Did I miss something? </div><div><br></div><div>Best regards,</div><div>Anton.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Oct 6, 2020 at 2:55 AM Matthew Waters <<a href="mailto:ystreet00@gmail.com">ystreet00@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div>
    <div>How are you adding a pad?<br>
      <br>
      If you're calling gst_element_add_pad() with a newly created pad,
      that's wrong.  You need to request a sink pad from webrtcbin and
      link to that.<br>
      <br>
      On 6/10/20 4:27 am, Anton Pryima wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">Hello Matthew.
        <div><br>
        </div>
        <div>I've tried to add one more sink pad to webrtcbin at my
          sending side. Linked it, but right after that, I have:</div>
        <div> <b><i>GStreamer-CRITICAL **: 20:16:08.832: chain on pad
              sendonly:pad0 but it has no chainfunction</i></b></div>
        <div><br>
        </div>
        <div>Should I just add pad, or do something more?</div>
        <div><br>
        </div>
        <div>Best regards,</div>
        <div>Anton.</div>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On Sat, Oct 3, 2020 at 2:05 PM
          Matthew Waters <<a href="mailto:ystreet00@gmail.com" target="_blank">ystreet00@gmail.com</a>> wrote:<br>
        </div>
        <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
          <div>
            <div>Add a new sink pad on the webrtcbin be requesting a new
              sink pad, wait for caps to reach the new pad and then
              perform another sdp negotiation cycle.<br>
              <br>
              On 3/10/20 6:49 pm, Anton Pryima wrote:<br>
            </div>
            <blockquote type="cite">
              <div dir="ltr">Hello Matthew, 
                <div><br>
                </div>
                <div>Thanks for your quick response.</div>
                <div><br>
                </div>
                <div>What is the best way to achieve this? Add one more
                  transceiver at the sending side for the same pipeline?
                  Or I need to create another pipeline with the same
                  webrtc sink?</div>
                <div><br>
                </div>
                <div>Best regards,</div>
                <div>Anton.</div>
              </div>
              <br>
              <div class="gmail_quote">
                <div dir="ltr" class="gmail_attr">On Sat, Oct 3, 2020 at
                  2:16 AM Matthew Waters <<a href="mailto:ystreet00@gmail.com" target="_blank">ystreet00@gmail.com</a>>
                  wrote:<br>
                </div>
                <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
                  <div>
                    <div>It sounds like you're attempting a
                      renegotiation of the stream format for the same
                      mline.  That is currently an entirely unsupported
                      reconfiguration scenario :).  For now should add a
                      new stream and remove the old stream if you want
                      to change formats.<br>
                      <br>
                      Cheers<br>
                      -Matt<br>
                      <br>
                      On 3/10/20 4:09 am, Anton Pryima wrote:<br>
                    </div>
                    <blockquote type="cite">
                      <div dir="ltr">Hello all.<br>
                        <div><br>
                        </div>
                        <div>I have an issue with the webrtcbin and
                          changing pipes. </div>
                        <div>My sender is:</div>
                        <div><br>
                        </div>
                        <div>appsrc->parser->payer->webrtcbin</div>
                        <div><br>
                        </div>
                        <div>My receiver is:</div>
                        <div><br>
                        </div>
                        <div>webrtcbin->depayer->parser->decodebin->autovideosink.</div>
                        <div><br>
                        </div>
                        <div>My app source can push 2 kinds of samples:
                          H264 and H265. I start my send/recv pipelines
                          on the H264 codec. </div>
                        <div>Then, when the pipeline is PLAYING and I
                          have the h265 sample, I put a blocking probe
                          and dynamically reconfigure the sending pipe
                          to <b>appsrc->h265parser->h265payer->webrtcbin</b>.
                          And everything is fine and my sending pipe
                          continues working.</div>
                        <div>On the receiving side, I've got
                          the signal through the data channel about
                          codec change from the sending side and
                          configure my receiving pipeline to<b>
                            webrtcbin->h265depay->h265parse->decodebin->autovideosink</b>.</div>
                        <div>But right after that, I hove:</div>
                        <div> <b>GStreamer-CRITICAL **: 16:24:34.926:
                            Padname src_0 is not unique in element
                            webrtcbin0, not adding</b><br>
                        </div>
                        <div>Error and frames stop flowing through
                          webrtc src_0 pad.</div>
                        <div><br>
                        </div>
                        <div>Can anyone suggest what am I doing wrong
                          and how to resolve this?</div>
                        <div><br>
                        </div>
                        <div>Best regards,</div>
                        <div>Anton.</div>
                      </div>
                      <br>
                      <fieldset></fieldset>
                      <pre>_______________________________________________
gstreamer-devel mailing list
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a>
</pre>
                    </blockquote>
                    <br>
                  </div>
                </blockquote>
              </div>
            </blockquote>
            <br>
          </div>
        </blockquote>
      </div>
    </blockquote>
    <br>
  </div>

</blockquote></div>