<div dir="ltr">I'm using webrtcbin with multiple tracks and successfully streaming it to chrome. The issue arises when I start using ULPFEC which i've enabled as this:<div><br></div><div>    g_signal_emit_by_name (webrtcbin, "get-transceivers",&transceivers);<br>    g_assert (transceivers != NULL && transceivers->len > 0);<br><br>    for (int i = 0; i < transceivers->len; i++) {<br>        trans = g_array_index (transceivers, GstWebRTCRTPTransceiver *, i);<br>        trans->direction = GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_SENDONLY;</div><div>        g_object_set (trans, "fec-type", GST_WEBRTC_FEC_TYPE_ULP_RED,<br>                  "fec-percentage", 50, "do-nack", FALSE, NULL);<br>    }<br>    g_array_unref (transceivers);<br></div><div><br></div><div>I'm generating the pipeline from gst_parse_launch like this:</div><div><br></div><div>webrtcbin  bundle-policy=max-bundle name=webrtcbin stun-server=stun://<a href="http://stun.l.google.com:19302">stun.l.google.com:19302</a> v4l2src device=/dev/video4 ! image/jpeg,width=1920,height=1080,framerate=30/1 !<br> jpegdec ! videoconvert ! queue max-size-buffers=1 ! x264enc speed-preset=1 tune=zerolatency bitrate=512 key-int-max=60 ! video/x-h264,profile=baseline ! h264parse !rtph264pay <br>config-interval=-1  ! application/x-rtp,media=video,encoding-name=H264,payload=96,extmap-2=<a href="http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time">http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time</a> ! webrtcbin. <br>v4l2src device=/dev/video2 ! image/jpeg,width=1920,height=1080,framerate=30/1 ! jpegdec ! videoconvert ! queue max-size-buffers=1 ! x264enc speed-preset=1 tune=zerolatency <br>bitrate=512 key-int-max=60 ! video/x-h264,profile=baseline ! h264parse ! rtph264pay config-interval=-1  ! <br>application/x-rtp,media=video,encoding-name=H264,payload=96,extmap-2=<a href="http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time">http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time</a> ! webrtcbin. <br>audiotestsrc is-live=true wave=red-noise ! audioconvert ! audioresample ! queue ! opusenc ! rtpopuspay ! queue ! <br>application/x-rtp,media=audio,encoding-name=OPUS,payload=97 ! webrtcbin.<br></div><div><br></div><div><br></div><div><br></div><div>Only the first track works and gets decoded on the chrome side - the other ones don't. Works fine without FEC. Am I doing something wrong? My setup includes 2 video only and 1 audio only track. </div><div></div><div>The SDP seems to be constructed correctly:</div><div><br></div><div><br>offer: v=0<br>o=- 8023833080363098678 0 IN IP4 0.0.0.0<br>s=-<br>t=0 0<br>a=ice-options:trickle<br>a=group:BUNDLE front rear audio0 application1<br>m=video 9 UDP/TLS/RTP/SAVPF 96 98 99<br>c=IN IP4 0.0.0.0<br>a=setup:actpass<br>a=ice-ufrag:rRVZ5Sl1hCdN/NekWOXVDP0FtsebUAlJ<br>a=ice-pwd:lb+WRyHg2y4kvmNiE9Iz/bfB+8+z2qlf<br>a=rtcp-mux<br>a=rtcp-rsize<br>a=sendonly<br>a=rtpmap:96 H264/90000<br>a=rtcp-fb:96 nack pli<br>a=rtcp-fb:96 goog-remb<br>a=extmap:2 <a href="http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time">http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time</a><br>a=framerate:30<br>a=fmtp:96 packetization-mode=1;profile-level-id=42c028;sprop-parameter-sets=Z0LAKNoB4AiflwFuBAQNSgAAAwACAAADAHkeMGVA,aM48gA==<br>a=rtpmap:98 red/90000<br>a=rtpmap:99 ulpfec/90000<br>a=ssrc:4272510362 msid:user2626643232@host-5af7e82 webrtctransceiver0<br>a=ssrc:4272510362 cname:user2626643232@host-5af7e82<br>a=mid:front<br>a=fingerprint:sha-256 E7:2A:42:26:02:68:3F:56:5B:FB:C7:6F:15:0E:38:8E:86:E8:C0:83:69:5B:31:64:73:8F:47:02:BC:87:74:27<br>m=video 0 UDP/TLS/RTP/SAVPF 96 100 101<br>c=IN IP4 0.0.0.0<br>a=setup:actpass<br>a=ice-ufrag:rRVZ5Sl1hCdN/NekWOXVDP0FtsebUAlJ<br>a=ice-pwd:lb+WRyHg2y4kvmNiE9Iz/bfB+8+z2qlf<br>a=bundle-only<br>a=rtcp-mux<br>a=rtcp-rsize<br>a=sendonly<br>a=rtpmap:96 H264/90000<br>a=rtcp-fb:96 nack pli<br>a=rtcp-fb:96 goog-remb<br>a=extmap:2 <a href="http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time">http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time</a><br>a=framerate:30<br>a=fmtp:96 packetization-mode=1;profile-level-id=42c028;sprop-parameter-sets=Z0LAKNoB4AiflwFuBAQNSgAAAwACAAADAHkeMGVA,aM48gA==<br>a=rtpmap:100 red/90000<br>a=rtpmap:101 ulpfec/90000<br>a=ssrc:2753800917 msid:user2626643232@host-5af7e82 webrtctransceiver1<br>a=ssrc:2753800917 cname:user2626643232@host-5af7e82<br>a=mid:rear<br>a=fingerprint:sha-256 E7:2A:42:26:02:68:3F:56:5B:FB:C7:6F:15:0E:38:8E:86:E8:C0:83:69:5B:31:64:73:8F:47:02:BC:87:74:27<br>m=audio 0 UDP/TLS/RTP/SAVPF 97 102 103<br>c=IN IP4 0.0.0.0<br>a=setup:actpass<br>a=ice-ufrag:rRVZ5Sl1hCdN/NekWOXVDP0FtsebUAlJ<br>a=ice-pwd:lb+WRyHg2y4kvmNiE9Iz/bfB+8+z2qlf<br>a=bundle-only<br>a=rtcp-mux<br>a=rtcp-rsize<br>a=sendonly<br>a=rtpmap:97 OPUS/48000/2<br>a=rtcp-fb:97 nack pli<br>a=fmtp:97 sprop-maxcapturerate=48000;sprop-stereo=0<br>a=rtpmap:102 red/48000<br>a=rtpmap:103 ulpfec/48000<br>a=ssrc:3317392810 msid:user2626643232@host-5af7e82 webrtctransceiver2<br>a=ssrc:3317392810 cname:user2626643232@host-5af7e82<br>a=mid:audio0<br>a=fingerprint:sha-256 E7:2A:42:26:02:68:3F:56:5B:FB:C7:6F:15:0E:38:8E:86:E8:C0:83:69:5B:31:64:73:8F:47:02:BC:87:74:27<br>m=application 0 UDP/DTLS/SCTP webrtc-datachannel<br>c=IN IP4 0.0.0.0<br>a=setup:actpass<br>a=ice-ufrag:rRVZ5Sl1hCdN/NekWOXVDP0FtsebUAlJ<br>a=ice-pwd:lb+WRyHg2y4kvmNiE9Iz/bfB+8+z2qlf<br>a=bundle-only<br>a=mid:application1<br>a=sctp-port:5000<br>a=fingerprint:sha-256 E7:2A:42:26:02:68:3F:56:5B:FB:C7:6F:15:0E:38:8E:86:E8:C0:83:69:5B:31:64:73:8F:47:02:BC:87:74:27<br></div></div>