webrtcbin: Clear errors from finding codec preferences before the next iteration
authorSebastian Dröge <sebastian@centricular.com>
Thu, 4 Nov 2021 10:48:28 +0000 (12:48 +0200)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Thu, 4 Nov 2021 10:51:15 +0000 (10:51 +0000)
The media is just skipped and the error is not propagated to the caller,
so keeping it around here would cause assertions a bit later when trying
to set a new error over the old one.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1291>

subprojects/gst-plugins-bad/ext/webrtc/gstwebrtcbin.c

index d25f95a..02ebc91 100644 (file)
@@ -3966,10 +3966,16 @@ _create_answer_task (GstWebRTCBin * webrtc, const GstStructure * options,
 
     if (0) {
     rejected:
-      GST_INFO_OBJECT (webrtc, "media %u rejected", i);
+      if (error && *error)
+        GST_INFO_OBJECT (webrtc, "media %u rejected: %s", i, (*error)->message);
+      else
+        GST_INFO_OBJECT (webrtc, "media %u rejected", i);
       gst_sdp_media_free (media);
       gst_sdp_media_copy (offer_media, &media);
       gst_sdp_media_set_port_info (media, 0, 0);
+      /* Clear error here as it is not propagated to the caller and the media
+       * is just skipped, i.e. more iterations are going to happen. */
+      g_clear_error (error);
     }
     gst_sdp_message_add_media (ret, media);
     gst_sdp_media_free (media);