<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <div class="moz-cite-prefix">On 7/10/20 3:35 am, Anton Pryima wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAKaSWJzeR9cPyN5X7hDzF7ikoQ7Ac3kk+WTD8HgpcPKBiL9VJQ@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <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>
    </blockquote>
    <br>
    That should work, there's also gst_element_get_request_pad().<br>
    <br>
    <blockquote type="cite"
cite="mid:CAKaSWJzeR9cPyN5X7hDzF7ikoQ7Ac3kk+WTD8HgpcPKBiL9VJQ@mail.gmail.com">
      <div dir="ltr">
        <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>
    </blockquote>
    <br>
    Maybe, it depends on your exact function call flow as to whether
    that's expected or not.  You would need to debug.<br>
    <br>
    Cheers<br>
    -Matt<br>
    <br>
    <blockquote type="cite"
cite="mid:CAKaSWJzeR9cPyN5X7hDzF7ikoQ7Ac3kk+WTD8HgpcPKBiL9VJQ@mail.gmail.com">
      <div dir="ltr">
        <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"
            moz-do-not-send="true">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"
                    moz-do-not-send="true">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" moz-do-not-send="true">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" moz-do-not-send="true">gstreamer-devel@lists.freedesktop.org</a>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank" moz-do-not-send="true">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>
    </blockquote>
    <br>
  </body>
</html>