webrtcbin: Prevent ICE gathering state reaching complete early
authorJan Schmidt <jan@centricular.com>
Mon, 9 Mar 2020 18:18:40 +0000 (05:18 +1100)
committerJan Schmidt <jan@centricular.com>
Mon, 9 Mar 2020 18:47:40 +0000 (05:47 +1100)
commit8274fcd311e25049e1485595d64026a5265794f9
treed6e3bf8a1ce918e2d468392ffc78de11e2a08375
parent9410ef56b8b85ac591cebc6c5f4213b9d59959c5
webrtcbin: Prevent ICE gathering state reaching complete early

The ICE gathering state can transition to complete prematurely if the
underlying ICE components complete their gathering while the initial
ICE gathering state task is queued and still pending.

In that situation, the ice gathering state task will report complete
while there are still ICE candidates queued for emission.

Prevent that by storing ICE candidates in an array and checking if
there are any pending before reporting a completed ICE gathering
state.
ext/webrtc/gstwebrtcbin.c
ext/webrtc/gstwebrtcbin.h