webrtcbin: Remember if a transceiver had a forced m-line
authorOlivier Crête <olivier.crete@collabora.com>
Fri, 26 Mar 2021 19:57:15 +0000 (15:57 -0400)
committerOlivier Crête <olivier.crete@collabora.com>
Mon, 12 Apr 2021 21:55:07 +0000 (17:55 -0400)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>

ext/webrtc/gstwebrtcbin.c
ext/webrtc/webrtctransceiver.h

index 4d5e921..a554a7b 100644 (file)
@@ -6281,6 +6281,12 @@ gst_webrtc_bin_request_new_pad (GstElement * element, GstPadTemplate * templ,
       gst_object_ref (pad));
   _add_pad (webrtc, pad);
 
+  if (lock_mline) {
+    WebRTCTransceiver *wtrans = WEBRTC_TRANSCEIVER (trans);
+    wtrans->mline_locked = TRUE;
+    trans->mline = serial;
+  }
+
   return GST_PAD (pad);
 }
 
index 2f65b75..3a2115f 100644 (file)
@@ -48,6 +48,8 @@ struct _WebRTCTransceiver
   gboolean                 do_nack;
 
   GstCaps                  *last_configured_caps;
+
+  gboolean                 mline_locked;
 };
 
 struct _WebRTCTransceiverClass