wbertcbin: end of remote candidates

Olivier Crête olivier.crete at collabora.com
Thu Mar 26 00:12:08 UTC 2020


Hi,

See inline.

On Wed, 2020-03-25 at 22:08 +0100, Bizarre Days wrote:
> When
>  Firefox browser wants to send candidates to the webrtcbin peer, it 
> calls a custom js method passing an "event" argument to it. The custom 
> method must send this information to the peer. The event has a single 
> field "event.candidate" with a value as:
> 
> event.candidate = { "sdpMLineIndex":0,"
>   "candidate":"candidate:8 2 TCP 847249918 88.6.179.119 9 typ srflx raddr 192.168.1.12 rport 9 tcptype active"}
> 
> At the end, to inform there are no more candidates, Firefox does another call to the same method with event.candidate=undefined
> 
> In
>  the other side, webrtcbin (Java API) offers the method 
> "WebRTCBin.addIceCandiate( int sdpM. String candidate ) to inform the 
> plugin about the remote candidates. In the normal case is easy map 
> firefox event.candidate information to these arguments. However, no idea
>  of to handle the end one. 
> 
> A call WebRTCBin.addIceCandidate(0, null) produces an assertion failed in libnice (when its trace is active).
> 
> How to handle in WebRTCBin (Java API) the case of final remote candidate ?

The only use for this is to avoid declaring the call failed before the last candidate has been produced. So if webrtcbin's ice-connection-state goes to "failed" before the last candidate has been received, you can just ignore the failed and feed more candidates (making it go back to the "checking" state). libnice, the library used by webrtcbin to do ICE actually supports this end of candidate since version 0.1.16, but nobody has taken the time to add the relevant API to webrtcbin.


-- 
Olivier Crête
olivier.crete at collabora.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20200325/27b27605/attachment.htm>


More information about the gstreamer-devel mailing list