rtptwcc: make enabling TWCC sticky
authorHavard Graff <havard.graff@gmail.com>
Fri, 19 Mar 2021 17:19:43 +0000 (18:19 +0100)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Wed, 25 Aug 2021 08:36:06 +0000 (08:36 +0000)
Meaning that if a caps comes along that does NOT have TWCC in it,
this does not turn of TWCC for the rest, as this is in fact
completely allowed. (To have some payload-types not containing TWCC
seqnums).

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927>

gst/rtpmanager/rtptwcc.c

index b5fa79b..47cf8ae 100644 (file)
@@ -188,8 +188,9 @@ void
 rtp_twcc_manager_parse_recv_ext_id (RTPTWCCManager * twcc,
     const GstStructure * s)
 {
-  twcc->recv_ext_id = _get_extmap_id_for_attribute (s, TWCC_EXTMAP_STR);
-  if (twcc->recv_ext_id > 0) {
+  guint8 recv_ext_id = _get_extmap_id_for_attribute (s, TWCC_EXTMAP_STR);
+  if (recv_ext_id > 0) {
+    twcc->recv_ext_id = recv_ext_id;
     GST_INFO ("TWCC enabled for recv using extension id: %u",
         twcc->recv_ext_id);
   }
@@ -199,8 +200,9 @@ void
 rtp_twcc_manager_parse_send_ext_id (RTPTWCCManager * twcc,
     const GstStructure * s)
 {
-  twcc->send_ext_id = _get_extmap_id_for_attribute (s, TWCC_EXTMAP_STR);
-  if (twcc->send_ext_id > 0) {
+  guint8 send_ext_id = _get_extmap_id_for_attribute (s, TWCC_EXTMAP_STR);
+  if (send_ext_id > 0) {
+    twcc->send_ext_id = send_ext_id;
     GST_INFO ("TWCC enabled for send using extension id: %u",
         twcc->send_ext_id);
   }