rtprtxsend: don't process or warn if no map is set
authorHavard Graff <havard.graff@gmail.com>
Wed, 22 Jun 2016 12:48:59 +0000 (14:48 +0200)
committerNirbheek Chauhan <nirbheek@centricular.com>
Wed, 9 Mar 2022 06:31:22 +0000 (12:01 +0530)
This makes it more gentle when doing "pass-through"

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

subprojects/gst-plugins-good/gst/rtpmanager/gstrtprtxsend.c

index 2fa42b0..57e2a84 100644 (file)
@@ -651,7 +651,8 @@ gst_rtp_rtx_send_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
               GUINT_TO_POINTER (payload), NULL, &rtx_payload))
         rtx_payload = GINT_TO_POINTER (-1);
 
-      if (GPOINTER_TO_INT (rtx_payload) == -1 && payload != -1)
+      if (rtx->rtx_pt_map_structure && GPOINTER_TO_INT (rtx_payload) == -1
+          && payload != -1)
         GST_WARNING_OBJECT (rtx, "Payload %d not in rtx-pt-map", payload);
 
       GST_DEBUG_OBJECT (rtx,
@@ -772,7 +773,8 @@ gst_rtp_rtx_send_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
   GstFlowReturn ret;
 
   GST_OBJECT_LOCK (rtx);
-  process_buffer (rtx, buffer);
+  if (rtx->rtx_pt_map_structure)
+    process_buffer (rtx, buffer);
   GST_OBJECT_UNLOCK (rtx);
   ret = gst_pad_push (rtx->srcpad, buffer);