rtpmanager/rtx: implement initial support for reading/writing rid extensions
authorMatthew Waters <matthew@centricular.com>
Thu, 9 Sep 2021 13:43:33 +0000 (23:43 +1000)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Mon, 21 Mar 2022 03:18:18 +0000 (03:18 +0000)
commit206021e4d4985d6e9d60901bd5cc69628775afc6
tree70bfac8e06ad6a01ecef8727442356ec9dffc907
parent33be3e593690f89e16b5dabe9f1abbe42ef2d971
rtpmanager/rtx: implement initial support for reading/writing rid extensions

Two RTP Header extensions are very relevant for rtprtxsend/receive.
1. "urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id": will always be removed
2. "urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id": will be written
    instead of the "rtp-stream-id" header extension.

Currently it's only a simple replacement of one header extension for
another however a future change would only add the relevant extension
based on some heuristics (like, video frames only on one of the rtp key
frame buffers, or only until the rtx ssrc has been validated by the peer)
in order to reduce the required bandwidth.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1759>
subprojects/gst-plugins-good/docs/gst_plugins_cache.json
subprojects/gst-plugins-good/gst/rtpmanager/gstrtprtxreceive.c
subprojects/gst-plugins-good/gst/rtpmanager/gstrtprtxreceive.h
subprojects/gst-plugins-good/gst/rtpmanager/gstrtprtxsend.c
subprojects/gst-plugins-good/gst/rtpmanager/gstrtprtxsend.h
subprojects/gst-plugins-good/tests/check/elements/rtprtx.c