gstreamer/subprojects/gst-plugins-good/gst/rtpmanager
Johan Sternerup 041a0f9e5e twcc: Handle wrapping of reference time
Previously the wrapping of the 24-bit reference time was not handled
correctly when transforming it into GstClockTime. Given the unit of 64ms
the span that could be represented by 24 bits is 12 days and depending
on the start value we could get a wrapping problem anytime within this
time frame. This turned out to be particularly problematic for the GCC
algorithm in gst-plugins-rs which tried to evict old packages based on
the "oldest" timestamp, which due to wrapping problems could be in the
future. Thus, the container managing the packets could grow without
limits for a long time thereby creating both CPU and memory problems.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7792>
2024-10-30 14:33:54 +00:00
..
gstrtpbin.c rtpbin: Don't re-use a variable for a completely different purpose temporarily 2024-04-08 13:22:24 +00:00
gstrtpbin.h rtpsession: expose timeout-inactive-sources property 2023-06-28 18:45:25 +00:00
gstrtpdtmfmux.c
gstrtpdtmfmux.h
gstrtpfunnel.c rtpfunnel: Handle NTP-64 RTP header extension in caps similar to TWCC 2024-02-14 08:05:33 +00:00
gstrtpfunnel.h
gstrtphdrext-clientaudiolevel.c rtphdrext-clientaudiolevel: Fix typo in documentation 2024-02-21 17:25:43 +00:00
gstrtphdrext-clientaudiolevel.h
gstrtphdrext-mid.c rtpmanager: add support for writing RFC8843 (BUNDLE mid) RTP header extension 2022-03-21 03:18:18 +00:00
gstrtphdrext-mid.h rtpmanager: add support for writing RFC8843 (BUNDLE mid) RTP header extension 2022-03-21 03:18:18 +00:00
gstrtphdrext-ntp.c rtphdrext-ntp: Fix typo of the RFC number in the element metadata 2024-04-08 12:21:35 +00:00
gstrtphdrext-ntp.h rtpmanager: Add header extension implementation for the 64-bit RFC6051 NTP header extension 2022-04-20 14:40:25 +00:00
gstrtphdrext-repairedstreamid.c rtpmanager: add support for RFC8852 (rid) RTP header extensions 2022-03-21 03:18:18 +00:00
gstrtphdrext-repairedstreamid.h rtpmanager: add support for RFC8852 (rid) RTP header extensions 2022-03-21 03:18:18 +00:00
gstrtphdrext-streamid.c rtpmanager: add support for RFC8852 (rid) RTP header extensions 2022-03-21 03:18:18 +00:00
gstrtphdrext-streamid.h rtpmanager: add support for RFC8852 (rid) RTP header extensions 2022-03-21 03:18:18 +00:00
gstrtphdrext-twcc.c
gstrtphdrext-twcc.h
gstrtpjitterbuffer.c rtpjitterbuffer: Use an extended RTP timestamp for the clock-base 2024-04-08 13:22:24 +00:00
gstrtpjitterbuffer.h
gstrtpmanager.c rtpmanager: Add header extension implementation for the 64-bit RFC6051 NTP header extension 2022-04-20 14:40:25 +00:00
gstrtpmux.c docs: mark GstRTPMux as plugin API 2023-04-13 21:46:59 +00:00
gstrtpmux.h
gstrtpptdemux.c rtpptdemux: set different stream-id on each src pad 2023-02-01 09:17:33 +00:00
gstrtpptdemux.h
gstrtprtxqueue.c
gstrtprtxqueue.h
gstrtprtxreceive.c rtpmanager: drop use of GSlice 2023-01-24 15:25:06 +00:00
gstrtprtxreceive.h rtpmanager/rtx: implement initial support for reading/writing rid extensions 2022-03-21 03:18:18 +00:00
gstrtprtxsend.c rtpmanager: drop use of GSlice 2023-01-24 15:25:06 +00:00
gstrtprtxsend.h rtpmanager/rtx: implement initial support for reading/writing rid extensions 2022-03-21 03:18:18 +00:00
gstrtpsession.c rtpsession: Only warn once if configured latency needs to be known but isn't yet 2023-12-27 11:00:44 +00:00
gstrtpsession.h
gstrtpssrcdemux.c rtpssrcdemux: set different stream-id on each src pad 2023-02-01 09:17:33 +00:00
gstrtpssrcdemux.h
gstrtpst2022-1-fecdec.c st2022-1-fecdec: fix packet trimming 2021-11-12 08:15:28 +00:00
gstrtpst2022-1-fecdec.h
gstrtpst2022-1-fecenc.c rtpst2022-1-fecenc: Drain column packets on EOS 2022-08-12 12:59:19 +00:00
gstrtpst2022-1-fecenc.h
gstrtputils.c rtpmanager: Move some duplicated constant and helper function to a single place 2022-04-20 14:40:25 +00:00
gstrtputils.h rtpmanager: Move some duplicated constant and helper function to a single place 2022-04-20 14:40:25 +00:00
meson.build meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
rtpjitterbuffer.c rtpjitterbuffer: Don't use estimated_dts to do default skew adjustment 2024-04-07 16:24:22 +01:00
rtpjitterbuffer.h rtpjitterbuffer: Add new "rfc7273-reference-timestamp-meta-only" property 2023-11-16 15:23:29 +00:00
rtpsession.c rtpmanager: skip RTPSources which are not ready in the RTCP generation 2024-10-29 11:36:55 +00:00
rtpsession.h rtpsession: Remove some unused fields 2024-01-08 12:57:04 +02:00
rtpsource.c rtpmanager: skip RTPSources which are not ready in the RTCP generation 2024-10-29 11:36:55 +00:00
rtpsource.h rtpsource: Don't do probation for RTX sources 2022-10-10 14:56:18 +00:00
rtpstats.c
rtpstats.h rtpsession: Update 64-bit NTP header extensions with the actual NTP time in senders 2022-04-20 14:40:25 +00:00
rtptimerqueue.c rtpmanager: drop use of GSlice 2023-01-24 15:25:06 +00:00
rtptimerqueue.h
rtptwcc.c twcc: Handle wrapping of reference time 2024-10-30 14:33:54 +00:00
rtptwcc.h