Skip to content

webrtcbin: reuse the same fec/rtx/red payload types for the same media payload

Matthew Waters requested to merge ystreet/gstreamer:webrtc-rtx-pt into main

WHen bundling, if multiple medias are used with the same media payload, then each of the fec/rtx/red additions would add a distinct payload. This could very easily overflow the available payload space.

Instead, track the relationship between the media payload value and the relevant fec/rtx/red payload values and reuse them whenever necessary, even when bundling.

e.g.

...
a=group:BUNDLE video0 video1
m=video 9 UDP/SAVPF 96 97
a=mid:video0
a=rtpmap:96 VP8/90000
a=rtpmap:97 rtx/90000
a=fmtp:97 apt=96
...
m=video 9 UDP/SAVPF 96 97
a=mid:video1
a=rtpmap:96 VP8/90000
a=rtpmap:97 rtx/90000
a=fmtp:97 apt=96
...
Edited by Tim-Philipp Müller

Merge request reports