Tulio Beloqui
266c2d0619
rtptwcc: changes to use rtp buffer arrival time and current time.
...
For TWCC we are more interested to track the arrival time (receive side)
and the current time (sender side) of the buffers rather than the
running time.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927 >
2021-08-25 08:36:06 +00:00
Knut Inge Hvidsten
0440cb12de
rtptwcc: add payloadtype to RTPTWCCPacket
...
The consumer of the stats can then separate between different media-types,
and do individual stats for each of them.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927 >
2021-08-25 08:36:06 +00:00
Havard Graff
8194ab13f7
rtptwcc: make enabling TWCC sticky
...
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 >
2021-08-25 08:36:06 +00:00
Havard Graff
b66c6714fa
rtptwcc: move TWCC-logic over to the TWCC-manager
...
Prevent cluttering up the rtpsession, and keeping things localized.
Also write TWCC-seqnums for *all* streams in the session if configured by
caps.
A while back WebRTC was not doing TWCC for audio, basically breaking the
whole idea of a "transport-wide seqnuencenumber" applying for all bundled
streams. However, they have since fixed this, and now it no longers
makes sense to be able to single out certain payloadtypes for
use with TWCC, rather just including them all.
This also makes using RTX, RED, FEC etc much simpler, as it will apply
to them all as they enter the rtpsession.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927 >
2021-08-25 08:36:06 +00:00
Havard Graff
ee361bf958
rtptwcc: fix warning
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927 >
2021-08-25 08:36:06 +00:00
Tulio Beloqui
4ef0ce282e
rtptwcc: fixes and optimizations around run-length chunks
...
Co-authored-by: Havard Graff <havard.graff@gmail.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927 >
2021-08-25 08:36:06 +00:00
Havard Graff
219749c40c
rtptwcc: fix seqnum-wrap
...
Using the proper API to do this is obviously an improvement, and
adding a test for the case of a packet-loss when the seqnum wrap
is also a good idea.
Co-authored-by: Tulio Beloqui <tulio.beloqui@pexip.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927 >
2021-08-25 08:36:06 +00:00
Tulio Beloqui
3b14a24630
rtptwcc: fixed feedback packet count overflow that allowed late
...
packets to be processed
Co-authored-by: Havard Graff <havard.graff@gmail.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927 >
2021-08-25 08:36:06 +00:00
Tulio Beloqui
3484f21b95
rtptwcc: fixed parsing of old sequence number
...
Co-authored-by: Havard Graff <havard.graff@gmail.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927 >
2021-08-25 08:36:06 +00:00
Tulio Beloqui
abf4b57a1c
rtptwcc: fixed guint8 overflow of feedback packet count
...
Co-authored-by: Havard Graff <havard.graff@gmail.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927 >
2021-08-25 08:36:06 +00:00
Havard Graff
be5fab15e0
rtptwcc: add feedback-interval
...
To allow RTCP TWCC reports to be scheduled on a timer instead of per
marker-bit.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927 >
2021-08-25 08:36:06 +00:00
Havard Graff
ddcde96efe
rtptwcc: remove _set_send_packet_ts
...
Not in use.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927 >
2021-08-25 08:36:06 +00:00
Doug Nazar
b5deff7b64
rtp: fix rtptwcc to support big endian.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/942 >
2021-04-13 11:35:15 +00:00
Havard Graff
e45cc475bd
rtptwcc: fix pruning of ack'ed twcc-packets
...
Fixes #750
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/645 >
2020-06-26 12:53:07 +01:00
Xavier Claessens
6e1758d509
Fix usage of C99
...
It's 2020, way too early for that, let's stick to C89 for now.
2020-03-23 21:32:04 -04:00
Havard Graff
4046970b01
rtptwcc: make RTPTWCCManager a GObject
2020-03-04 16:48:04 +01:00
Havard Graff
1df706448c
rtpmanager: Google Transport-Wide Congestion Control RTP Extension
...
Generating and parsing the RTCP-messages described in:
https://tools.ietf.org/html/draft-holmer-rmcat-transport-wide-cc-extensions-01
2020-02-14 10:09:02 +00:00