From ccd1b7662542c99d27a414df29b02c2f7ea36c06 Mon Sep 17 00:00:00 2001
From: Matthew Waters <matthew@centricular.com>
Date: Thu, 10 Mar 2022 15:36:00 +1100
Subject: [PATCH] webrtcbin: fix ulpfecenc passthrough pt

ulpfecenc uses a value of pt=255 for passthrough.

Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1075
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1914>
---
 subprojects/gst-plugins-bad/ext/webrtc/gstwebrtcbin.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/subprojects/gst-plugins-bad/ext/webrtc/gstwebrtcbin.c b/subprojects/gst-plugins-bad/ext/webrtc/gstwebrtcbin.c
index 0fd1145169..799ff6e7dc 100644
--- a/subprojects/gst-plugins-bad/ext/webrtc/gstwebrtcbin.c
+++ b/subprojects/gst-plugins-bad/ext/webrtc/gstwebrtcbin.c
@@ -4599,7 +4599,12 @@ _set_internal_rtpbin_element_props_from_stream (GstWebRTCBin * webrtc,
           trans, ulpfec_pt, red_pt);
 
       if (trans->ulpfecenc) {
-        g_object_set (trans->ulpfecenc, "pt", ulpfec_pt, "multipacket",
+        guint ulpfecenc_pt = ulpfec_pt;
+
+        if (ulpfecenc_pt == 0)
+          ulpfecenc_pt = 255;
+
+        g_object_set (trans->ulpfecenc, "pt", ulpfecenc_pt, "multipacket",
             rtp_trans->kind == GST_WEBRTC_KIND_VIDEO, "percentage",
             trans->fec_percentage, NULL);
       }