Webrtc wit appsrc

Matthew Waters ystreet00 at gmail.com
Wed Aug 5 11:04:03 UTC 2020


I'm not sure on the correct way, I have never done appsrc into
webrtcbin.  I only know that webrtcbin needs the caps event on all of
its sink pads before a coherent sdp can be generated.  How that occurs,
you would need to debug, or ask someone who can, help you debug.

Cheers
-Matt

On 5/8/20 8:41 pm, Anton Pryima wrote:
> Hello Matthew,
>
> Thanks for quick reply,
> 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.
> 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.
>
> But what is the correct way?
>
> Best regards,
> Anton.
>
> On Wed, Aug 5, 2020 at 8:20 AM Matthew Waters <ystreet00 at gmail.com
> <mailto:ystreet00 at gmail.com>> wrote:
>
>     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.
>
>     On 5/8/20 5:55 am, Anton Pryima wrote:
>>     Hello all.
>>
>>     I have a pipe:
>>     appsrc->rtph264pay->webrtcbin.sink
>>
>>     But, when I setting up everything, and pipeline is not running
>>     yet, I received an error: 
>>     DEBUG              webrtcbin
>>     gstwebrtcbin.c:5722:gst_webrtc_bin_change_state: changing state:
>>     NULL => READY
>>     LOG                webrtcbin
>>     gstwebrtcbin.c:1341:_check_if_negotiation_is_needed:<sendonly>
>>     checking if negotiation is needed
>>     LOG                webrtcbin
>>     gstwebrtcbin.c:1346:_check_if_negotiation_is_needed:<sendonly> no
>>     negotiation possible until caps have been received on all sink pads
>>
>>     After that, I'm starting pipeline and it working fine, no issues:
>>
>>      DEBUG              webrtcbin
>>     gstwebrtcbin.c:5722:gst_webrtc_bin_change_state: changing state:
>>     READY => PAUSED
>>     DEBUG              webrtcbin
>>     gstwebrtcbin.c:5722:gst_webrtc_bin_change_state: changing state:
>>     PAUSED => PLAYING
>>
>>     And that's all. No more on-negotiation-needed callback. Nothing.
>>
>>     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?
>>
>>     Thank you in advance,
>>     Best regards,
>>     Anton.
>>
>>     _______________________________________________
>>     gstreamer-devel mailing list
>>     gstreamer-devel at lists.freedesktop.org <mailto:gstreamer-devel at lists.freedesktop.org>
>>     https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20200805/5a8b9442/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20200805/5a8b9442/attachment-0001.sig>


More information about the gstreamer-devel mailing list