<div dir="ltr">Hello Matthew,<div><br></div><div>Thanks for quick reply,</div><div>Basically, I don't provide caps. But I'm pushing samples to the appsrc - so it has caps by default. But I was trying to set caps explicitly - with no success.</div><div>BTW, I should set caps on webrtcbin or on appsrc sinkpad? Basically, I was able to proceed, with dirty hack - calling on_negotiation_needed(webrtcbin, userdata) callback function manually, right after I configure a transceiver.</div><div><br></div><div>But what is the correct way?</div><div><br></div><div>Best regards,</div><div>Anton.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Aug 5, 2020 at 8:20 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>Are you providing caps to your appsrc? 
      I can't remember if appsrc will delay the caps event until the
      first buffer or not so that may be a reason.<br>
      <br>
      On 5/8/20 5:55 am, Anton Pryima wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">Hello all.<br>
        <div><br>
        </div>
        <div>I have a pipe:</div>
        <div>appsrc->rtph264pay->webrtcbin.sink</div>
        <div><br>
        </div>
        <div>But, when I setting up everything, and pipeline is not
          running yet, I received an error: </div>
        <div>DEBUG              webrtcbin
          gstwebrtcbin.c:5722:gst_webrtc_bin_change_state: changing
          state: NULL => READY<br>
          LOG                webrtcbin
          gstwebrtcbin.c:1341:_check_if_negotiation_is_needed:<sendonly>
          checking if negotiation is needed<br>
          LOG                webrtcbin
          gstwebrtcbin.c:1346:_check_if_negotiation_is_needed:<sendonly>
          no negotiation possible until caps have been received on all
          sink pads<br>
        </div>
        <div><br>
        </div>
        <div>After that, I'm starting pipeline and it working fine, no
          issues:</div>
        <div><br>
           DEBUG              webrtcbin
          gstwebrtcbin.c:5722:gst_webrtc_bin_change_state: changing
          state: READY => PAUSED<br>
          DEBUG              webrtcbin
          gstwebrtcbin.c:5722:gst_webrtc_bin_change_state: changing
          state: PAUSED => PLAYING<br>
        </div>
        <div><br>
        </div>
        <div>And that's all. No more on-negotiation-needed callback.
          Nothing.</div>
        <div><br>
        </div>
        <div>How to proceed further with webrtc connection? How to
          re-init it after the pipeline is running to make it call
          on-negotiation-needed callback?</div>
        <div><br>
        </div>
        <div>Thank you in advance,</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>