gstreamer/subprojects/gst-plugins-good/gst/rtpmanager
Johan Sternerup c830f87a32 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/7527>
2024-10-30 12:35:48 +00:00
..
gstrtpbin.c rtpjitterbuffer: Set max-rtcp-rtp-sync-time to -1 (disabled) 2024-05-28 11:52:30 +00:00
gstrtpbin.h rtpbin: Add new never/ntp RTCP sync modes 2024-05-28 11:52:30 +00:00
gstrtpdtmfmux.c
gstrtpdtmfmux.h
gstrtpfunnel.c rtpfunnel: also fallback to pad default handling for unknown ssrcs 2024-09-04 08:15:38 +00:00
gstrtpfunnel.h
gstrtphdrext-clientaudiolevel.c rtphdrext-clientaudiolevel: Fix typo in documentation 2024-02-21 17:25:43 +00:00
gstrtphdrext-clientaudiolevel.h rtphdrext-clientaudiolevel: Rename RFC 6464 element 2021-10-20 00:03:09 +00:00
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-03-26 14:37:47 +02: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 rtphdrext: Set caps without attributes as the default 2021-09-28 20:04:55 +00:00
gstrtphdrext-twcc.h
gstrtpjitterbuffer.c rtpbin: Regularly emit the sync signal 2024-05-28 11:52:31 +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 common: Stop using GQuark-based GstStructure field name API 2024-09-26 19:21:29 +03:00
gstrtpptdemux.h
gstrtprtxqueue.c
gstrtprtxqueue.h
gstrtprtxreceive.c common: Stop using GQuark-based GstStructure field name API 2024-09-26 19:21:29 +03:00
gstrtprtxreceive.h rtpmanager/rtx: implement initial support for reading/writing rid extensions 2022-03-21 03:18:18 +00:00
gstrtprtxsend.c common: Stop using GQuark-based GstStructure field name API 2024-09-26 19:21:29 +03: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 12:24:58 +00: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 02:10:47 +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 02:10:47 +00:00
rtpsource.h rtpmanager: save the report block statistics in each RTPSource 2024-10-11 05:20:22 +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 12:35:48 +00:00
rtptwcc.h