webrtcbin: Don't consider RTP receivers stopped
authorSebastian Dröge <sebastian@centricular.com>
Thu, 9 Jan 2020 10:27:31 +0000 (12:27 +0200)
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Sun, 19 Jan 2020 10:47:59 +0000 (10:47 +0000)
We don't support stopping RTP receivers currently so let's not consider
them all stopped all the time. This fixes some of the ICE/DTLS state
change handling and specifically fixes the ICE gathering state.

Previously the ICE gathering state was immediately going from NEW to
COMPLETE because it considered all transceivers stopped and as such all
activate transceivers were finished gathering ICE candidates.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1126

ext/webrtc/gstwebrtcbin.c

index 2259f1f..6dcd672 100644 (file)
@@ -1554,6 +1554,8 @@ _create_webrtc_transceiver (GstWebRTCBin * webrtc,
   rtp_trans = GST_WEBRTC_RTP_TRANSCEIVER (trans);
   rtp_trans->direction = direction;
   rtp_trans->mline = mline;
+  /* FIXME: We don't support stopping transceiver yet so they're always not stopped */
+  rtp_trans->stopped = FALSE;
 
   g_array_append_val (webrtc->priv->transceivers, trans);